(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-08-06
(45)【発行日】2024-08-15
(54)【発明の名称】情報処理装置及び情報処理方法
(51)【国際特許分類】
G06N 99/00 20190101AFI20240807BHJP
G06N 20/00 20190101ALI20240807BHJP
G06F 17/18 20060101ALI20240807BHJP
【FI】
G06N99/00 180
G06N20/00 130
G06F17/18 A
(21)【出願番号】P 2021010522
(22)【出願日】2021-01-26
【審査請求日】2023-03-01
(73)【特許権者】
【識別番号】318010018
【氏名又は名称】キオクシア株式会社
(73)【特許権者】
【識別番号】000003078
【氏名又は名称】株式会社東芝
(74)【代理人】
【識別番号】100091487
【氏名又は名称】中村 行孝
(74)【代理人】
【識別番号】100120031
【氏名又は名称】宮嶋 学
(74)【代理人】
【識別番号】100107582
【氏名又は名称】関根 毅
(74)【代理人】
【識別番号】100118843
【氏名又は名称】赤岡 明
(74)【代理人】
【識別番号】100103263
【氏名又は名称】川崎 康
(72)【発明者】
【氏名】横田 怜
(72)【発明者】
【氏名】桐淵大貴
(72)【発明者】
【氏名】西川武一郎
(72)【発明者】
【氏名】上地 忠良
(72)【発明者】
【氏名】小池 聡
【審査官】青木 重徳
(56)【参考文献】
【文献】特開2020-027370(JP,A)
【文献】特開2017-090947(JP,A)
【文献】特開2018-116713(JP,A)
【文献】米国特許出願公開第2003/0191728(US,A1)
【文献】米国特許出願公開第2017/0169360(US,A1)
【文献】二角 直秀,2021年、モノづくりAI活用事始め~知っておきたいAI基礎知識~ 解説3,工場管理,日本,日刊工業新聞社,2021年02月01日,第67巻 第2号,pp.68-72
(58)【調査した分野】(Int.Cl.,DB名)
G06N 99/00
G06N 20/00
G06F 17/18
(57)【特許請求の範囲】
【請求項1】
所定の次元数の入力パラメータに基づいて実験又はシミュレーションを行って得られる出力値を取得する出力データ取得部と、
前記出力値の評価値を算出して出力する評価値算出部と、
所定の基準を満たさない前記評価値を変換した規定値を含む変換評価値を出力する外れ値処理部と、
前記入力パラメータと対応する前記変換評価値とに基づいて、次の入力パラメータを決定する次入力パラメータ決定部と、
所定の条件を満たすまで、前記出力データ取得部、前記評価値算出部、前記外れ値処理部、及び前記次入力パラメータ決定部の処理を繰り返す反復判定部と、
外れ値のデータと外れ値でないデータとを教師データとして、前記評価値が前記外れ値か前記外れ値でないかを学習する分類器と、を備え、
前記外れ値処理部は、前記分類器で前記外れ値であると判定された前記評価値を、前記分類器で前記外れ値でないと判定された前記評価値のパーセンタイル値に変換する、情報処理装置。
【請求項2】
所定の次元数の入力パラメータに基づいて実験又はシミュレーションを行って得られる出力値を取得する出力データ取得部と、
前記出力値の評価値を算出して出力する評価値算出部と、
所定の基準を満たさない前記評価値を変換した規定値を含む変換評価値を出力する外れ値処理部と、
前記入力パラメータと対応する前記変換評価値とに基づいて、次の入力パラメータを決定する次入力パラメータ決定部と、
所定の条件を満たすまで、前記出力データ取得部、前記評価値算出部、前記外れ値処理部、及び前記次入力パラメータ決定部の処理を繰り返す反復判定部と、を備え、
前記外れ値処理部は、前記規定値を上回るか、又は下回る前記評価値を前記所定の基準を満たさないと判断して、前記規定値に変換する、情報処理装置。
【請求項3】
所定の次元数の入力パラメータに基づいて実験又はシミュレーションを行って得られる出力値を取得する出力データ取得部と、
前記出力値の評価値を算出して出力する評価値算出部と、
所定の基準を満たさない前記評価値を変換した規定値を含む変換評価値を出力する外れ値処理部と、
前記入力パラメータと対応する前記変換評価値とに基づいて、次の入力パラメータを決定する次入力パラメータ決定部と、
所定の条件を満たすまで、前記出力データ取得部、前記評価値算出部、前記外れ値処理部、及び前記次入力パラメータ決定部の処理を繰り返す反復判定部と、を備え、
前記外れ値処理部は、規定上限値と規定下限値との間の範囲以外の前記評価値を前記所定の基準を満たさないと判断して、前記規定値に変換する、情報処理装置。
【請求項4】
前記外れ値処理部は、前記評価値の統計量に基づいて、前記規定上限値と前記規定下限値とを決定する、請求項
3に記載の情報処理装置。
【請求項5】
前記外れ値処理部は、前記規定上限値と前記規定下限値との少なくとも一方を、前記評価値のパーセンタイル値に基づいて決定する、請求項
3に記載の情報処理装置。
【請求項6】
前記外れ値処理部は、前記規定値を前記規定上限値又は前記規定下限値にする、請求項
3乃至5のいずれか一項に記載の情報処理装置。
【請求項7】
前記外れ値処理部は、前記規定値を前記評価値の推定値の平均値にする、請求項
3乃至5のいずれか一項に記載の情報処理装置。
【請求項8】
前記外れ値処理部は、前記次の入力パラメータの評価値が前記規定上限値と規定下限値との間の範囲以外の場合、前記次の入力パラメータの評価を所定の回数繰り返し、その繰り返した評価結果の平均値又はパーセンタイル値を前記次の入力パラメータの評価値とする、請求項
3乃至7のいずれか一項に記載の情報処理装置。
【請求項9】
前記入力パラメータの一部の次元を選択次元として探索範囲を限定した変換探索範囲を出力する探索範囲変換部を備え、
前記次入力パラメータ決定部は、前記入力パラメータと、対応する前記変換評価値と、前記変換探索範囲とに基づいて、次の入力パラメータを決定する、請求項1乃至
8のいずれか一項に記載の情報処理装置。
【請求項10】
所定の次元数の入力パラメータに基づいて実験又はシミュレーションを行って得られる出力値を取得する出力データ取得部と、
前記出力値の評価値を算出して出力する評価値算出部と、
所定の基準を満たさない前記評価値を変換した規定値を含む変換評価値を出力する外れ値処理部と、
前記入力パラメータの一部の次元を選択次元として探索範囲を限定した変換探索範囲を出力する探索範囲変換部と、
前記入力パラメータと、対応する前記変換評価値と、前記変換探索範囲とに基づいて、次の入力パラメータを決定する次入力パラメータ決定部と、
所定の条件を満たすまで、前記出力データ取得部、前記評価値算出部、
前記外れ値処理部、前記探索範囲変換部、及び前記次入力パラメータ決定部の処理を繰り返す反復判定部と、を備える、情報処理装置。
【請求項11】
前記探索範囲変換部は、所定のルール又はランダムな選択基準に基づいて、前記入力パラメータの一部の次元を前記選択次元とする、請求項
9又は10に記載の情報処理装置。
【請求項12】
前記探索範囲変換部は、前記評価値が最善値を取るときの前記選択次元の前記入力パラメータの値を固定値とする前記変換探索範囲を出力する、請求項
9乃至11のいずれか一項に記載の情報処理装置。
【請求項13】
前記探索範囲変換部は、前記評価値が所定の順位以内のときの前記選択次元の前記入力パラメータの値に基づいて、前記選択次元の前記入力パラメータの値を固定値にする、請求項
9乃至11のいずれか一項に記載の情報処理装置。
【請求項14】
前記探索範囲変換部は、前記評価値が最善値から所定値のずれの範囲内のときの前記選択次元の前記入力パラメータの値に基づいて、前記選択次元の前記入力パラメータの値を固定値にする、請求項
9乃至11のいずれか一項に記載の情報処理装置。
【請求項15】
前記探索範囲変換部は、所定のルール又はランダムな選択基準に基づいて、前記選択次元とする前記入力パラメータの数を設定する、請求項
9乃至14のいずれか一項に記載の情報処理装置。
【請求項16】
前記次入力パラメータ決定部は、
前記入力パラメータと対応する前記変換評価値の平均値との関係式、及び前記入力パラメータと対応する前記変換評価値の分散との関係式に基づいて獲得関数を算出する獲得関数算出部と、
前記獲得関数が最大になるように前記次の入力パラメータを決定する獲得関数最大化部と、を有する請求項1乃至
15のいずれか一項に記載の情報処理装置。
【請求項17】
前記入力パラメータに対応する前記出力値又は前記評価値が制約違反と判定された場合には、最大化したい前記評価値を他の前記入力パラメータの前記変換評価値の最小値に置換するか、又は最小化したい前記評価値を他の前記入力パラメータの前記変換評価値の最大値に置換する評価値置換部を有する、請求項1乃至
16のいずれか一項に記載の情報処理装置。
【請求項18】
前記評価値、前記変換評価値、及び外れ値を除く評価値の少なくとも一つと前記入力パラメータとの関係と、前記評価値、前記変換評価値、及び外れ値を除く評価値の少なくとも一つの平均値又は分散の推定値と前記入力パラメータとの関係と、これらの関係に基づいて算出される獲得関数値との少なくとも一つを可視化する可視化部を有する、請求項1乃至
17のいずれか一項に記載の情報処理装置。
【請求項19】
所定の次元数の入力パラメータに基づいて実験又はシミュレーションを行って得られる出力値を取得し、
前記出力値の評価値を算出して出力し、
所定の基準を満たさない前記評価値を変換した規定値を含む変換評価値を出力し、
前記入力パラメータと対応する前記変換評価値とに基づいて、次の入力パラメータを決定し、
所定の条件を満たすまで、前記出力値の取得処理、前記評価値の算出処理、前記変換評価値の出力処理、及び前記次の入力パラメータの決定処理を繰り返
し、
外れ値のデータと外れ値でないデータとを教師データとして、前記評価値が前記外れ値か前記外れ値でないかを学習し、
前記変換評価値を出力する際には、前記学習により前記外れ値であると判定された前記評価値を、前記学習により前記外れ値でないと判定された前記評価値のパーセンタイル値に変換する、情報処理方法。
【請求項20】
所定の次元数の入力パラメータに基づいて実験又はシミュレーションを行って得られる出力値を取得し、
前記出力値の評価値を算出して出力し、
所定の基準を満たさない前記評価値を変換した規定値を含む変換評価値を出力し、
前記入力パラメータと対応する前記変換評価値とに基づいて、次の入力パラメータを決定し、
所定の条件を満たすまで、前記出力値の取得処理、前記評価値の算出処理、前記変換評価値の出力処理、及び前記次の入力パラメータの決定処理を繰り返し、
前記規定値を上回るか、又は下回る前記評価値を前記所定の基準を満たさないと判断して、前記規定値に変換する、情報処理方法。
【請求項21】
所定の次元数の入力パラメータに基づいて実験又はシミュレーションを行って得られる出力値を取得し、
前記出力値の評価値を算出して出力し、
所定の基準を満たさない前記評価値を変換した規定値を含む変換評価値を出力し、
前記入力パラメータと対応する前記変換評価値とに基づいて、次の入力パラメータを決定し、
所定の条件を満たすまで、前記出力値の取得処理、前記評価値の算出処理、前記変換評価値の出力処理、及び前記次の入力パラメータの決定処理を繰り返し、
規定上限値と規定下限値との間の範囲以外の前記評価値を前記所定の基準を満たさないと判断して、前記規定値に変換する、情報処理方法。
【請求項22】
所定の次元数の入力パラメータに基づいて実験又はシミュレーションを行って得られる出力値を取得し、
前記出力値の評価値を算出して出力し、
所定の基準を満たさない前記評価値を変換した規定値を含む変換評価値を出力し、
前記入力パラメータの一部の次元を選択次元として探索範囲を限定した変換探索範囲を出力し、
前記入力パラメータと、対応する前記変換評価値と、前記変換探索範囲とに基づいて、次の入力パラメータを決定し、
所定の条件を満たすまで、前記出力値の取得処理、前記評価値の算出処理、
前記変換評価値の出力処理、前記変換探索範囲の出力処理、及び前記次の入力パラメータの決定処理を繰り返す、情報処理方法。
【請求項23】
コンピュータに、
所定の次元数の入力パラメータに基づいて実験又はシミュレーションを行って得られる出力値を取得する手順と、
前記出力値の評価値を算出して出力する手順と、
所定の基準を満たさない前記評価値を変換した規定値を含む変換評価値を出力する手順と、
前記入力パラメータと対応する前記変換評価値とに基づいて、次の入力パラメータを決定する手順と、
所定の条件を満たすまで、前記出力値の取得処理、前記評価値の算出処理、前記変換評価値の出力処理、及び前記次の入力パラメータの決定処理を繰り返す手順と、を実行させ、
外れ値のデータと外れ値でないデータとを教師データとして、前記評価値が前記外れ値か前記外れ値でないかを学習し、
前記変換評価値を出力する際には、前記学習により前記外れ値であると判定された前記評価値を、前記学習により前記外れ値でないと判定された前記評価値のパーセンタイル値に変換するためのプログラム。
【請求項24】
コンピュータに、
所定の次元数の入力パラメータに基づいて実験又はシミュレーションを行って得られる出力値を取得する手順と、
前記出力値の評価値を算出して出力する手順と、
所定の基準を満たさない前記評価値を変換した規定値を含む変換評価値を出力する手順と、
前記入力パラメータと対応する前記変換評価値とに基づいて、次の入力パラメータを決定する手順と、
所定の条件を満たすまで、前記出力値の取得処理、前記評価値の算出処理、前記変換評価値の出力処理、及び前記次の入力パラメータの決定処理を繰り返す手順と、を実行させ、
前記規定値を上回るか、又は下回る前記評価値を前記所定の基準を満たさないと判断して、前記規定値に変換するためのプログラム。
【請求項25】
コンピュータに、
所定の次元数の入力パラメータに基づいて実験又はシミュレーションを行って得られる出力値を取得する手順と、
前記出力値の評価値を算出して出力する手順と、
所定の基準を満たさない前記評価値を変換した規定値を含む変換評価値を出力する手順と、
前記入力パラメータと対応する前記変換評価値とに基づいて、次の入力パラメータを決定する手順と、
所定の条件を満たすまで、前記出力値の取得処理、前記評価値の算出処理、前記変換評価値の出力処理、及び前記次の入力パラメータの決定処理を繰り返す手順と、を実行させ、
規定上限値と規定下限値との間の範囲以外の前記評価値を前記所定の基準を満たさないと判断して、前記規定値に変換するためのプログラム。
【請求項26】
コンピュータに、
所定の次元数の入力パラメータに基づいて実験又はシミュレーションを行って得られる出力値を取得する手順と、
前記出力値の評価値を算出して出力する手順と、
所定の基準を満たさない前記評価値を変換した規定値を含む変換評価値を出力する手順と、
前記入力パラメータの一部の次元を選択次元として探索範囲を限定した変換探索範囲を出力する手順と、
前記入力パラメータと、対応する前記変換評価値と、前記変換探索範囲とに基づいて、次の入力パラメータを決定する手順と、
所定の条件を満たすまで、前記出力値の取得処理、前記評価値の算出処理、前記変換評価値の出力処理、前記変換探索範囲の出力処理、及び前記次の入力パラメータの決定処理を繰り返す手順と、を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の一実施形態は、情報処理装置及び情報処理方法に関する。
【背景技術】
【0002】
シミュレータが種々の目的で利用されている。シミュレータで複雑な事象の動作を模擬的に実行したり、シミュレーション上で理想の結果を得たりするには、シミュレータの入力パラメータの値を調整する必要がある。例えば、シミュレータの出力データと理想の出力データの誤差を評価値として計算する評価関数を定義する場合、最小の評価値が得られる入力パラメータの値を探索する必要がある。
【0003】
複雑な事象のシミュレーションには時間がかかる。現実的な時間内に複雑なシミュレーションの最適な入力パラメータを設定するには、少ないシミュレーション回数で入力パラメータを調整する必要がある。そこで、例えば、ベイズ最適化のように入力パラメータから評価値を推定して、推定された評価値が小さい入力パラメータを優先的に探索する手法が提案されている。
【0004】
しかしながら、半導体製品のような非線形特性を持つシミュレーションの場合、入力パラメータに対して出力データが急峻に変化し、大多数の出力データから大きく外れた値(外れ値)が得られることがある。この場合、外れ値の影響で最適化に寄与する評価値の傾向を推定できず、現実的な時間内に最適な入力パラメータを設定できないおそれがある。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
本発明の一態様では、外れ値を適切に処理して最適化の傾向を簡易かつ迅速に推定可能な情報処理装置及び情報処理方法を提供するものである。
【課題を解決するための手段】
【0007】
上記の課題を解決するために、本発明の一実施形態によれば、所定の次元数の入力パラメータに基づいて実験又はシミュレーションを行って得られる出力値を取得する出力データ取得部と、
前記出力値の評価値を算出して出力する評価値算出部と、
所定の基準を満たさない前記評価値を変換した規定値を含む変換評価値を出力する外れ値処理部と、
前記入力パラメータと対応する前記変換評価値とに基づいて、次の入力パラメータを決定する次入力パラメータ決定部と、
所定の条件を満たすまで、前記出力データ取得部、前記評価値算出部、前記外れ値処理部、及び前記次入力パラメータ決定部の処理を繰り返す反復判定部と、を備える、情報処理装置が提供される。
【図面の簡単な説明】
【0008】
【
図1】一実施形態による情報処理装置1を備えたシミュレーションシステム2の概略構成を示すブロック図。
【
図2A】入出力データ記憶部に記憶されるデータの一例を示す図。
【
図3】入出力データ記憶部5に記憶されるデータの一例を示す図。
【
図4】評価値と対応する変換評価値とを組にして同一行に並べた一例を示す図。
【
図5】シミュレーションシステム2の処理動作の一例を示すフローチャート。
【
図6】第2の実施形態による情報処理装置1を備えたシミュレーションシステム2の処理動作の一例を示すフローチャート。
【
図7】第3の実施形態による情報処理装置1を備えたシミュレーションシステム2の処理動作の一例を示すフローチャート。
【
図8】第5の実施形態による情報処理装置1を備えたシミュレーションシステム2のブロック図。
【
図9】Aは入力パラメータx1、x2、…、x11の元の探索範囲の一例を示す図、Bは入力パラメータのうち、2個の次元を乱択した結果x2とx11が選ばれた例を示す図、Cは変換探索範囲を示す図。
【
図10】第5の実施形態によるシミュレーションシステムのフローチャート。
【
図11】第6の実施形態による情報処理装置を備えたシミュレーションシステムのブロック図。
【
図12】第7の実施形態による情報処理装置を備えたシミュレーションシステム2のブロック図。
【
図13】入力パラメータと評価値の平均の推定値、入力パラメータと外れ値を除く評価値の平均の推定値の可視化結果の模式図。
【発明を実施するための形態】
【0009】
以下、図面を参照して、情報処理装置及び情報処理方法の実施形態について説明する。以下では、情報処理装置の主要な構成部分を中心に説明するが、情報処理装置及び情報処理方法には、図示又は説明されていない構成部分や機能が存在しうる。以下の説明は、図示又は説明されていない構成部分や機能を除外するものではない。
【0010】
図1は一実施形態による情報処理装置1を備えたシミュレーションシステム2の概略構成を示すブロック図である。
図1のシミュレーションシステム2は、情報処理装置1とシミュレータ3を備えている。シミュレータ3は、入力パラメータに基づいてシミュレーションを実行して、シミュレーション結果を示す出力データを出力する。情報処理装置1は、シミュレータ3に入力(設定)する入力パラメータを最適化する。このため、
図1の情報処理装置1は、最適化装置と呼ぶこともできる。
【0011】
図1のシミュレーションシステム2は、1台又は複数台のコンピュータで構成することができる。この場合、コンピュータは、情報処理装置1の処理動作を行うプログラムと、シミュレータ3の処理動作を行うプログラムとを実行する。あるいは、情報処理装置1とシミュレータ3の少なくとも一部の処理動作を専用のハードウエア(例えば、信号処理プロセッサなどの半導体装置など)で実行してもよい。
【0012】
なお、
図1の情報処理装置1は、必ずしもシミュレータ3に接続する必要ない。例えば、シミュレータ3の代わりに、各種の実験を行う実験装置とともに
図1の情報処理装置1を用いてもよい。すなわち、
図1の情報処理装置1は、シミュレーションシステム2に内蔵されるとは限らない。
【0013】
図1の情報処理装置1は、出力データ取得部4と、入出力データ記憶部5と、評価値算出部6と、外れ値処理部7と、次入力パラメータ決定部8と、反復判定部9とを有する。
【0014】
出力データ取得部4は、所定の次元数の入力パラメータに基づいて、実験又はシミュレーションを行った結果を示す出力データを取得する。本明細書では、実験で用いられる、あるいはシミュレータ3に入力される、複数の入力パラメータが存在することを前提としており、入力パラメータの数(項目数)を次元数と呼ぶ。出力データ取得部4は、シミュレータ3にてシミュレーションを行った結果を示す出力データを取得するだけでなく、実験結果を示す出力データを示す出力データを取得してもよい。以下では、シミュレータ3からの出力データを取得して、シミュレータ3への次入力パラメータを決定する処理について主に説明するが、シミュレータ3の代わりに実験装置からの出力データを取得して、実験装置への次入力パラメータを決定することも可能である。
【0015】
入出力データ記憶部5は、入力パラメータと対応する出力データを組にして記憶する。
図2Aの例では、入力パラメータは11個の項目x1、x2、…、x11からなり、各項目はそれぞれ個別の値を有する。各項目の値は、連続値、離散値、又はカテゴリ変数でもよい。入力パラメータの各項目は、温度や圧力等の物理的なパラメータでもよいし、処理時間や処理条件などの実験に関するパラメータでもよい。入力パラメータの項目数や項目の内容は任意である。
【0016】
図2Bは出力データの一例を示す図である。
図2Bの例では、出力データは20個の項目y1、y2、…、y20からなり、各項目はそれぞれ個別の値を有する。出力データは、入力パラメータを用いて実験を行った結果、又は入力パラメータをシミュレータ3に入力してシミュレーションを行った結果を示している。より具体的には、出力データは、実験に用いた各種センサの検出データでもよいし、実験結果やシミュレーション結果の物理的な特性値や測定値でもよい。
【0017】
図3は入出力データ記憶部5に記憶されるデータの一例を示す図である。
図3の例では、
図2Aの入力パラメータと、対応する
図2Bの出力データとがグルーピングされて、入出力データ記憶部5に記憶されている。
【0018】
評価値算出部6は、出力データの評価値を算出する。評価値は、入力パラメータに対して1次元の値である。評価値は、実験又はシミュレーションの結果として得られた出力データのうちの一つでもよいし、実験又はシミュレーションの結果として得られた複数の出力データを合成して演算した値でもよい。例えば、実験又はシミュレーションの結果として得られた出力データと理想的な出力データとの差分が評価値とされてもよいし、実験又はシミュレーションの結果として得られた複数の出力データの和や積が評価値とされてもよい。
【0019】
例えば、複数の条件で測定したデータをシミュレーションで再現したい場合、理想データは複数の条件で実測したデータとしてもよい。このとき、出力データが20個の項目y1、y2、…、y20からなり、y1、y2、y3、y4、y5は条件Aのときの出力データ、y6、y7、y8、y9、y10は条件Bのときの出力データ、y11、y12、y13、y14、y15は条件Cのときの出力データ、y16、y17、y18、y19、y20は条件Dのときの出力データである場合、各条件のときの出力データと理想データの差分の和が評価値とされてもよい。
【0020】
外れ値処理部7は、所定の規定値に基づき評価値を変換した変換評価値を算出する。例えば、規定値
ythを超える評価値
yを前記規定値
ythに変換した変換評価値
Yが出力されてもよい。この変換式は式(1)に示される。なお、式(1)と図面では、規定値
ythと評価値
yは、"yth"、"y"の上にバーを付して表記され、変換評価値
Yは小文字の"y"の上に二重バーを付して表記される。
【数1】
ythを基準にして評価値の悪い方に超えた評価値は
ythに変換されている。
【0021】
ここで、ythは、これまでに得た評価値の統計量に基づき算出してもよい。例えば、ythは、これまでに得た評価値のパーセンタイル値(百分位数)であってもよい。パーセンタイル値は、データを小さい順に並べた際に、ある割合の個数に位置するデータの値を指す。9個の評価値y={1,2,3,4,5,6,7,8,9}が得られていた場合、50パーセンタイル値は、範囲[1、9]を50/100:1-50/100に内分した位置、すなわち、1-50/100+50/100×9=5個目の評価値5である。評価値の最小化問題の設定では、評価値が大きいほど評価値が悪くなるので、これまでに得た評価値のうち、規定値ythを基準として評価値の悪い方、すなわちこれまでに得た評価値の50パーセンタイル値以上の評価値が50パーセンタイル値に変換される。何パーセンタイル値をythとするかは、最適化の評価予算に応じて変更されてもよい。規定値=qパーセンタイル値とする場合、評価予算に応じてqが徐々に下げられてもよいし、上げられてもよい。
【0022】
あるいは、n<mとして、nパーセンタイル値とmパーセンタイル値の差が求められ、評価値の最大化問題の場合にyth=[nパーセンタイル値]+[mパーセンタイル値-nパーセンタイル値]×[係数]、最小化問題の場合にyth=[mパーセンタイル値]+[mパーセンタイル値-nパーセンタイル値]×[係数]とされてもよい。ここで、[係数]は0以上の値とする。
【0023】
あるいは、ythは、平均値と標準偏差を用いて決めてもよい。例えば、規定値は、[得られた評価値の平均値]±[係数]×[得られた評価値の標準偏差値](±は評価値の最大化問題で-、評価値の最小化問題で+)としてもよい。[係数]は最適化の評価予算に応じて変更してもよい。[係数]は徐々に下げてもよいし、上げてもよい。ここで、[係数]は0以上の値とする。
【0024】
あるいは、評価値の分布が仮定され、その分布から発生確率の低いデータが外れ値とみなされ、外れ値でないデータの評価値の最大値(これは評価値の最小化問題の場合であり、評価値の最大化問題の場合は最小値)がythとされてもよい。例えば、[評価値の平均値と評価値の差の二乗]はカイ二乗分布に従うと仮定して、カイ二乗検定が行われ、所定の有意水準を満たす評価値の最大値(これは評価値の最小化問題の場合であり、評価値の最大化問題の場合は最小値)が規定値ythとされてもよい。
【0025】
あるいは、外れ値データと外れ値でないデータが既知の場合は、外れ値データと外れ値でないデータが分類器で学習されてもよい。例えば、分類器としてSVN(サポートベクターマシン)が用いられ、外れ値データと外れ値でないデータが事前に学習され、SVNにより、外れ値と判断されないデータのうち、評価値が最大の評価値(これは評価値の最小化問題の場合であり、評価値の最大化問題の場合は最小値)が規定値ythとされてもよい。分類器はロジスティック回帰やランダムフォレスト,ニューラルネットワークでもよい。
【0026】
図4は評価値と対応する変換評価値とを組にして同一行に並べた一例を示す図である。
図4では、評価値の最小化問題の設定で規定値
ythが0.7とされた場合に、評価値
yが変換評価値
Yに変換される例を示している。
図4の各データは、入出力データ記憶部5、あるいは入出力データ記憶部5とは別個に設けられる不図示の記憶部に記憶されてもよい。
【0027】
次入力パラメータ決定部8は、上述した変換評価値と対応する入力パラメータとの組に基づいて、実験で用いられる又はシミュレータ3に入力される次の入力パラメータを決定する。
【0028】
例えば、変換評価値と対応する入力パラメータとの組に基づいて、ブラックボックス最適化手法を用いて、次の入力パラメータが決定されてもよい。採用する最適化手法は、遺伝的アルゴリズムでもよいし、進化戦略や共分散行列適応進化戦略(CMA-ES:Covariance Matrix Adaptation Evolution Strategy)でもよい。また、ベイズ最適化やSMBO(Sequential Model-Based Optimization)を用いて、次の入力パラメータが決定されてもよい。
【0029】
決定した次の入力パラメータは、ディスプレイに表示されてもよいし、通信機器を用いて実験装置あるいはシミュレータに表示されてもよいし、通信機器を用いて実験装置あるいはシミュレータ3に直接出力されてもよい。
【0030】
反復判定部9は、所定の条件を満たすまで、出力データ取得部4、入出力データ記憶部5、評価値算出部6、外れ値処理部7、及び次入力パラメータ決定部8の処理を繰り返す。所定の条件を満たすとは、例えば、実験又はシミュレーションの回数が閾値を超えた場合でもよいし、実験又はシミュレーションの開始からの経過時間が閾値を超えた場合でもよいし、実験又はシミュレーションの開始からの経過時間が閾値を超えた場合でもよいし、評価値が閾値を上回った(又は下回った)場合でもよい。あるいは、これらを組み合わせた条件でもよい。
【0031】
図5はシミュレーションシステム2の処理動作の一例を示すフローチャートである。まず、入力パラメータがシミュレータ3に入力されて、シミュレーションが実行される(ステップS1)。このステップS1では、ラテン方格やソボル列を用いて入力パラメータが決定されてもよい。
【0032】
次に、出力データ取得部4は、シミュレータ3のシミュレーション結果を示す出力データを取得し、取得した出力データを入出力データ記憶部5に記憶する(ステップS2)。ステップS3で所定の条件を満たしたと判定されると、最適な入力パラメータが算出されて(ステップS4)、その最適な入力パラメータが出力される(ステップS5)。ステップS4では、例えば、評価値算出部6で算出された評価値が最大(又は最小)になるときの入力パラメータが最適な入力パラメータとされてもよい。このように、
図1の情報処理装置1は、最適な入力パラメータを出力する最適入力パラメータ算出部を備えていてもよい。
【0033】
ステップS3で所定の条件を満たしていないと判定されると、外れ値処理部7は、得られた評価値のうち、規定値を超える評価値を規定値に変換する(ステップS6)。例えば、規定値として、50パーセンタイル値が用いられる場合は、得られている評価値のうち、50パーセンタイル値以上(これは評価値の最小化の場合であり、最大化の場合は50パーセンタイル値以下)の評価値が50パーセンタイル値に変換され、そうでない場合は元の評価値のままにした変換評価値が出力される。ステップS6の処理は、入出力データ記憶部に記憶された入出力データ(評価値)が増えるたびに行われてもよいし、所定の量の入出力データが追加された場合に行われてもよい。徐々に活用的な探索になるように、例えば、規定値は50パーセンタイル値から40パーセンタイル値、30パーセンタイル値と徐々に下げられてもよい。
【0034】
次に、次入力パラメータ決定部8は、入力パラメータと対応する変換評価値の組に基づいて次入力パラメータを決定する(ステップS7~S9)。例えば、ベイズ最適化を用いる場合には、まずガウス過程によって入力パラメータと対応する変換評価値の関係が推定される(ステップS7)。次に、ステップS8の推定結果に基づいて獲得関数が算出される(ステップS8)。最後に、獲得関数が最大となるような次入力データが決定される(ステップS9)。その後、反復判定部9は、所定の条件を満たすまで、ステップS1以降の処理を繰り返す。
【0035】
このように、第1の実施形態では、規定値を超える評価値を規定値に変換した変換評価値が算出され、入力パラメータと対応する変換評価値とに基づいて次の入力パラメータが決定されて、所定の条件を満たすまで、シミュレーションの実行と、変換評価値の算出と、次の入力パラメータの決定とが繰り返される。
【0036】
これにより、大多数の評価値に比べ大きく外れた悪い外れ値が発生するような最適化問題において、悪い外れ値が、よい評価値の最大値(評価値の最小化問題の場合であり、最大化問題の場合は、最小値)に変換され、外れ値ではなくなる。
【0037】
通常、ベイズ最適化のような、入力パラメータと評価値からモデルを構築しモデルに基づいて最適な評価値を算出する場合、外れ値のモデルの予測誤差に対する影響は大きく、最適化に寄与する良い評価値の傾向(最小化問題でいえば、小さな評価値)ではなく、悪い外れ値(最小化問題でいえば、大きな評価値)に過適合してしまう。
【0038】
しかし、本実施形態によれば、悪い外れ値が良い評価値の最大値に変換されるので、悪い外れ値は悪い値と学習しつつ、過度に悪い外れ値に適合しないため、よい評価値の傾向を学習することができる。したがって、従来に比べて、よい評価値の傾向の推定が容易になるので、より迅速に入力パラメータを最適に設定することができる。
【0039】
決まったデータセットを学習・予測する場合は、単純に規定値を超えるデータを外れ値として捨てることで、より汎化能力の高いモデルを学習できるが、最適化に使われるモデルの場合、データが増える度逐次的にモデルが更新されるので、単純にデータを捨ててしまうと、モデルの更新が行われず、同じような入力パラメータを次に評価する入力パラメータとしやすくなる。よって、外れ値を捨てるのではなく、良い評価値の最大値に変換する処理が効果的である。
【0040】
例えば、測定器の異常などで本当は悪くない入力パラメータが決定的に悪い評価値とされることを防ぐ効果がある。
【0041】
(第2の実施形態)
第2の実施形態による情報処理装置1の内部構成は、
図1の情報処理装置1と共通するが、外れ値処理部7の処理が異なる。
図6は第2の実施形態による情報処理装置1を備えたシミュレーションシステム2の処理動作の一例を示すフローチャートである。
図6は、
図5のステップS6がステップS6aに置き換わっている点が
図5と異なる。第2の実施形態における外れ値処理部は、規定上限値と規定下限値の範囲外の評価値を規定値に変換した変換評価値を出力する(ステップS6a)。
【0042】
第1の実施形態においての外れ値は、シミュレーションあるいは実験装置の特性として、特定の入力パラメータにおいて、悪い外れ値が発生することを主に想定した実施形態となっていたが、第2の実施形態は、測定器の異常や測定の雑音により、外れ値が発生する場合を主に想定している。したがって、第2の実施形態においては、異常に良い評価値、異常に悪い評価値に対処するため、規定上限値と規定下限値が設けられている。
【0043】
例えば、規定上限値、規定下限値は、パーセンタイル値、平均値、標準偏差値に基づき、決められてもよい。より具体的には、第1の実施形態と同様に、規定上限値、規定下限値が決められてもよい。例えば、規定上限値は指定パーセンタイル値に設定され、規定上限値を超える評価値は規定上限値に変換され、規定下限値は [得られた評価値の平均値]-[係数]×[得られた評価値の標準偏差値]に変換され、規定下限値を超える(下回る)評価値は規定下限値に置換されてもよい。
【0044】
また、例えば、評価値の最小化であれば、既存の評価値よりも小さな評価値を得ることが目標となるが規定下限値が大きいと、より小さな評価値の傾向を捉えられない恐れがあるので、評価値を小さくしたい場合の規定下限値、評価値を大きくしたい場合の規定上限値については、ユーザの知見からありえないと想定される値に設定されてもよい。
【0045】
また、そうしたユーザの知見からありえないと想定される規定上限値又は規定下限値を超える評価値が得られた場合には、その評価値を回避するように、評価値の最小化の場合は規定上限値に、評価値の最大化の場合は規定下限値に変換されてもよい。ユーザの知見はないが、過去に類似のタスクのデータが残っていれば、そのデータからあり得る最小値は規定下限値に設定されてもよい。
【0046】
あるいは、入力パラメータごとに規定上限値、規定下限値は変換されてもよい。例えば、ガウス過程を用いて、入力パラメータと評価値の関係が推定され、評価済み入力パラメータにおける[ガウス過程の予測平均]+[係数]×[ガウス過程の予測標準偏差]は規定上限値、評価済み入力パラメータにおける[ガウス過程の予測平均]-[係数]×[ガウス過程の予測標準偏差]は規定下限値に変換されてもよい。このときの規定値については、規定下限値を下回る評価値は規定下限値に変換され、規定上限値を上回る評価値は規定上限値に変換されてもよい。
【0047】
また、ノイズによる異常値は、良くも悪くもない値と考え、規定上限値、規定下限値範囲外の評価値として、ノイズの評価値がモデルに反映させないようにするため、予測平均値が代入されてもよい。
【0048】
あるいは、次入力パラメータ決定部8で算出した次入力パラメータの評価値が規定上限値、規定下限値範囲外の値が得られた場合のみ、ノイズにより偶然得られたかどうかを確かめるため、同じ入力パラメータ値を繰り返し評価させ、以降、評価値算出部6で計算される、その入力パラメータの評価値が以降、繰返し評価した結果から算出される平均値やメディアン、パーセンタイル値に置換されるようにしてもよい。また、規定上限値、規定下限値範囲外の値が得られたことがユーザに通知されてもよい。
【0049】
このように、第2の実施形態では、雑音や異常により外れ値が発生することが想定される場合において、外れ値の影響を低減しながら最適化を続けることが出来るため、最適化がうまくいかなくなった場合に、ユーザが雑音や異常の影響があったことを確認し、最適化をやり直す手戻りを減らす効果がある。
【0050】
(第3の実施形態)
第3の実施形態による情報処理装置1は、構成自体は
図1の情報処理装置1と共通するが、外れ値処理部7の処理が異なる。第3の実施形態における外れ値処理部7は、評価値を、順序を保持した等差な値に変換する。
【0051】
例えば、すべての評価値を所定の値であるαに変換してもよい。ここで、αは何パーセンタイル値かを100で割った値(クォンタイル値)を指す。したがって、0≦α≦1であり、例えば、該当データがデータの中央値の場合、50パーセンタイル値であり、α=50/100=0.5である。
【0052】
あるいは、すべての評価値を昇順に並べ、順番に順位(1、2、3、…)を割り当ててもよい。評価値の順位が変わらなければ、2、4、6と等差数列を割り当ててもよい。
【0053】
図7は第3の実施形態による情報処理装置1を備えたシミュレーションシステム2の処理動作の一例を示すフローチャートである。
図7は、
図5のステップS6がステップS6bに置き換わっている点が
図5と異なる。ステップS6bでは評価値が規定値に一致するデータを、各規定値に一対一対応した評価値の順位を保存した値に変換する一例として、評価値をその評価値が評価値全体の何パーセンタイル値かを示す値に変換する。
【0054】
ステップS6bでは、評価値を、それぞれの評価値が評価値全体の何クォオンタイル値になるかに変換した変換評価値が出力されてもよい。例えば、8個の連続する整数1、2、3、…、8と1個の外れ値100が評価値であるときの変換評価値は、0、0.125、0.25、…、0.875、1.0とされてもよい。このとき、qクォンタイル値は、評価値を昇順に並べた際に、[1-q+q×データ数]番目のデータを指す。例えば、1.0クォンタイル値は、1-1.0+1.0×9=9番目のデータを指す。何クォオンタイル値になるかに変換した変換評価値では、外れ値100が1.0に変換され、外れ値でなくなっている。
【0055】
このように、最低限最適化に必要な順位情報は保持しつつ、外れ値をなくすことができる。
【0056】
(第4の実施形態)
第4の実施形態は、ベイズ最適化により次の入力パラメータを決定するものである。第4の実施形態による情報処理装置1の概略構成は、
図1と同様であるため、ブロック構成の説明を割愛する。
【0057】
第4の実施形態による次入力パラメータ決定部8は、出力結果推定機能と、獲得関数算出機能と、獲得関数最大化機能とを有する。
【0058】
出力結果推定機能は、パラメータと対応する変換評価値との組に基づいて、パラメータの平均値、変換評価値の平均値、パラメータの分散、及び変換評価値の分散の関係式を推定する。平均値と分散の関係式の推定方法は、ガウス過程回帰を用いてもよいし、ランダムフォレスト回帰を用いてもよい。例えば、ガウス過程回帰の場合、i番目の実験のパラメータはxi、変換評価値はYiとする。また、評価値の平均値ベクトルはmi=μ0(xi)、xiとxjの共分散はKi,j=k(xi,xj)とする。ここで、μ0(xi)は任意の関数であり、k(xi,xj)は任意のカーネル関数である。カーネル関数は例えば指数二乗カーネルやマターンカーネル、線形カーネルでもよい。
【0059】
このとき、変換パラメータxと、変換評価値Yの平均値との関係式μn(x)は、μn(x)=μ0(x)+k(x)T (K+σ2I)-1 (Y-m)である。ここで、ki(x)=k(x,xi)であり、σ2は任意の定数である。また、変換パラメータxと、変換評価値Yの分散との関係式σn
2(x)は、σn
2 (z)=k(x,x)-k(x)T (K+σ2I)-1 k(x)である。
【0060】
獲得関数算出機能は、平均値の関係式と分散との関係式に基づいて獲得関数を算出する。獲得関数は、例えばPI(Probability of Improvement)を用いてもよいし、EI(Expected Improvement, 期待改善量方策)を用いてもよい。あるいはUCB(Upper Confidence Bound)やTS (Thompson Sampling)、 ES(Entropy Search)、MI(Mutual Information)を用いてもよい。例えばUCBの場合、獲得関数αn(x)は任意の定数βnを用いて、αn(x)=μn(x)+βnσn(x)と計算する。
【0061】
獲得関数最大化機能は、獲得関数が最大となる次入力パラメータを算出する機能である。例えば、獲得関数が最大となるパラメータは、式(2)で表される。
【数2】
【0062】
式(2)のパラメータを求め、次入力パラメータxn+1が決定される。この獲得関数の最大化は、任意の最適化方法を用いてもよい。例えば、全探索やランダム探索、グリッドサーチや勾配法、L-BFGS、DIRECT、CMA-ESや多スタート局所法が用いられてもよい。
【0063】
このように、第4の実施形態では、ベイズ最適化を行うにあたって、評価値が変換評価値に変換され、パラメータと変換評価値とに基づいて、次の入力パラメータが算出されるため、外れ値が評価値に含まれる場合でもベイズ最適化における平均値と分散の関係式の推定が外れ値に過適合しにくくなるので,最適化に寄与する傾向をより正しく推定できる。したがって、評価値に外れ値が含まれる場合であっても入力パラメータの最適化処理を迅速に行うことができる。
【0064】
(第5の実施形態)
図8は第5の実施形態による情報処理装置1を備えたシミュレーションシステム2のブロック図である。第5の実施形態による情報処理装置1は、
図1の情報処理装置1に探索範囲変換部10と探索範囲記憶部11が加わった構成である。探索範囲変換部10と探索範囲記憶部11は次入力パラメータ決定部8に内蔵してもよい。探索範囲変換部10に次入力パラメータ決定部8の計算結果が入力されてもよい。
【0065】
探索範囲変換部10は、入力パラメータの一部の次元を選択次元として探索範囲を限定した変換探索範囲を出力する。変換探索範囲では、入力パラメータの選択次元以外の次元の探索範囲は不変である。より詳細には、探索範囲変換部10は、所定のルール又はランダムな選択基準に基づいて、入力パラメータの一部の次元を選択次元とする。あるいは、探索範囲変換部10は、評価値が所定の順位以内のときの選択次元の入力パラメータの値に基づいて、選択次元の入力パラメータの値を固定値に設定してもよい。あるいは、探索範囲変換部10は、所定のルール又はランダムな選択基準に基づいて、選択次元とする入力パラメータの数を設定してもよい。
【0066】
次入力パラメータ決定部8は、入力パラメータと、対応する変換評価値と、変換探索範囲とに基づいて次の入力パラメータを決定する。
【0067】
探索範囲記憶部11は、探索範囲変換部10が設定した変換探索範囲を記憶する。
図9は探索範囲記憶部11に記憶される変換探索範囲の一例を示す図である。
図9Aの1列目は入力パラメータの各次元x1、x2、x3、…、x11の識別名称を示し、2列目は各次元の探索範囲の上限を示し、3列目は各次元の探索範囲の下限を示している。
図9B、
図9Cは入力パラメータの探索範囲を変換した変換探索範囲の例を示す図である。
図9Bと
図9Cの2列目と3列目の値が等しい次元は、探索範囲が固定であり、入力パラメータの値が固定されていることを示している。それ以外の列の次元は、対応する探索範囲が設定されている。変換探索範囲は、獲得関数の探索範囲でもよい。
【0068】
探索範囲変換部10は、例えば、選択次元の個数はユーザが入力し、選択次元を一様分布にしたがって決めてもよい。選択次元の探索範囲は、評価済みのデータの中で評価値が最善値を取るときの入力パラメータの一部の次元の値を固定してもよい。(手法1)。例えば、入力パラメータx1、x2、…、x11の探索範囲は
図9Aであったとする。2個次元を乱択した結果、選択次元としてx2とx11が選ばれたとする。このとき、評価済みのデータの中で評価値が最善値を取るときのx2が0.8、x11が0.5だったとすると、
図9Bに示すように、x2とx11の選択次元については、これらの値に固定し、他の次元については、探索範囲を設定してもよい。
【0069】
選択次元x2とx11の探索範囲は一様分布に従ったランダムな値に決められてもよい(手法2)。また、εグリーディ法を適用して、確率1-εで手法1が実行されてもよいし、あるいは確率εで手法2が実行されてもよい。
【0070】
このように、入力パラメータの一部の次元である選択次元の探索範囲が所定の値に固定されることで、入力パラメータの局所的な変動に対して評価値が急激に変化する場合に、その変化が捉えやすくなる。ある特定の入力パラメータによって、評価値が急激に変化する場合、そのような特定の入力パラメータは強い主効果を持つと考えられ、他の入力パラメータを固定して探索しても、見つかりやすい。また、入力パラメータの一部の次元の探索範囲を評価値が最善値を取るときの入力パラメータの値に固定することで目的関数値が改善された際に、特定の入力パラメータの値を固定した状態で獲得関数の最大化が行われれば、大きな影響を持つ入力パラメータの影響で埋もれていた他の入力パラメータによる影響がわかりやすくなり、さらに他の入力パラメータが改善されやすくなる。このような処理を加えることで、外れ値処理部7により外れ値への過学習を防いだ上でなお捉えきれない、局所的な傾向が捉えやすくなる。
【0071】
あるいは、入力パラメータの選択次元は、各次元によって異なる確率にしたがって選択されてもよい。あるいは、入力パラメータの次元によって、εグリーディ法のεが変えられてもよい。
【0072】
あるいは、入力パラメータの選択次元の探索範囲は、評価済みのデータの中で所定の順位内の評価値を取るときの入力パラメータの選択次元の値に固定されてもよい。例えば、所定の順位内が5位以内の場合、評価値が5位以内の入力パラメータの中から、ランダムに一つの入力パラメータが選択され、選択された入力パラメータの選択次元の値が固定にされ、それ以外の次元の入力パラメータについては、予め定めた探索範囲が設定されてもよい。所定の順位は、上位N%としてもよい。最善値を取るときの入力パラメータだけが用いられるのではなく、所定の順位内の評価値をとる入力パラメータが用いられることにより、局所解に補足されにくくなる効果が得られる。
【0073】
あるいは、選択次元の個数が0から探索次元数までの整数値から一様分布に従って選択され、選択次元の探索範囲は、評価済みのデータの中で評価値が最善値を取るときの入力パラメータ値近傍の範囲に設定されてもよい。近傍とは、例えば最善値の±N%にしてもよい。すなわち、探索範囲は、[最善値×(100―N)÷100]以上、かつ[最善値×(100+N)÷100]以下の範囲に設定されうる。以下では、探索範囲の下限値と上限値を、[下限値,上限値」と記載する。
【0074】
例えば、入力パラメータx1、x2、x3の元の探索範囲が、x1[0,5]、x2[0,5]、x3[0,5]で、評価値の最善値が(1,4,5)で、選択次元がx1,x2だったときに、最善値の近傍NをN=10とする場合、入力パラメータx1,x2,x3の探索範囲は、x1[1×0.9,1×1.1]、x2[4×0.9,4×1.1]、x3[0,5」のように設定される。
【0075】
図9Aは入力パラメータx1、x2、…、x11の元の探索範囲の一例を示す図である。
図9Aの入力パラメータのうち、2個の次元を乱択した結果x2とx11が選ばれたとする(
図9B)。このとき、評価済みのデータの中で評価値が最善値を取るときのx2が0.8、x11が0.5で、近傍の範囲を最善値の±10%とすると、変換探索範囲は
図9Cとなる。
【0076】
また、近傍の範囲は乱数に従って決めてもよい。例えば、最善値の±N%の範囲のNをA(例えば0)からB(例えば10)の連続値から一様分布に従って値が一つ決められてもよい。これを次元毎に行い、次元毎に異なる近傍の範囲が設定されてもよい。ここで、±0%の範囲は、最善値そのものである。ここで、A=0の場合、Bが大きいほど広く探索させ、Aが大きいほど狭く探索させるので、例えば入力パラメータの最善値の不確かさが高いときである探索の序盤はBを大きくし、探索の終盤はBを小さくするようにしてもよい。
【0077】
また、多点同時推薦(バッチ推薦)する場合に、バッチの一要素を決める度に、次元数、次元の選択、近傍の範囲の大きさが変更されてもよい。
【0078】
図10は第5の実施形態によるシミュレーションシステム2のフローチャートである。
図10のフローチャートは、
図5のフローチャートに、ステップS13とS14の処理を加えたものである。ステップS13では、選択した探索次元である選択次元の探索範囲を変更する変換探索範囲を生成する処理の一例として、入力パラメータの一部の次元の探索範囲を入力パラメータの近傍に狭めた変換探索範囲が算出される。ステップS14では、変換探索範囲は獲得関数最大化時の探索範囲としている。
【0079】
このように、第5の実施形態では、規定値を超える評価値を規定値に変換した変換評価値が算出され、入力パラメータと対応する変換評価値とに基づいて次の入力パラメータが決定されるだけでなく、入力パラメータの一部の次元を選択次元として探索範囲が限定されるため、局所的な傾向をより捉えやすくなる。
【0080】
(第6の実施形態)
第6の実施形態は、入力パラメータを用いて実験又はシミュレーションを行った場合に制約に違反するデータが得られた場合の取扱に関する。
【0081】
図11は第6の実施形態による情報処理装置1を備えたシミュレーションシステム2のブロック図である。
図11のシミュレーションシステム2は、評価値置換部12が追加されていることが
図8とは異なっており、それ以外は
図8と同様に構成されている。探索範囲記憶部は省略している。
【0082】
図11の評価値算出部6は、理想出力データ記憶部6aと、誤差算出部6bとを有する。理想出力データ記憶部6aは、理想の実験又はシミュレーション出力結果を記憶する。例えば、出力データの項目がy1、y2、…、y10の場合に、理想の出力結果はこれら10個の項目に対応する10個の値でもよいし、一部の項目の値でもよい。
【0083】
誤差算出部6bは、実験又はシミュレーションの出力データと、理想の出力結果との誤差を評価値として算出する。例えば、実験あるいはシミュレーションで得られたi番目の項目の出力データをyiとし、i番目の項目の理想の出力結果をyiバー(本明細書では、記号の上に横線のあるものを「記号バー」と表記する)とすると、誤差yは、以下の式(3)で表される。
【0084】
【数3】
ここで、|| ||は、式(4)に示すLpノルムでもよいし、式(5)に示す無限大ノルムでもよい。
【0085】
【0086】
評価値算出部6は、実験又はシミュレーションが制約に違反する場合を考慮に入れて、評価値を制約違反と分かる形で外れ値処理部に評価値を出力してもよい。ここで、制約違反は、失敗であってもよい。失敗とは、ある入力パラメータに対して出力データの一部が欠損してしまうことである。例えば実験の生成物ができず、結果として出力データの一部が欠損してしまったり、あるいはシミュレーションのバグで結果が返ってこなかったりすることが失敗である。もしくは、実験結果が想定を超えて、測定ができずに出力データが欠けてしまう場合も失敗である。出力データが欠損しているため、評価値も欠損値となってしまう入力パラメータが存在する。あるいは、制約の違反は、出力データが満たすべき制約式であってもよい。例えば、出力データの一部が欠損していない場合であっても、要求する制約を守らず、避けるべきデータであれば、制約の違反としてもよい。
【0087】
【0088】
例えば、評価値置換部12は、評価値を最小化した場合は、実験又はシミュレーションが失敗した入力パラメータに対する評価値を、評価値評価値の最大値に置換する。同様に、評価値を最大化したい場合は、実験又はシミュレーションが失敗した入力パラメータに対する評価を変換評価値の最小値に置換する。
【0089】
このように、第6の実施形態では、ある入力パラメータに対する実験又はシミュレーションが失敗した場合の評価値は変換評価値の最大値あるいは最小値に基づいて決められるため、失敗した結果が外れ値で埋められることを防ぐことができる。このため、予測モデルの外れ値への過適合を防ぎつつ、制約違反の入力パラメータを回避することができる。
【0090】
(第7の実施形態)
第7の実施形態は、外れ値処理部による処理前後の違いを可視化することで外れ値処理の効果を確認する場合に関する。
図12は第7の実施形態による情報処理装置1を備えたシミュレーションシステム2のブロック図である。
図12のシミュレーションシステム2は、
図11に外れ値処理効果可視化部を加えた構成であり、それ以外は
図11と同様に構成されている。
【0091】
図12の外れ値処理効果可視化部は、評価値又は変換評価値又は外れ値を除く評価値と組になる入力パラメータの関係、入力パラメータと評価値又は変換評価値又は外れ値を除く評価値の平均値又は分散の推定値の関係又は獲得関数値を可視化する。ここでの外れ値とは、例えば、外れ値処理部で、評価値の50パーセンタイル値を規定値として、規定値を超えるような評価値をその規定値に変換する場合においていえば、規定値を超える評価値が外れ値である。
【0092】
評価値と組になる入力パラメータの関係、外れ値を除く評価値と組になる入力パラメータの関係、入力パラメータと評価値の平均の推定値、入力パラメータと外れ値を除く評価値の平均の推定値の可視化結果の模式図を
図13に示す。
図13のプロットD1は入力パラメータのある次元と評価値との対応関係を示す点群であり、
図13のプロットD2は入力パラメータのある次元と50パーセンタイル値を上回る評価値を外れ値として除いた評価値との対応関係を示す点群である。
図12の波形E1は模式的に示した評価値の模式的な平均の推定値であり、
図13の波形E2は50パーセンタイル値を上回る評価値を外れ値として除いた評価値の模式的な平均の推定値である。直線B1は評価値の最小値を取るときの入力パラメータの値を示したものである。
【0093】
このように、得られた評価値と外れ値を除く評価値と評価値の最小値と入力パラメータの関係を並べて見比べられるようにすることで、外れ値を除いた場合にデータの傾向の見え方が変りそうか、外れ値を除いた場合の評価値の平均の推定値にしたがって最適値の探索をすることで、良い評価値が取得できそうかを確認することができる。
図13の場合、入力パラメータ値が大きい場合に、評価値が急激に大きくなる関係が見られ、このような大きな評価値にベイズ最適化の予測モデルが過学習することが容易に確認できる。一方、このような大きな評価値は外れ値処理部の所定の規定値を50パーセンタイル値とした場合に外れ値として除かれる。
図13の場合は、
図13の波形E1が小さい領域と
図13の波形E2が小さい領域を比べた場合、
図13の波形E2の小さい領域の方が評価値の最小値を取るときの入力パラメータに近いことが分かり、外れ値を処理した場合の方が、少なくとも得られている評価値の中で一番良い評価値が得られる入力パラメータ値をうまく推定できそうだと確認できる。
【0094】
したがって、知見のない最適化問題を解くような場合には外れ値を処理すべき問題かどうかの判断が難しいが、入力パラメータと評価値、外れ値を除く評価値の関係とを比較することで、簡易に外れ値を処理したほうがよさそうかを確認できる。
【0095】
上述した第1~第7の実施形態による情報処理装置1は、種々の事象の実験やシミュレーションに適用可能である。第1~第7の実施形態による情報処理装置1の具体的な一例として、半導体装置の形状が予め定めた形状となるように、入力パラメータを最適化することが考えられる。最近の半導体装置は、温度や材料等の成膜条件を細かく制御して、多数の膜を積層し、その後にリソグラフィ等で所望の形状に加工することが多い。最終的に得られる半導体装置の形状が所望の形状か否かを評価するために、第1~第7の実施形態による情報処理装置1を利用することができる。この場合、入力パラメータは、上述した成膜条件である。入力パラメータには、成膜温度や材料、成膜時間等の複数の項目が含まれており、これら項目を調整することで、最終的に得られる半導体装置の形状が変化する。よって、上述した情報処理装置1を用いれば、半導体装置が所望の形状となるように、最適な入力パラメータを選定できる。
【0096】
上述した各実施形態で説明した情報処理装置1及びシミュレーションシステム2の少なくとも一部は、ハードウェアで構成してもよいし、ソフトウェアで構成してもよい。ソフトウェアで構成する場合には、情報処理装置1及びシミュレーションシステム2の少なくとも一部の機能を実現するプログラムをフレキシブルディスクやCD-ROM等の記録媒体に収納し、コンピュータに読み込ませて実行させてもよい。記録媒体は、磁気ディスクや光ディスク等の着脱可能なものに限定されず、ハードディスク装置やメモリなどの固定型の記録媒体でもよい。
また、情報処理装置1及びシミュレーションシステム2の少なくとも一部の機能を実現するプログラムを、インターネット等の通信回線(無線通信も含む)を介して頒布してもよい。さらに、同プログラムを暗号化したり、変調をかけたり、圧縮した状態で、インターネット等の有線回線や無線回線を介して、あるいは記録媒体に収納して頒布してもよい。
【0097】
本開示の態様は、上述した個々の実施形態に限定されるものではなく、当業者が想到しうる種々の変形も含むものであり、本開示の効果も上述した内容に限定されない。すなわち、特許請求の範囲に規定された内容およびその均等物から導き出される本開示の概念的な思想と趣旨を逸脱しない範囲で種々の追加、変更および部分的削除が可能である。
【符号の説明】
【0098】
1 情報処理装置、2 シミュレーションシステム、3 シミュレータ、4 出力データ取得部、5 入出力データ記憶部、6 評価値算出部、6a 理想出力データ記憶部、6b 誤差算出部、7 外れ値処理部、8 次入力パラメータ決定部、9 反復判定部、10 探索範囲変換部、11 探索範囲記憶部、12 評価値置換部、13 外れ値処理効果可視化部、
1 情報処理装置、3 シミュレータ