IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ アプライド マテリアルズ インコーポレイテッドの特許一覧

特許7654150反転モデルのセットを使用した製造プロセスの予測モデリング
<>
  • 特許-反転モデルのセットを使用した製造プロセスの予測モデリング 図1
  • 特許-反転モデルのセットを使用した製造プロセスの予測モデリング 図2
  • 特許-反転モデルのセットを使用した製造プロセスの予測モデリング 図3
  • 特許-反転モデルのセットを使用した製造プロセスの予測モデリング 図4
  • 特許-反転モデルのセットを使用した製造プロセスの予測モデリング 図5
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-03-21
(45)【発行日】2025-03-31
(54)【発明の名称】反転モデルのセットを使用した製造プロセスの予測モデリング
(51)【国際特許分類】
   G06N 3/045 20230101AFI20250324BHJP
   G06N 3/098 20230101ALI20250324BHJP
   G06N 20/20 20190101ALI20250324BHJP
【FI】
G06N3/045
G06N3/098
G06N20/20
【請求項の数】 18
【外国語出願】
(21)【出願番号】P 2024186995
(22)【出願日】2024-10-23
(62)【分割の表示】P 2022563909の分割
【原出願日】2021-05-20
(65)【公開番号】P2025020187
(43)【公開日】2025-02-12
【審査請求日】2024-11-21
(31)【優先権主張番号】16/880,069
(32)【優先日】2020-05-21
(33)【優先権主張国・地域又は機関】US
【早期審査対象出願】
(73)【特許権者】
【識別番号】390040660
【氏名又は名称】アプライド マテリアルズ インコーポレイテッド
【氏名又は名称原語表記】APPLIED MATERIALS,INCORPORATED
【住所又は居所原語表記】3050 Bowers Avenue Santa Clara CA 95054 U.S.A.
(74)【代理人】
【識別番号】110002077
【氏名又は名称】園田・小林弁理士法人
(72)【発明者】
【氏名】バーティア, シドハース
(72)【発明者】
【氏名】キャントウェル, ダーモット
(72)【発明者】
【氏名】マルコフ, セルゲイ
(72)【発明者】
【氏名】フェン, ジエ
【審査官】坂庭 剛史
(56)【参考文献】
【文献】特開平07-175876(JP,A)
【文献】国際公開第2018/235807(WO,A1)
【文献】特開2020-068038(JP,A)
【文献】特開平11-202903(JP,A)
【文献】特開平08-006605(JP,A)
【文献】国際公開第2019/155928(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/045
G06N 3/098
G06N 20/20
(57)【特許請求の範囲】
【請求項1】
処理デバイスによって、少なくとも1つの処理チャンバ内で実行される半導体デバイス製造プロセスに対する予想出力データを受信することであって、前記半導体デバイス製造プロセスは、堆積プロセス、エッチングプロセス、または洗浄プロセスのうちの少なくとも1つを含み、前記予想出力データは、前記半導体デバイス製造プロセスの出力される半導体デバイスの属性を定義し、前記予想出力データは、前記半導体デバイス製造プロセスに関連するプロセス空間の未調査部分に対応する、予想出力データを受信することと、
前記半導体デバイス製造プロセスをモデル化する、第1の反転機械学習モデルおよび第2の反転機械学習モデルを含む複数の同種の反転機械学習モデルに、前記処理デバイスによってアクセスすることであって、前記第1の反転機械学習モデルおよび前記第2の反転機械学習モデルは、モデルアーキテクチャを共有し、それぞれ異なるデータセットを使用して訓練され、前記第1の反転機械学習モデルおよび前記第2の反転機械学習モデルは、それぞれ前記予想出力データに基づく線形外挿を実施することにより、前記半導体デバイス製造プロセスを構成するための第1の入力データセットと、前記半導体デバイス製造プロセスを構成するための第2の入力データセットを決定するために訓練され、前記第1の入力データのセットおよび前記第2の入力データのセットは、各々、第1の入力のそれぞれの値および第2の入力のそれぞれの値を含み、前記第1の入力データセットは、前記半導体デバイス製造プロセスの実行に関連するデータを含み、当該データは、時間、エネルギー、温度、電圧、ガス流量、ウェハスピン速度、距離、圧力、前駆体、反応剤、または希釈剤のうち少なくとも1つを示す、複数の同種の反転機械学習モデルにアクセスすることと、
前記処理デバイスにより、前記第1の反転機械学習モデルを使用して、前記第1の入力データのセットを決定することと、
前記処理デバイスにより、前記第2の入力データセットを取得することと、
前記処理デバイスにより、前記第1の入力データセットと前記第2の入力データセットを組み合わせて、前記プロセス空間の前記未調査部分に対応する外挿された解を定義する、前記半導体デバイス製造プロセスに対する入力のセットを生成することであって、前記半導体デバイス製造プロセスに対する前記入力のセットは、前記第1の入力に対する第1の複数の候補値および前記第2の入力に対する第2の複数の候補値を含む、前記半導体デバイス製造プロセスに対する入力のセットを生成することと、
前記処理デバイスによって、前記半導体デバイス製造プロセスに対する前記入力のセットをストレージデバイスに格納することと、を含む、方法。
【請求項2】
前記処理デバイスにより、前記第1の入力データセットおよび前記第2の入力データセットを複数のグループへとクラスタ化することを更に含み、前記複数のグループの各のグループが、前記第1の入力に対するそれぞれの値および前記第2の入力に対するそれぞれの値を含む、請求項1に記載の方法。
【請求項3】
前記半導体デバイス製造プロセスに対する前記予想出力データが、前記半導体デバイスに関する、層厚、層の均一性、または構造幅のうち少なくとも1つを示す、1つまたは複数の値を含む、請求項1に記載の方法。
【請求項4】
前記第1の複数の候補値が、前記第1の入力に対する値の範囲を含み、前記第2の複数の候補値が、前記第2の入力に対する値の範囲を含む、請求項1に記載の方法。
【請求項5】
前記それぞれ異なるデータセットは、異なるハイパーパラメータ、異なる初期化値、または異なる訓練データのうち少なくとも1つを含む、請求項1に記載の方法。
【請求項6】
前記組み合わせることが、アンサンブル技法を使用することを含む、請求項1に記載の方法。
【請求項7】
前記複数の同種の反転機械学習モデルが複数の順伝播型ニューラルネットワーク(FFNN)を含む、請求項1に記載の方法。
【請求項8】
前記第1の反転機械学習モデルが順伝播型ニューラルネットワークを含み、前記順伝播型ニューラルネットワークは、前記半導体デバイス製造プロセスをモデル化するための出力層と複数の隠れ層とを含み、前記複数の隠れ層が多項式関数を含み、前記出力層が線形活性化関数を含む、請求項1に記載の方法。
【請求項9】
前記処理デバイスによって、表示のために複数の候補入力値のセットを提供することであって、前記複数の候補入力値のセットの各候補入力値のセットは、前記半導体デバイス製造プロセスに対する前記予想出力データに対応する、複数の候補入力値のセットを提供することと、
前記処理デバイスによって、前記複数の候補入力値のセットのうち1つの候補入力値のセットのユーザ選択を受信して、選択された候補入力値のセットを取得することと、
前記処理デバイスによって、前記選択された候補入力値のセットを使用して前記半導体デバイス製造プロセスの実行を開始することと、を更に含む、請求項1に記載の方法。
【請求項10】
メモリと、
前記メモリに通信可能に結合された処理デバイスとを備え、前記処理デバイスが、
少なくとも一つの処理チャンバ内で実行される半導体デバイス製造プロセスに対する予想出力データを受信することであって、前記半導体デバイス製造プロセスは、堆積プロセス、エッチングプロセスまたは洗浄プロセスのうちの少なくとも1つを含み、前記予想出力データは、前記半導体デバイス製造プロセスの出力される半導体デバイスの属性を定義し、前記予想出力データは、前記半導体デバイス製造プロセスに関連するプロセス空間の未調査部分に対応する、予想出力データを受信することと、
前記半導体デバイス製造プロセスをモデル化する、第1の反転機械学習モデルおよび第2の反転機械学習モデルを含む複数の同種の反転機械学習モデルにアクセスすることであって、前記第1の反転機械学習モデルおよび前記第2の反転機械学習モデルは、モデルアーキテクチャを共有し、それぞれ異なるデータセットを使用して訓練され、前記第1の反転機械学習モデルおよび前記第2の反転機械学習モデルは、それぞれ前記予想出力データに基づく線形外挿を実施することにより、前記半導体デバイス製造プロセスを構成するための第1の入力データセットと、前記半導体デバイス製造プロセスを構成するための第2の入力データセットを決定するために訓練され、前記第1の入力データのセットおよび前記第2の入力データのセットは、各々、第1の入力のそれぞれの値および第2の入力のそれぞれの値を含み、前記第1の入力データセットは、前記半導体デバイス製造プロセスの実行に関連するデータを含み、当該データは、時間、エネルギー、温度、電圧、ガス流量、ウェハスピン速度、距離、圧力、前駆体、反応剤、または希釈剤のうち少なくとも1つを示す、複数の同種の反転機械学習モデルにアクセスすることと、
前記第1の反転機械学習モデルを使用して、前記第1の入力データのセットを決定することと、
前記第2の入力データセットを取得することと、
前記第1の入力データセットと前記第2の入力データセットを組み合わせて、前記プロセス空間の前記未調査部分に対応する外挿された解を定義する、前記半導体デバイス製造プロセスに対する入力のセットを生成することであって、前記半導体デバイス製造プロセスに対する前記入力のセットは、前記第1の入力に対する第1の複数の候補値および前記第2の入力に対する第2の複数の候補値を含む、前記半導体デバイス製造プロセスに対する入力のセットを生成することと、
前記半導体デバイス製造プロセスに対する前記入力のセットをストレージデバイスに格納することと、
を実施する、システム。
【請求項11】
前記複数の同種の反転機械学習モデルが複数の順伝播型ニューラルネットワーク(FFNN)を含む、請求項10に記載のシステム。
【請求項12】
前記第1の複数の候補値が、前記第1の入力に対する値の範囲を含み、前記第2の複数の候補値が、前記第2の入力に対する値の範囲を含む、請求項10に記載のシステム。
【請求項13】
前記それぞれ異なるデータセットは、異なるハイパーパラメータ、異なる初期化値、または異なる訓練データのうち少なくとも1つを含む、請求項10に記載のシステム。
【請求項14】
命令を格納する非一時的機械可読記憶媒体であって、前記命令は、実行されると、処理デバイスに、
少なくとも一つの処理チャンバ内で実行される半導体デバイス製造プロセスの出力訓練データにアクセスすることであって、前記半導体デバイス製造プロセスは、堆積プロセス、エッチングプロセス、または洗浄プロセスのうちの少なくとも1つを含み、前記出力訓練データは、前記半導体デバイス製造プロセスによって使用される入力訓練データに関連付けられる、前記半導体デバイス製造プロセスの出力訓練データにアクセスすることと、
前記出力訓練データおよび前記入力訓練データに基づいて、第1の反転機械学習モデルおよび第2の反転機械学習モデルを訓練することであって、前記第1の反転機械学習モデルおよび前記第2の反転機械学習モデルは、モデルアーキテクチャを共有する同種のモデルであり、それぞれが、異なるハイパーパラメータを使用して訓練される、第1の反転機械学習モデルおよび第2の反転機械学習モデルを訓練することと、
前記半導体デバイス製造プロセスに対する選択された出力データおよび選択された入力データを選択することであって、選択された前記出力データが前記半導体デバイス製造プロセスの出力属性を定義し、前記選択された出力データが、前記半導体デバイス製造プロセスに関連するプロセス空間の未調査部分に対応する、前記半導体デバイス製造プロセスに対する選択された出力データおよび選択された入力データを選択することと、
前記第1の反転機械学習モデルを使用して、前記選択された出力データに基づく線形外挿を実施することによって、前記半導体デバイス製造プロセスを構成する入力データのセットを決定することであって、前記入力データのセットが、第1の入力に対するコンフィギュレーション値および第2の入力に対するコンフィギュレーション値を含み、前記入力データのセットは、前記プロセス空間の前記未調査部分に対応する外挿された解を定義し、前記入力データのセットは、前記半導体デバイス製造プロセスの実行に関連するデータを含み、当該データは、時間、エネルギー、温度、電圧、ガス流量、ウェハスピン速度、距離、圧力、前駆体、反応剤、または希釈剤のうち少なくとも1つを示す、前記半導体デバイス製造プロセスを構成する入力データのセットを決定することと、
前記半導体デバイス製造プロセスのための前記選択された入力データを、前記入力データのセットと比較することと、
を含む動作を実施させる、非一時的機械可読記憶媒体。
【請求項15】
前記第1の反転機械学習モデルおよび前記第2の反転機械学習モデルがそれぞれ、順伝播型ニューラルネットワーク(FFNN)を含む、請求項14に記載の非一時的機械可読記憶媒体。
【請求項16】
前記順伝播型ニューラルネットワークが、前記半導体デバイス製造プロセスをモデル化するための出力層と複数の隠れ層とを含み、前記複数の隠れ層が多項式関数を含み、前記出力層が線形活性化関数を含む、請求項15に記載の非一時的機械可読記憶媒体。
【請求項17】
前記処理デバイスはさらに、
表示のために複数の候補入力値のセットを提供することであって、前記複数の候補入力値のセットの各候補入力値のセットが、前記半導体デバイス製造プロセスのための前記予想出力データに対応する、複数の候補入力値のセットを提供することと、
前記複数の候補入力値のセットのうちの候補入力値のセットのユーザ選択を受け取って、選択された候補入力値のセットを取得することと、
選択された前記候補入力値のセットを使用して、前記半導体デバイス製造プロセスの実行を開始することと、を更に実施する、請求項10に記載のシステム。
【請求項18】
前記動作が、
表示のために複数の候補入力値のセットを提供することであって、前記複数の候補入力値のセットの各候補入力値のセットが、前記半導体デバイス製造プロセスのための予想出力データに対応する、複数の候補入力値のセットを提供することと、
前記複数の候補入力値のセットのうちの候補入力値のセットのユーザ選択を受け取って、選択された候補入力値のセットを取得することと、
選択された前記候補入力値のセットを使用して、前記半導体デバイス製造プロセスの実行を開始することと、を更に含む、請求項14に記載の非一時的機械可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、予測モデリングに関し、より詳細には、モデルのセットを使用して製造プロセスに対する最適入力パラメータを予測することに関する。
【背景技術】
【0002】
製造は、人的労力、機械、またはそれらの組み合わせが関与する、複数のステップを使用した製品の生産を伴う。製造ステップは、ステップがいつ、どこで、どのように実施されるかを決定し、製造される製品をもたらす設定と関連付けられることがある。プロセス技術者は、一般的に、その領域における自身の専門知識に基づいて、設定を選択しカスタマイズする。設定の選択は、異なる設定で多くの実験を実施して、製造プロセスに対する1つまたは複数の最適設定を特定することを伴う場合が多い。
【発明の概要】
【0003】
以下、本開示のいくつかの態様の基本的な理解を提供するために、本開示の概要を簡単に示す。この概要は、広範囲にわたって本開示を概説するものではない。本開示の主要または重要な要素を特定しようとするものではなく、また本開示の特定の実現例における何らかの範囲または特許請求の範囲における何らかの範囲を詳細に線引きしようとするものでもない。単に、本開示のいくつかの概念を、以下に提示する更に詳細な説明の前置きとして、単純な形で提示することを目的とするものである。
【0004】
本開示の一態様では、方法は、処理デバイスによって、製造プロセスの出力の属性を定義する、製造プロセスに対する予想出力データを受信することと、製造プロセスをモデル化する、第1の機械学習モデルおよび第2の機械学習モデルを含む複数の機械学習モデルにアクセスすることと、第1の機械学習モデルを使用して、製造プロセスに対する予想出力データに基づいて、第1の入力に対する値および第2の入力に対する値を含む、製造プロセスに対する入力データを決定することと、第1の機械学習モデルを使用して決定された入力データおよび第2の機械学習モデルを使用して決定された入力データを組み合わせて、第1の入力に対する複数の候補値および第2の入力に対する複数の候補値を含む、製造プロセスに対する入力のセットを生成することと、処理デバイスによって、製造プロセスに対する入力のセットをストレージデバイスに格納することとを含む。
【0005】
本開示の別の態様では、システムは、メモリと、メモリに結合された処理デバイスとを含む。処理デバイスは、製造プロセスの出力の属性を定義する、製造プロセスに対する予想出力データを受信し、製造プロセスをモデル化する、第1の機械学習モデルおよび第2の機械学習モデルを含む複数の機械学習モデルにアクセスし、第1の機械学習モデルを使用して、製造プロセスに対する予想出力データに基づいて、第1の入力に対する値および第2の入力に対する値を含む、製造プロセスに対する入力データを決定し、第1の機械学習モデルを使用して決定された入力データおよび第2の機械学習モデルを使用して決定された入力データを組み合わせて、第1の入力に対する複数の候補値および第2の入力に対する複数の候補値を含む、製造プロセスに対する入力のセットを生成し、製造プロセスに対する入力のセットをストレージデバイスに格納するものである。
【0006】
本開示の一態様では、非一時的機械可読記憶媒体は命令を格納し、命令は、実行されると、製造プロセスによって使用される入力データと関連付けられた、製造プロセスの出力データにアクセスすることと、入力データおよび出力データに基づいて第1の機械学習モデルを訓練することと、処理デバイスによって、製造プロセスの出力属性を定義する、製造プロセスに対する予想出力データを受信することと、製造プロセスをモデル化する、第1の機械学習モデルおよび第2の機械学習モデルを含む複数の機械学習モデルにアクセスすることと、第1の機械学習モデルを使用して、製造プロセスに対する予想出力データに基づいて、第1の入力属性に対する第1の値および第2の入力属性に対する第1の値を含む、製造プロセスに対する入力データを決定することと、第1の機械学習モデルを使用して決定された入力データおよび第2の機械学習モデルを使用して決定された入力データを組み合わせて、第1の入力属性に対する複数の値および第2の入力属性に対する複数の値を含む、製造プロセスに対する入力のセットを生成することとを含む動作を、処理デバイスに実施させる。
【0007】
本開示は、添付図面の図において限定としてではなく例として例証される。
【図面の簡単な説明】
【0008】
図1】特定の実施形態による例示のシステムアーキテクチャを示すブロック図である。
図2】特定の実施形態による一例のコンピューティングデバイスを示す図である。
図3】特定の実施形態による、機械学習モデルを訓練する一例のシステムを示すブロック図である。
図4】特定の実施形態による、機械学習モデルのセットを使用して製造プロセスに対する入力値を予測する一例の方法を示すフロー図である。
図5】特定の実施形態によるコンピュータシステムを示すブロック図である。
【発明を実施するための形態】
【0009】
製造プロセスは、複雑さを増し続けており、多量のステップを含む場合が多い。ステップはそれぞれ、異なる構成を有し、異なる領域の専門知識を有する異なるプロセス技術者と関連付けられることがある。異なるステップは、相関されることがあり、コンピュータ生成モデルを使用してモデル化されることがある。コンピュータ生成モデルは、製造入力とそれに対応する製造出力との間の因果関係を表す、因果モデルである場合が多い。モデルは、入力として1つまたは複数の製造入力設定を取り、製造出力への影響の予測を提供してもよい。プロセス技術者は、異なる入力を手動で選択し、モデルを使用して製造出力への影響をシミュレートしてもよい。プロセス技術者は、作成しようと試行している意図される出力を有する場合が多く、どの入力を変更するかの仮説を立ててもよい。プロセス技術者は次に、意図される出力を生成するのに修正する必要がある入力を特定する、コンピュータシミュレーションまたは物理的実験を開始してもよい。製造プロセスに関与するのが一人のプロセス技術者および少数の入力である場合、このタイプの入力/出力モデリングが効率的なことがある。入力数が増加するにつれて、入力のばらつきが大きくなり、選択と実験のプロセスの効率が低下する。
【0010】
本明細書に開示する技術は、予想製造出力(例えば、標的属性、意図される結果、最終目標)に基づいて製造入力を予測するのに使用することができる、モデルのセットを生成する技術を提供することによって、上述および他の欠点に対処することができる。モデルのセットは、(入力/出力とは反対の)出力/入力モデリングを提供する、1つまたは複数の反転モデルを含む。モデルのセットは、製造出力データをモデル入力として使用し、製造入力データをモデル出力として提供してもよい。モデルは、製造入力データ(例えば、コンフィギュレーション値)および製造出力データ(例えば、製品属性値)を使用して訓練される。一例では、モデルのセットは、共通のモデルアーキテクチャに基づくが、異なるモデルのバージョンを作成するため異なるように訓練された機械学習モデルを含む、同種のセットであってもよい。訓練は、訓練データ、ハイパーパラメータ、初期化値、他の違い、または前述の組み合わせのばらつきに基づいてもよい。
【0011】
セットにおける訓練済み機械学習モデルはそれぞれ、同じ製造出力データをモデル入力として受信し、またそれぞれ、製造プロセスに対する異なる入力のセットを予測する。入力のセットはそれぞれ、予想出力データ(例えば、製造品の標的属性)を満足する製品をもたらすように選択される。異なるモデルを使用して導き出された入力が組み合わされて、予想製造出力を満足するかまたはそれに準拠する(例えば、標的属性もしくは意図される結果を獲得する)ことが予測される、各製造入力に対する値の範囲を特定してもよい。一例では、モデルのセットは、順伝播型ニューラルネットワーク(FFNN)であり、併せてアンサンブル学習技法として機能する。順伝播型ニューラルネットワークのセットの出力は、異なるグループへとクラスタ化されてもよく、各グループは、製造入力の対応するセットにおいて類似性を共有する(例えば、第1のグループは第1の製造入力に対するばらつきに注目してもよく、第2のグループは第2の製造入力に対するばらつきに注目してもよい)。
【0012】
本明細書に記載するシステムおよび方法は、既定の属性を有する製品をもたらす製造入力データ(例えば、コンフィギュレーションパラメータ)の特定を向上する技術を含む。特に、本開示の態様は、製造プロセスに対する入力の最適なセットを特定するために実施される、物理的実験またはコンピュータシミュレーションの量を低減することができる。従来のプロセスモデリングは、モデルが製造入力データをモデル入力として取り、製造プロセスの出力をシミュレートするようにすることによって、製造プロセスをシミュレートすることがある。最適な製造入力を特定するため、プロセス技術者は、入力の異なる組み合わせを選択し、それらを異なるシミュレーションとして実行してもよい。反転モデルの使用によって、モデルが、最終結果をモデルに対する入力として取ることができ、最終結果に到達する製造入力の予測セットを出力してもよい。これにより、実験がより少なくなるか、または同じ量の実験を使用してより良好な結果をもたらすことができる。複数モデルの使用は、製造入力の複数の予測セットをもたらすことがあり、それぞれ候補解として機能することがある。候補解は、組み合わされるかまたはクラスタ化され、ユーザに対して表示されて、ユーザが異なる候補解の中からパターンを検出できるようにしてもよい。これは、あるレベルの解釈可能性および説明可能性を予測モデリングに提供する形で、技術が機械学習を使用できるようにすることができる。技術は、入力データに対する変更によって製造出力がどのように影響を受けるかに関する洞察を提供してもよく、特定の解を特定するのに実施されるコンピュータシミュレーションまたは物理的実験の数を低減してもよい。本開示の態様はまた、プロセスエンジニアリング時間、リソース消費、プロセッサのオーバーヘッドなどの大幅な低減をもたらすことができる。一例では、予測製造入力は、(例えば、半導体製造に関して)より高速のプロセス開発および最適化をもたらすことができる。別の例では、予測製造入力は製品をより迅速に製造することができ、製品を従来の方策よりも最適化(例えば、仕様内でより適したものに)することができる。
【0013】
上記に参照した技術の様々な態様は、限定としてではなく例として本明細書で詳細に後述する。下記に提供する例は、製造プロセスを統合したコンピューティングデバイスについて考察する。他の例では、コンピューティングデバイスは、製造プロセスと別個であってもよく、データストアからの製造プロセスと関連付けられたデータにアクセスしてもよく、後でコンピューティングデバイスまたはユーザが製造プロセスを構成するのに使用することができるデータを生成してもよい。
【0014】
図1は、特定の実施形態による、例示のシステムアーキテクチャ100を示すブロック図である。システムアーキテクチャ100は、製造プロセス110と、入力112と、出力114と、1つまたは複数のコンピューティングデバイス120A~Zとを含む。
【0015】
製造プロセス110は、1つもしくは複数の製品116を提供または生産することができる、任意の製造プロセスであってもよい。製品116は、使用または販売目的のものであってもよく、有形もしくは無形の物体、物品、サービス、他の製品、または前述の組み合わせであってもよい。有形の製品は、人間が触れるものであってもよく、物理的な製品、物体、要素、物品、または他の物体(例えば、エッチング済みのウェハ、マイクロチップ、電子デバイス)を含んでもよい。無形の製品は、触れることなく人間が直接または間接的に知覚するものであってもよく、回路設計、デバイスレイアウト、製造レシピ、ツール構成、コンピュータプログラム、サービス、他の無形要素、または前述の組み合わせを含んでもよい。
【0016】
製造プロセス110は、入力112に基づいて動作を実施して出力114を提供することを伴ってもよい。入力112は、製造プロセス110が製品116を提供するのに使用する任意の入力を含んでもよい。入力112は、製造プロセス110中に修正される、組み立てられる、または組み合わされる、1つもしくは複数の入力製品を含んでもよい。出力114は、製造プロセス110が出力する任意のものであってもよく、製品116ならびに製造プロセス110の任意の副産物を含んでもよい。入力112および出力114は両方ともデータと関連付けられてもよく、例えば、入力112は入力データ122(例えば、コンフィギュレーションデータ)と関連付けられてもよく、出力114は出力データ124(例えば、製品属性データ)と関連付けられてもよい。
【0017】
入力データ122は、製造プロセス110に対する1つまたは複数の入力を定義する任意のデータであってもよい。入力データ122は、入力製品、コンフィギュレーション、設定、または他のデータの1つもしくは複数の属性を示してもよい。入力データ122は、パラメータデータ、設定データ、コンフィギュレーションデータ、他のデータ、または前述の組み合わせと同じまたは同様であってもよい。入力データ122は、製造プロセスがどのように実施されるかを示す1つまたは複数の値(例えば、パラメータ値、設定値、コンフィギュレーション値)を含んでもよい。一例では、入力データ122は、時間(例えば、堆積時間、エッチング時間、酸化時間、埋込み時間、洗浄時間)、エネルギー(例えば、温度、電流、電圧、電磁周波数)、入力レート(例えば、ガス流量、ウェハスピン速度)、距離(例えば、基板とツールとの間の空間、特徴の幅、高さ、奥行き)、圧力(例えば、パスカル、バール)、入力物質(例えば、前駆体、反応剤、希釈剤)、他の属性もしくは性質、または前述の組み合わせに対応する、1つまたは複数の値を含んでもよい。
【0018】
出力データ124は、製造プロセス110の1つまたは複数の出力を説明する任意のデータであってもよい。出力データ124は、製品116、副産物、他の出力、または前述の組み合わせの1つもしくは複数の属性を説明してもよい。出力データ124は、製品116が作成された後の実際の属性、または製品116が作成される前の製品116の意図される属性を示す値を含んでもよい。属性は、製品116の1つまたは複数の測定値に対応してもよい。測定値は、寸法(例えば、長さ、幅、高さ、奥行き、厚さ、半径、直径、面積、体積、サイズ)、材料の性質(例えば、反射率、放射率、吸収率、伝導率、密度、質感)、均一性(例えば、膜厚の均一性)、場所(例えば、相対もしくは絶対位置)、他の属性、または前述の組み合わせに関連してもよい。一例では、出力データ124は、N点計測(N-point metrology)の形態で製品116の属性を示してもよく、Nは、製品に対する基準測定値の数を示す(例えば、49点計測)。N点計測は、半導体製品の1つまたは複数の電子構成要素に対する重要な寸法(例えば、トランジスタもしくはビアの寸法)を提供してもよい。
【0019】
コンピューティングデバイス120A~Zは、製造プロセス110と関連付けられた1つまたは複数のコンピューティングデバイスを含んでもよい。コンピューティングデバイス120A~Zは、埋込みシステム、サーバ、ワークステーション、パーソナルコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、携帯電話、パームサイズコンピューティングデバイス、携帯情報端末(PDA)などを含んでもよい。一例では、コンピューティングデバイス120A~Zは、x86ハードウェア(例えば、Intel(登録商標)またはAMD(登録商標))を実装したコンピューティングデバイスを含んでもよい。別の例では、コンピューティングデバイス120A~Zは、PowerPC(登録商標)、SPARC(登録商標)、または他のハードウェアを実装したコンピューティングデバイスを含んでもよい。
【0020】
コンピューティングデバイス120A~Zのうちの1つまたは複数は、製造制御デバイス、センサデバイス、ユーザデバイス、他のデバイス、または前述の組み合わせとして機能してもよい。製造制御デバイス(例えば、コントローラ)は、製造プロセスの一部分を制御してもよく、入力データ122、出力データ124、または前述の組み合わせにアクセスするか、それらを生成するか、もしくはそれらを送信してもよい。センサデバイス(例えば、センサ)は、製造プロセス110の一態様または製品116の一態様を知覚することができてもよく、製造プロセス110または製品116の属性を測定することができる測定構成要素を伴ってもよい。一例では、センサデバイスは、画像取込みモジュールまたは音響取込みモジュールを含んでもよい。ユーザデバイスは、クライアントデバイスと同じまたは同様であってもよく、ユーザ(例えば、プロセス技術者)に対してユーザインターフェースを提供してもよい。ユーザインターフェースは、情報をユーザに提示(例えば、表示および/またはアナウンス)してもよく、ユーザ入力を集める1つもしくは複数の制御要素を含んでもよい。コンピューティングデバイス120A~Zのうちの1つまたは複数は、機械学習モデル121A~Zのセットを使用して、製造プロセス110に対する入力データ122A~Zを決定してもよい。
【0021】
機械学習モデル121A~Zは、製造プロセス110、および入力112と出力114との間の関係を、数学的にモデル化してもよい。機械学習モデル121A~Zはそれぞれ、製造プロセスのプロセス空間内における1つまたは複数の点を特定するのに使用することができる、回帰モデルであってもよい。プロセス空間は、製造入力と出力との関係を有限空間において表してもよい。プロセス空間は、プロセス空間の調査済み部分とプロセス空間の未調査部分とを含んでもよい。調査済み部分は、前の物理的実験、コンピュータシミュレーション実験、または前述の組み合わせに対応する、プロセス空間内の点または領域に対応してもよい。プロセス空間の未調査部分は、潜在的または理論的実験に対応してもよい。プロセス空間は、任意の数の次元を含んでもよく、次元の数は、製造入力、製造出力、または前述の組み合わせの属性の数に関連してもよい。機械学習モデル121A~Zは、プロセス空間を近似し、プロセス空間内における潜在的解を特定するのに使用されてもよい。潜在的解は、1つまたは複数の製造入力のセットであってもよく、プロセス空間内の点、線、面、面積、体積、または他の領域に対応してもよい。
【0022】
機械学習モデル121A~Zはそれぞれ、訓練データを分析し、訓練データから導き出されるパターンおよび推論を表すモデルを作成する、機械学習プロセスのアーチファクトであってもよい。機械学習モデルは、数学モデル、統計モデル、ニューラルネットワーク、他の数学的表現、または前述の組み合わせと同じもしくは同様であってもよい。機械学習モデル121A~Zはそれぞれ、1つもしくは複数の数学関数、方程式、式、演算子、オペランド、係数、変数、重み、バイアス、リンク、他のデータ、または前述の組み合わせに対する数学データを含んでもよい。
【0023】
数学データは、モデル入力112とモデル出力114との間の関係を表してもよい。関係は、線形関数、非線形関数、他の数学関数、または前述の組み合わせを使用してモデル化されてもよい。線形関数は、モデル入力とモデル出力との間の線形的関係を示してもよく、グラフが直線である数学関数として表されてもよい。非線形関数は、モデル入力とモデル出力との間の非線形的関係を示してもよく、グラフ化すると直線ではなく代わりに1つもまたは複数の曲線を含む、多項式関数(例えば、二次方程式)として表されてもよい。線形関数を使用して入力と出力との間の関係をマッピングするのは、非線形関数の場合よりも外挿を実施するのが簡単になるので有利なことがあり、これについては図2に関連して更に詳細に考察する。
【0024】
機械学習モデル121A~Zは、深層学習プロセスの一部として訓練され使用されるニューラルネットワークであってもよい。ニューラルネットワークは、ネットワーク、人工ニューラルネットワーク(ANN)、または他の用語で呼ばれることがある。一例では、機械学習モデル121A~Zは、1つまたは複数の順伝播型ニューラルネットワーク(FFNN)を含んでもよい。各FFNNは複数の層を含んでもよく、モデル入力として提供されるデータは、フィードバックループを何ら有さずに複数の層の間で一方向に「順方向」移動してもよい(例えば、推論の間、データは入力層から出力層へと進む)。他の例では、機械学習モデル121A~Zは、畳み込みニューラルネットワーク(CNN)、多層パーセプトロンニューラルネットワーク(MLP)、全結合型ニューラルネットワーク、放射基底関数ニューラルネットワーク(RBF)、回帰型ニューラルネットワーク(RNN)、モジュラーニューラルネットワーク、コホネンの自己組織化ニューラルネットワーク、他のネットワーク、あるいは前述の組み合わせの1つもしくは複数の層または特徴を含んでもよい。いずれの例でも、ニューラルネットワークは、数学データを1つまたは複数の層へと組織化してもよい。
【0025】
ニューラルネットワークの層はそれぞれ、層への入力に対して異なる変換を実施してもよい。データは、最初の層から最後の層へと伝達されてもよく、層を2回以上横断してもしなくてもよい(FFNNの場合は一般的に1回)。複数層は、入力層(例えば、最初の層)、出力層(例えば、最後の層)、および1つまたは複数の中間層(例えば、隠れ層)を含んでもよい。一例では、ニューラルネットワークは非線形関数を含む中間層を含んでもよく、出力層は1つまたは複数の線形関数を含んでもよい。例えば、出力層は、線形活性化関数を含んでもよく、非線形活性化関数はなくてもよい(例えば、何らかの数学的非線形性が欠けている、ない、または有さない)。
【0026】
線形活性化関数は、伝達関数と同じまたは同様であってもよく、入力または入力のセットを所与として、要素の出力を定義してもよい。一例では、活性化関数は、f(x)=x+=max(0,x)として定義される整流関数であってもよく、負および正の入力を受け取ってもよく、ゼロ以上であって負の値がない値を出力してもよい。整流関数は、正規化線形ユニット(ReLU)によって実現されてもよく、ランプ関数と同じまたは同様であってもよく、電気工学における半波整流と相似であってもよい。他の例では、活性化関数は、ロジスティックシグモイド関数、双曲線正接関数、閾値関数、他の関数、または前述の組み合わせであってもよい。
【0027】
機械学習モデル121A~Zはそれぞれ、非反転モデル、反転モデル、または前述の組み合わせとして機能してもよい。非反転モデルは、製造プロセスをモデル化し、製造プロセスの入力データをモデル入力として取り、製造プロセスの出力データをモデル出力として提供(例えば、製造入力を出力にマッピング)してもよい。これにより、モデルによって製造処理の実行をシミュレートすることができる。対照的に、反転モデルは、製造プロセスを逆順でモデル化してもよく、製造出力データ124をモデル入力112として使用し、製造入力データ122をモデル出力114として提供(例えば、製造出力を入力にマッピング)してもよい。反転モデルの使用は、モデルが最終結果をモデルに対する入力として取ることができ、最終結果に到達する入力の予測セットを提供できるため、有利なことがある。1つまたは複数の反転モデルのセットは、モデルセット127によって示されるように、製造プロセス110に対する入力データを特定するのに使用されてもよい。
【0028】
モデルセット127は、機械学習モデルの同種のセット、機械学習モデルの異種のセット、または前述の組み合わせであってもよい。機械学習モデルの同種のセットは、機械学習モデルの全てがモデルアーキテクチャを共有するセットであってもよい。対照的に、機械学習モデルの異種のセットは、異なるモデルアーキテクチャに基づいたモデルがセット内に少なくとも1つあるセットであってもよい。モデルアーキテクチャは、ニューラルネットワークのタイプに対応してもよく、上述した例示のニューラルネットワークはそれぞれ、異なるモデルアーキテクチャ(例えば、FFNN、CNN、RNN)を有してもよい。図1に示されるように、モデルセット127は、モデルクラスタと呼ばれることがある機械学習モデルの同種のセットであってもよく、機械学習モデル121A~Zはそれぞれ、同じ機械学習モデルの異なるバージョンであってもよい。
【0029】
機械学習モデルの異なるバージョンは、共通のモデルアーキテクチャを使用し、モデルを異なるように訓練することによって作成されてもよい。モデルを異なるように訓練することは、異なる訓練技法、異なる訓練データ、他の訓練の差異、または前述の組み合わせを使用することを伴ってもよい。異なる訓練技法は、異なる訓練パラメータ、異なるモデル初期化値、他の差異、または前述の組み合わせを使用することを伴ってもよい。訓練パラメータは、ハイパーパラメータと呼ばれることがあり、訓練プロセスが機械学習モデルを更新または作成し始める前に設定されてもよい。訓練プロセスについては、図2および図3に関連して更に詳細に考察する。
【0030】
機械学習モデル121A~Zはそれぞれ自身のモデル出力を生成してもよく、モデルセット127の集合的出力が組み合わされてもよい。機械学習モデル121A~Zはそれぞれ、同じモデル入力112に対するアクセスを有してもよいが、異なるモデル出力114を生成してもよい。これは図1に示されており、同じ出力データ124が機械学習モデル121A~Zそれぞれに提供され、機械学習モデル121A~Zはそれぞれ、製造プロセスに対するそれぞれのデータ(例えば、入力データ122A~Z)を出力する。モデル出力114の組み合わせは、組み合わせデータ126をもたらしてもよい。組み合わせデータ126は、1つまたは複数の候補解に対応してもよく、図2に関連して更に詳細に後述するように、製造プロセス110のプロセス空間内の領域を示してもよい。
【0031】
図2は、本開示の1つまたは複数の態様による、反転モデルのセットを使用して製造プロセスに対する予測モデリングを実施する技術を含む、例示のコンピューティングデバイス120を示すブロック図を示している。コンピューティングデバイス120は、図1のコンピューティングデバイス120A~Zのうちの1つもしくは複数と同じまたは同様であってもよい。本明細書で考察するコンポーネントおよびモジュールは、同じコンピューティングデバイス上で、または異なるコンピューティングデバイス上で実施されてもよい。一実現例では、コンポーネントのうちの1つまたは複数は、異なるコンピューティングデバイス上に(例えば、第1のコンピューティングデバイス上には訓練が、別のコンピューティングデバイス上には推論が)常駐してもよい。一般性を損なうことなく、より多数もしくは少数のコンポーネントまたはモジュールが含まれてもよい。例えば、コンポーネントのうちの2つ以上が組み合わされて単一のコンポーネントとなってもよく、またはあるコンポーネントの特徴が2つ以上のコンポーネントへと分割されてもよい。図2に示される例では、コンピューティングデバイス120は、訓練コンポーネント210と、推論コンポーネント220と、提示コンポーネント230とを含んでもよい。
【0032】
訓練コンポーネント210は、コンピューティングデバイス120が、製造プロセスのデータを分析し、1つまたは複数の機械学習モデルを作成できるようにしてもよい。一例では、訓練コンポーネント210は、データアクセスモジュール212と、モデル作成モジュール214と、ストレージモジュール216とを含んでもよい。
【0033】
データアクセスモジュール212は、製造プロセスと関連付けられたデータにアクセスし、そのデータを訓練データ242として格納してもよい。訓練データ242は、製造プロセスに関連する任意のデータであってもよく、1つまたは複数の機械学習モデルを訓練するのに使用することができる。訓練データ242は、製造プロセスに対する入力データ(例えば、入力データ122)、製造プロセスに対する出力データ(例えば、出力データ124)、他のデータ、または前述の組み合わせを含んでもよく、あるいはそれらから導き出されてもよい。製造プロセスに対する入力データは、入力データ122に関して上述したものと同じであってもよく、1つもしくは複数の値が時間、温度、圧力、電圧、ガス流、または他の値に対するものである、値のセットを含んでもよい。製造プロセスに対する出力データは、出力データ124に関して上述したものと同じであってもよく、層厚、層の均一性、もしくは構造幅、他の重要な寸法、または前述の組み合わせの値を示す、1つもしくは複数の値を含んでもよい。データアクセスモジュール212は、データをデータストア240に訓練データ242として格納する前、最中、または後に、1つまたは複数の処理動作をデータに対して実施してもよい。処理は、前処理または後処理と呼ばれることがあり、集約、相関、正規化、追加、除去、フィルタ処理、殺菌、匿名化、または他の動作を行う1つもしくは複数の動作を伴ってもよい。
【0034】
訓練データ242は、履歴データ、シミュレーションデータ、拡張データ、他のデータ、または前述の組み合わせを含むか、あるいはそれらに基づいてもよい。履歴データは、製造プロセスの1つまたは複数の物理的実行から導き出されてもよく、物理的実行は、商用、テスト用、実験用、研究開発用、他の用途、または前述の組み合わせに対するものであってもよい。シミュレーションデータは、製造プロセスの1つまたは複数のコンピュータシミュレーションから導き出されてもよく、1つまたは複数の機械学習モデル(例えば、入力/出力モデル)の出力であってもよい。拡張データは、操作されているデータに存在することもしないこともあるばらつきを含むように操作される、履歴またはシミュレーションデータに基づいてもよい。ばらつきは、1つまたは複数の数学的変換(例えば、剛体変換、ノイズ追加、ノイズ除去)を使用してデータを変更してもよい。拡張データは、合成データと同じまたは同様であってもよく、入力データ、出力データ、または前述の組み合わせを修正した形態であってもよい。
【0035】
訓練データ242は、ラベルありデータ、ラベルなしデータ、または前述の組み合わせを含んでもよい。ラベルありデータは、補助データ(例えば、ラベル)を補足した一次データ(例えば、サンプル)を含んでもよい。補助データは、タグ、注釈、リンク、ラベル、または他のデータであってもよい。ラベルなしデータは、ラベルがない(例えば、ラベルが欠けている、ラベルがない、ラベルを有さない)データであってもよい。ラベルなしデータは、ラベルなしで格納されてもよく、機械学習モデルを訓練するのに使用される前は、ラベルなしのままであってもなくてもよい。一例では、訓練データ242は、対応する製造入力データとリンクするように注釈が付けられた製造出力データを含む、ラベルありデータであってもよい。別の例では、製造入力データに対応する製造出力データの注釈が付けられてもよい。更に別の例では、前述の組み合わせがあってもよい。
【0036】
モデル作成モジュール214は、コンピューティングデバイス120が訓練データ242を分析し、機械学習モデル121を作成できるようにしてもよい。モデル作成モジュール214は、機械学習モデルを訓練するのに、標準化、専有、オープンソース、または他の訓練フレームワークを使用してもよい。モデル作成モジュール214は、製造プロセスの以前の実行(例えば、物理的なまたはシミュレートした実行)から導き出された訓練データ242にアクセスするように、訓練フレームワークを構成してもよい。一例では、訓練フレームワークは、Tensorflow(商標)、Keras(商標)、PyTorch(商標)、Open Neural network Exchange(Onnx(商標))、Cognitive Toolkit(CNTK)、Azure Machine Learning Service、Create ML、他の機械学習フレームワーク、あるいは前述の組み合わせと同じまたは同様であってもよい。
【0037】
モデル作成モジュール214は、訓練フレームワークを使用して、1つまたは複数のモデルのセットを作成してもよい。機械学習モデルのセットは、モデルアーキテクチャを共有し、モデルアーキテクチャの異なるバージョンを備える、機械学習モデルの同種のセットであってもよい。機械学習モデルの異なるバージョンはそれぞれ、異なる訓練データ、異なるハイパーパラメータ、異なる初期化値、他の差異、または前述の組み合わせを使用して訓練されてもよい。一例では、機械学習モデルはそれぞれ、製造プロセス(例えば、出力/入力)をモデル化する順伝播型ニューラルネットワークであってもよい。それぞれの順伝播型ニューラルネットワークは、複数の隠れ層と出力層とを含んでもよい。層の数は、機械学習モデルの異なるバージョン間で異なってもよく、隠れ層は、製造プロセスを表す多項式関数を含んでもよく、出力層は線形活性化関数を含んでもよい。一例では、モデル作成モジュール214は、1つまたは複数のモンテカルロシミュレーションを使用して機械学習モデルを訓練してもよい。モンテカルロシミュレーションは、物理的実験またはコンピュータ生成実験を使用して調査される、n次元プロセス空間の一部分を推定してもよい。調査済み空間の外側でより良好に外挿するため、機械学習モデルは、出力/入力関係をモデル化する(例えば、反転モデル)ように作成されてもよい。
【0038】
ストレージモジュール216は、コンピューティングデバイス120が、訓練の結果を機械学習モデル121としてデータストア240に格納できるようにしてもよい。機械学習モデル121は、1つもしくは複数のファイルオブジェクト(例えば、ファイル、ディレクトリ、リンク)、データベースオブジェクト(例えば、レコード、タプル)、他のストレージオブジェクト、または前述の組み合わせとして格納されてもよい。データストア240は、メモリ(例えば、ランダムアクセスメモリ)、ドライブ(例えば、ハードドライブ、フラッシュドライブ)、データベースシステム、またはデータを格納することができる別のタイプのコンポーネントもしくはデバイスであってもよい。データストア240は、複数のコンピューティングデバイス(例えば、複数のサーバコンピュータ)にわたってもよい、複数のストレージコンポーネント(例えば、複数のドライブまたは複数のデータベース)を含んでもよい。機械学習モデル121は、1つもしくは複数の他のデータストアまたはコンピューティングデバイスに送信され、推論コンポーネント220がアクセス可能にされてもよい。
【0039】
推論コンポーネント220は、コンピューティングデバイス120が、機械学習モデル121を使用して予測248を生成できるようにしてもよい。推論コンポーネント220は、推論エンジンと同じまたは同様であってもよく、入力として機械学習モデル121およびインスタンスのデータを受信してもよく、推論を行ってもよい。推論は、予測248と同じまたは同様であってもよく、1つまたは複数の値に対応してもよい。本明細書で考察するように、推論コンポーネント220は、製造予想出力データ(例えば、標的属性値)を受信してもよく、機械学習モデル121の観点で予測製造入力データ(例えば、プロセスコンフィギュレーション値)を出力してもよい。一例では、推論コンポーネント220は、モデルアクセスモジュール222と、入力受信モジュール224と、予測モジュール248と、組み合わせモジュール228とを含んでもよい。
【0040】
モデルアクセスモジュール222は、コンピューティングデバイス120が、1つまたは複数の機械学習モデルのセットにアクセスできるようにしてもよい。セットは、単一の機械学習モデル、または共通のモデルアーキテクチャを共有してもしなくてもよい複数の機械学習モデルを含んでもよい。一例では、モデルアクセスモジュール222は、1つまたは複数の機械学習モデルのセットをローカル位置(例えば、データストア240)から受信してもよい。これは、コンピューティングデバイス120が機械学習モデルを作成したとき、あるいは機械学習モデルが別のコンピューティングデバイスによって作成され、コンピューティングデバイス120にインストール、パッケージ、ダウンロード、アップロード、または送信されたときに行われてもよい。別の例では、モデルアクセスモジュール222は、1つまたは複数の機械学習モデルのセットに、コンピュータネットワーク130を通じて、同じネットワーク上または異なるネットワーク(例えば、インターネット)上のサーバからアクセスしてもよい。これにより、顧客がモデルまたはモデルに対する更新を第三者(例えば、製造ツール作成者もしくは配布者)から受信できるようになってもよい。いずれの例でも、機械学習モデルは、入力受信モジュール224からのモデル入力を分析するための数学データを含んでもよい。
【0041】
入力受信モジュール224は、コンピューティングデバイス120が、機械学習モデル121に対するモデル入力112として使用することができる入力データを受信できるようにしてもよい。一例では、入力データは、ユーザがコンピューティングデバイスに提供する(例えば、プロセス技術者がユーザデバイスに入力する)ユーザ入力に基づいてもよい。別の例では、入力データは、管理デバイスがコンピューティングデバイス120に提供するデバイス入力に基づいてもよい。管理デバイスは、モデル入力112を特定してもよく、1つもしくは複数の物理的実験またはコンピュータシミュレーション実験を開始してもよい。いずれの例でも、入力データは、モデル入力112として使用されてもよく、またはモデル入力112を変換するか、特定するか、選択するか、または導き出すのに使用されてもよい。モデル入力112は次に予測モジュール248によって使用されてもよい。
【0042】
予測モジュール248は、機械学習モデル121の観点でモデル入力112を分析して、モデル出力を決定してもよい。モデル出力は、1つまたは複数の値のセットをそれぞれ含む、1つまたは複数の予測248を含んでもよい。上述したように、値のセットは、製造プロセスを構成するのに使用される、製造入力値(例えば、パラメータ値)であってもよい。予測モジュール248は、推論エンジンとして機能してもよく、または標準化、専有、もしくはオープンソース推論エンジンと統合されてもよい。一例では、予測モジュール248は、機械学習モデルを使用して、製造プロセスに対する予想出力データに基づいて、製造プロセスに対する入力データを決定してもよい。モデル出力は、第1の入力に対する値(例えば、時間)および第2の入力に対する値(例えば、エネルギー)を含んでもよい。第1および第2の入力に対する値の決定は、プロセス空間の未調査エリアにおけるモデル出力値を予測することができる、機械学習モデルを使用することを伴ってもよい。
【0043】
モデル出力値の予測は、機械学習モデルを使用した、内挿、外挿、または前述の組み合わせを伴ってもよい。内挿は、実験を使用して調査してきた点の間にある、プロセス空間内の点を決定することを伴ってもよい。外挿は、実験を使用して調査してきた点を超える、プロセス空間内の点を決定することを伴ってもよい。内挿または外挿は、1つまたは複数の接線を使用して実施されてもよい。接線は、1つもしくは複数の曲線終始点で曲線に接触してもよく、1つもしくは複数の接点、接線、接平面、接空間、他のn次元接線、または前述の組み合わせを含んでもよい。一例では、直線は、線が曲線上の点(c,f(c))を通過し、傾斜f’(c)を有する場合(f’はfの導関数)、曲線上の点x=cにおける曲線y=f(x)の接線であってもよい。同様の定義が、空間曲線およびn次元ユークリッド空間の曲線に当てはまってもよい。接線は、接線が曲線を通過するかまたは曲線に接触する(例えば、単に曲線に触れる)、1つまたは複数の曲線終始点を含んでもよい。
【0044】
外挿は、機械学習モデルの数学関数に基づいた線形外挿であってもよい。訓練セットの限界外における回帰モデルの外挿は、特に、モデル関数に非線形性がある場合、または選択された回帰アルゴリズムが外挿に制約を課す場合(例えば、ガウス過程回帰)に問題となることがある。しかしながら、反転モデルを使用して、予測モジュール248は、プロセス空間の調査済み部分から導き出される潜在的な非線形関係を保持しながら、接線で線形的にモデル入力空間境界に投影してもよい。一例では、機械学習モデルは、隠れ層に非線形活性化を、出力層に線形活性化関数を含む、ニューラルネットワークであってもよい。線形活性化関数は、より効率的で正確な線形外挿を可能にしてもよい。これは、製造プロセスの実施者が既存の実験を活用して、解(例えば、標的属性を満足する製品をもたらすコンフィギュレーションのセット)を含む、プロセス空間の未調査部分の一部分をより効率的に特定できるようにしてもよいので、有利である。
【0045】
組み合わせモジュール228は、複数の異なる機械学習モデルの出力を組み合わせて、1つまたは複数の解が存在し得るプロセス空間の領域を特定してもよい。各機械学習モデルの出力は、n次元プロセス空間における特定の点を表してもよい。n次元の1つまたは複数は入力パラメータに対応してもよく、特定の点は、次元それぞれにおける値に対応し、またそのため、入力値のセット(例えば、n個の入力次元に対してn個の値)に対応してもよい。例えば、三次元プロセス空間における点は、x、y、およびz軸それぞれに対する値を含んでもよく、各軸は異なる製造入力に対応する。組み合わせモジュール228は、複数の機械学習モデルの出力を組み合わせて、プロセス空間内の領域を特定してもよく、その領域は解空間と呼ばれることがある。プロセス空間の領域は、点推定ではなく複数の予測点(例えば、点の分布)を含んでもよく、解が存在し得る未調査空間の領域に対応してもよい。概して、プロセス空間における点は特定の予測解であってもよく、プロセス空間内の領域は複数の予測解を含んでもよい。組み合わせモジュール228は、複数の予測解を組み合わせて、組み合わせセット(例えば、組み合わせデータ126)としてもよい。組み合わせセットは、入力それぞれに対する組み合わせ値を含んでもよい。組み合わせ値は、値の範囲(例えば、値1.04x~2.03x)、値のセット(例えば、22nm、14nm、10nm、7nm、5nm)、分散値を有する基準値(例えば、サイズ値を有する開始、中間、もしくは終了値)、他の値、または前述の組み合わせであってもよい。
【0046】
組み合わせモジュール228は、機械学習モデルのセットのモデル出力を分析して領域を特定することによって、プロセス空間内の領域を特定してもよい。領域の次元数は、プロセス空間の次元数に応じて決まってもよく、線、面積、体積、または他の多次元領域に対応してもよい。単純な例では、機械学習モデルのセットのモデル出力は、n次元プロセス空間(例えば、3D空間)の未調査領域内におけるポイントクラウドとして表されてもよい。組み合わせモジュール228は、ポイントクラウドを分析し、任意の形状(例えば、球、立方体、角錐、円環)を有し得る領域を特定してもよい。特定された領域は、解空間を表してもよく、モデル出力点のいくつかまたはモデル出力点の全てを含んでもよい。領域(例えば、解空間)は、有限数または無限数の点に対応してもよく、各点は候補解であってもよい。組み合わせモジュール228の利点は、特定された領域がプロセス空間よりも大幅に小さくてもよく、未調査空間、調査済み空間、または前述の組み合わせの中にあってもよいことである。一例では、組み合わせモジュール228は、アンサンブル技法を使用することによって、プロセス空間内の領域を特定してもよい。
【0047】
アンサンブル技法は、アンサンブル学習またはアンサンブル方法と同じもしくは同様であってもよく、機械学習モデルのセットを使用して、セットにおける任意の個々の機械学習モデルよりも優れた予測性能を得てもよい。アンサンブル技法は、複数の機械学習モデルの出力を組み合わせてもよい。機械学習モデルは、より少ない特徴に基づいている、より少ないデータに対して訓練されている、精度がより低い、ばらつきがより大きい、他の態様、または前述の組み合わせの場合、弱学習器と呼ばれることがある。弱学習器はそれぞれ、訓練データを過剰適合することなく出力を近似してもよい。
【0048】
本明細書に開示する技術は、バギング、ブースティング、スタッキング、他の技法、または前述の組み合わせなど、1つもしくは複数の異なるタイプのアンサンブル技法を使用してもよい。バギングは、セットの各モデル出力を等しい重みで扱うことを伴ってもよい。モデル分散を促進するために、バギングは、訓練データセットの無作為に抽出されたサブセットを使用して、セットの各モデルを訓練することを伴ってもよい。一例では、モデルのセットは、互いに異なるように並行して訓練されるモデルの同種のセットであってもよく、モデル出力は、平均化プロセス(例えば、決定論的平均化(deterministic averaging))を使用して組み合わされてもよい。ブースティングは、以前のモデルが誤分類した訓練インスタンスを強調するように新しい各モデルインスタンスを訓練することによって、組み合わせ入力(例えば、特定された領域)を漸増的に組み立てることを伴ってもよい。ブースティングは、バギングよりも優れた精度を生み出すが、訓練データを過剰適合する可能性が高いことがある。一例では、ブースティングは、逐次的に訓練されるモデルの同種のセットを伴ってもよく、1つまたは複数のモデルは、1つまたは複数の以前のモデル(例えば、ベースモデルおよび中間モデル)に応じて決まってもよい。スタッキングは、学習技法を訓練して、いくつかの他の学習技法の予測を組み合わせることを伴ってもよい。他のアルゴリズムは全て、利用可能なデータを使用して訓練され、次いでコンバイナアルゴリズムが、他のアルゴリズムの全ての予測を追加入力として使用して、最終予測を行うように訓練される。一例では、スタッキングはモデルの異種のセットを伴ってもよく、モデルは並行して訓練されてもよく、モデル出力は、異なる構成成分予測(constituent predictions)に基づいて予測を出力する、別のモデル(例えば、メタモデル、集約モデル、組み合わせモデル)を使用して組み合わされてもよい。他の例では、アンサンブル技法は、Bayesian Model Combination(BMC)、Bayesian Model Averaging(BMA)、他の技法、または前述の組み合わせを伴ってもよい。
【0049】
組み合わせモジュール228は、加えてまたは代わりに、教師なし機械学習タスクを実施して、モデル出力を複数の領域(例えば、複数の解空間)へとグループ化してもよい。教師なし機械学習タスクは、特徴(例えば、対応する入力値)に基づいて点をグループ化してもよい、クラスタ化と同じまたは同様であってもよく、グループの数およびグループ境界の両方を特徴パターンに基づいて選択してもよい。グループはそれぞれ、特定された領域(例えば、解空間)に対応してもよく、クラスタ、集合、分類、セット、サブセット、他の用語、または前述の組み合わせで呼ばれることがある。各グループは、グループを定義し、プロセス空間内の領域を示す、重心および重心分散を有してもよい。クラスタ化は、K平均、Kメドイド、ファジーC平均、階層、ガウス混合、隠れマルコフモデル、他の技法、または前述の組み合わせと同じもしくは同様である、クラスタ化技法に基づいて実施されてもよい。組み合わせモジュール228は次に、1つもしくは複数の点、領域、または他のデータを、領域249としてデータストア240に格納してもよい。
【0050】
提示コンポーネント230は、推論コンポーネント220のデータにアクセスしてもよく、データをユーザに提示してもよい。一例では、提示コンポーネント230は、解空間提示モジュール232と、選択モジュール234と、開始モジュール236とを含んでもよい。
【0051】
解空間提示モジュール232は、コンピューティングデバイス120が、1つまたは複数の解空間を表示するユーザインターフェースを提供できるようにしてもよい。ユーザインターフェースは、1つまたは複数のグラフを含むグラフィカルユーザインターフェースであってもよく、各グラフは1つまたは複数の次元(例えば、x、y、およびz次元)を含んでもよい。次元はそれぞれ製造入力に対応してもよく、次元に対する点または領域の位置は、製造入力に対する値を示してもよい。グラフは、実験点、予測点、または前述の組み合わせを表示してもよい。例えば、グラフは、プロセス空間(例えば、利用可能な製造入力値)を表してもよく、物理的実験それぞれに対応する点(例えば、実験点)、およびモデル出力に基づいた点(例えば、予測点)を表示してもよい。予測点は、内挿に基づいた場合は実験点の間であってもよく、または外挿に基づいた場合は実験点を超えてもよい。グラフは、線(例えば、分割線、境界線、輪郭)、色(例えば、赤色の点、赤色の領域)、フォーマット化(例えば、太線、下線、イタリック体)、他の強調、または前述の組み合わせのうちの1つもしくは複数を使用して、点または領域を強調してもよい。
【0052】
解空間内の点が4つ以上の次元(例えば、4つ以上の値を有するベクトル)に対応する場合、単一のグラフを使用して入力値の対応するセットを視覚化するのが困難なことがある。ユーザインターフェースはその際、それぞれが同じ点または領域を表し、異なる次元に沿って表示する、複数のグラフを提供してもよい。例えば、単一の点が、x次元に沿った値(例えば、温度値)、y次元に沿った値(例えば、圧力値)、z次元に沿った値(例えば、距離値)、およびt次元に沿った値(例えば、時間値)に対応してもよい。第1のグラフは、xおよびy次元に沿った点を視覚的に表してもよく(例えば、x軸およびy軸を有するグラフ)、第2のグラフは、zおよびt次元に沿った点を視覚的に表してもよい(例えば、z軸およびt軸を有するグラフ)。
【0053】
選択モジュール234は、コンピューティングデバイス120が、解空間内の1つもしくは複数の点または領域を選択できるようにしてもよい。選択は、ユーザ入力、デバイス入力、他の入力、または前述の組み合わせに基づいてもよい。一例では、選択モジュール234は、解空間内の1つもしくは複数の点または領域を特定する、ユーザ(例えば、プロセス技術者)のユーザ入力を受信してもよい。別の例では、選択モジュール234は、解空間内の1つもしくは複数の点または領域を特定する、管理デバイス(例えば、製造コントローラ)のデバイス入力を受信してもよい。選択モジュール234は次いで、選択(例えば、予測入力値)に関する1つまたは複数の詳細を提示し、選択を格納するか、あるいは別の方法で、開始モジュール236が利用可能な選択を行ってもよい。
【0054】
開始モジュール236は、コンピューティングデバイス120が、解(例えば、解空間における点)の観点で実験を開始できるようにしてもよい。実験は、1つまたは複数の製造デバイスに物理的な製品を修正させる物理的実験であってもよく、あるいは1つまたは複数の製品に対する製造プロセスの影響をモデル化する、コンピュータシミュレーション実験であってもよい。開始モジュール236は、選択を分析し、製造プロセスに対する入力データを決定し、そのデータを、実験を実施する1つまたは複数のコンピューティングデバイスに提供してもよい。
【0055】
図3は、機械学習モデルを訓練し選択するシステム300を示すブロック図である。システム300は、製造プロセス110の入力データ122および出力データ124のデータ区分化310を実施して、訓練セット302、検証セット304、および試験セット306を生成してもよい。例えば、訓練セット302は、製造プロセスからの利用可能なデータのスーパーセットのうちの60%であってもよく、検証セット304はスーパーセットの20%であってもよく、試験セットはスーパーセットの20%であってもよい。システム300は、訓練セット、検証セット、および試験セットそれぞれに対して複数の特徴セットを生成してもよい。例えば、製造プロセスの入力データ122および出力データ124は、20件の製造入力(例えば、プロセスパラメータ、ハードウェアパラメータなど)を用いた100回分のデータを表してもよい。第1のデータセットおよび第2のデータセットは両方とも、20件全ての製造入力を含んでもよいが、第1のデータセットは1~50回目のデータを含んでもよく、第2のデータセットは51~100回目のデータを含んでもよい。
【0056】
ブロック312で、システム300は、図2の訓練コンポーネント210に関連して、訓練セット302を使用したモデル訓練を実施してもよい。システム300は、訓練セット302の複数の特徴セット(例えば、訓練セット302の第1の特徴セット、訓練セット302の第2の特徴セットなど)を使用して、複数のモデルを訓練してもよい。例えば、システム300は、訓練セットのうちの第1の特徴セット(例えば、注釈付きの製造出力データ)を使用して機械学習モデルを訓練し、訓練セットのうちの第2の特徴セットを使用して第2の訓練済み機械学習モデルを生成してもよい。いくつかの実施形態では、第1の訓練済み機械学習モデルおよび第2の訓練済み機械学習モデルは、第3の訓練済み機械学習モデル(例えば、第1または第2の訓練済み機械学習モデル自体よりも優れた予測子であってもよい)を生成するのに使用されてもよい。いくつかの実施形態では、モデルを比較するのに使用される特徴セットは重複してもよい。いくつかの実施形態では、同じ訓練セットまたは異なる訓練セットに基づくモデルを含む、数百のモデルが生成されてもよい。
【0057】
ブロック314で、システム300は、検証セット304を使用してモデル検証を実施する。システム300は、検証セット304の対応する特徴セットを使用して、訓練済みモデルそれぞれを検証してもよい。例えば、システム300は、検証セットのうちの第1の特徴セットを使用して第1の訓練済み機械学習モデルを、検証セットのうちの第2の特徴セットを使用して第2の訓練済み機械学習モデルを検証してもよい。いくつかの実施形態では、システム300は、ブロック312で生成された数百のモデル(例えば、特徴の様々な置換を含むモデル、モデルの組み合わせなど)を検証してもよい。
【0058】
ブロック314で、システム300は、加えてまたは代わりに、1つまたは複数の訓練済みモデルそれぞれの精度を決定してもよく、訓練済みモデルのうちの1つまたは複数が閾値精度を満たす精度を有するか否かを決定してもよい。訓練済みモデルがいずれも閾値精度を満たす精度を有さないという決定に応答して、フローはブロック312に戻り、システム300は、訓練セットの異なる特徴セットを使用したモデル訓練を実施する。訓練済みモデルの1つまたは複数が閾値精度を満たす精度を有するという決定に応答して、フローはブロック316に進む。システム300は、(例えば、検証セットに基づいて)閾値精度よりも低い精度を有する訓練済み機械学習モデルを破棄してもよい。
【0059】
ブロック316で、システム300は、閾値精度を満たす1つまたは複数の訓練済みモデルのうちのどれ(例えば、ブロック314の検証に基づいて、選択されたモデル308)が最も高い精度を有するかを決定する、モデル選択を実施してもよい。閾値精度を満たす訓練済みモデルのうちの2つ以上が同じ精度を有するという決定に応答して、フローはブロック312に戻ってもよく、システム300は、最も高い精度を有する訓練済みモデルを決定するため、更に洗練された特徴セットに対応する更に洗練された訓練セットを使用して、モデル訓練を実施する。
【0060】
ブロック318で、システム300は、試験セット306を使用してモデル試験を実施して、選択されたモデル308を試験する。システム300は、試験セットの第1の特徴セットを使用して第1の訓練済み機械学習モデルを試験して、(例えば、試験セット306の第1の特徴セットに基づいて)第1の訓練済み機械学習モデルが閾値精度を満たすことを決定してもよい。選択されたモデル308の精度が閾値精度を満たさない(例えば、選択されたモデル308が、訓練セット302および/または検証セット304に過剰適合しており、試験セット306などの他のデータセットに適用不能である)ことに応答して、フローはブロック312に進み、システム300は、異なる特徴セットに対応する異なる訓練を使用して、モデル訓練(例えば、再訓練)を実施する。選択されたモデル308が、試験セット306に基づいて閾値精度を満たす精度を有するという決定に応答して、フローはブロック320に進む。少なくともブロック312で、モデルは、入力データ122および出力データ124のパターンを学習して、予測を行ってもよく、ブロック318で、システム300は、モデルを残りのデータ(例えば、試験セット306)に適用して、予測を試験してもよい。
【0061】
ブロック320で、システム300は、訓練済み機械学習モデル(例えば、選択されたモデル308)を使用して、予想出力データ124を分析し、製造プロセスに対する予測入力データを提供する。いくつかの実施形態では、フローは、(例えば、図示されないフィードバックループを介して)ブロック312に進んでもよく、モデル出力は製造プロセスを実行するのに使用され、結果として得られるモデル出力、製造出力、または前述の組み合わせは、モデル訓練を介して訓練済みモデルを更新する(例えば、モデル再訓練)のに使用されてもよい。いくつかの実施形態では、追加の訓練データ(例えば、グラウンドトルースフィードバックまたは対応する製造プロセス属性)の受信に応答して、フローは、ブロック310に進んで、追加データおよび元のデータに基づいて訓練済み機械学習モデルを再訓練してもよい。
【0062】
いくつかの実施形態では、ブロック310~320の作用のうちの1つまたは複数は様々な順序で行われてもよく、ならびに/あるいは本明細書に提示せず記載しない他の作用を伴ってもよい。いくつかの実施形態では、ブロック310~320の作用のうちの1つまたは複数がなくてもよい。例えば、いくつかの実施形態では、ブロック310のデータ区分化、ブロック314のモデル検証、ブロック316のモデル選択、またはブロック318のモデル試験のうちの1つもしくは複数は実施されなくてもよい。
【0063】
図4は、本開示の1つまたは複数の態様による、予測モデリングを実施して製造プロセスに対する入力を特定する方法400の、1つの実例のフロー図を示している。方法400、およびその個々の機能、ルーチン、サブルーチン、または動作のそれぞれは、方法を実行するコンピュータデバイスの1つまたは複数のプロセッサによって実施されてもよい。特定の実現例では、方法400は、単一のコンピューティングデバイスによって実施されてもよい。あるいは、方法400は、2つ以上のコンピューティングデバイスによって実施されてもよく、各コンピューティングデバイスは、方法の1つもしくは複数の個々の機能、ルーチン、サブルーチン、または動作を実行する。
【0064】
説明を簡単にするため、本開示の方法は一連の作用として図示され記載される。しかしながら、本開示による作用は、様々な順序でおよび/または同時に、また本明細書に提示されず記載されない他の作用とともに行うことができる。更に、開示する主題による方法を実現するのに、例示される全ての作用が必要なわけではない。加えて、当業者であれば、方法はあるいは、状態図またはイベントによって、一連の相関状態として表すことができることを理解し認識するであろう。更に、本明細書に開示する方法は、かかる方法をコンピューティングデバイスに伝達し移行するのを容易にするため、製造品に格納できることが認識されるべきである。「製造品」という用語は、本明細書で使用するとき、任意のコンピュータ可読デバイスまたは記憶媒体からアクセス可能なコンピュータプログラムを包含するものとする。一実現例では、方法400は、図2に示されるような推論コンポーネント220によって実施されてもよい。
【0065】
方法400は、サーバデバイスまたはクライアントデバイスの処理デバイスによって実施されてもよく、ブロック402で開始してもよい。ブロック402で、処理デバイスは、製造プロセスに対する予想出力データを受信してもよい。予想出力データは、製造プロセスの将来の実行における出力の属性を定義してもよい。一例では、製造プロセスに対する予想出力データは、製造プロセスによって出力される、層厚、層の均一性、または製品の構造幅を示す、1つまたは複数の値を含んでもよい。
【0066】
ブロック404で、処理デバイスは、製造プロセスをモデル化する複数の機械学習モデルにアクセスしてもよい。複数の機械学習モデルは、それぞれが製造プロセスの予想出力をモデル入力として受信し、製造プロセスに対する異なる入力データをモデル出力として生成する、複数の反転機械学習モデルを含んでもよい。一例では、複数の機械学習モデルは、モデルアーキテクチャを共有し、異なるハイパーパラメータ、異なる初期化値、または異なる訓練データを使用して訓練される、機械学習モデルの同種のセットであってもよい。機械学習モデルは、製造プロセスの複数の以前の実行からのデータを使用して訓練されてもよい。訓練プロセスは、同じデータソースまたは異なるデータソースからの、製造プロセスの入力データおよび出力データにアクセスすることを伴ってもよい。出力データは、製造プロセスによって使用される、対応する入力データを示すラベルで注釈を付けられてもよい。注釈付きの出力データは訓練データと呼ばれることがあり、各機械学習モデルは、同じまたは異なる訓練データに基づいて訓練されてもよい。
【0067】
一例では、複数の機械学習モデルは順伝播型ニューラルネットワーク(FFNN)であってもよい。順伝播型ニューラルネットワークはそれぞれ、製造プロセスをモデル化してもよく、入力のセットをそれぞれ出力して製造プロセスを構成してもよい。順伝播型ニューラルネットワークはそれぞれ、製造プロセスを数学的にモデル化するように集合的に機能する、入力層と、出力層と、複数の隠れ層とを含んでもよい。複数の隠れ層は多項式関数を含んでもよく、出力層は、多項式関数を何ら有さず、より効率的で正確な外挿を可能にする1つまたは複数の線形活性化関数を含んでもよい。
【0068】
ブロック406で、処理デバイスは、第1の機械学習モデルを使用して、製造プロセスに対する予想出力データに基づいて、製造プロセスに対する入力データを決定してもよい。決定は、製造プロセスに対する予想出力データを線形的に外挿して、製造プロセスに対する入力データを特定する、推論エンジンを実行することを伴ってもよい。一例では、製造プロセスに対する入力データは、時間、温度、圧力、電圧、またはガス流のうちの少なくとも1つに対する値を含む、製造プロセスに対するコンフィギュレーション値のセットを含んでもよい。
【0069】
ブロック408で、処理デバイスは、第1の機械学習モデルを使用して決定された入力データおよび第2の機械学習モデルを使用して決定された入力データを組み合わせて、製造プロセスに対する入力のセットを作成してもよい。入力のセットは、製造プロセスの第1の入力に対する複数の候補値と、製造プロセスの第2の入力に対する複数の候補値とを含んでもよい。複数の機械学習モデルの各機械学習モデルは、第1の入力に対する値および第2の入力に対する値を作成してもよく、組み合わせは、第1の入力に対する値の範囲および第2の入力に対する値の範囲を作成してもよい。一例では、組み合わせは、アンサンブル技法を使用して、複数の機械学習モデルの出力を組み合わせることを伴ってもよい。組み合わせは、加えてまたは代わりに、製造プロセスに対する異なる入力を複数のグループへとクラスタ化することを伴ってもよく、第1のグループは機械学習モデルの第1のセットのモデル出力を含み、第2のグループは機械学習モデルの第2のセットのモデル出力を含む。
【0070】
ブロック410で、処理デバイスは、製造プロセスに対する入力のセットをストレージデバイスに格納してもよい。格納されたデータは、ユーザインターフェースを使用してユーザに格納されたデータを提示する、1つまたは複数のコンピューティングデバイスに送信されてもよい。格納されたデータは複数の候補入力セットを含んでもよく、候補入力セットはそれぞれ、製造プロセスに対する予想出力データに対応する、製造プロセスに対する入力値を含んでもよい。ユーザインターフェースは、複数の候補入力セットのうちの1つの入力セットのユーザ選択を受信してもよく、選択された入力値を使用して、製造プロセスの実行を開始できるようにしてもよい。ブロック410を参照して本明細書に上述した動作の完了に応答して、方法は終了してもよい。
【0071】
図5は、特定の実施形態によるコンピュータシステム500を示すブロック図である。いくつかの実施形態では、コンピュータシステム500は、(例えば、ローカルエリアネットワーク(LAN)、イントラネット、エクストラネット、またはインターネットなどのネットワークを介して)他のコンピュータシステムに接続されてもよい。コンピュータシステム500は、クライアントサーバ環境におけるサーバまたはクライアントコンピュータの容量内で、あるいはピアツーピアもしくは分配ネットワーク環境におけるピアコンピュータとして動作してもよい。コンピュータシステム500は、パーソナルコンピュータ(PC)、タブレットPC、セットトップボックス(STB)、携帯情報端末(PDA)、セルラー電話、ウェブアプライアンス、サーバ、ネットワークルータ、スイッチもしくはブリッジ、またはデバイスが行うべきアクションを指定する命令セット(逐次もしくはその他)を実行することができる任意のデバイスによって提供されてもよい。更に、「コンピュータ」という用語は、個々にまたは併せて命令セット(もしくは複数のセット)を実行して、本明細書に記載する方法の1つまたは複数を実施する、コンピュータの任意の集合体を含むものとする。
【0072】
更なる態様では、コンピュータシステム500は、バス508を介して互いに通信してもよい、処理デバイス502と、揮発性メモリ504(例えば、ランダムアクセスメモリ(RAM))と、不揮発性メモリ506(例えば、読出し専用メモリ(ROM)または電気消去可能プログラマブルROM(EEPROM))と、データストレージデバイス516とを含んでもよい。
【0073】
処理デバイス502は、汎用プロセッサ(例えば、複合命令セットコンピューティング(CISC)マイクロプロセッサ、縮小命令セットコンピューティング(RISC)マイクロプロセッサ、超長命令語(VLIW)マイクロプロセッサ、他のタイプの命令セットを実装したマイクロプロセッサ、もしくは命令セットのタイプの組み合わせを実装したマイクロプロセッサなど)、あるいは専用プロセッサ(例えば、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、デジタル信号プロセッサ(DSP)、もしくはネットワークプロセッサなど)などの、1つまたは複数のプロセッサによって提供されてもよい。
【0074】
コンピュータシステム500は更に、ネットワークインターフェースデバイス522を含んでもよい。コンピュータシステム500はまた、ビデオディスプレイユニット510(例えば、LCD)と、英数字入力デバイス512(例えば、キーボード)と、カーソル制御デバイス514(例えば、マウス)と、信号生成デバイス520とを含んでもよい。
【0075】
いくつかの実現例では、データストレージデバイス516は、図2の訓練コンポーネント210、推論コンポーネント220、または提示コンポーネント230を符号化する、本明細書に記載する方法を実現するための命令を含む、本明細書に記載する方法または機能のうちの任意の1つもしくは複数を符号化する命令526を格納してもよい、非一時的コンピュータ可読記憶媒体524を含んでもよい。
【0076】
命令526はまた、コンピュータシステム500による実行の間、揮発性メモリ504内および/または処理デバイス502内に、完全にもしくは部分的に常駐してもよく、したがって、揮発性メモリ504および処理デバイス502もまた、機械可読記憶媒体を構築してもよい。
【0077】
コンピュータ可読記憶媒体524は、例示の例では単一の媒体として示されているが、「コンピュータ可読記憶媒体」という用語は、実行可能命令の1つもしくは複数のセットを格納する、単一の媒体あるいは複数の媒体(例えば、集中型もしくは分散型データベース、ならびに/または関連するキャッシュおよびサーバ)を含むものとする。また、「コンピュータ可読記憶媒体」という用語は、本明細書に記載する方法のうちの任意の1つまたは複数をコンピュータに実施させる、コンピュータが実行する命令を格納または符号化することができる、任意の有形媒体を含むものとする。「コンピュータ可読記憶媒体」という用語は、固体メモリ、光学媒体、および磁気媒体を含むがそれらに限定されないものとする。
【0078】
本明細書に記載する方法、構成要素、および特徴は、離散的なハードウェアコンポーネントによって実現されてもよく、あるいはASIC、FPGA、DSP、または同様のデバイスなど、他のハードウェアコンポーネントの機能性に統合されてもよい。加えて、方法、構成要素、および特徴は、ハードウェアデバイス内のファームウェアモジュールまたは機能的回路によって実現されてもよい。更に、方法、構成要素、および特徴は、ハードウェアデバイスおよびコンピュータプログラムコンポーネントの任意の組み合わせで、またはコンピュータプログラムで実現されてもよい。
【0079】
別段の具体的な指示がない限り、「受信する」、「決定する」、「選択する」、「前処理する」、「測定する」、「報告する」、「更新する」、「入力する」、「訓練する」、「作成する」、「追加する」、「失敗する」、「行わせる」、「実施する」、「生成する」、「使用する」、「比較する」、「反転させる」、「シフトする」、「回転させる」、「ズームする」などの用語は、コンピュータシステムのレジスタおよびメモリ内で物理(電子)量として表されるデータを操作し、コンピュータシステムのメモリまたはレジスタ内で、あるいは他のかかる情報記憶、伝達、または表示デバイス内で物理量として同様に表される他のデータへと変換する、コンピュータシステムによって実施または実現される、作用およびプロセスを指す。また、「第1の」、「第2の」、「第3の」、「第4の」などの用語は、本明細書で使用するとき、異なる要素同士を区別する標識を意味し、それらの数値指定に従った序数の意味を有さないことがある。
【0080】
本明細書に記載する例はまた、本明細書に記載する動作を実施するための装置に関連する。この装置は、本明細書に記載する方法を実施するために特別に構築されてもよく、あるいはコンピュータシステムに格納されたコンピュータプログラムによって選択的にプログラムされる、汎用コンピュータシステムを含んでもよい。かかるコンピュータプログラムは、任意のコンピュータ可読有形記憶媒体に格納されてもよい。
【0081】
本明細書に記載する方法および実例は、任意の特定のコンピュータまたは他の装置に本質的に関連しない。本明細書に記載する教示に従って、様々な汎用システムが使用されてもよく、あるいは、本明細書に記載する方法および/またはその個々の機能、ルーチン、サブルーチン、もしくは動作それぞれを実施するため、より専門的な装置を構築するのが便利であると証明できることがある。様々なこれらのシステムに対する構造の例は上述の記載で説明している。
【0082】
上述の記載は制限ではなく例示のためのものである。特定の実例および実現例を参照して本開示について記載してきたが、本開示は、記載される例および実現例に限定されないことが認識されるであろう。本開示の範囲は、請求の範囲の権利が及ぶ均等物の全範囲と併せて、添付の特許請求の範囲を参照して決定されるべきである。
図1
図2
図3
図4
図5