JP7061536B2 - 最適化装置、シミュレーションシステム及び最適化方法 - Google Patents

最適化装置、シミュレーションシステム及び最適化方法 Download PDF

Info

Publication number
JP7061536B2
JP7061536B2 JP2018150778A JP2018150778A JP7061536B2 JP 7061536 B2 JP7061536 B2 JP 7061536B2 JP 2018150778 A JP2018150778 A JP 2018150778A JP 2018150778 A JP2018150778 A JP 2018150778A JP 7061536 B2 JP7061536 B2 JP 7061536B2
Authority
JP
Japan
Prior art keywords
conversion
output data
unit
parameter
input
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2018150778A
Other languages
English (en)
Other versions
JP2020027370A (ja
Inventor
大貴 桐淵
武一郎 西川
怜 横田
亮太 楢崎
聡 小池
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Kioxia Corp
Original Assignee
Toshiba Corp
Kioxia Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp, Kioxia Corp filed Critical Toshiba Corp
Priority to JP2018150778A priority Critical patent/JP7061536B2/ja
Priority to US16/296,549 priority patent/US11461515B2/en
Publication of JP2020027370A publication Critical patent/JP2020027370A/ja
Application granted granted Critical
Publication of JP7061536B2 publication Critical patent/JP7061536B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/11Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/17Function evaluation by approximation methods, e.g. inter- or extrapolation, smoothing, least mean square method
    • G06F17/175Function evaluation by approximation methods, e.g. inter- or extrapolation, smoothing, least mean square method of multidimensional data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/18Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Algebra (AREA)
  • Operations Research (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Probability & Statistics with Applications (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

本発明の実施形態は、最適化装置、シミュレーションシステム及び最適化方法に関する。
シミュレータが種々の目的で利用されている。複雑な事象の動作をシミュレータで模擬的に実行させるには、数多くの入力パラメータをシミュレータに入力する必要がある。入力パラメータの値を変えると、シミュレーション結果も変わるため、現実の事象の動作に見合った最適な入力パラメータを検索する手法が提案されている。
しかしながら、この種の従来の手法では、入力パラメータの数(次元数とも呼ぶ)が少ない場合には、公知の最適化アルゴリズムで最適な入力パラメータを設定できるものの、入力パラメータの数が多くなると、現実的な時間内に最適な入力パラメータを設定できないおそれがある。
特開2018-73360号公報
本発明が解決しようとする課題は、入力パラメータの次元数が多い場合でも、簡易かつ迅速に最適な入力パラメータを設定できる最適化装置、シミュレーションシステム及び最適化方法を提供するものである。
本実施形態によれば、所定の次元数の入力パラメータに基づいて実験又はシミュレーションを行った結果を示す出力データを取得する出力データ取得部と、
前記入力パラメータと、対応する前記出力データとを組にして記憶する入出力データ記憶部と、
前記出力データの評価値を算出する評価値算出部と、
前記入力パラメータの次元数を減らした変換パラメータを生成する入力パラメータ変換部と、
前記変換パラメータと対応する前記評価値との組に基づいて、次の入力パラメータを決定する次入力パラメータ決定部と、
所定の条件を満たすまで、前記出力データ取得部、前記入出力データ記憶部、前記評価値算出部、前記入力パラメータ変換部、及び前記次入力パラメータ決定部の処理を繰り返す反復判定部と、を備える、最適化装置が提供される。
一実施形態による最適化装置を備えたシミュレーションシステムの概略構成を示すブロック図。 (a)は入力パラメータの一例を示す図、(b)は出力データの一例を示す図。 入出力データ記憶部に記憶されるデータの一例を示す図。 入力パラメータと対応する変換パラメータとを組にして同一行に並べた一例を示す図。 シミュレーションシステムの処理動作の一例を示すフローチャート。 第2の実施形態による最適化装置の概略構成を示すブロック図。 変換項目入力部が入力した変換項目の一例を示す図。 第4の実施形態による最適化装置の概略構成を示すブロック図。 変換パラメータ可視化部による可視化の第1例を示す図。 変換パラメータ可視化部による可視化の第2例を示す図。 第5の実施形態による最適化装置を備えたシミュレーションシステム2のブロック図。
以下、図面を参照して本発明の実施形態を説明する。以下の実施形態では、最適化装置及びシミュレーションシステム内の特徴的な構成および動作を主に説明するが、最適化装置及びシミュレーションシステムには以下の説明で省略した構成および動作が存在しうる。
図1は一実施形態による最適化装置1を備えたシミュレーションシステム2の概略構成を示すブロック図である。図1のシミュレーションシステム2は、最適化装置1とシミュレータ3とを備えている。シミュレータ3は、入力パラメータに基づいてシミュレーションを実行して、シミュレーション結果を示す出力データを出力する。最適化装置1は、シミュレータ3に入力(設定)する入力パラメータを最適化する。
図1のシミュレーションシステム2は、1台又は複数台のコンピュータで構成することができる。この場合、コンピュータは、最適化装置1の処理動作を行うプログラムと、シミュレータ3の処理動作を行うプログラムとを実行する。あるいは、最適化装置1とシミュレータ3の少なくとも一部の処理動作を専用のハードウェア(例えば、信号処理プロセッサ等の半導体装置など)で実行してもよい。
なお、図1の最適化装置1は、必ずしもシミュレータ3に接続する必要はない。例えば、シミュレータ3の代わりに、各種の実験を行う実験装置とともに図1の最適化装置1を用いてもよい。すなわち、図1の最適化装置1は、シミュレーションシステム2に内蔵されるとは限らない。
図1の最適化装置1は、出力データ取得部4と、入出力データ記憶部5と、評価値算出部6と、入力パラメータ変換部7と、次入力パラメータ決定部8と、反復判定部9と、変換次元数入力部10とを有する。
出力データ取得部4は、所定の次元数の入力パラメータに基づいて、実験又はシミュレーションを行った結果を示す出力データを取得する。本明細書では、実験で用いられる、あるいはシミュレータ3に入力される、複数の入力パラメータがあることを前提としており、入力パラメータの数(項目数)を次元数と呼ぶ。出力データ取得部4は、シミュレータ3にてシミュレーションを行った結果を示す出力データを取得するだけでなく、実験結果を示す出力データを取得してもよい。以下では、シミュレータ3からの出力データを取得して、シミュレータ3への次入力パラメータを決定する処理について主に説明するが、シミュレータ3の代わりに実験装置からの出力データを取得して、実験装置への次入力パラメータを決定することも可能である。
入出力データ記憶部5は、入力パラメータと対応する出力データとを組にして記憶する。図2(a)は入力パラメータの一例を示す図である。図2(a)の例では、入力パラメータは50個の項目x1、x2、…、x50からなり、各項目はそれぞれ個別の値を有する。各項目の値は、連続値、離散値、又はカテゴリ変数でもよい。入力パラメータの各項目は、温度や圧力等の物理的なパラメータでもよいし、処理時間や処理条件などの実験に関するパラメータでもよい。入力パラメータの項目数や項目の内容は任意である。
図2(b)は出力データの一例を示す図である。図2(b)の例では、出力データが10個の項目y1、y2、…、y10からなり、各項目はそれぞれ個別の値を有する。出力データは、入力パラメータを用いて実験を行った結果、又は入力パラメータをシミュレータ3に入力してシミュレーションを行った結果を示している。より具体的には、出力データは、実験に用いた各種センサの検出データでもよいし、実験結果やシミュレーション結果の物理的な特性値や測定値でもよい。
図3は入出力データ記憶部5に記憶されるデータの一例を示す図である。図3の例では、図2(a)の入力パラメータと、対応する図2(b)の出力データとを組にして、入出力データ記憶部5に記憶している。
評価値算出部6は、出力データの評価値を算出する。評価値は、入力パラメータに対して1次元の値である。評価値は、実験又はシミュレーションの結果として得られた出力データのうちの一つでもよいし、実験又はシミュレーションの結果として得られた複数の出力データを合成して演算した値でもよい。例えば、実験又はシミュレーションの結果として得られた出力データと、理想的な出力データとの差分を評価値としてもよいし、実験又はシミュレーションの結果として得られた複数の出力データの和や積を評価値としてもよい。
入力パラメータ変換部7は、入力パラメータの次元数を変更した変換パラメータを生成する。次元数の変更とは、次元数を減らすことであってもよい。例えば、入力パラメータ変換部7は、x=(x1、x2、…、x50)の50次元の入力パラメータxを、z=(z1、z2、…、z5)の5次元の変換パラメータzに変換する。変換パラメータzの次元数は、変換次元数入力部10にて入力された次元数によって決定される。変換次元数入力部10は、最適化装置1の処理中に、変換次元数を変更してもよい。あるいは、変換次元数入力部10は、最適装置の処理中には、いったん入力した変換次元数を変更できないようにしてもよい。変換次元数の最適化が進むにつれて徐々に変換次元数を大きくしていくように、予め計画してもよい。
入力パラメータから変換パラメータへの変換処理は、以下の(1)式の関数φ(x)で表される。
z=φ(x) …(1)
関数φ(x)は、例えば主成分分析(PCA:Principal Component Analysis)を行って求めてもよい。あるいは、ランダム行列Aを用いて、z=Axにて変換パラメータを計算してもよい。あるいは、多次元尺度構成法や自己組織化マップを用いて入力パラメータを変換パラメータに変換してもよい。あるいは、上述した複数の手法を任意に組み合わせて、入力パラメータを変換パラメータに変換してもよい。
図4は入力パラメータと対応する変換パラメータとを組にして同一行に並べた一例を示す図である。図4では、50次元の入力パラメータx=(x1、x2、…、x50)を、5次元の変換パラメータz=(z1、z2、…、z5)に変換する例を示している。図4の各データは、入出力データ記憶部5、あるいは入出力データ記憶部5とは別個に設けられる不図示の記憶部に記憶してもよい。
次入力パラメータ決定部8は、上述した変換パラメータと対応する評価値との組に基づいて、実験で用いられる又はシミュレータ3に入力される次の入力パラメータを決定する。
例えば、変換パラメータと対応する評価値との組に基づいて、ブラックボックス最適化手法を用いて、次の変換パラメータを決定してもよい。採用する最適化手法は、遺伝的アルゴリズムでもよいし、進化戦略や共分散行列適応進化戦略(CMA-ES:Covariance Matrix Adaptation Evolution Strategy)でもよい。また、ベイズ最適化を用いて、次の変換パラメータを決定してもよい。
その後、変換の逆関数φ-1(z)を用いて、次の変換パラメータzから、次の入力パラメータx=φ-1(z)を計算する。入力パラメータから変換パラメータへの変換φ(x)では、次元数を小さくしているため、変換の逆関数φ-1(z)では、次元数を小さくした分の自由度がある。これに関しては、残りの自由度はランダムに決定してもよい。あるいは、現時点の評価値が最も大きい(又は小さい)入力パラメータとの距離が最小になるように、残りの自由度を決定してもよい。決定した次の入力パラメータは、ディスプレイに表示してもよいし、通信機器を用いて実験装置あるいはシミュレータ3に直接出力してもよい。
反復判定部9は、所定の条件を満たすまで、出力データ取得部4、入出力データ記憶部5、評価値算出部6、入力パラメータ変換部7、及び次入力パラメータ決定部8の処理を繰り返す。所定の条件を満たすとは、例えば、実験又はシミュレーションの回数が閾値を超えた場合でもよいし、実験又はシミュレーションの開始からの経過時間が閾値を超えた場合でもよいし、評価値が閾値を上回った(又は下回った)場合でもよい。あるいは、これらを組み合わせた条件でもよい。
図5はシミュレーションシステム2の処理動作の一例を示すフローチャートである。まず、入力パラメータをシミュレータ3に入力して、シミュレーションを実行する(ステップS1)。このステップS1では、ラテン方格やソボル列を用いて入力パラメータを決定してもよい。
次に、出力データ取得部4にて、シミュレータ3のシミュレーション結果を示す出力データを取得し、取得した出力データを入出力データ記憶部5に記憶する(ステップS2)。次に、反復判定部9にて、所定の条件を満たしたか否かを判定する(ステップS3)。所定の条件を満たしたと判定されると、最適な入力パラメータを算出して(ステップS4)、その最適な入力パラメータを出力する(ステップS5)。ステップS4では、例えば、評価値算出部6で算出された評価値が最大(又は最小)になるときの入力パラメータを最適な入力パラメータとしてもよい。このように、図1の最適化装置1は、最適な入力パラメータを出力する最適入力パラメータ出力部を備えていてもよい。
ステップS3で所定の条件を満たしていないと判定されると、入力パラメータ変換部7にて、入力パラメータを変換パラメータに変換する(ステップS6)。具体的には、入力パラメータよりも次元数の小さい変換パラメータに変換する。
次に、次入力パラメータ決定部8にて、変換パラメータと対応する評価値との組に基づいて次入力パラメータを決定する(ステップS7~S9)。例えば、ベイス最適化を用いる場合には、まずガウス過程によって変換パラメータと対応する評価値との関係を推定する(ステップS7)。次に、ステップS7の推定結果に基づいて獲得関数を算出する(ステップS8)。最後に、獲得関数が最大となるような次入力データを決定する(ステップS9)。その後、反復判定部9は、所定の条件を満たすまで、ステップS1以降の処理を繰り返す。
このように、第1の実施形態では、入力パラメータの次元数を減らした変換パラメータを生成し、変換パラメータと対応する評価値とに基づいて次の入力パラメータを決定して、所定の条件を満たすまで、シミュレーションの実行と、変換パラメータの生成と、次の入力パラメータの決定とを繰り返すため、少ないシミュレーション回数で、シミュレーション用の最適な入力パラメータを設定できる。
(第2の実施形態)
図6は第2の実施形態による最適化装置1の概略構成を示すブロック図である。図6の最適化装置1は、図1の変換次元数入力部10の代わりに、変換項目入力部11を備えている他は、図1の最適化装置1と共通する。
変換項目入力部11は、シミュレータ3から出力される出力データの項目名のうち、任意の項目名を変換項目として入力する。変換項目入力部11は、出力データの任意の項目名を直接入力してもよいし、出力データの項目名のリストから任意の項目を選択してもよい。また、変換項目入力部11は、最適化装置1の処理中に、変換項目を変更してもよい。あるいは、変換項目入力部11は、最適装置の処理中には、いったん入力した変換項目を変更できないようにしてもよい。変換項目を最適化が進むにつれて徐々に増やしてしていくように、予め計画してもよい。
図7は変換項目入力部11が入力した変換項目の一例を示す図である。図7の例では、シミュレータ3の出力データがy1、y2、…、y10の計10個の項目を有する場合に、そのうちの5個y3、y4、y6、y7、y9を変換項目として選択する例を示している。変換項目入力部11が入力した変換項目の数は、変換次元数に等しい。
入力パラメータ変換部7は、入出力データ記憶部5に記憶された入力パラメータを、変換項目入力部11が入力した変換項目に基づいて変換パラメータに変換する。図7の例の場合、変換項目入力部11が入力した変換項目y'=(y3、y4、y6、y7、y9)を予測する回帰式y'=φ(x)を求め、この回帰結果z=φ(x)を変換パラメータとする。すなわち、入出力データからy'とφ(x)の組を計算し、y'とφ(x)との誤差が小さくなるφ(x)を求める。
例えば、y'とφ(x)の誤差の二乗平方和を算出し、算出した二重平方和が最小になるφ(x)を求めてもよい。回帰手法は、線形回帰やLasso回帰、エラスティックネット回帰、ランダムフォレスト回帰などを用いてもよい。入力パラメータ変換部7の変換手法は、実験やシミュレーションを行うたびに変えてもよいし、変換手法を固定化してもよい。また、実験やシミュレーションを所定回数行うたびに、入力パラメータ変換部7の変換手法を変えてもよい。
なお、図1の変換次元数入力部10と、図6の変換項目入力部11の双方を最適化装置1内に設けても良い。この場合、変換次元数入力部10が入力した変換次元数と、変換項目入力部11が入力した変換項目の数とが一致する場合には、入力パラメータ変換部7は、図1及び図6の最適化装置1内の入力パラメータ変換部7と同様の処理を行う。変換次元数入力部10が入力した変換次元数と、変換項目入力部11が入力した変換項目の数とが一致しない場合には、エラーを出力してもよい。
また、変換次元数入力部10が入力した変換次元数が、変換項目入力部11が入力した変換項目よりも小さい場合、入力パラメータ変換部7は、変換項目入力部11が入力した変換項目のうち、変換次元数と等しい数の変換項目を選択してもよい。この場合、入力パラメータ変換部7は、この選択された変換項目を予測するような回帰を求め、この回帰結果を変換パラメータとする。例えば、変換項目がy3、y4、y6、y7、y9の5つであり、変換次元数が3の場合、選択された変換項目は、例えばy3、y4、y9の3つである。変換項目の中から変換次元数と等しい数だけ項目を選択する際には、ランダムに選択してもよいし、あるいは選択される変換項目間の相関が小さくなるように選択してもよい。
また、変換次元数入力部10が入力した変換次元数が、変換項目入力部11が入力した変換項目よりも大きい場合、入力パラメータ変換部7は、その変換次元数と変換項目数の差の分だけ、変換項目入力部11が入力しなかった出力データの項目から、新たな項目を選択してもよい。この場合、入力パラメータ変換部7は、選択された出力データの新たな項目と、変換項目入力部11が入力した変換項目とを予測するような回帰を求め、この回帰結果を変換パラメータとする。例えば、出力データの項目がy1、…、y10であり、変換項目がy3、y4、y6、y7、y9の5つ、変換次元数が7の場合、変換項目以外の出力データ項目y1、y2、y5、y8、y10の中から、変換次元数と変換項目の数の差である2項目を選択する。例えば、選択された出力データ項目はy1、y5の2つであり、これと変換項目をあわせたy1、y3、y4、y5、y6、y7、y9の7項目を予測する回帰を求める。この出力データ項目の選択はランダムに行ってもよいし、あるいは変換項目との相関が小さい出力データ項目を選択してもよい。
また、変換次元数入力部10が入力した変換次元数が、変換項目入力部11が入力した変換項目よりも大きい場合、入力パラメータ変換部7は、変換項目の数の分の変換パラメータを回帰結果を用いて変換し、残りの変換次元数と変換項目数の差の分だけ、別の方法で変換パラメータを変換してもよい。例えば、変換項目がy3、y4、y6、y7、y9の5つ、変換次元数が7、変換パラメータがz1、…、z7の場合、z1、…、z5は、選択された出力データy'=(y3、y4、y6、y7、y8)を予測するような回帰y'=φ(x)を求め、この回帰結果φ(x)である。一方で、z6とz7は回帰とは別の手法φ' (x)を用いて求めてもよい。φ'は、例えば主成分分解(PCA)を用いて求めてもよい。あるいは、ランダム行列Aを用いてz=Axと変換してもよい。また、多次元尺度構成法や自己組織化マップを用いて変換を行ってもよい。あるいは、すでに計算ずみの変換パラメータz1、…、z5との相関が小さくなるように(あるいはz1、…、z5と直交するように)、残りの変換パラメータを計算してもよい。
このように、第2の実施形態では、変換次元数入力部10の代わりに、変換項目入力部11を備えているため、入力パラメータを変換パラメータに変換するための出力データの項目を直接指定でき、変換パラメータへの変換処理を迅速に行うことができる。
(第3の実施形態)
次入力パラメータ決定部8は、出力結果推定機能と、獲得関数算出機能と、獲得関数最大化機能とを有する。
出力結果推定機能は、変換パラメータと対応する評価値との組に基づいて、変換パラメータzに対して、ベイズルールにより計算される評価値yの事後確率p(y|z)を推定する。
獲得関数算出機能は、ベイズルールにより計算される事後確率に基づいて獲得関数を算出する。獲得関数は、例えばPI(Probability of Improvement)を用いてもよいし、EI(Expected Improvement, 期待改善量方策)を用いてもよい。あるいはUCB(Upper Confidence Bound)やTS (Thompson Sampling)、 ES(Entropy Search)、MI(Mutual Information)を用いてもよい。例えばPIの場合、獲得関数αn(z)は、任意の定数τnを用いて、以下の(1)式にて計算する。
Figure 0007061536000001
獲得関数最大化機能は、獲得関数が最大となる次入力パラメータを算出する機能である。例えば、獲得関数が最大となる変換パラメータzn+1=argmaxzα(z)を求め、変換φの逆関数φ-1(z)を用いて、次入力パラメータをxn+1=φ-1(zn+1)と計算してもよい。変換では次元数を小さくしているため、変換の逆関数では、次元数を小さくした分の自由度がある。これに関しては残りの自由度はランダムに決定してもよい。あるいは、現時点の評価値が最も大きい(小さい)入力パラメータとの距離が最小となるように、残りの自由度を決定してもよい。あるいは、獲得関数をαn(φ(x))というように入力パラメータxの関数と考えて、獲得関数が最大となる入力パラメータxn+1=argmaxαn(φ(x))を直接計算してもよい。この方法では、逆変換φ-1(z)を必要としないため、逆変換を計算できない変換φも用いることが可能である。この獲得関数の最大化は、任意の最適化方法を用いてもよい。例えば、全探索やランダム探索、グリッドサーチや勾配法、L-BFGS、DIRECT、CMA-ESや多スタート局所法を用いてもよい。
(第4の実施形態)
第4の実施形態は、ベイズ最適化により次の入力パラメータを決定するものである。第4の実施形態による最適化装置1の概略構成は、図1と同様であるため、ブロック構成の説明を割愛する。
第4の実施形態による次入力パラメータ決定部8は、出力結果推定機能と、獲得関数算出機能と、獲得関数最大化機能とを有する。
出力結果推定機能は、変換パラメータと対応する評価値との組に基づいて、変換パラメータの平均値、評価値の平均値、変換パラメータの分散、及び評価値の分散の関係式を推定する。平均値と分散の関係式の推定方法は、ガウス過程回帰を用いてもよいし、ランダムフォレスト回帰を用いてもよい。例えば、ガウス過程回帰の場合、i番目の実験の変換パラメータをzi、評価値をyiとする。また、評価値の平均値ベクトルをmi=μ0(zi)、ziとzjの共分散をKi,j=k(zi,zj)とする。ここで、μ0(zi)は任意の関数であり、k(zi,zj)は任意のカーネル関数である。カーネル関数は例えば指数二乗カーネルやマターンカーネル、線形カーネルでもよい。
このとき、変換パラメータzと、評価値yの平均値との関係式μn(z)は、μn(z)=μ0(z)+k(z)T (K+σ2I)-1 (y-m)である。ここで、ki(z)=k(z,zi)であり、σ2は任意の定数である。また、変換パラメータzと、評価値yの分散との関係式σn 2(z)は、σn 2 (z)=k(z,z)-k(z)T (K+σ2I)-1 k(z)である。
獲得関数算出機能は、平均値の関係式と分散との関係式に基づいて獲得関数を算出する。獲得関数は、例えばPI(Probability of Improvement)を用いてもよいし、EI(Expected Improvement, 期待改善量方策)を用いてもよい。あるいはUCB(Upper Confidence Bound)やTS (Thompson Sampling)、 ES(Entropy Search)、MI(Mutual Information)を用いてもよい。例えばUCBの場合、獲得関数αn(z)は任意の定数βnを用いて、αn(z)=μn(z)+βnσn(z)と計算する。
獲得関数最大化機能は、獲得関数が最大となる次入力パラメータを算出する機能である。例えば、獲得関数が最大となる変換パラメータzn+1=argmaxzα(z)を求め、変換φの逆関数φ-1(z)を用いて、次入力パラメータをxn+1=φ-1(zn+1)と計算してもよい。変換では次元数を小さくしているため、変換の逆関数では、次元数を小さくした分の自由度がある。これに関しては残りの自由度はランダムに決定してもよい。あるいは、現時点の評価値が最も大きい(小さい)入力パラメータとの距離が最小となるように、残りの自由度を決定してもよい。あるいは、獲得関数をαn(φ(x))というように入力パラメータxの関数と考えて、獲得関数が最大となる入力パラメータxn+1=argmaxαn(φ(x))を直接計算してもよい。この方法では、逆変換φ-1(z)を必要としないため、逆変換を計算できない変換φも用いることが可能である。この獲得関数の最大化は、任意の最適化方法を用いてもよい。例えば、全探索やランダム探索、グリッドサーチや勾配法、L-BFGS、DIRECT、CMA-ESや多スタート局所法を用いてもよい。
このように、第4の実施形態では、ベイズ最適化を行うにあたって、入力パラメータの次元数を減らした変換パラメータに変換し、変換パラメータと評価値とに基づいて、次の入力パラメータを算出するため、入力パラメータの次元数にかかわらず、入力パラメータの最適化処理を迅速に行うことができる。
(第5の実施形態)
第5の実施形態は、変換パラメータを可視化するものである。
図8は第5の実施形態による最適化装置1の概略構成を示すブロック図である。図8の最適化装置1は、図1の構成に加えて、変換パラメータ可視化部12を備えている。変換パラメータ可視化部12は、変換パラメータと対応する評価値との組のデータ点と、変換パラメータと対応する評価値との推定関係式との少なくとも一方を可視化する。
図9は変換パラメータ可視化部12による可視化の第1例を示す図である。図9の横軸は変換パラメータの一項目の数値であり、縦軸は評価値である。図9の各プロットは、変換パラメータの一項目についての各数値と対応する評価値との関係を示している。入力パラメータの各項目についての各数値と対応する評価値との関係をプロットすると、プロットが二次元座標面上にほぼ均等にばらついてしまい、最適解か否かを判断するのが困難である。
これに対して、図9のプロットは、二次元座標面の特定箇所に集中して存在する。このため、プロットがより集中している箇所の変換パラメータと評価値に基づいて、次の入力パラメータを決定することで、入力パラメータの最適化を迅速に行うことができる。
図10は変換パラメータ可視化部12による可視化の第2例を示す図である。図10の横軸と縦軸は図9と同様である。図10の曲線cb1は平均値μn(z)、曲線cb2が標準偏差(分散の平方根)σn(z)、曲線cb3が獲得関数an(z)を表している。各曲線上のプロットは、獲得関数が最大となる変換パラメータzn+1=argmaxzn(z)を表している。プロットp1、p2、p3はそれぞれ、変換パラメータzn+1での評価値の平均値μn(zn+1)、標準偏差σn(zn+1)、獲得関数an(zn+1)を表している。
このように、第5の実施形態では、変換パラメータと対応する評価値との関係を可視化するため、入力パラメータを最適化できているか否かを視覚的に把握できる。
(第6の実施形態)
第6の実施形態は、入力パラメータを用いて実験又はシミュレーションを行った場合に失敗データが得られた場合の取扱に関する。
図11は第6の実施形態による最適化装置1を備えたシミュレーションシステム2のブロック図である。図11のシミュレーションシステム2は、最適化装置1内の評価値算出部6の内部構成が図1とは異なっており、それ以外は図1と同様に構成されている。
図11の評価値算出部6は、理想出力データ記憶部6aと、誤差算出部6bと、評価値置換部6cとを有する。理想出力データ記憶部6aは、理想の実験又はシミュレーション出力結果を記憶する。例えば、出力データの項目がy1、y2、…、y10の場合に、理想の出力結果はこれら10個の項目に対応する10個の値でもよいし、一部の項目の値でもよい。
誤差算出部6bは、実験又はシミュレーションの出力データと、理想の出力結果との誤差を評価値として算出する。例えば、実験あるいはシミュレーションで得られたi番目の項目の出力データをyiとし、i番目の項目の理想の出力結果をyiバー(本明細書では、記号の上に横線のあるものを「記号バー」と表記する)とすると、誤差yは、以下の(2)式で表される。
Figure 0007061536000002
ここで、|| ||は、(3)式に示すLpノルムでもよいし、(4)式に示す無限大ノルムでもよい。
Figure 0007061536000003
Figure 0007061536000004
評価値置換部6cは、実験又はシミュレーションが失敗する場合を考慮に入れて、評価値を置換してもよい。ここで、失敗とは、ある入力パラメータに対して出力データの一部が欠損してしまうことである。例えば実験の生成物ができず、結果として出力データの一部が欠損してしまったり、あるいはシミュレーションのバグで結果が返ってこないことなどが失敗である。もしくは、実験結果が想定を超えて、測定ができずに出力データが欠けてしまう場合なども失敗である。出力データが欠損しているため、評価値も欠損値となってしまう入力パラメータが存在する。評価値置換部6cは、このような評価値が欠損である入力パラメータに対応する評価値を、欠損でない他の実験の評価値の最大値あるいは最小値で置き換えてもよい。すなわち、欠損値でないn番目の実験の評価値をynとすると、minnn又はmaxnnを用いて、欠損である入力パラメータに対応する評価値の代わりとしてもよい。
例えば、評価値置換部6cは、実験又はシミュレーションが失敗した入力パラメータに対する評価値を最大化したい場合は、この場合の評価値を、実験又はシミュレーションが失敗していない他の入力パラメータの評価値の最小値に置換する。同様に、実験又はシミュレーションが失敗した入力パラメータに対する評価値を最小化したい場合は、この場合の評価値を、実験又はシミュレーションが失敗していない他の入力パラメータの評価値の最大値に置換する。
このように、第6の実施形態では、ある入力パラメータに対する実験又はシミュレーションが失敗した場合の評価値を、実験又はシミュレーションが失敗していない他の入力パラメータの評価値に基づいて置換するため、何らかの事情で実験又はシミュレーションが失敗したとしても、不適切な評価値に基づいて入力パラメータの最適化を行うおそれがなくなる。
上述した第1~第6の実施形態による最適化装置1は、種々の事象の実験やシミュレーションに適用可能である。第1~第6の実施形態による最適化装置1の具体的な一例として、半導体装置の形状が予め定めた形状となるように、入力パラメータを最適化することが考えられる。最近の半導体装置は、温度や材料等の成膜条件を細かく制御して、多数の膜を積層し、その後にリソグラフィ等で所望の形状に加工することが多い。最終的に得られる半導体装置の形状が所望の形状か否かを評価するために、第1~第6の実施形態による最適化装置1を利用することができる。この場合、入力パラメータは、上述した成膜条件である。入力パラメータには、成膜温度や材料、成膜時間等の複数の項目を含んでおり、これら項目を調整することで、最終的に得られる半導体装置の形状が変化する。よって、上述した最適化装置1を用いれば、半導体装置が所望の形状となるように、最適な入力パラメータを選定できる。
上述した各実施形態で説明した最適化装置1及びシミュレーションシステム2の少なくとも一部は、ハードウェアで構成してもよいし、ソフトウェアで構成してもよい。ソフトウェアで構成する場合には、最適化装置1及びシミュレーションシステム2の少なくとも一部の機能を実現するプログラムをフレキシブルディスクやCD-ROM等の記録媒体に収納し、コンピュータに読み込ませて実行させてもよい。記録媒体は、磁気ディスクや光ディスク等の着脱可能なものに限定されず、ハードディスク装置やメモリなどの固定型の記録媒体でもよい。
また、最適化装置1及びシミュレーションシステム2の少なくとも一部の機能を実現するプログラムを、インターネット等の通信回線(無線通信も含む)を介して頒布してもよい。さらに、同プログラムを暗号化したり、変調をかけたり、圧縮した状態で、インターネット等の有線回線や無線回線を介して、あるいは記録媒体に収納して頒布してもよい。
1 最適化装置、2 シミュレーションシステム、3 シミュレータ、4 出力データ取得部、5 入出力データ記憶部、6 評価値算出部、7 入出力パラメータ変換部、8 次入力パラメータ決定部、9 反復判定部、10 変換次元数入力部、11 変換項目入力部、12 変換パラメータ可視化部

Claims (13)

  1. 所定の次元数の入力パラメータに基づいて実験又はシミュレーションを行った結果を示す出力データを取得する出力データ取得部と、
    前記入力パラメータと、対応する前記出力データとを組にして記憶する入出力データ記憶部と、
    前記出力データの評価値を算出する評価値算出部と、
    前記入力パラメータの次元数を減らした変換パラメータを生成する入力パラメータ変換部と、
    前記変換パラメータと対応する前記評価値との組に基づいて、次の入力パラメータを決定する次入力パラメータ決定部と、
    所定の条件を満たすまで、前記出力データ取得部、前記入出力データ記憶部、前記評価値算出部、前記入力パラメータ変換部、及び前記次入力パラメータ決定部の処理を繰り返す反復判定部と、を備える、最適化装置。
  2. 前記所定の条件を満たしたときの実験又はシミュレーションで利用した入力パラメータを、最適な入力パラメータとして出力する最適入力パラメータ出力部を備える、請求項1に記載の最適化装置。
  3. 前記入力パラメータ変換部は、前記出力データ取得部が取得する出力データのうち、一部の出力データを予測するための所定の関数に前記入力パラメータを代入して得られた前記関数の出力データを前記変換パラメータとする、請求項1又は2に記載の最適化装置。
  4. 前記次入力パラメータ決定部は、
    前記変換パラメータから獲得関数を算出する獲得関数算出部と、
    前記獲得関数が最大になるように前記次の入力パラメータを決定する獲得関数最大化部と、
    を有する請求項1乃至のいずれか一項に記載の最適化装置。
  5. 前記次入力パラメータ決定部は、
    前記変換パラメータと対応する前記評価値の平均値との関係式、及び前記変換パラメータと対応する前記評価値の分散との関係式に基づいて獲得関数を算出する獲得関数算出部と、
    前記獲得関数が最大になるように前記次の入力パラメータを決定する獲得関数最大化部と、を有する請求項1乃至のいずれか一項に記載の最適化装置。
  6. 前記変換パラメータと前記評価値との対応関係を可視化する可視化部を備える、請求項1乃至のいずれか一項に記載の最適化装置。
  7. 前記可視化部は、前記変換パラメータの各数値ごとに、対応する前記評価値をプロットしたプロット図を生成する、請求項に記載の最適化装置。
  8. 前記可視化部は、前記変換パラメータと前記評価値との対応関係を表す関係式を図示する、請求項に記載の最適化装置。
  9. 前記評価値算出部は、
    理想の実験結果又はシミュレーション結果を含む理想データを記憶する理想出力記憶部と、
    前記出力データと前記理想データとの誤差を前記評価値として算出する誤差算出部と、を有する、請求項1乃至のいずれか一項に記載の最適化装置。
  10. 前記評価値算出部は、
    前記出力データが欠損しているか否かを判定する欠損判定部と、
    ある入力パラメータに対応する出力データが欠損していると判定された場合には、出力データが欠損していない他の入力パラメータに対応する評価値に基づいて、前記ある入力パラメータに対応する評価値を置換する評価値置換部と、を有する、請求項1乃至のいずれか一項に記載の最適化装置。
  11. 前記評価値置換部は、前記ある入力パラメータに対応する出力データが欠損していると判定された場合には、最大化したい評価値を前記他の入力パラメータの評価値の最小値に置換するか、又は最小化したい評価値を前記他の入力パラメータの評価値の最大値に置換する、請求項10に記載の最適化装置。
  12. 入力パラメータに基づいてシミュレーションを実行して、シミュレーション結果を示す出力データを出力するシミュレータと、
    前記入力パラメータを最適化する最適化装置と、を備えるシミュレーションシステムであって、
    前記最適化装置は、
    所定の次元数の入力パラメータに基づいて前記シミュレータにてシミュレーションを行った結果を示す出力データを取得する出力データ取得部と、
    前記入力パラメータと、対応する前記出力データとを組にして記憶する入出力データ記憶部と、
    前記出力データの評価値を算出する評価値算出部と、
    前記入力パラメータの次元数を減らした変換パラメータを生成する入力パラメータ変換部と、
    前記変換パラメータと対応する前記評価値との組に基づいて、次の入力パラメータを決定する次入力パラメータ決定部と、
    所定の条件を満たすまで、前記出力データ取得部、前記入出力データ記憶部、前記評価値算出部、前記入力パラメータ変換部、及び前記次入力パラメータ決定部の処理を繰り返す反復判定部と、を備える、シミュレーションシステム。
  13. コンピュータは、
    所定の次元数の入力パラメータに基づいて実験又はシミュレーションを行った結果を示す出力データを取得するステップと、
    前記入力パラメータと、対応する前記出力データとを組にして記憶するステップと、
    前記出力データの評価値を算出するステップと、
    前記入力パラメータの次元数を減らした変換パラメータを生成する入力パラメータ変換部と、
    前記変換パラメータと対応する前記評価値との組に基づいて、次の入力パラメータを決定するステップと、を備え、
    所定の条件を満たすまで、前記出力データを取得するステップと、前記記憶するステップと、前記評価値を算出するステップと、前記変換パラメータを生成するステップと、前記次の入力パラメータを決定するステップと、を繰り返す、最適化方法。
JP2018150778A 2018-08-09 2018-08-09 最適化装置、シミュレーションシステム及び最適化方法 Active JP7061536B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2018150778A JP7061536B2 (ja) 2018-08-09 2018-08-09 最適化装置、シミュレーションシステム及び最適化方法
US16/296,549 US11461515B2 (en) 2018-08-09 2019-03-08 Optimization apparatus, simulation system and optimization method for semiconductor design

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018150778A JP7061536B2 (ja) 2018-08-09 2018-08-09 最適化装置、シミュレーションシステム及び最適化方法

Publications (2)

Publication Number Publication Date
JP2020027370A JP2020027370A (ja) 2020-02-20
JP7061536B2 true JP7061536B2 (ja) 2022-04-28

Family

ID=69406015

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018150778A Active JP7061536B2 (ja) 2018-08-09 2018-08-09 最適化装置、シミュレーションシステム及び最適化方法

Country Status (2)

Country Link
US (1) US11461515B2 (ja)
JP (1) JP7061536B2 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6757280B2 (ja) * 2017-03-02 2020-09-16 日本電信電話株式会社 パラメータ出力装置、パラメータ出力方法及びプログラム
JP7344149B2 (ja) 2020-02-07 2023-09-13 キオクシア株式会社 最適化装置及び最適化方法
CN111930628B (zh) * 2020-08-13 2022-05-13 中国核动力研究设计院 一种安全级显示模块图形组态仿真系统及其仿真方法
JP2022074880A (ja) * 2020-11-05 2022-05-18 株式会社東芝 パラメータ最適化装置、方法及びシステム
CN112215526B (zh) * 2020-11-05 2023-11-10 国网重庆市电力公司营销服务中心 一种计量系统评估方法、装置及可读存储介质
JP7534974B2 (ja) 2021-01-26 2024-08-15 キオクシア株式会社 情報処理装置及び情報処理方法
JP7455769B2 (ja) * 2021-02-02 2024-03-26 株式会社東芝 情報処理装置、情報処理方法、プログラム、および情報処理システム
JP2022144049A (ja) * 2021-03-18 2022-10-03 キオクシア株式会社 情報処理装置及び情報処理方法
JP2023067596A (ja) 2021-11-01 2023-05-16 株式会社東芝 パラメータベクトル値提案装置、パラメータベクトル値提案方法、パラメータ最適化方法及びパラメータベクトル値提案プログラム
WO2023162004A1 (ja) * 2022-02-22 2023-08-31 日本電信電話株式会社 合成条件生成方法、合成条件生成装置及びプログラム
CN116070469B (zh) * 2023-04-04 2023-06-09 合肥通用机械研究院有限公司 一种设备运行参数优化方法和风险管理方法
CN116800334B (zh) * 2023-06-09 2024-03-26 国网吉林省电力有限公司长春供电公司 一种基于模拟光纤通信的数据同步传输优化方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030191728A1 (en) 2002-03-27 2003-10-09 Kulkarni Bhaskar Dattatray Performance of artificial neural network models in the presence of instrumental noise and measurement errors
JP2005202960A (ja) 2004-01-12 2005-07-28 Honda Research Inst Europe Gmbh 最適化方法及び最適化プログラム
JP2008250990A (ja) 2007-03-05 2008-10-16 Denso Corp モデル導出方法、認識システム、情報処理装置、設計装置、設計方法、及び、プログラム
JP2018073360A (ja) 2016-11-04 2018-05-10 日本電信電話株式会社 入力パラメータ探索装置、入力パラメータ探索方法、及び入力パラメータ探索プログラム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS4947903B1 (ja) 1970-10-22 1974-12-18
JPH04205048A (ja) * 1990-11-29 1992-07-27 Toshiba Corp 学習機械の学習方法
JPH1185721A (ja) * 1997-09-10 1999-03-30 Mitsubishi Electric Corp 最適設計支援装置
US9287097B2 (en) * 2011-11-30 2016-03-15 Sony Corporation Predicting ultraviolet ray damage with visible wavelength spectroscopy during a semiconductor manufacturing process
WO2016151864A1 (ja) 2015-03-26 2016-09-29 日本電気株式会社 最適化処理装置、最適化処理方法、及びコンピュータ読み取り可能な記録媒体

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030191728A1 (en) 2002-03-27 2003-10-09 Kulkarni Bhaskar Dattatray Performance of artificial neural network models in the presence of instrumental noise and measurement errors
JP2005202960A (ja) 2004-01-12 2005-07-28 Honda Research Inst Europe Gmbh 最適化方法及び最適化プログラム
JP2008250990A (ja) 2007-03-05 2008-10-16 Denso Corp モデル導出方法、認識システム、情報処理装置、設計装置、設計方法、及び、プログラム
JP2018073360A (ja) 2016-11-04 2018-05-10 日本電信電話株式会社 入力パラメータ探索装置、入力パラメータ探索方法、及び入力パラメータ探索プログラム

Also Published As

Publication number Publication date
US20200050717A1 (en) 2020-02-13
JP2020027370A (ja) 2020-02-20
US11461515B2 (en) 2022-10-04

Similar Documents

Publication Publication Date Title
JP7061536B2 (ja) 最適化装置、シミュレーションシステム及び最適化方法
JP5988419B2 (ja) 予測方法、予測システムおよびプログラム
JP7344149B2 (ja) 最適化装置及び最適化方法
JP7330712B2 (ja) 材料特性予測装置および材料特性予測方法
US10884841B2 (en) Information processing device, information processing method, and recording medium
Huang et al. Competition on spatial statistics for large datasets
CN114207729A (zh) 材料特性预测系统以及材料特性预测方法
US20220229943A1 (en) Joint retrieval and mesh deformation
JP7534974B2 (ja) 情報処理装置及び情報処理方法
JP7452648B2 (ja) 学習方法、学習装置及びプログラム
US20110313800A1 (en) Systems and Methods for Impact Analysis in a Computer Network
CN111340276B (zh) 一种生成预测数据的方法及系统
WO2020040007A1 (ja) 学習装置、学習方法及び学習プログラム
WO2023085195A1 (ja) モデル生成装置、モデル生成方法及びデータ推定装置
US20140207715A1 (en) Data driven reduction of multi-scale models
Xu et al. Modeling and predicting chaotic circuit data
Chen et al. Bayesian hierarchical modelling on dual response surfaces in partially replicated designs
JP7164060B1 (ja) 情報処理装置、情報処理方法及び情報処理プログラム
JP6753442B2 (ja) モデル生成装置、モデル生成方法、及びプログラム
CN116415620A (zh) 用于神经网络的全局解释的方法和系统
WO2024075251A1 (ja) データ生成システム、産業機械、データ生成方法、およびデータ生成プログラム
JP6999207B1 (ja) データ解析方法、データ解析装置、及び、データ解析プログラム
WO2023228371A1 (ja) 情報処理装置、情報処理方法、およびプログラム
JP7516966B2 (ja) 箱選定装置、情報処理方法、及び情報処理プログラム
Chen Bayesian hierarchical modelling of dual response surfaces

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210203

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20211227

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220107

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220308

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220318

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220418

R150 Certificate of patent or registration of utility model

Ref document number: 7061536

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150