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

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

▶ 株式会社Preferred Networksの特許一覧

特許7291670推論方法、推論プログラム、モデル生成方法、モデル生成プログラム、推論装置及び学習装置
<図1>
  • 特許-推論方法、推論プログラム、モデル生成方法、モデル生成プログラム、推論装置及び学習装置 図1
  • 特許-推論方法、推論プログラム、モデル生成方法、モデル生成プログラム、推論装置及び学習装置 図2
  • 特許-推論方法、推論プログラム、モデル生成方法、モデル生成プログラム、推論装置及び学習装置 図3
  • 特許-推論方法、推論プログラム、モデル生成方法、モデル生成プログラム、推論装置及び学習装置 図4
  • 特許-推論方法、推論プログラム、モデル生成方法、モデル生成プログラム、推論装置及び学習装置 図5
  • 特許-推論方法、推論プログラム、モデル生成方法、モデル生成プログラム、推論装置及び学習装置 図6
  • 特許-推論方法、推論プログラム、モデル生成方法、モデル生成プログラム、推論装置及び学習装置 図7
  • 特許-推論方法、推論プログラム、モデル生成方法、モデル生成プログラム、推論装置及び学習装置 図8
  • 特許-推論方法、推論プログラム、モデル生成方法、モデル生成プログラム、推論装置及び学習装置 図9
  • 特許-推論方法、推論プログラム、モデル生成方法、モデル生成プログラム、推論装置及び学習装置 図10
  • 特許-推論方法、推論プログラム、モデル生成方法、モデル生成プログラム、推論装置及び学習装置 図11
  • 特許-推論方法、推論プログラム、モデル生成方法、モデル生成プログラム、推論装置及び学習装置 図12
  • 特許-推論方法、推論プログラム、モデル生成方法、モデル生成プログラム、推論装置及び学習装置 図13
  • 特許-推論方法、推論プログラム、モデル生成方法、モデル生成プログラム、推論装置及び学習装置 図14
  • 特許-推論方法、推論プログラム、モデル生成方法、モデル生成プログラム、推論装置及び学習装置 図15
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-06-07
(45)【発行日】2023-06-15
(54)【発明の名称】推論方法、推論プログラム、モデル生成方法、モデル生成プログラム、推論装置及び学習装置
(51)【国際特許分類】
   G06N 20/00 20190101AFI20230608BHJP
   G06N 3/02 20060101ALI20230608BHJP
   G06T 7/00 20170101ALI20230608BHJP
   H01L 21/00 20060101ALI20230608BHJP
   H01L 21/205 20060101ALI20230608BHJP
   H01L 21/3065 20060101ALI20230608BHJP
【FI】
G06N20/00
G06N3/02
G06T7/00 350C
H01L21/00
H01L21/205
H01L21/302 101G
【請求項の数】 26
(21)【出願番号】P 2020108905
(22)【出願日】2020-06-24
(62)【分割の表示】P 2020503074の分割
【原出願日】2019-08-15
(65)【公開番号】P2020191096
(43)【公開日】2020-11-26
【審査請求日】2022-08-05
(31)【優先権主張番号】P 2018164930
(32)【優先日】2018-09-03
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】515130201
【氏名又は名称】株式会社Preferred Networks
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(72)【発明者】
【氏名】中郷 孝祐
(72)【発明者】
【氏名】本木 大資
(72)【発明者】
【氏名】渡部 正樹
(72)【発明者】
【氏名】小松 智希
【審査官】児玉 崇晶
(56)【参考文献】
【文献】特開2010-079896(JP,A)
【文献】特開2016-071597(JP,A)
【文献】特開2017-182129(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 20/00
H01L 21/3065
H01L 21/205
H01L 21/00
G06T 7/00
(57)【特許請求の範囲】
【請求項1】
少なくとも1つのプロセッサが、第2の処理対象の処理前画像データと所定プロセスに応じたシミュレーションを実行するシミュレータの第2のパラメータデータとを推論用のデータとしてニューラルネットワークに入力し、前記第2の処理対象の処理前画像データに対してシミュレーションが実行された場合の前記第2の処理対象の処理後画像データを生成すること、を備え、
前記ニューラルネットワークは、第1の処理対象の処理前画像データと前記シミュレータの第1のパラメータデータとが、学習用の入力データとして前記ニューラルネットワークに入力された場合の出力と、前記第1の処理対象の処理前画像データに対して前記シミュレータが前記第1のパラメータデータを用いた前記所定プロセスに応じたシミュレーションを実行することにより生成される、学習用の正解データである前記第1の処理対象の処理後画像データとの差分情報に基づいて学習されたものである、
推論方法。
【請求項2】
前記ニューラルネットワークに入力される前記第2の処理対象の処理前画像データは、少なくとも前記第2の処理対象の処理前画像データ又は前記第2の処理対象の処理前画像データに所定の処理を適用して得られるデータの何れかを含み、
前記ニューラルネットワークに入力される前記第2のパラメータデータは、少なくとも前記第2のパラメータデータ又は前記第2のパラメータデータに所定の処理を適用して得られるデータの何れかを含み、
学習時に前記ニューラルネットワークに入力される前記第1の処理対象の処理前画像データは、少なくとも前記第1の処理対象の処理前画像データ又は前記第1の処理対象の処理前画像データに所定の処理を適用して得られるデータの何れかを含み、
前記学習時に前記ニューラルネットワークに入力される前記第1のパラメータデータは、少なくとも前記第1のパラメータデータ又は前記第1のパラメータデータに所定の処理を適用して得られるデータの何れかを含む、
請求項1に記載の推論方法。
【請求項3】
前記少なくとも1つのプロセッサが、前記第2のパラメータデータを前記第2の処理対象の処理前画像データの縦サイズ及び横サイズに応じて2次元に配列すること、を更に備え、
前記ニューラルネットワークに入力される前記第2のパラメータデータは、前記2次元に配列されたパラメータデータである、
請求項1又は2に記載の推論方法。
【請求項4】
前記少なくとも1つのプロセッサが、前記第2のパラメータデータを他のニューラルネットワークに入力すること、を更に備え、
前記ニューラルネットワークに入力される前記第2のパラメータデータは、前記他のニューラルネットワークからの出力である、
請求項1に記載の推論方法。
【請求項5】
前記他のニューラルネットワークに入力される前記第2のパラメータデータは、正規化されたパラメータデータである、
請求項4に記載の推論方法。
【請求項6】
前記少なくとも1つのプロセッサが、前記第2の処理対象の処理前画像データを圧縮すること、を更に備え、
前記ニューラルネットワークに入力される前記第2の処理対象の処理前画像データは、圧縮された前記第2の処理対象の処理前画像データである、
請求項1乃至5の何れか1項に記載の推論方法。
【請求項7】
前記少なくとも1つのプロセッサが、生成した前記第2の処理対象の処理後画像データと前記シミュレータの第3のパラメータデータとを、推論用のデータとして前記ニューラルネットワークに入力し、前記第2の処理対象の処理前画像データに対してシミュレーションが繰り返し実行された場合の前記第2の処理対象の処理後画像データを生成すること、を更に備える、
請求項1乃至6の何れか1項に記載の推論方法。
【請求項8】
前記ニューラルネットワークは、前記第2の処理対象の処理後画像データを出力する、
請求項1乃至7の何れか1項に記載の推論方法。
【請求項9】
前記少なくとも1つのプロセッサは、前記ニューラルネットワークからの出力及び前記第2の処理対象の処理前画像データに基づいて、前記第2の処理対象の処理後画像データを生成する、
請求項1乃至8の何れか1項に記載の推論方法。
【請求項10】
前記ニューラルネットワークは、前記第2の処理対象の処理前画像データに対する変化率に関する情報を出力する、
請求項9に記載の推論方法。
【請求項11】
前記シミュレータが半導体製造プロセスに関するシミュレータであって、
前記変化率は、少なくとも、エッチングのけずれ率、又は、デポジションの付着率の何れかに関する値である、
請求項10に記載の推論方法。
【請求項12】
前記変化率は、0から1の範囲で表される、
請求項10又は11に記載の推論方法。
【請求項13】
前記第2の処理対象の処理前画像データは、3次元の画像データである、
請求項1乃至12の何れか1項に記載の推論方法。
【請求項14】
前記シミュレータは、物理モデルに基づくシミュレータである、
請求項1乃至13の何れか1項に記載の推論方法。
【請求項15】
前記シミュレータが半導体製造プロセスに関するシミュレータである、
請求項1乃至14の何れか1項に記載の推論方法。
【請求項16】
前記第2の処理対象の処理前画像データは、ウェハの形状を示す画像データである、
請求項15に記載の推論方法。
【請求項17】
前記第2の処理対象の処理前画像データは、少なくとも、前記第2の処理対象の複数のマテリアルの組成比、又は、含有比の何れかに応じた値を有する、
請求項15又は16に記載の推論方法。
【請求項18】
前記第2の処理対象の処理前画像データは、前記第2の処理対象のマテリアルに応じた複数のチャネル情報を有する、
請求項15乃至17の何れか1項に記載の推論方法。
【請求項19】
前記第2の処理対象の処理前画像データは、前記第2の処理対象の複数のマテリアルの層と空気の層とを含む、
請求項15乃至18の何れか1項に記載の推論方法。
【請求項20】
前記シミュレータは、エッチングに関するシミュレーションを実行可能なシミュレータであって、
前記第2のパラメータデータは、少なくとも、けずれ率、けずれ方向、又は、けずれ深さの何れか1つに関する情報を含む、
請求項15乃至19の何れか1項に記載の推論方法。
【請求項21】
前記シミュレータは、デポジションに関するシミュレーションを実行可能なシミュレータであって、
前記第2のパラメータデータは、前記デポジションに関する情報を含む、
請求項15乃至20の何れか1項に記載の推論方法。
【請求項22】
請求項1乃至21の何れか1項に記載の推論方法を、前記少なくとも1つのプロセッサに実行させるための推論プログラム。
【請求項23】
少なくとも1つのプロセッサが、処理対象の処理前画像データと所定プロセスに応じたシミュレーションを実行するシミュレータのパラメータデータとを、学習用の入力データとしてニューラルネットワークに入力した場合の出力と、前記処理対象の処理前画像データに対して前記シミュレータが前記パラメータデータを用いた前記所定プロセスに応じたシミュレーションを実行することにより生成される、学習用の正解データである前記処理対象の処理後画像データとの差分情報に基づいて、前記ニューラルネットワークを学習すること、を備える
モデル生成方法。
【請求項24】
請求項23に記載のモデル生成方法を、前記少なくとも1つのプロセッサに実行させるためのモデル生成プログラム。
【請求項25】
少なくとも1つのメモリと、
少なくとも1つのプロセッサと、を備え、
前記少なくとも1つのメモリは、
第1の処理対象の処理前画像データと所定プロセスに応じたシミュレーションを実行するシミュレータの第1のパラメータデータとを、学習用の入力データとしてニューラルネットワークに入力した場合の出力と、前記第1の処理対象の処理前画像データに対して前記シミュレータが前記第1のパラメータデータを用いた前記所定プロセスに応じたシミュレーションを実行することにより生成される、学習用の正解データである前記第1の処理対象の処理後画像データとの差分情報に基づいて学習された前記ニューラルネットワークを記憶し、
前記少なくとも1つのプロセッサは、
第2の処理対象の処理前画像データと前記所定プロセスに応じたシミュレーションを実行する前記シミュレータの第2のパラメータデータとを、推論用のデータとして前記ニューラルネットワークに入力し、前記第2の処理対象の処理後画像データを生成する、
推論装置。
【請求項26】
少なくとも1つのメモリと、
少なくとも1つのプロセッサと、を備え、
前記少なくとも1つのプロセッサは、
処理対象の処理前画像データと所定プロセスに応じたシミュレーションを実行するシミュレータのパラメータデータとを、学習用の入力データとしてニューラルネットワークに入力した場合の出力と、前記処理対象の処理前画像データに対して前記シミュレータが前記パラメータデータを用いた前記所定プロセスに応じたシミュレーションを実行することにより生成される、学習用の正解データである前記処理対象の処理後画像データとの差分情報に基づいて、前記ニューラルネットワークを学習する、
学習装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、推論方法、推論プログラム、モデル生成方法、モデル生成プログラム、推論装置及び学習装置に関する。
【背景技術】
【0002】
従来より、半導体製造メーカでは、各製造プロセス(例えば、ドライエッチング、デポジション等)の物理モデルを生成してシミュレーションを実行し、シミュレーション結果に基づき最適なレシピの探索や、プロセスパラメータの調整等を行っている。
【0003】
ここで、物理モデルのような繰り返し試行を行うモデルの場合、シミュレーションを実行するのに一定程度の時間を要する。このため、最近では、物理モデルに基づくシミュレータの代替として、機械学習された学習済みモデルの適用が検討されている。
【発明の概要】
【発明が解決しようとする課題】
【0004】
一方で、物理モデルに基づくシミュレータを代替するには、当該シミュレータにて実行されるシミュレーションを、学習済みモデルでも再現することが求められる。
【0005】
本開示は、製造プロセスのシミュレータを代替する学習済みモデルを提供する。
【課題を解決するための手段】
【0006】
本開示の一態様による推論方法は、例えば、以下のような構成を有する。即ち、
少なくとも1つのプロセッサが、第2の処理対象の処理前画像データと所定プロセスに応じたシミュレーションを実行するシミュレータの第2のパラメータデータとを推論用のデータとしてニューラルネットワークに入力し、前記第2の処理対象の処理前画像データに対してシミュレーションが実行された場合の前記第2の処理対象の処理後画像データを生成すること、を備え、
前記ニューラルネットワークは、第1の処理対象の処理前画像データと前記シミュレータの第1のパラメータデータとが、学習用の入力データとして前記ニューラルネットワークに入力された場合の出力と、前記第1の処理対象の処理前画像データに対して前記シミュレータが前記第1のパラメータデータを用いた前記所定プロセスに応じたシミュレーションを実行することにより生成される、学習用の正解データである前記第1の処理対象の処理後画像データとの差分情報に基づいて学習されたものである
【図面の簡単な説明】
【0007】
図1図1は、シミュレーションシステムの全体構成の一例を示す図である。
図2図2は、シミュレーションシステムを構成する各装置のハードウェア構成の一例を示す図である。
図3図3は、学習用データの一例を示す図である。
図4図4は、第1の実施形態に係る学習装置の学習部の機能構成の一例を示す図である。
図5図5は、第1の実施形態に係る学習装置のデータ整形部の機能構成の一例を示す図である。
図6図6は、第1の実施形態に係る学習装置のデータ整形部による処理の具体例を示す図である。
図7図7は、第1の実施形態に係る学習装置のドライエッチング用学習モデルによる処理の具体例を示す図である。
図8図8は、シミュレーションシステムにおける学習処理の流れを示すフローチャートである。
図9図9は、推論装置の実行部の機能構成の一例を示す図である。
図10図10は、ドライエッチング用学習済みモデルのシミュレーション精度を示した図である。
図11図11は、デポジション用学習済みモデルのシミュレーション精度を示した図である。
図12図12は、第2の実施形態に係る学習装置のデータ整形部の機能構成の一例を示す図である。
図13図13は、第2の実施形態に係る学習装置のドライエッチング用学習モデルによる処理の具体例を示す図である。
図14図14は、第3の実施形態に係る学習装置の学習部の機能構成の一例を示す図である。
図15図15は、第4の実施形態に係る学習装置のデータ整形部の機能構成の一例を示す図である。
【発明を実施するための形態】
【0008】
以下、各実施形態について添付の図面を参照しながら説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複した説明を省略する。
【0009】
[第1の実施形態]
<シミュレーションシステムの全体構成>
はじめに、半導体製造プロセスのシミュレーションを行うシミュレーションシステムの全体構成について説明する。図1は、シミュレーションシステムの全体構成の一例を示す図である。図1に示すように、シミュレーションシステム100は、学習装置110、推論装置120、シミュレーション装置130を有する。
【0010】
学習装置110には、データ整形プログラム及び学習プログラムがインストールされており、当該プログラムが実行されることで、学習装置110はデータ整形部111及び学習部112として機能する。
【0011】
データ整形部111は加工部の一例である。データ整形部111は、シミュレーション装置130より送信され、学習用データ格納部113に格納された学習用データを読み出し、読み出した学習用データの一部を、学習部112が学習モデルに入力するのに適した所定の形式に加工する。
【0012】
学習部112は、読み出された学習用データ(データ整形部111により加工された学習用データを含む)を用いて、学習モデルについて機械学習を行い、半導体製造プロセスの学習済みモデルを生成する。学習部112により生成された学習済みモデルは、推論装置120に提供される。
【0013】
推論装置120には、データ整形プログラム及び実行プログラムがインストールされており、当該プログラムが実行されることで、推論装置120はデータ整形部121及び実行部122として機能する。
【0014】
データ整形部121は加工部の一例であり、シミュレーション装置130より送信される、処理前画像データ及びパラメータデータ(詳細は後述)を取得する。また、データ整形部121は、取得したパラメータデータを、実行部122が学習済みモデルに入力するのに適した所定の形式に加工する。
【0015】
実行部122は、処理前画像データと、データ整形部121において所定の形式に加工されたパラメータデータとを学習済みモデルに入力し、シミュレーションを実行することで、処理後画像データ(シミュレーション結果)を出力(推論)する。
【0016】
シミュレーション装置130には、実行プログラムがインストールされており、当該プログラムが実行されることで、シミュレーション装置130は、実行部131として機能する。
【0017】
実行部131は、半導体製造プロセスを物理法則等を用いて同定した物理モデルに、所定の処理条件を示すパラメータデータを設定してシミュレーションを実行するシミュレータ(いわゆる物理モデルに基づくシミュレータ)を有する。実行部131は、処理前画像データ格納部132より処理前画像データを読み出し、物理モデルに基づくシミュレータを用いてシミュレーションを実行することで、処理後画像データ(シミュレーション結果)を出力する。
【0018】
実行部131により読み出される処理前画像データには、半導体製造プロセス(例えば、ドライエッチング、デポジション等)における処理対象(ウェハ)の処理前の形状を示す画像データが含まれる。なお、半導体製造プロセスにおける処理対象は複数のマテリアルから構成されており、処理前画像データの各画素は、例えば、各マテリアルの組成比(または含有比)に応じた画素値により表現されていてもよい。ただし、処理前画像データの表現形式はこれに限定されず、他の表現形式により表現されていてもよい。
【0019】
実行部131がシミュレーションを実行することで出力する処理後画像データは、ドライエッチング用のシミュレータを用いた場合にあっては、ドライエッチング後の形状を示す画像データとなる。
【0020】
また、実行部131がシミュレーションを実行することで出力する処理後画像データは、デポジション用のシミュレータを用いた場合にあっては、デポジション処理後の形状を示す画像データとなる。
【0021】
なお、半導体製造プロセスにより処理された処理後の処理対象も複数のマテリアルから構成されており、処理後画像データの各画素は、例えば、各マテリアルの組成比(または含有比)に応じた画素値により表現される。ただし、処理後画像データの表現形式はこれに限定されず、処理前画像データと同様、他の表現形式により表現されてもよい。
【0022】
実行部131は、シミュレーションを実行した際に用いた処理前画像データと、対応するパラメータデータと、処理後画像データとを含む学習用データを生成し、学習装置110に送信する。
【0023】
更に、実行部131は、推論装置120のユーザが、学習済みモデルを検証するのに用いる、処理前画像データ、パラメータデータ、処理後画像データを、推論装置120に送信する。
【0024】
推論装置120のユーザは、実行部122が学習済みモデルを用いてシミュレーションを実行することで出力された処理後画像データと、実行部131より送信された処理後画像データとを対比することで、学習済みモデルを検証する。
【0025】
具体的には、推論装置120のユーザは、
・推論装置120において、処理前画像データ及びパラメータデータをデータ整形部121に入力してから、実行部122より処理後画像データが出力されるまでのシミュレーション時間と、
・シミュレーション装置130において、物理モデルに基づくシミュレータにパラメータデータを設定した状態で、処理前画像データを実行部131に入力してから、実行部131より処理後画像データが出力されるまでのシミュレーション時間と、
を対比する。これにより、推論装置120のユーザは、学習済みモデルのシミュレーション時間が、物理モデルに基づくシミュレータのシミュレーション時間よりも短縮されているか否かを検証することができる。
【0026】
また、推論装置120のユーザは、
・推論装置120において、処理前画像データ及びパラメータデータをデータ整形部121に入力したことで実行部122より出力される処理後画像データと、
・シミュレーション装置130において、物理モデルに基づくシミュレータにパラメータデータを設定した状態で、処理前画像データを実行部131に入力したことで実行部131より出力される処理後画像データと、
を対比する。これにより、推論装置120のユーザは、物理モデルに基づくシミュレータに対する学習済みモデルのシミュレーション精度(物理モデルに基づくシミュレータを代替可能なシミュレーション精度を有しているか否か)を検証することができる。
【0027】
なお、検証が完了すると、推論装置120には、任意の処理前画像データと、任意のパラメータデータとが入力され、様々なシミュレーションが実行されることになる。
【0028】
<シミュレーションシステムを構成する各装置のハードウェア構成>
次に、シミュレーションシステム100を構成する各装置(学習装置110、推論装置120、シミュレーション装置130)のハードウェア構成について、図2を用いて説明する。図2は、シミュレーションシステムを構成する各装置のハードウェア構成の一例を示す図である。
【0029】
なお、学習装置110と推論装置120のハードウェア構成は概ね同じであることから、ここでは、学習装置110のハードウェア構成について説明する。
【0030】
(1)学習装置110のハードウェア構成
図2の2aは、学習装置110のハードウェア構成の一例を示す図である。図2の2aに示すように、学習装置110は、CPU(Central Processing Unit)201、ROM(Read Only Memory)202を有する。また、学習装置110は、RAM(Random Access Memory)203、GPU(Graphics Processing Unit)204を有する。なお、CPU201、GPU204などのプロセッサ(処理回路、Processing Circuit、Processing Circuitry)と、ROM202、RAM203などのメモリは、いわゆるコンピュータを形成する。
【0031】
更に、学習装置110は、補助記憶装置205、操作装置206、表示装置207、I/F(Interface)装置208、ドライブ装置209を有する。なお、学習装置110の各ハードウェアは、バス210を介して相互に接続される。
【0032】
CPU201は、補助記憶装置205にインストールされた各種プログラム(例えば、データ整形プログラム、学習プログラム等)を実行する演算デバイスである。
【0033】
ROM202は、不揮発性メモリであり、主記憶装置として機能する。ROM202は、補助記憶装置205にインストールされた各種プログラムをCPU201が実行するために必要な各種プログラム、データ等を格納する。具体的には、ROM202はBIOS(Basic Input/Output System)やEFI(Extensible Firmware Interface)等のブートプログラム等を格納する。
【0034】
RAM203は、DRAM(Dynamic Random Access Memory)やSRAM(Static Random Access Memory)等の揮発性メモリであり、主記憶装置として機能する。RAM203は、補助記憶装置205にインストールされた各種プログラムがCPU201によって実行される際に展開される、作業領域を提供する。
【0035】
GPU204は、画像処理用の演算デバイスであり、CPU201により各種プログラムが実行される際に、各種画像データについて、並列処理による高速演算を実行する。
【0036】
補助記憶装置205は、各種プログラムや、各種プログラムがCPU201によって実行される際にGPU204によって画像処理される各種画像データ等を記憶する記憶部である。例えば、学習用データ格納部113は、補助記憶装置205において実現される。
【0037】
操作装置206は、学習装置110の管理者が学習装置110に対して各種指示を入力する際に用いる入力デバイスである。表示装置207は、学習装置110の内部情報を表示する表示デバイスである。
【0038】
I/F装置208は、他の装置(例えば、シミュレーション装置130)と接続し、通信を行うための接続デバイスである。
【0039】
ドライブ装置209は記録媒体220をセットするためのデバイスである。ここでいう記録媒体220には、CD-ROM、フレキシブルディスク、光磁気ディスク等のように情報を光学的、電気的あるいは磁気的に記録する媒体が含まれる。また、記録媒体220には、ROM、フラッシュメモリ等のように情報を電気的に記録する半導体メモリ等が含まれていてもよい。
【0040】
なお、補助記憶装置205にインストールされる各種プログラムは、例えば、配布された記録媒体220がドライブ装置209にセットされ、該記録媒体220に記録された各種プログラムがドライブ装置209により読み出されることでインストールされる。あるいは、補助記憶装置205にインストールされる各種プログラムは、不図示のネットワークを介してダウンロードされることで、インストールされてもよい。
【0041】
(2)シミュレーション装置130のハードウェア構成
図2の2bは、シミュレーション装置130のハードウェア構成の一例を示す図である。なお、図2の2bに示すように、シミュレーション装置130のハードウェア構成は、学習装置110のハードウェア構成と同じであるため、ここでは説明を省略する。
【0042】
<学習用データの説明>
次に、シミュレーション装置130より送信され、学習用データ格納部113に格納される学習用データについて説明する。図3は、学習用データの一例を示す図である。図3に示すように、学習用データ300には、情報の項目として、"工程"、"シミュレーションID"、"処理前画像データ"、"パラメータデータ"、"処理後画像データ"が含まれる。
【0043】
"工程"には、半導体製造プロセスを示す名称が格納される。図3の例は、"工程"として、「ドライエッチング」と、「デポジション」の2つの名称が格納された様子を示している。
【0044】
"シミュレーションID"には、実行部131が各シミュレータを用いて実行する各シミュレーションを識別するための識別子が格納される。なお、第1の実施形態において、実行部131は、ドライエッチング用シミュレータ310と、デポジション用シミュレータ320とを有しており、当該各シミュレータを用いてシミュレーションを実行するものとする。
【0045】
図3の例は、実行部131が、ドライエッチング用シミュレータ310を用いて実行するシミュレーションの"シミュレーションID"として、「S001」、「S002」が格納された様子を示している。また、図3の例は、実行部131が、デポジション用シミュレータ320を用いて実行するシミュレーションの"シミュレーションID"として、「S101」が格納された様子を示している。
【0046】
"処理前画像データ"には、実行部131が各シミュレータを用いてシミュレーションを実行する際に入力する処理前画像データのファイル名が格納される。図3の例は、シミュレーションID=S001の場合、"ファイル名"が「形状データLD001」の処理前画像データをドライエッチング用シミュレータ310に入力してシミュレーションを実行することを示している。また、図3の例は、シミュレーションID=S002の場合、"ファイル名"が「形状データLD002」の処理前画像データをドライエッチング用シミュレータ310に入力してシミュレーションを実行することを示している。更に、図3の例は、シミュレーションID=S101の場合、"ファイル名"が「形状データLD101」の処理前画像データをデポジション用シミュレータ320に入力してシミュレーションを実行することを示している。
【0047】
"パラメータデータ"には、実行部131がシミュレーションを実行する際に、各シミュレータに設定する、所定の処理条件を示す情報が格納される。図3の例は、ドライエッチング用シミュレータ310を用いてシミュレーションID=S001のシミュレーションを実行した際、実行部131が「パラメータ001_1」、「パラメータ001_2」、・・・等を設定したことを示している。
【0048】
なお、「パラメータ001_1」、「パラメータ001_2」、・・・等とは、具体的には、下記のような値を指すものとする。
・マテリアルごとのけずれ率(etch ratio)、
・マテリアルごとのけずれ方向(lateral ratio)
・マテリアルごとのけずれ深さ(depth)
"処理後画像データ"には、実行部131が各シミュレータを用いてシミュレーションを実行したことで出力された処理後画像データのファイル名が格納される。図3の例は、シミュレーションID=S001の場合、ドライエッチング用シミュレータ310を用いてシミュレーションを実行したことで、"ファイル名"=「形状データLD001'」の処理後画像データが出力されたことを示している。
【0049】
また、図3の例は、シミュレーションID=S002の場合、ドライエッチング用シミュレータ310を用いてシミュレーションを実行したことで、"ファイル名"=「形状データLD002'」の処理後画像データが出力されたことを示している。
【0050】
更に、図3の例は、シミュレーションID=S101の場合、デポジション用シミュレータ320を用いてシミュレーションを実行したことで、"ファイル名"=「形状データLD101'」の処理後画像データが出力されたことを示している。
【0051】
なお、実行部131は、各シミュレータを用いてシミュレーションを実行することで学習用データ300を生成し、学習装置110に送信する。これにより、学習装置110の学習用データ格納部113には、学習用データ300が格納される。
【0052】
<学習装置の機能構成>
次に、学習装置110の各部(データ整形部111、学習部112)の機能構成の詳細について説明する。
【0053】
(1)学習部の機能構成の詳細
はじめに、学習装置110の学習部112の機能構成の詳細について説明する。図4は、第1の実施形態に係る学習装置の学習部の機能構成の一例を示す図である。図4に示すように、学習装置110の学習部112は、ドライエッチング用学習モデル420、デポジション用学習モデル421、比較部430、変更部440を有する。
【0054】
学習用データ格納部113に格納された学習用データ300の処理前画像データ及びパラメータデータは、データ整形部111により読み出され、対応する学習モデルに入力される。なお、本実施形態において、パラメータデータは、データ整形部111にて所定の形式に加工された上で、対応する学習モデルに入力されるが、予め所定の形式に加工されたものをデータ整形部111が読み出して、対応する学習モデルに入力してもよい。
【0055】
ドライエッチング用学習モデル420には、処理前画像データと、データ整形部111により所定の形式に加工されたパラメータデータと("工程"=「ドライエッチング」が対応付けられた処理前画像データ及びパラメータデータに限る)が入力される。処理前画像データと、所定の形式に加工されたパラメータデータとが入力されると、ドライエッチング用学習モデル420では出力結果を出力する。また、ドライエッチング用学習モデル420は、出力結果を比較部430に入力する。
【0056】
同様に、デポジション用学習モデル421には、処理前画像データと、データ整形部111により所定の形式に加工されたパラメータデータと("工程"=「デポジション」が対応付けられた処理前画像データ及びパラメータデータに限る)が入力される。処理前画像データと、所定の形式に加工されたパラメータデータとが入力されると、デポジション用学習モデル421では出力結果を出力する。また、デポジション用学習モデル421は、出力結果を比較部430に入力する。
【0057】
比較部430は、ドライエッチング用学習モデル420より出力された出力結果と、学習用データ300の処理後画像データ("工程"=「ドライエッチング」が対応付けられた処理後画像データ)とを比較し、差分情報を変更部440に通知する。
【0058】
同様に、比較部430は、デポジション用学習モデル421より出力された出力結果と、学習用データ300の処理後画像データ("工程"=「デポジション」が対応付けられた処理後画像データ)とを比較し、差分情報を変更部440に通知する。
【0059】
変更部440は、比較部430より通知された差分情報に基づいて、ドライエッチング用学習モデル420またはデポジション用学習モデル421のモデルパラメータを更新する。なお、モデルパラメータの更新に用いる差分情報は、2乗誤差であっても絶対誤差であってもよい。
【0060】
このように、学習部112では、処理前画像データと、所定の形式に加工されたパラメータデータとを学習モデルに入力し、学習モデルより出力される出力結果が、処理後画像データに近づくように、機械学習によりモデルパラメータを更新する。
【0061】
(2)データ整形部の機能構成の詳細
次に、学習装置110のデータ整形部111の機能構成の詳細について説明する。図5は、第1の実施形態に係る学習装置のデータ整形部の機能構成の一例を示す図である。図5に示すように、データ整形部111は、形状データ取得部501、チャネル別データ生成部502、パラメータデータ取得部511、パラメータデータ展開部512、連結部520を有する。
【0062】
形状データ取得部501は、学習用データ格納部113より学習用データ300の処理前画像データを読み出し、チャネル別データ生成部502に通知する。
【0063】
チャネル別データ生成部502は生成部の一例である。チャネル別データ生成部502は、形状データ取得部501より通知された処理前画像データ(ここでは、各マテリアルの組成比(または含有比)に応じた画素値により表現されているものとする)を取得する。また、チャネル別データ生成部502は、取得した処理前画像データから、マテリアルの種類に応じた複数のチャネルの画像データを生成する。以下、マテリアルの種類に応じたチャネルの画像データを、チャネル別データと称す。例えば、チャネル別データ生成部502は、処理前画像データから、空気の層を含むチャネル別データと、4種類のマテリアルそれぞれの層を含む4つのチャネル別データとを生成する。
【0064】
また、チャネル別データ生成部502は、生成した複数のチャネル別データを連結部520に通知する。なお、本実施形態では、チャネル別データ生成部502がチャネル別データを生成するものとしたが、チャネル別データは予め生成されていてもよい。この場合、チャネル別データ生成部502は、予め生成されたチャネル別データを読み出して、連結部520に通知する。
【0065】
パラメータデータ取得部511は、学習用データ格納部113より学習用データ300のパラメータデータを読み出し、パラメータデータ展開部512に通知する。
【0066】
パラメータデータ展開部512は、パラメータデータ取得部511より通知されたパラメータデータを、処理前画像データに応じた所定の形式(処理前画像データの縦サイズ及び横サイズに応じた2次元配列の形式)に加工する。
【0067】
ここで、パラメータデータは、例えば、「パラメータ001_1」、「パラメータ001_2」、「パラメータ001_3」、・・・等の各パラメータの数値が1次元に配列されてなる。具体的には、パラメータデータは、N種類のパラメータの数値が1次元に配列されてなる。
【0068】
このため、パラメータデータ展開部512では、パラメータデータに含まれるN種類のパラメータの数値を1種類ずつ抽出し、抽出した数値を、処理前画像データの縦サイズ及び横サイズに応じて、2次元に配列する。この結果、パラメータデータ展開部512では、2次元に配列されたN個のパラメータデータが生成されることになる。
【0069】
また、パラメータデータ展開部512は、2次元に配列されたN個のパラメータデータを連結部520に通知する。
【0070】
連結部520は、チャネル別データ生成部502より通知された、複数のチャネル別データに、パラメータデータ展開部512より通知された、2次元に配列されたN個のパラメータデータを新たなチャネルとして連結し、連結データを生成する。なお、本実施形態では、連結部520が連結データを生成するものとしたが、連結データは予め生成されていてもよい。この場合、連結部520は、予め生成された連結データを読み出して、学習モデルに入力する。
【0071】
<学習装置の各部による処理の具体例>
次に、学習装置110の各部による処理のうち、上述したデータ整形部111による処理及び学習部112内のドライエッチング用学習モデル420による処理の具体例について説明する。
【0072】
(1)データ整形部による処理の具体例
図6は、データ整形部による処理の具体例を示す図である。図6において、処理前画像データ600は、例えば、"ファイル名"=「形状データLD001」の処理前画像データである。
【0073】
図6に示すように、処理前画像データ600には、空気の層、マテリアルAの層、マテリアルBの層、マテリアルCの層、マテリアルDの層が含まれる。この場合、チャネル別データ生成部502では、チャネル別データ601、602、603、604、605を生成する。
【0074】
また、図6に示すように、パラメータデータ610は、例えば、各パラメータ(「パラメータ001_1」、「パラメータ001_2」、「パラメータ001_3」、・・・等)の数値が一次元に配列されてなる。
【0075】
この場合、パラメータデータ展開部512は、処理前画像データ600の縦サイズ及び横サイズに応じて、パラメータ001_1を2次元に配列する(同じ値を縦及び横に配列する)。同様に、パラメータデータ展開部512は、処理前画像データ600の縦サイズ及び横サイズに応じて、パラメータ001_2を2次元に配列する。同様に、パラメータデータ展開部512は、処理前画像データ600の縦サイズ及び横サイズに応じて、パラメータ001_3を2次元に配列する。
【0076】
2次元に配列されたパラメータデータ611、612、613等は、連結部520により、チャネル別データ601、602、603、604、605に新たなチャネルとして連結され、連結データ620が生成される。
【0077】
(2)ドライエッチング用学習モデルによる処理の具体例
次に、学習部112内のドライエッチング用学習モデル420による処理の具体例について説明する。図7は、第1の実施形態に係る学習装置のドライエッチング用学習モデルによる処理の具体例を示す図である。図7に示すように、本実施形態では、ドライエッチング用学習モデル420として、U字型の畳み込みニューラルネットワーク(CNN:Convolutional Neural Network)ベースの学習モデル(いわゆるUNET)を用いる。
【0078】
UNETの場合、通常は、画像データを入力し、画像データを出力する。このため、学習部112の学習モデルとして当該UNETを用いることで、半導体製造プロセスの処理前後の画像データを入出力とすることができる。
【0079】
一方で、UNETの場合、画像データの形式になっていないデータについては、画像データの形式に加工しておく必要がある。上記したデータ整形部111のパラメータデータ展開部512が、パラメータデータを2次元に配列するように構成されているのは、UNETに入力されるデータを、画像データの形式にするためである。パラメータデータの入力が可能となることで、UNETにおいても、物理モデルに基づくシミュレータにおいて実現されるシミュレーション内容を実現することができる。
【0080】
図7の例は、UNETを用いたドライエッチング用学習モデル420に、連結データ620を入力し、複数のチャネル別データを含む出力結果700が出力された様子を示している。
【0081】
なお、図7の例では、ドライエッチング用学習モデル420による処理の具体例について示したが、デポジション用学習モデル421による処理の具体例も同様である。
【0082】
<シミュレーションシステムにおける学習処理の流れ>
次に、シミュレーションシステム100における学習処理の流れについて説明する。図8は、シミュレーションシステムにおける学習処理の流れを示すフローチャートである。
【0083】
ステップS801において、シミュレーション装置130の実行部131は、シミュレーション装置130の管理者の指示に基づいて、ドライエッチング用シミュレータ310またはデポジション用シミュレータ320に、パラメータデータを設定する。
【0084】
ステップS802において、シミュレーション装置130の実行部131は、処理前画像データ格納部132より処理前画像データを読み出す。また、実行部131は、ドライエッチング用シミュレータ310またはデポジション用シミュレータ320を用いてシミュレーションを実行する(処理後画像データを生成する)。
【0085】
ステップS803において、シミュレーション装置130の実行部131は、学習用データを生成し、学習装置110に送信する。実行部131により生成される学習用データには、シミュレーション実行時に設定したパラメータデータ、シミュレーション実行時に入力した処理前画像データ、及び、シミュレーション実行時に生成した処理後画像データが含まれる。
【0086】
ステップS804において、学習装置110のデータ整形部111は、学習用データに含まれる処理前画像データとパラメータデータとに基づき、連結データを生成する。
【0087】
ステップS805において、学習装置110の学習部112は、連結データを入力、処理後画像データを出力として、学習モデルについて機械学習を行い、学習済みモデルを生成する。
【0088】
ステップS806において、学習装置110の学習部112は生成した学習済みモデルを推論装置120に送信する。
【0089】
<推論装置の機能構成>
次に、推論装置120の機能構成の詳細について説明する。なお、推論装置120の各部(データ整形部121、実行部122)のうち、データ整形部121の機能構成の詳細は、学習装置110のデータ整形部111の機能構成の詳細と同じである。そこで、データ整形部121の機能構成の詳細についての説明は、ここでは省略し、以下では、実行部122の機能構成の詳細について説明する。
【0090】
図9は、推論装置の実行部の機能構成の一例を示す図である。図9に示すように、推論装置120の実行部122は、ドライエッチング用学習済みモデル920、デポジション用学習済みモデル921、出力部930を有する。
【0091】
シミュレーション装置130より、例えば、学習用データ300として用いられていない処理前画像データがパラメータデータとともに推論装置120に送信されると、データ整形部121にでは連結データを生成し、実行部122の各学習済みモデルに入力する。図9の例は、学習用データ300として用いられていない処理前画像データとして、"ファイル名"=「形状データSD001」、「形状データSD002」、・・・等が推論装置120に送信された様子を示している。
【0092】
なお、図9に示すとおり、当該処理前画像データ(例えば、"ファイル名"=「形状データSD001」、「形状データSD002」、・・・等)は、並行して、実行部131にも入力される。そして、実行部131では、各シミュレータを用いてシミュレーションを実行し、処理後画像データ(例えば、"ファイル名"=「形状データSD001'」、「形状データSD002'」、・・・等)を出力する。
【0093】
ドライエッチング用学習済みモデル920は、データ整形部121にて生成された連結データが入力されると、シミュレーションを実行する。また、ドライエッチング用学習済みモデル920は、シミュレーションを実行したことで出力される出力結果を出力部930に通知する。
【0094】
同様に、デポジション用学習済みモデル921は、データ整形部121にて生成された連結データが入力されると、シミュレーションを実行する。また、デポジション用学習済みモデル921は、シミュレーションを実行したことで出力される出力結果を出力部930に通知する。
【0095】
出力部930は、ドライエッチング用学習済みモデル920より通知された出力結果から、処理後画像データ(例えば、"ファイル名"=「形状データSD001''」)を生成し、シミュレーション結果として出力する。同様に、出力部930は、デポジション用学習済みモデル921より通知された出力結果から、処理後画像データ(例えば、"ファイル名"=「形状データSD101''」)を生成し、シミュレーション結果として出力する。
【0096】
ここで、推論装置120のユーザは、出力部930から処理後画像データが出力されるまでの時間と、実行部131から処理後画像データが出力されるまでの時間とを対比することにより、推論装置120のシミュレーション時間を検証することができる。また、推論装置120のユーザは、出力部930から出力された処理後画像データと、実行部131から出力された処理後画像データとを対比することにより、推論装置120のシミュレーション精度を検証することができる。
【0097】
なお、第1の実施形態によれば、実行部122の各学習済みモデルによるシミュレーション時間は、実行部131の各シミュレータによるシミュレーション時間よりも短縮される。これは、各学習済みモデルによるシミュレーションの場合、各シミュレータによるシミュレーションのように、繰り返し試行を行う必要がなく、かつ、GPU204による並列処理により高速演算ができるからである。
【0098】
また、第1の実施形態によれば、実行部122の各学習済みモデルは、実行部131の各シミュレータを代替可能なシミュレーション精度を実現することができる。これは、各学習済みモデルは、各シミュレータに入出力される処理前画像データ、処理後画像データを用いて機械学習されているからである。
【0099】
図10は、ドライエッチング用学習済みモデルのシミュレーション精度を示した図である。このうち、図10の10aは、比較対象として、シミュレーション装置130のドライエッチング用シミュレータ310によりシミュレーションが実行された場合の、処理前画像データと処理後画像データとを示している。
【0100】
一方、図10の10bは、推論装置120のドライエッチング用学習済みモデル920によりシミュレーションが実行された場合の、処理前画像データと処理後画像データとを示している。
【0101】
図10の10aの処理後画像データと、図10の10bの処理後画像データとを対比すると、両者に差はない。したがって、ドライエッチング用学習済みモデル920は、ドライエッチング用シミュレータ310を代替可能なシミュレーション精度を有している、ということができる。
【0102】
同様に、図11は、デポジション用学習済みモデルのシミュレーション精度を示した図である。このうち、図11の11aは、比較対象として、シミュレーション装置130のデポジション用シミュレータ320によりシミュレーションが実行された場合の、処理前画像データと処理後画像データとを示している。
【0103】
一方、図11の11bは、推論装置120のデポジション用学習済みモデル921によりシミュレーションが実行された場合の、処理前画像データと処理後画像データとを示している。
【0104】
図11の11aの処理後画像データと、図11の11bの処理後画像データとを対比すると、両者に差はない。したがって、デポジション用学習済みモデル921は、デポジション用シミュレータ320を代替可能なシミュレーション精度を有している、ということができる。
【0105】
<まとめ>
以上の説明から明らかなように、第1の実施形態に係る学習装置は、
・物理モデルに基づくシミュレータに入力される処理前画像データと、物理モデルに基づくシミュレータに設定されたパラメータデータとを取得する。
・取得した処理前画像データの縦サイズ及び横サイズに応じて、取得したパラメータデータを2次元に配列することで画像データの形式に加工し、処理前画像データに、加工したパラメータデータを連結して連結データを生成する。
・生成した連結データをU字型の畳み込みニューラルネットワークベースの学習モデルに入力し、学習モデルより出力される出力結果が、物理モデルに基づくシミュレータより出力される処理後画像データに近づくように、機械学習を行う。
【0106】
これにより、第1の実施形態に係る学習装置によれば、物理モデルに基づくシミュレータにおいて実現されるシミュレーション内容を実現する学習済みモデルを生成することができる。
【0107】
また、第1の実施形態に係る学習装置によれば、物理モデルに基づくシミュレータよりも、シミュレーション時間を短縮することができる学習済みモデルを生成することができる。更に、第1の実施形態に係る学習装置によれば、物理モデルに基づくシミュレータを代替可能なシミュレーション精度を有する学習済みモデルを生成することができる。
【0108】
なお、上記説明では、物理モデルに基づくシミュレータを対象としたが、物理モデルに基づかないシミュレータであっても、第1の実施形態に係る学習装置によれば、同様に、学習済みモデルを生成できることはいうまでもない。
【0109】
また、第1の実施形態に係る推論装置は、
・処理前画像データと、対応するパラメータデータとを取得する。
・取得した処理前画像データの縦サイズ及び横サイズに応じて、取得したパラメータデータを2次元に配列することで画像データの形式に加工し、処理前画像データに、加工したパラメータデータを連結して連結データを生成する。
・生成した連結データを、学習装置にて生成された学習済みモデルに入力し、シミュレーションを実行する。
【0110】
これにより、第1の実施形態に係る推論装置によれば、物理モデルに基づくシミュレータにおいて実現されるシミュレーション内容を実現することが可能になる。また、第1の実施形態に係る推論装置によれば、物理モデルに基づくシミュレータと比較して、シミュレーション時間を短縮することができるとともに、物理モデルに基づくシミュレータを代替可能なシミュレーション精度を実現することが可能になる。
【0111】
なお、上記説明では、物理モデルに基づくシミュレータを対象としたが、物理モデルに基づかないシミュレータであっても、第1の実施形態に係る推論装置によれば、同様に、シミュレーション内容及びシミュレーション精度を実現できることはいうまでもない。
【0112】
このように、第1の実施形態によれば、半導体製造プロセスのシミュレータを代替する学習済みモデルを提供することができる。
【0113】
[第2の実施形態]
上記第1の実施形態では、処理前画像データの縦サイズ及び横サイズに応じて、パラメータデータを画像データの形式に加工し、処理前画像データと連結して学習モデル(または学習済みモデル)に入力するものとして説明した。
【0114】
しかしながら、パラメータデータの加工方法及び加工したパラメータデータの学習モデル(または学習済みモデル)への入力方法は、これに限定されない。例えば、加工したパラメータデータは、学習モデル(または学習済みモデル)の各層に入力するように構成してもよい。また、パラメータデータは、学習モデル(または学習済みモデル)の各層に入力するにあたり、学習モデル(または学習済みモデル)の各層で畳み込み処理された画像データを変換する際に用いる所定の形式に加工するように構成してもよい。以下、第2の実施形態について、上記第1の実施形態との相違点を中心に説明する。
【0115】
<データ整形部の機能構成>
はじめに、第2の実施形態に係る学習装置のデータ整形部の機能構成の詳細について説明する。図12は、第2の実施形態に係る学習装置のデータ整形部の機能構成の一例を示す図である。図5に示したデータ整形部111の機能構成との相違点は、図12に示すデータ整形部1200の場合、連結部1201と正規化部1202とを有している点である。
【0116】
連結部1201は、チャネル別データ生成部502より通知された複数のチャネル別データを連結し、連結データを生成する。
【0117】
正規化部1202は、パラメータデータ取得部511より通知されたパラメータデータを正規化し、正規化パラメータデータを生成する。
【0118】
<学習モデルによる処理の具体例>
次に、ドライエッチング用学習モデルによる処理の具体例について説明する。図13は、第2の実施形態に係る学習装置のドライエッチング用学習モデルによる処理の具体例を示す図である。
【0119】
図13に示すように、第2の実施形態に係る学習装置の場合、ドライエッチング用学習モデル1300には、データ整形部1200の連結部1201により生成された連結データ1310が入力される。
【0120】
また、図13に示すように、第2の実施形態に係る学習装置の場合、ドライエッチング用学習モデル1300には、データ整形部1200の正規化部1202により生成された正規化パラメータデータが入力される。
【0121】
なお、図13に示すように、ドライエッチング用学習モデル1300には、CNNベースの学習モデルであるUNETに加えて、全結合型の学習モデルであるニューラルネットワーク部1301が含まれる。
【0122】
ニューラルネットワーク部1301は、正規化パラメータデータが入力されると、UNETの各層で畳み込み処理が行われる各画像データの各画素の値を変換する際に用いる所定の形式の値(例えば、1次式の係数γ、β)を出力する。つまり、ニューラルネットワーク部1301は、正規化パラメータデータを、所定の形式(例えば、1次式の係数の形式)に加工する機能を有する。
【0123】
図13の例では、UNETが9層から構成されているため、ニューラルネットワーク部1301は、1次式の係数として、(γ,β)~(γ,β)を出力する。なお、図13の例では、紙面の都合上、各層には、1次式の係数が1組ずつ入力されるものとしているが、各層には、チャネル別データごとに、1次式の係数が複数組ずつ入力されるものとする。
【0124】
UNETの各層では、畳み込み処理が行われるチャネル別データごとの各画像データの各画素の値(ここでは"h"とする)を、例えば、1次式=h×γ+β(第1の層の場合には、h×γ+β)を用いて変換する。
【0125】
ここで、1次式の係数(γ,β)~(γ,β)は、例えば、UNETの各層において畳み込み処理が行われるチャネル別データごとの各画像データのうち、いずれの画像データが重要かを示す指標と捉えることができる。つまり、ニューラルネットワーク部1301では、正規化パラメータデータに基づいて、学習モデルの各層において処理される各画像データの、重要度を示す指標を算出する処理を行う。
【0126】
上記のような構成のもと、ドライエッチング用学習モデル1300に、連結データ1310と正規化パラメータデータとが入力されると、複数のチャネル別データを含む出力結果700が出力される。なお、出力結果700は、比較部430にて処理後画像データと比較され、差分情報が算出される。第2の実施形態に係る学習装置の場合、変更部440は、差分情報に基づいて、ドライエッチング用学習モデル1300内の、UNETのモデルパラメータと、ニューラルネットワーク部1301のモデルパラメータとを更新する。
【0127】
このように、第2の実施形態に係る学習装置によれば、ドライエッチング用学習モデル1300について機械学習を行う際、UNETの各層において、重要度が高い画像データを、正規化パラメータデータに基づいて抽出することが可能となる。
【0128】
<まとめ>
以上の説明から明らかなように、第2の実施形態に係る学習装置は、
・物理モデルに基づくシミュレータに入力される処理前画像データと、物理モデルに基づくシミュレータに設定されたパラメータデータとを取得する。
・取得したパラメータデータを正規化し、学習モデルの各層で畳み込み処理される各画像データの各画素の値を変換する際に用いる1次式の係数の形式に加工する。
・学習部が機械学習を行う際、各層で畳み込み処理された画像データの各画素の値を、1次式を用いて変換する。
【0129】
これにより、第2の実施形態に係る学習装置によれば、物理モデルに基づくシミュレータにおいて実現されるシミュレーション内容を実現する学習済みモデルを生成することができる。
【0130】
また、第2の実施形態に係る学習装置によれば、物理モデルに基づくシミュレータよりも、シミュレーション時間を短縮することができる学習済みモデルを生成することができる。更に、第2の実施形態に係る学習装置によれば、物理モデルに基づくシミュレータを代替可能なシミュレーション精度を有する学習済みモデルを生成することができる。
【0131】
なお、第2の実施形態では、学習装置について説明したが、推論装置においても、実行部がシミュレーションを実行する際に、同様の処理が行われるものとする。
【0132】
このように、第2の実施形態によれば、半導体製造プロセスのシミュレーションにおいて、物理モデルに基づくシミュレータを代替する学習済みモデルを提供することができる。
【0133】
[第3の実施形態]
上記第1及び第2の実施形態では、学習部が機械学習を行うにあたり、半導体製造プロセス固有の事象については特に言及しなかった。一方で、半導体製造プロセスには、固有の事象があり、学習部による機械学習に反映させることで(つまり、学習部による機械学習にドメイン知識を反映させることで)、シミュレーション精度を更に向上させることができる。以下、ドメイン知識を反映させた第3の実施形態について、上記第1及び第2の実施形態との相違点を中心に説明する。
【0134】
<学習モデルの機能構成の詳細>
図14は、第3の実施形態に係る学習装置の学習部の機能構成の一例を示す図である。図4に示した学習部112の機能構成とは、学習モデル内の内部構成が異なる。なお、ここでは、ドライエッチング用学習モデル1410を用いて、学習モデル内の内部構成について説明するが、デポジション用学習モデルも同様の内部構成を有しているものとする。
【0135】
図14に示すように、学習部1400のドライエッチング用学習モデル1410は、UNET1411に加えて、シグモイド関数部1412と、乗算部1413とを有する。
【0136】
シグモイド関数部1412は処理部の一例であり、図14に示すように、UNET1411の出力である第1出力結果に、シグモイド関数1420を乗算することで、第2出力結果1421を出力する。
【0137】
乗算部1413は、シグモイド関数部1412より第2出力結果1421を取得する。また、乗算部1413は、データ整形部111より処理前画像データを取得する。更に、乗算部1413は、取得した処理前画像データに、取得した第2出力結果1421を乗算することで、最終出力結果1422を比較部430に通知する。
【0138】
このように、処理前画像データを乗算して最終出力結果1422を出力する構成とすることで、ドライエッチング用学習モデル1410を機械学習させた場合のUNET1411からは、第1出力結果として、削れ率を示す画像データが出力されることになる。
【0139】
ここで削れ率とは、処理前画像データに含まれる各マテリアルの層が、処理後画像データにおいて、どの程度削られたかを示す変化率の値を指す。ドライエッチング用学習モデル1410を機械学習させることで、削れ率は、処理後画像データを処理前画像データで除算した値に近づくことになる。ただし、機械学習の過程でUNET1411から出力される第1出力結果は、任意の値をとる。
【0140】
一方で、ドライエッチングの場合、形状の変化に関して、"処理の前後でマテリアルが増えることはない"という制約条件(ドメイン知識)がある。したがって、ドライエッチングの場合、削れ率は、0~1の範囲に収まることになる。
【0141】
ここで、シグモイド関数部1412は、任意の値を、0~1の値に変換する関数であり、第1出力結果をシグモイド関数部1412で第2出力結果に変換することで、上記ドメイン知識を反映させることができる。
【0142】
なお、図14には示していないが、デポジション用学習モデルにおいても、シグモイド関数部や乗算部等を配することで、同様の処理を行うことができる。具体的には、デポジション用学習モデルを機械学習させた場合のUNETからは、第1出力結果として、付着率を示す画像データが出力されることになる。
【0143】
ここで付着率とは、処理前画像データに含まれる各マテリアルの層に対して、処理後画像データにおいて、どの程度薄膜が付着したかを示す変化率の値を指す。デポジション用学習モデルを機械学習させることで、付着率は、処理前画像データと処理後画像データとの差分を、処理前画像データで除算した値に近づくことになる。ただし、機械学習の過程でUNETから出力される第1出力結果は、任意の値をとる。
【0144】
一方で、デポジションの場合、形状の変化に関して、"処理の前後でマテリアルが減ることはない"という制約条件(ドメイン知識)がある。したがって、デポジションの場合、付着率は、0~1の範囲に収まることになる。
【0145】
上述したとおり、シグモイド関数部は、任意の値を、0~1の値に変換する関数であり、第1出力結果をシグモイド関数部で第2出力結果に変換することで、上記ドメイン知識を反映させることができる。
【0146】
このように、第3の実施形態に係る学習装置110の学習部1400によれば、機械学習にドメイン知識を反映させることが可能となり、シミュレーション精度を更に向上させることができる。
【0147】
[第4の実施形態]
上記第1乃至第3の実施形態では、データ整形部が、処理前画像データの縦サイズ及び横サイズに応じた縦サイズ及び横サイズの連結データを生成するものとして説明した。しかしながら、データ整形部が生成する連結データの縦サイズ及び横サイズは任意であり、処理前画像データを圧縮してから、連結データを生成するように構成してもよい。以下、第4の実施形態について、上記第1乃至第3の実施形態との相違点を中心に説明する。
【0148】
<データ整形部の機能構成の詳細>
図15は、第4の実施形態に係る学習装置のデータ整形部の機能構成の一例を示す図である。このうち、図15の15aは、第1の実施形態に係る学習装置のデータ整形部111に、圧縮部1511を付加したデータ整形部1510を示している。
【0149】
圧縮部1511は、形状データ取得部501において取得された処理前画像データを圧縮する。圧縮部1511では、例えば、隣接するn個(nは2以上の整数。例えば、縦方向2個×横方向2個の場合はn=4)の画素の画素値について平均値を算出し、算出した平均値を、当該n個の画素をまとめた1個の画素の画素値とする。これにより、圧縮部1511では、処理前画像データを1/n倍に圧縮することができる。
【0150】
このように、圧縮部1511では、処理前画像データが各マテリアルの組成比(または含有比)を表した画像データであることに鑑みて、圧縮の前後で、マテリアルの組成比(または含有比)が極力維持されるように圧縮処理を行う。なお、圧縮部1511による圧縮処理の圧縮率は、整数倍に限定されず、圧縮部1511では、任意の圧縮率による圧縮処理が可能であるとする。
【0151】
同様に、図15の15bは、第2の実施形態に係る学習装置のデータ整形部1200に、圧縮部1511を付加したデータ整形部1520を示している。
【0152】
データ整形部1520が有する圧縮部1511は、データ整形部1510が有する圧縮部1511と同じ機能を有する。このため、ここでは、詳細な説明は省略する。
【0153】
このように、データ整形部1510または1520に圧縮部1511を付加することで、学習部112、1400(あるいは、実行部122)に入力される連結データのサイズを縮小することができる。この結果、第4の実施形態によれば、学習部112、1400が機械学習を行う場合の学習時間、あるいは、実行部122がシミュレーションを実行する場合のシミュレーション時間を短縮することができる。
【0154】
[その他の実施形態]
上記第1の実施形態では、学習部112に、ドライエッチング用学習モデル420と、デポジション用学習モデル421とをそれぞれ設け、異なる学習用データを用いて別々に機械学習を行うものとして説明した。
【0155】
しかしながら、半導体製造プロセスにおいて、ドライエッチングとデポジションとが、同時に発生することもある。このような場合を想定して、学習部112に1の学習モデルを設け、ドライエッチングとデポジションとが同時に発生するケースを機械学習させるように構成してもよい。
【0156】
この場合、学習部112では、当該1の学習モデルについて、ドライエッチング及びデポジションが発生する前の処理前画像データと、ドライエッチング及びデポジションが発生した後の処理後画像データとを含む学習用データを用いて機械学習を行う。
【0157】
このように、シミュレーション装置130の実行部131の場合、ドライエッチング用シミュレータ310とデポジション用シミュレータ320の両方を設ける必要があったところ、学習装置110の学習部112では、学習モデルを統合することもできる。
【0158】
また、上記第1の実施形態では、処理前画像データ及び処理後画像データが、2次元の画像データであるとして説明した。しかしながら、処理前画像データ及び処理後画像データは、2次元の画像データに限定されず、3次元の画像データ(いわゆるボクセルデータ)であってもよい。
【0159】
なお、処理前画像データが2次元の画像データの場合、連結データは、(チャネル、縦サイズ、横サイズ)の配列となるが、処理前画像データが3次元の画像データの場合、連結データは、(チャネル、縦サイズ、横サイズ、奥行きサイズ)の配列となる。
【0160】
また、上記第1の実施形態では、2次元の画像データをそのまま取り扱うものとして説明したが、2次元の画像データを変形して、あるいは、3次元の画像データを変形して取り扱うように構成してもよい。例えば、3次元の画像データを取得し、所定断面の2次元の画像データを生成して、処理前画像データとして入力してもよい。あるいは、連続する所定断面の2次元の画像データに基づいて、3次元の画像データを生成して、処理前画像データとして入力してもよい。
【0161】
また、上記第1の実施形態において、チャネル別データ生成部502は、空気の層、各マテリアルの層ごとに、チャネル別データを生成するものとして説明した。しかしながら、チャネル別データの生成方法はこれに限定されず、特定の膜種ごとではなく、Oxide、Silicon、Organics、Nitrideといったように、より大きな分類に基づいて、チャネル別データを生成するようにしてもよい。
【0162】
また、上記第1乃至第4の実施形態において、推論装置120は、処理前画像データ及びパラメータデータが入力された場合に、処理後画像データを出力して処理を終了するものとして説明した。しかしながら、推論装置120の構成はこれに限定されず、例えば、処理前画像データ及びパラメータデータが入力されることで出力される処理後画像データを、対応するパラメータデータとともに、再び、推論装置120に入力するように構成してもよい。これにより、推論装置120では、形状の変化を連続的に出力することができる。なお、推論装置120に処理後画像データを再び入力するにあたり、対応するパラメータデータは、任意に変更可能であるとする。
【0163】
また、上記第1乃至第4の実施形態において、学習装置110と、推論装置120と、シミュレーション装置130とは別体として示したが、いずれか2台の装置を一体として構成してもよいし、すべての装置を一体として構成してもよい。
【0164】
また、上記第1乃至第4の実施形態において、学習装置110は、1台のコンピュータで構成されるものとして説明したが、複数台のコンピュータで構成されていてもよい。同様に、上記第1乃至第4の実施形態において、推論装置120は、1台のコンピュータで構成されるものとして説明したが、複数台のコンピュータで構成されてもよい。
【0165】
また、上記第1乃至第4の実施形態では、学習装置110、推論装置120、シミュレーション装置130を、半導体製造プロセスに適用するものとして説明したが、半導体製造プロセス以外の他のプロセスに適用してもよいことはいうまでもない。ここでいう、半導体製造プロセス以外の他のプロセスには、半導体製造プロセス以外の他の製造プロセス、非製造プロセスが含まれるものとする。
【0166】
また、上記第1乃至第4の実施形態において、学習装置110、推論装置120は、汎用のコンピュータに各種プログラムを実行させることで実現したが、学習装置110、推論装置120の実現方法はこれに限定されない。
【0167】
例えば、プロセッサ、メモリなどを実装しているIC(Integrated Circuit)などの専用の電子回路(すなわちハードウェア)により実現されてもよい。複数の構成要素が一つの電子回路で実現されてもよいし、一つの構成要素が複数の電子回路で実現されてもよいし、構成要素と電子回路が一対一で実現されてもよい。
【0168】
なお、上記実施形態に挙げた構成等に、その他の要素との組み合わせ等、ここで示した構成に本発明が限定されるものではない。これらの点に関しては、本発明の趣旨を逸脱しない範囲で変更することが可能であり、その応用形態に応じて適切に定めることができる。
【符号の説明】
【0169】
100 :シミュレーションシステム
110 :学習装置
111 :データ整形部
112 :学習部
120 :推論装置
121 :データ整形部
122 :実行部
130 :シミュレーション装置
131 :実行部
300 :学習用データ
310 :ドライエッチング用シミュレータ
320 :デポジション用シミュレータ
420 :ドライエッチング用学習モデル
421 :デポジション用学習モデル
430 :比較部
440 :変更部
501 :形状データ取得部
502 :チャネル別データ生成部
511 :パラメータデータ取得部
512 :パラメータデータ展開部
520 :連結部
600 :処理前画像データ
601~605 :チャネル別データ
610 :パラメータデータ
611~613 :2次元に配列されたパラメータデータ
620 :連結データ
700 :出力結果
920 :ドライエッチング用学習済みモデル
921 :デポジション用学習済みモデル
930 :出力部
1200 :データ整形部
1201 :連結部
1300 :ドライエッチング用学習モデル
1301 :ニューラルネットワーク部
1310 :連結データ
1400 :学習部
1510、1520 :データ整形部
1511 :圧縮部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15