(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-04-23
(45)【発行日】2024-05-02
(54)【発明の名称】情報処理装置、情報処理方法、およびプログラム
(51)【国際特許分類】
G16Z 99/00 20190101AFI20240424BHJP
【FI】
G16Z99/00
(21)【出願番号】P 2020146089
(22)【出願日】2020-08-31
【審査請求日】2023-02-14
(73)【特許権者】
【識別番号】000003078
【氏名又は名称】株式会社東芝
(73)【特許権者】
【識別番号】318010018
【氏名又は名称】キオクシア株式会社
(74)【代理人】
【識別番号】100091487
【氏名又は名称】中村 行孝
(74)【代理人】
【識別番号】100105153
【氏名又は名称】朝倉 悟
(74)【代理人】
【識別番号】100107582
【氏名又は名称】関根 毅
(74)【代理人】
【識別番号】100118876
【氏名又は名称】鈴木 順生
(74)【代理人】
【識別番号】100206243
【氏名又は名称】片桐 貴士
(72)【発明者】
【氏名】桐淵 大貴
(72)【発明者】
【氏名】横田 怜
(72)【発明者】
【氏名】上地 忠良
(72)【発明者】
【氏名】小池 聡
【審査官】佐藤 敬介
(56)【参考文献】
【文献】特開2019-113985(JP,A)
【文献】特開2018-073360(JP,A)
【文献】特開2020-126511(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06Q 10/00-99/00
G16Z 99/00
(57)【特許請求の範囲】
【請求項1】
パラメータに設定される設定値と、前記設定値が前記パラメータに設定された場合の評価値または評価値バラツキと
の組を複数の前記設定値について含むデータセットに基づき、前記設定値と前記評価値バラツキとの関係
を表す第1関係式を算出、または、前記設定値と前記評価値との関係を表す第2関係式及び前記評価値と前記評価値バラツキとの関係を表す第3関係式を算出し、
算出された
前記第1関係式、又は前記第2関係式及び前記第3関係式に基づき、推薦する設定値を決定する
処理部、
を備え、
前記評価値バラツキは、前記設定値を基準とした近傍範囲内に含まれる複数の値が前記パラメータに設定された場合の各評価値のバラツキを示すものである、
情報処理装置。
【請求項2】
前記
処理部は、前記
第1関係
式の確率分布の平均および分散を算出し、
前記
処理部は、算出された平均および分散を含む獲得関数に基づき、前記推薦する設定値を決定する
請求項1に記載の情報処理装置。
【請求項3】
前記
処理部は、前記算出された平均および分散に基づく獲得関数が最大または最小となる設定値を、推薦する設定値とする
請求項2に記載の情報処理装置。
【請求項4】
前記処理部は、既に推薦された設定値に基づき、最適とされる設定値を決定する、
請求項1ないし3のいずれか一項に記載の情報処理装置。
【請求項5】
前記
処理部は、前記推薦された設定値の近傍範囲内の値に対する評価値のうちの最大および最小の評価値の差分を、前記推薦された設定値に対する評価値バラツキとする
請求項1ないし4のいずれか一項に記載の情報処理装置。
【請求項6】
前記
処理部は、前記設定値を基準とした近傍範囲内に含まれる複数の値が前記パラメータに設定された場合の各評価値のうちの最悪の評価値と、前記設定値と、の関係
を表す第4関係式をさらに
算出し、
前記
処理部は、前記最悪の評価値と、前記設定値と、の関係
を表す前記第4関係式にさらに基づいて、前記推薦する設定値を決定する
請求項1ないし5のいずれか一項に記載の情報処理装置。
【請求項7】
推薦する設定値を出力する出力部
をさらに備える請求項1ないし6のいずれか一項に記載の情報処理装置。
【請求項8】
最適とされる設定値を出力する出力部
をさらに備える請求項4に記載の情報処理装置。
【請求項9】
前記出力部が、設定値と、評価値バラツキと、の関係を示す情報を出力する
請求項7または8に記載の情報処理装置。
【請求項10】
前記情報には、前記最適とされる設定値の近傍範囲内の値および当該値に対する評価値バラツキの関係を示す情報が含まれる
請求項
4を引用する請求項7を引用する請求項9、又は請求項8を引用する請求項9に記載の情報処理装置。
【請求項11】
前記情報には、前記最適とされる設定値の近傍範囲内の値に対する評価値バラツキのうちの最小値および最大値の少なくともいずれかを示す情報が含まれる
請求項
4を引用する請求項7を引用する請求項9、又は請求項8を引用する請求項9に記載の情報処理装置。
【請求項12】
パラメータに設定される設定値と、前記設定値が前記パラメータに設定された場合の評価値または評価値バラツキと
の組を複数の前記設定値について含むデータセットに基づき、前記設定値と前記評価値バラツキとの関係
を表す第1関係式を算出、または、前記設定値と前記評価値との関係を表す第2関係式及び前記評価値と前記評価値バラツキとの関係を表す第3関係式を算出するステップと、
算出された
前記第1関係式、又は前記第2関係式及び前記第3関係式に基づき、推薦する設定値を決定するステップと、
を
コンピュータが実行し、
前記評価値バラツキは、前記設定値を基準とした近傍範囲内に含まれる複数の値が前記パラメータに設定された場合の各評価値のバラツキを示すものである、
情報処理方法。
【請求項13】
パラメータに設定される設定値と、前記設定値が前記パラメータに設定された場合の評価値または評価値バラツキと
の組を複数の前記設定値について含むデータセットに基づき、前記設定値と前記評価値バラツキとの関係
を表す第1関係式を算出、または、前記設定値と前記評価値との関係を表す第2関係式及び前記評価値と前記評価値バラツキとの関係を表す第3関係式を算出するステップと、
算出された
前記第1関係式、又は前記第2関係式及び前記第3関係式に基づき、推薦する設定値を決定するステップと、
を備え、
前記評価値バラツキは、前記設定値を基準とした近傍範囲内に含まれる複数の値が前記パラメータに設定された場合の各評価値のバラツキを示すものである、
プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、情報処理装置、情報処理方法、およびプログラムに関する。
【背景技術】
【0002】
シミュレーションや実験に用いられるパラメータの設定値を、少ない試行回数で、自動調整する技術が求められている。当該技術としては、例えば、効率的にパラメータの値を調整可能なベイズ最適化が知られている。
【0003】
一方、最適とみなされた設定値を用いて、稼働中のシステムの調整や製品の製造を行う場合に、様々な要因によって、設定が最適とみなされた設定値から少し外れてしまうこともあり得る。そのような場合でも、影響があまりないようにすることも要求されている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
本発明の一実施形態は、パラメータの設定値が想定の値からずれたとしても影響が少ないとされる値を最適値として推薦する装置などを提供する。
【課題を解決するための手段】
【0006】
本発明の一実施形態としての情報処理装置は、推定部と、推薦部と、を備える。前記推定部は、パラメータに設定される設定値と、前記設定値が前記パラメータに設定された場合の評価値または評価値バラツキと、を含むデータセットに基づき、前記設定値と前記評価値バラツキとの関係を推定する。評価値バラツキは、前記設定値を基準とした近傍範囲内に含まれる複数の値が前記パラメータに設定された場合の各評価値のバラツキを示すものである。前記推薦部は、推定された関係に基づき、推薦する設定値を決定する。
【図面の簡単な説明】
【0007】
【
図1】第1の実施形態に係る情報処理システムの一例を示すブロック図。
【
図9】第1の実施形態に係る情報処理装置の全体処理の概略フローチャート。
【
図10】本発明の一実施形態におけるハードウェア構成の一例を示すブロック図。
【発明を実施するための形態】
【0008】
以下、図面を参照しながら、本発明の実施形態について説明する。
【0009】
(第1の実施形態)
図1は、第1の実施形態に係る情報処理システムの一例を示すブロック図である。本実施形態に関する情報処理システムは、情報処理装置1と、評価装置2と、を含む。情報処理装置1は、記憶部101と、入力部102と、判定部(最適値決定部)103と、推定部104と、推薦部105と、出力部106と、を備える。
【0010】
情報処理装置1は、シミュレーションまたは実験に使用されるパラメータの設定値を推薦する。例えば、シミュレーションにおいては、パラメータを有するシミュレーションモデルが用いられるが、当該モデルのパラメータに設定される値、つまり、設定値が推薦される。また、例えば、実験に用いられる試料の量をパラメータとみなして当該量の値が推薦されてもよい。なお、以降において特に説明がない場合は、「実験」という用語には、シミュレーションが含まれるものとする。
【0011】
評価装置2は、推薦された設定値に基づく実験の結果に対して評価を行い、評価に関する情報を生成する。当該情報は、後述する、評価値、評価値バラツキなどが該当する。なお、評価装置2は、推薦された設定値に基づくシミュレーションを行い、当該シミュレーションの評価に関する情報を生成してもよい。あるいは、ユーザーが推薦された設定値に基づく実験を行い、実験結果を評価装置2に入力することによって、評価装置2が当該実験の評価に関する情報を生成してもよい。
【0012】
また、情報処理装置1は、評価装置2から、推薦した設定値に基づく実験の結果の評価に関する情報を取得し、当該情報に基づいて設定値を推薦し直す。言い換えれば、次の実験に用いられる設定値を推薦する。このようにして、設定値の推薦を繰り返すことにより、最適な設定値を求める。言い換えれば、パラメータの最適値を推定する。
【0013】
なお、本説明において最適値とは、情報処理装置1によって最適とみなされた値であり、実際に最適であるかどうかは問わない。また、複数の値が最適と判定されてもよい。つまり、最適値として複数の値が出力されてもよい。また、最適な設定値を求めるパラメータの数(モデルの項目数、次元数とも称される)は、一つでもよいし、複数でもよい。
【0014】
なお、
図1の例では、情報処理装置1は、推薦する設定値を外部に出力し、外部から実験の結果に関する情報を取得している。しかし、情報処理装置1が、実験を実行するシミュレータを含む場合もあり得る。つまり、情報処理装置1がシミュレータを兼ねていてもよい。
図2は、情報処理装置1の変形例を示すブロック図である。
図2は、情報処理装置1がシミュレータ107を含む場合を示す。
図2の例では、推薦された設定値によってシミュレータ107がシミュレーションを行い、シミュレーション結果が判定部103などに送られる。
【0015】
図3は、推定される最適値について説明する図である。パラメータXと評価値Yとの関係を示すグラフが示されている。
【0016】
評価値Yは、推薦された設定値に基づく実験の結果を評価した値を意味する。評価値は、実験結果と同じとしてもよいし、実験結果に基づく演算値としてもよい。例えば、理想的な実験結果が判明している場合では、実際の実験結果と、理想的な実験結果と、の差分を評価値としてもよい。また、1回の実験によって複数の値を含むデータ(ベクトルとも言える)が得られる場合もある。その場合、当該複数の値に基づき、一つの評価値が推定されてもよい。
【0017】
評価値Yの値が小さいほど最適であるとすると、プロット3Aのy座標が最適な評価値となる。しかし、
図3に示すように、プロット3A付近においてグラフは急峻となっている。ゆえに、パラメータXの値をプロット3Aのx座標に正確に設定することができずに外れてしまった場合、非常に悪い評価値が得られてしまう。
【0018】
一方、プロット3B付近においては、グラフはなだらかとなっている。プロット3Bのy座標は、プロット3Aのy座標よりも大きい、つまり、悪く評価されている。しかし、パラメータXの値がプロット3Bのx座標と正確に一致しなくとも、得られる評価値Yはプロット3Bのy座標から大きく外れることはない。ゆえに、場合によっては、プロット3Bのy座標のほうが最適値とも言える。
【0019】
例えば、実験の回数を減らして演算に要する時間を抑制するベイズ最適化という手法がある。しかし、ベイズ最適化によって算出された最適値と、実際の最適値と、を完全に一致させることは難しく、これらは、少なからず乖離する。そのため、そのような場合、プロット3Aよりもプロット3Bのy座標を最適値としたほうが、非常に悪い評価値が得られてしまうリスクを抑えることができる。
【0020】
このように、本実施形態では、ベイズ最適化のような探索手法を用いてパラメータの最適な設定値を探索する場合に、安定性の高い値、言い換えれば、ロバストな値を、最適とみなす。なお、
図3の三角形のプロットについては後述する。
【0021】
情報処理装置1の内部構成について説明する。なお、
図1に示した構成要素は、次に推薦する設定値を決定する処理を行うためのものであり、他の構成要素は省略されている。また、各構成要素は、細分化されてもよいし、まとめられてもよい。例えば、記憶部101は、保存されるファイルなどに応じて、分けられていてもよい。また、記憶部101以外の構成要素を演算部とみなしてもよい。また、各構成要素の処理結果は、次の処理が行われる構成要素に送られてもよいし、記憶部101に記憶され、次の処理が行われる構成要素は記憶部101にアクセスして処理結果を取得してもよい。
【0022】
記憶部101は、情報処理装置1の処理に用いられるデータを記憶する。当該データとしては、少なくとも、設定範囲を示すデータと、近傍範囲を示すデータと、データセットと、があるとする。なお、これら以外のデータが記憶されてもよく、例えば、情報処理装置1の各構成要素の処理結果などが記憶されてもよい。
【0023】
設定範囲は、設定値が取り得る範囲を意味する。言い換えれば、パラメータに対して設定可能な値の範囲を意味し、推薦する設定値を探索する際の探索範囲となる。設定範囲は、ユーザーなどからの入力を受け付けて、予め記憶部101に記憶されているとする。
【0024】
図4は、設定範囲に関するデータの一例を示す図である。
図4の例では、X
1からX
10までの10個のパラメータが存在し、これらのパラメータごとに、下限値と上限値が示されている。設定範囲はこの下限値から上限値までの範囲である。例えば、パラメータX
1の設定範囲は、10から100までである。
【0025】
なお、設定範囲を表す方法は、特に限られるものではない。例えば、行列AとベクトルBを記憶して、AX+B<0を満たすようなXを設定範囲としてもよい。あるいは、ベクトルAと実数Rを記憶して、|X-A|<Rを満たすようなXを設定範囲としてもよい。ここで、|B|はベクトルBの大きさを表す。その他、様々な不等式のパラメータを記憶して、不等式を満たすようなXを設定範囲としてもよい。
【0026】
近傍範囲は、推薦された設定値に適用される、当該設定値を基準とした範囲であって、当該設定値に近傍するとみなされた値の範囲を示す。設定値がロバストであるかどうかは、この近傍範囲を用いて判定される。
【0027】
図5は、近傍範囲に関するデータの一例を示す図である。
図5の例では、パラメータごとに、パラメータの設定値に応じて、近傍範囲が求まるようになっている。なお、近傍範囲を表す方法は、
図5の例に限られるものではない。設定範囲と同様に示されていてもよいし、異なっていてもよい。
【0028】
「種類」の項目の「加法的」とは、あるパラメータXの近傍下限をLとし、近傍上限をUとした際に、X+L以上かつX+U以下の範囲を近傍範囲とすることを意味する。例えば、パラメータX1に関しては、近傍下限が-5であり、近傍上限が+5であることが示されている。ゆえに、パラメータX1の値が35のときは、30(=35-5)以上で、40(=35+5)以下の範囲が、パラメータX1の近傍範囲である。
【0029】
また、「種類」の項目の「乗法的」とは、あるパラメータXの近傍下限をL%、近傍上限をU%とした際に、X×(100+L)/100以上かつX×(100+U)/100以下の範囲を近傍範囲とすることを示す。例えば、パラメータX2に関しては、近傍下限が-10%であり、近傍上限が+10%であることが示されている。ゆえに、パラメータX2の値が2のときは、1.8(=2×(100-10)/100)以上で、2.2(=2×(100+10)/100)以下の範囲がパラメータX2の近傍範囲である。
【0030】
例えば、「種類」が「加法的」または「乗法的」のいずれか1種類のみの場合は、各パラメータにおいての近傍下限と近傍上限のみが近傍範囲のデータに示されていてもよい。
【0031】
近傍範囲は、ユーザーなどからの入力を受け付けて、予め記憶部101に記憶されているとする。例えば、製品バラツキなどによって、製品の仕様の値が最適値から外れる際の許容範囲を近傍範囲としてもよい。あるいは、推薦された設定値と、予め選択された設定値のデータと、に基づき、近傍範囲を設定してもよい。例えば、推薦された各設定値と、予め選択された各設定値との差分を算出し、各差分の最小値を「加法的」の近傍下限、最大値を「加法的」の近傍上限として設定してもよい。あるいは、予め選択された設定値と、推薦された設定値と、の除算して各商を算出し、各商の最小値から1引いたものを「乗法的」の近傍下限、各商の最大値から1引いたものを近傍上限として設定してもよい。
【0032】
データセットは、設定値と、当該設定値を用いた実験の結果に関する評価値または評価値バラツキと、を対応付けたデータである。評価値は、前述の通り、推薦された設定値に基づく実験の結果を評価した値である。評価値バラツキは、例えば、
図3に示したグラフの設定値に対応するプロットの近傍に存在する複数のプロットのy座標の振れ幅の大きさを示すものである。
【0033】
例えば、
図3のプロット3A付近においてはグラフは急峻であるため、プロット3A付近の白三角で表されたプロットのバラツキが大きい。一方、プロット3B付近においてはグラフはなだらかでであるため、プロット3B付近の白三角で表されたプロットのバラツキは小さい。このように、あるプロットのx座標、つまり、ある設定値に対し、前述の近傍範囲を適用し、当該近傍範囲にx座標が含まれるプロットのy座標のバラツキを、評価値バラツキと定義する。
【0034】
なお、近傍範囲にx座標が含まれるプロットを近傍プロットと記載し、近傍プロットのx座標を近傍設定値とも記載し、近傍プロットのy座標を近傍評価値とも記載する。ゆえに、ある設定値に対する評価値バラツキは、当該設定値に関連する複数の近傍評価値のバラツキとも言える。
【0035】
上述のように、評価値バラツキは、当該設定値に関連する複数の近傍評価値のバラツキを示すものであるが、その値をどのようにして表すかは、適宜に定めれられてよい。例えば、評価値バラツキは、複数の近傍評価値の標準偏差と定義してもよい。あるいは、複数の近傍評価値のうちの最大値および最小値の差分と定義してもよく、その場合では、評価値バラツキは、次式で表される。
【数1】
上式では、設定値xに対応する評価値バラツキをδ(x)とし、設定値xの近傍範囲をΔ(x)とし、近傍範囲Δ(x)内の近傍設定値を
とし、当該近傍設定値に対応する近傍評価値を
と表している。
【0036】
なお、データセットに含まれる評価値または評価値バラツキは、評価装置2から受信するものとする。評価装置2は評価値バラツキを算出するが、全ての近傍評価値を算出して評価値バラツキを算出することは、かなりの時間を要し、現実的ではない。そのため、評価装置2は、ランダムに複数の近傍設定値を選択し、選択された近傍設定値に対する近傍評価値をサンプリングし、サンプリングされた近傍評価値に基づき、評価値バラツキを算出してもよい。
【0037】
図6は、データセットの一例を示す図である。
図6の例では、X
1からX
10までの10個のパラメータが存在し、テーブルの1行ごとに、当該10個のパラメータの各設定値と、それらに対応する評価値と、が示されている。
【0038】
なお、データセットに登録されるのは、評価値および評価値バラツキのいずれか一方のみが登録されてもよいし、両方が登録されてもよい。後述するが、データセットに登録されている評価値を用いて推薦された設定値に対する評価値を推定する場合と、データセットに登録されている評価値バラツキを用いて推薦された設定値に対する評価値バラツキを推定する場合と、があるためである。
【0039】
データセットは、推薦部105によって設定値が決定される度に更新されて、決定された設定値がデータセットに追加登録される。また、データセットは、外部から入力部102を介して推薦された設定値に対応する評価値または評価値バラツキが取得される度に更新されて、
図6の例ように、当該評価値または当該評価値バラツキが当該設定値と対応づけてデータセットに登録される。
【0040】
なお、データセットには、予めテストデータが登録されていてもよい。つまり、実際に実験を行って取得されていない値が、データセットに含まれていてもよい。
【0041】
実験に用いられるパラメータは一つでも複数でもよい。パラメータが複数ある場合は、各パラメータは独立しており、それぞれ個別の値を有する。また、各パラメータの値は、連続値、離散値、または論理値(カテゴリ変数)でもよい。すなわち、パラメータの種類は、特に限られるものではない。例えば、温度、圧力などといった物理的なパラメータでもよい。また、処理時間、処理条件などといった実験に関するパラメータでもよい。
【0042】
また、
図6の例では、パラメータX
1からX
10までの1セットに対して一つの評価値が対応しているが、パラメータと評価値が1対1で対応していてもよいし、多対多で対応してもよい。また、複数のパラメータに対する複数の評価値がある場合に、これらの評価値に基づいて総合的な評価値を推定してもよい。
【0043】
入力部102は、外部から、情報処理装置1の処理に必要な情報の入力を受け付ける。例えば、推薦した設定値に対応する、評価値、評価値バラツキなどの情報を取得する。これらの情報は、前述の通り、データセットに登録される。また、設定範囲、近傍範囲、判定部103が最適値を判定するかどうかを決めるための終了条件などの情報も受け付けてよい。
【0044】
判定部103は、所定の終了条件に基づき、設定値の推薦を続けるか否かを判定する。そして、設定値の推薦を止める場合は、これまでの設定値に基づき、最適とされる決定値を決定する。例えば、実験の実行回数または経過時間が閾値を超えた場合に設定値の推薦を終了し、これまでの設定値から、最適値とする設定値を選択してもよい。例えば、記憶部101に記憶された評価値バラツキが最小になるときの設定値を最適な設定値としてもよい。また、これまでに推薦された設定値のうち、後述する評価値バラツキの予測値を最小とする設定値を、最適とされる設定値として決定してもよいし、後述する獲得関数の値を最大または最小とする設定値を、最適とされる設定値として決定してもよい。さらに、後述する評価値バラツキを最小化するような設定範囲の設定値を、最適とされる設定値として決定してもよい。
【0045】
推定部104は、データセットに基づいて、設定値と、評価値バラツキと、の関係を示すグラフ、つまり、関係式を推定する。
【0046】
設定値と、評価値バラツキと、の関係式は、次式で表すとする。
【数2】
当該関係式のxには設定値が入力される。当該関係式のyは評価値バラツキを表す。
【0047】
関係式y=μn(x)の推定は、例えば、データセット内に記録された評価値バラツキと、上記の関係式によって求まるyの値と、の誤差の二乗平方和を算出し、算出した二重平方和が最小となるように、μn(x)のパラメータを回帰手法により調整してもよい。回帰手法は、線形回帰、Lasso回帰、エラスティックネット回帰、ランダムフォレスト回帰、ガウス過程回帰などを用いてもよい。
【0048】
なお、後述する獲得関数の算出のため、推定部104は、関係式μn(x)の確率分布の平均および分散の関係式を算出してもよい。当該関係式の算出方法は、ガウス過程回帰を用いてもよいし、ランダムフォレスト回帰を用いてもよい。
【0049】
例えば、ガウス過程回帰を用いるときは、確率分布の平均は、次式で表される。
【数3】
上式(3)では、i番目のパラメータX
iの設定値をx
iとし、評価値バラツキをyとしている。また、評価値バラツキの平均ベクトルをmとしている。平均ベクトルmは、変数nに依存しない関数μ
0(x
i)で表すとする。また、設定値x
iおよび設定値x
jの共分散K
ijを任意のカーネル関数k(x
i,x
j)で表している。カーネル関数は、例えば、指数二乗カーネル、マターンカーネル、線形カーネルなどでよい。なお、k
i(x)=k(x,x
i)であり、σ
2は任意の定数である。また、Tは転置を表す。
【0050】
また、確率分布の分散σ
n
2(x)は、次式で表される。
【数4】
【0051】
なお、推定部104は、設定値と、評価値バラツキと、の関係式ではなく、
図3に示したような、設定値と、評価値と、の関係を示す関係式を推定してもよい。推定方法は、設定値と、評価値バラツキと、の関係式の推定と同様でよい。ただし、その場合は、評価値と、評価値バラツキと、の関係を示す関係式が必要となる。
【0052】
例えば、関係式y=μ
n(x)のyが、評価値バラツキではなく、評価値を表すとする。この場合において、評価値バラツキは、例えば、前述の通り、複数の近傍評価値のうちの最大値および最小値の差分とすると、評価値バラツキは、次式で表される。
【数5】
上式では、設定値xに対応する評価値バラツキをμ
δ(x)とし、設定値xの近傍範囲をΔ(x)とし、近傍範囲に含まれる近傍設定値を
とし、当該近傍設定値に対応する近傍評価値を
と表している。推定部104が、設定値と、評価値と、の関係式を推定した場合は、上式(5)のような、近傍評価値から評価値バラツキを算出可能な関係式を予め定めておく。
【0053】
また、設定値と、評価値と、の関係式を推定した場合は、推定部104は、獲得関数の算出のため、関係式μδ(x)の確率分布の平均および分散の関係式を算出してもよい。
【0054】
関係式μ
δ(x)の確率分布の平均および分散を示す関係式は、例えば、サンプリングにより求めてもよい。例えば、関係式y=μ
n(x)のyが評価値である場合、上式(3)および(4)の平均および分散に基づく分布から評価値のサンプリングを行い、サンプリング結果に基づいて評価値バラツキを推定する。当該サンプリングおよび推定を複数回繰り返し、その結果得られた複数の評価値バラツキの平均と分散を、関係式μ
δ(x)の確率分布の平均および分散としてもよい。あるいは、評価値バラツキが最大および最小の近傍評価値の差とした場合、次式を関係式μ
δ(x)の確率分布の分散を示す式としてもよい。
【数6】
【0055】
さらに、推定部104は、設定値および評価値バラツキの関係式μ
δ(x)確率分布の平均および分散の荷重和を推定してもよい。当該荷重和は、設定値および評価値の関係式y=μ
n(x)の確率分布の平均および分散と、近傍範囲と、実数β
nと、を用いて次式で表される。
【数7】
【0056】
上記のようにして、推定部104は、設定値と評価値または評価値バラツキに関する関係式(グラフ)を推定するが、当該推定は、データセットが更新されると、つまり、設定値に対応する対応値が取得されると、再度行われる。つまり、設定値と対応値とに関する関係式(グラフ)が更新されていく。
【0057】
なお、設定値と評価値または評価値バラツキに関する関係式(グラフ)の更新は、データセットが更新される度に行われてもよいし、データセットが所定回数ほど更新されたときに行われてもよい。
【0058】
推薦部105は、推定部104によって推定された、設定値に対する評価値バラツキの関係式に基づいて、次に推薦する設定値、言い換えれば、次回の実験において使用される設定値を、設定範囲内から決定する。
【0059】
例えば、推薦部105は、設定値に対する評価値バラツキの関係式に基づき、評価値バラツキがより小さくなるような設定値を検出し、次に推薦する設定値と決定してもよい。つまり、設定範囲内において前回の設定値よりもロバストであると推定される設定値を探索して、今回の実験に用いられる設定値として採用してもよい。例えば、全探索、ランダム探索、グリッドサーチ、勾配法、L-BFGS、DIRECT、CMA-ES、多スタート局所法といった様々な最適化手法により、評価値バラツキがより小さくなる値を発見することが可能である。
【0060】
あるいは、推薦部105は、評価値バラツキの平均および分散に基づく獲得関数に基づいて推薦する設定値を決定してもよい。例えば、獲得関数が大きいほうが良い場合は、獲得関数が最大となる設定値を推薦し、獲得関数が小さいほうが良い場合は、獲得関数が最小となる設定値を推薦してもよい。なお、以降においては、獲得関数が大きいほうが良いものとして説明する。獲得関数は、例えば、PI(改善確率)を用いてもよいし、EI(期待改善量)を用いてもよい。あるいは、UCB(信頼限界上限)、Thompson Sampling(TS)、Entropy Search(ES)、Mutual Information(MI)を用いてもよい。例えばUCBの場合、獲得関数α
n(x)は、任意の定数β
nを用いて、次式にて求めることが可能である。
【数8】
【0061】
また、推薦部105は、上記のようにして選択された設定値をそのまま推薦するのではなく、選択された設定値の近傍範囲から複数の近傍設定値をランダムに選び、それらを順番に設定値として推薦してもよい。
【0062】
また、推薦部105は、前述の式(7)の荷重和に基づいて獲得関数を算出し、獲得関数がより大きくなるような値を、推薦する設定値と決定してもよい。その場合、獲得関数は、例えば、次式のように表される。
【数9】
【0063】
また、推薦部105は、前述の方法により求めた設定値をそのまま推薦せずに、当該設定値の近傍範囲内において、評価値の平均および分散に基づく獲得関数が最大となるような近傍設定値を改めて探索して、推薦する設定値として決定してもよい。例えば、獲得関数は、次式で表される。
【数10】
【0064】
なお、上記では、データセットが存在し、設定値を推薦する場合を想定した。しかし、テストデータがデータセットに登録されていない場合において、ユーザーが初めて実験を行うときに、情報処理装置1に設定値を推薦してもらいた場合もあり得る。このような場合では、情報処理装置1は、上記の方法では、推薦する設定値を決定できないため、所定の値を推薦してもよいし、乱数、ラテン方格、ソボル列を用いて、推薦する設定値を決定してもよい。すなわち、最初に推薦される設定値は、所定の値でもよいし、乱数、ラテン方格、ソボル列を用いて決定されたものでもよい。
【0065】
出力部106は、各構成要素の処理結果を出力する。例えば、推薦される設定値、最適とされた設定値が出力される。また、入力部102を介して指示を受け付けて、データセットなどの記憶部101に記憶されているデータを出力してもよい。
【0066】
また、出力部106の出力形式は、特に限られるものではなく、例えば、表でも画像でもよい。例えば、出力部106は、データセットなどのデータに基づくグラフを生成して出力してもよい。
【0067】
なお、
図2のように、情報処理装置1がシミュレータ107を含む場合は、シミュレータ107は、推薦された設定値をモデルのパラメータに設定してシミュレーションを実行し、シミュレーション結果に基づいて評価値を算出する。評価値の算出式は予め定めておくとする。また、推定部104が設定値および評価値バラツキの関係式を推定する場合は、シミュレータ107が、推薦された設定値のみならず、近傍設定値に対しても評価値、つまり、近傍評価値を算出する。そして、近傍評価値に基づき、評価値バラツキを算出する。なお、全ての近傍評価値を算出することは現実的ではないため、いくつかの近傍設定値をサンプリングして、サンプリングされた近傍設定値に対する近傍評価値を算出すればよい。
【0068】
情報処理装置1がシミュレータ107を含まない場合は、評価装置2が、ユーザーから実験結果を受け取り、評価値および評価値バラツキを算出するが、評価値および評価値バラツキの算出は、上記と同様でよい。
【0069】
図7は、推定された最適値を表す第1図である。
図7は、設定値および評価値の関係を示すグラフが実線で示されており、設定値および評価値バラツキの関係を示すグラフが一点破線で示されている。横軸が設定値を示し、縦軸が算出された評価値または評価値バラツキを示す。また、点線の直線は、情報処理装置1によって求められた当該パラメータの最適値を示す。また、両端矢印は、近傍範囲を示す。
【0070】
図7により、最適な設定値は、評価値を最小とするものではなく、評価値バラツキを最小とするものであることが分かる。また、評価値のグラフも、最適な設定値の近傍においてなだらかになっていることが見て取れる。このように、ロバスト性が高い値が最適値として選ばれていることが分かる。
【0071】
なお、図に表示されるもの、および、その表示形式は、適宜に定めてよい。例えば、
図7では、二つのグラフが示されているが、グラフごとに分けられていてもよい。また、
図7では、両端矢印によって近傍範囲を示しているが、近傍範囲の限界値にかかるプロット、つまり、最小または最大の近傍設定値に係る近傍評価値をプロットしてもよい。また、最大の近傍評価値をプロットしてもよい。
【0072】
図8は、推定された最適値を表す第2図である。
図8の縦軸と横軸はそれぞれ異なるパラメータの設定値であり、等高線が評価値を表す。また、最適値を示すプロット3Cの周囲にある点線の四角形の枠は、最適値に対する近傍範囲を表す。
図8では、等高線の間隔が広いほど評価値バラツキが小さいことを意味する。そのため、最適値は、等高線が低く、かつ、等高線の間隔が広い位置に存在している。
【0073】
次に、構成要素の各処理の流れについて説明する。
図9は、第1の実施形態に係る情報処理装置1の全体処理の概略フローチャートである。
【0074】
推薦部105は、設定値の初期値を推薦する(S101)。前述の通り、初期値は予め定められたものでもよいし、推薦部105が、所定条件に基づいて設定範囲内の値を選出してもよい。当該初期値によって実験が行われ、評価装置2またはシミュレータ107は、推薦された設定値に基づく実験の結果に基づいて評価値または評価値バラツキを算出する(S102)。記憶部は、推薦された設定値と、算出された評価値または評価値バラツキと、を対応付けてデータセットに記録する(S103)。
【0075】
判定部103は、終了条件に基づき、最適値を決定するかを判定する(S104)。終了条件は、前述のように、事前に定めておく。最適値を決定しない場合(S105のNO)は、推定部104が、推薦された設定値と、対応する評価値または評価値バラツキと、に基づき、設定値と、評価値バラツキと、に関する関係式や、当該関係式に関する情報(平均、分散等)を推定する(S106)。推薦部105は、推定された情報に基づき、次に推薦する設定値を決定して出力する(S107)。例えば、評価値バラツキの平均および分散を獲得関数のパラメータに入力し、当該獲得関数を最大とする値を、次に推薦する設定値としてもよい。また、算出された値の近傍設定値を次に推薦する設定値としてもよい。
【0076】
次の設定値が推薦されると、S102からS104の処理が再度行われる。このようにして、設定値の決定および判定が繰り返される。最適値を決定する場合(S104のYES)は、判定部103が、これまでの設定値に基づいて最適値を決定し(S107)、フローは終了する。
【0077】
以上のように、本実施形態の情報処理装置1は、設定値と、当該設定値に関連する近傍評価値のバラツキと、の関係式を推定し、当該関係式に基づき、次回の実験に用いられる設定値を推薦する。このようにして、設定値が推薦され続けて実験が繰り返されることにより、評価値の変動が小さい設定値、つまり、ロバストな設定値を最適値として求めることができる。また、ベイズ推定を用いることにより、評価値バラツキを小さくする設定値を少ない実験回数で求めることができる。
【0078】
(第2の実施形態)
これまでの実施形態では、評価値バラツキを好ましくする設定値を推薦することを繰り返すことにより、ロバストな設定値を探索した。本実施形態では、対応する評価値もより好ましくする設定値を推薦する。本実施形態の、これまでの実施形態とは異なる部分を説明し、共通な部分は説明を省略する。
【0079】
本実施形態では、評価装置2またはシミュレータ107が、近傍評価値の平均、および、近傍評価値のうちの最悪なものと、の少なくともいずれかを算出し、データセットに登録されるとする。例えば、評価値が小さいほうが良い場合は、近傍評価値のうち最大のものを最悪とし、評価値が大きいほうが良い場合は、近傍評価値のうち最小のものを最悪とする。
【0080】
評価値を小さくしたい場合において、設定値xにおける評価値をf(x)、設定値xの近傍範囲をΔ’(x)とすると、最悪の近傍評価値は、次式で表すことができる。
【数11】
【0081】
近傍評価値の平均および最悪な近傍評価値は、評価値バラツキを算出する際に用いた近傍評価値を用いて算出してもよい。あるいは、評価値バラツキを算出する際に用いた近傍範囲とは異なる近傍範囲を用いて改めて近傍評価値を算出し、近傍評価値の平均および最悪な近傍評価値を算出してもよい。
【0082】
本実施形態の推定部104は、データセットに基づいて、設定値と、近傍評価値の平均または最悪の近傍評価値と、の関係式も推定する。当該関係式の推定方法は、前述の、設定値と、評価値バラツキと、の関係式の推定において説明された方法のいずれかでよい。なお、設定値と、近傍評価値の平均または最悪の近傍評価値と、の関係式の推定方法を、設定値と、評価値バラツキと、の関係式の推定方法に、合わせる必要はない。
【0083】
また、推定部104は、設定値と、近傍評価値の平均と、の関係式の確率分布の平均および分散の関係式を算出してもよい。また、設定値と、最悪な近傍評価値と、の関係式の確率分布の平均および分散の関係式を算出してもよい。例えば、設定値と、最悪な近傍評価値と、の関係式の確率分布の平均μ
δ(x)は、次式で表される。
【数12】
上式では、近傍範囲をΔ’(x)、近傍設定値を
とし、当該近傍設定値に対応する近傍評価値を
と表している。なお、上式では、最大な近傍評価値を最悪な近傍評価値としている。
【0084】
また、設定値と、最悪な近傍評価値と、の関係式の確率分布の分散σ
δ
2(x)は、例えば、次式で表される。
【数13】
【0085】
また、推定部104は、算出された平均および分散の関係式の荷重和を求めてもよい。例えば、設定値と、最悪な近傍評価値と、の関係式の確率分布の平均および分散の荷重和は、例えば、実数β
nを用いて、次式で表される。
【数14】
【0086】
本実施形態の推薦部105は、近傍評価値の平均の関係式または最悪の近傍評価値の関係式にさらに基づき、次に推薦する設定値を決定する。なお、推薦する設定値を決定する際に用いられる探索手法および獲得関数は、これまでの実施形態と同様でよい。
【0087】
例えば、設定値に対する評価値バラツキと、当該設定値に対する近傍評価値の平均または最悪の近傍評価値と、の荷重和に基づき、推薦する設定値を決定してもよい。例えば、当該荷重和が最も小さくなるような値を、推薦する設定値として決定してもよい。
【0088】
また、例えば、評価値バラツキの関係式の平均および分散と、近傍評価値の平均または最悪の近傍評価値の関係式の平均および分散と、に基づく獲得関数に基づき、推薦する設定値を決定してもよい。例えば、当該獲得関数が最大となるような値を、推薦する設定値と決定してもよい。
【0089】
また、例えば、評価値バラツキに関する獲得関数αδ(x)と、近傍評価値の平均または最悪の近傍評価値に関する獲得関数αmax(x)と、の荷重和を算出し、当該荷重和に基づき、推薦する設定値を決定してもよい。例えば、当該荷重和が最大となるような値を、推薦する設定値と決定してもよい。
【0090】
また、推薦部105は、荷重和に基づく獲得関数に基づき、推薦する設定値として決定してもよい。例えば、当該獲得関数が最大となるようなパラメータを、推薦する設定値として決定してもよい。用いられる荷重和は、例えば、設定値と評価値バラツキと関係式の確率分布の平均および分散の荷重和、設定値と最悪の評価値との関係式の確率分布の平均および分散の荷重和、などが用いられる。例えば、荷重和に基づく獲得関数は、任意の実数λを用いて、次式で表される。
【数15】
【0091】
さらに、推薦部105は、上記の獲得関数により得られた値の近傍範囲内で改めて評価値の推定平均と推定分散に基づく獲得関数に基づき、推薦する設定値を決定してもよい。例えば、当該獲得関数が最大となるような値を、推薦する設定値として決定してもよい。例えば、獲得関数は次式で表される。
【数16】
【0092】
このように、本実施形態では、推定部104によって推定される情報、推薦される設定値を決定するために推薦部105によって使用される獲得関数などが異なる。ただし、処理の流れは第1の実施形態と同様である。ゆえに、本実施形態のフローは、省略する。
【0093】
以上のように、本実施形態では、近傍評価値の平均または最悪の近傍評価値を用いて、推薦される設定値を決定する。これにより、設定値の評価値および評価値バラツキの二つを同時に好ましくする設定値を推薦する。そのため、これまでの実施形態よりもさらに少ないシミュレーション回数で最適な設定値を求めることができる。
【0094】
なお、上記の実施形態の少なくとも一部は、プロセッサ、メモリなどを実装しているIC(Integrated Circuit:集積回路)などの専用の電子回路(すなわちハードウェア)により実現されてもよい。また、上記の実施形態の少なくとも一部は、ソフトウェア(プログラム)を実行することにより、実現されてもよい。例えば、汎用のコンピュータ装置を基本ハードウェアとして用い、コンピュータ装置に搭載されたCPUなどのプロセッサにプログラムを実行させることにより、上記の実施形態の処理を実現することが可能である。
【0095】
例えば、1台または複数台のコンピュータにより、情報処理装置1を構成することができる。また、シミュレータ107もコンピュータにより構成することができる。すなわち、情報処理装置1とシミュレータ107を備える情報処理システムも、複数台のコンピュータにより、構成できる。
【0096】
例えば、コンピュータが読み取り可能な記憶媒体に記憶された専用のソフトウェアをコンピュータが読み出すことにより、コンピュータを上記の実施形態の装置とすることができる。記憶媒体の種類は特に限定されるものではない。また、通信ネットワークを介してダウンロードされた専用のソフトウェアをコンピュータがインストールすることにより、コンピュータを上記の実施形態の装置とすることができる。こうして、ソフトウェアによる情報処理が、ハードウェア資源を用いて、具体的に実装される。
【0097】
図10は、本発明の一実施形態におけるハードウェア構成の一例を示すブロック図である。情報処理装置1は、プロセッサ41と、主記憶装置42と、補助記憶装置43と、ネットワークインタフェース44と、デバイスインタフェース45と、を備え、これらがバス46を介して接続されたコンピュータ装置4として実現できる。記憶部101は、主記憶装置42または補助記憶装置43により実現可能であり、その他の構成要素は、プロセッサ41により実現可能である。
【0098】
なお、
図10のコンピュータ装置4は、各構成要素を一つ備えているが、同じ構成要素を複数備えていてもよい。また、
図10では、1台のコンピュータ装置4が示されているが、ソフトウェアが複数のコンピュータ装置にインストールされて、当該複数のコンピュータ装置それぞれがソフトウェアの異なる一部の処理を実行してもよい。
【0099】
プロセッサ41は、コンピュータの制御装置および演算装置を含む電子回路である。プロセッサ41は、コンピュータ装置4の内部構成の各装置などから入力されたデータやプログラムに基づいて演算処理を行い、演算結果や制御信号を各装置などに出力する。具体的には、プロセッサ41は、コンピュータ装置4のOS(オペレーティングシステム)や、アプリケーションなどを実行し、コンピュータ装置4を構成する各装置を制御する。プロセッサ41は、上記の処理を行うことができれば特に限られるものではない。
【0100】
主記憶装置42は、プロセッサ41が実行する命令および各種データなどを記憶する記憶装置であり、主記憶装置42に記憶された情報がプロセッサ41により直接読み出される。補助記憶装置43は、主記憶装置42以外の記憶装置である。なお、これらの記憶装置は、電子情報を格納可能な任意の電子部品を意味するものとし、メモリでもストレージでもよい。また、メモリには、揮発性メモリと、不揮発性メモリがあるが、いずれでもよい。
【0101】
ネットワークインタフェース44は、無線または有線により、通信ネットワーク5に接続するためのインタフェースである。ネットワークインタフェース44は、既存の通信規格に適合したものを用いればよい。ネットワークインタフェース44により、通信ネットワーク5を介して通信接続された外部装置6Aと情報のやり取りが行われてもよい。
【0102】
デバイスインタフェース45は、外部装置6Bと直接接続するUSBなどのインタフェースである。外部装置6Bは、外部記憶媒体でもよいし、データベースなどのストレージ装置でもよい。
【0103】
外部装置6Aおよび6Bは、前述のシミュレータ107でもよいし、出力装置でもよいし、入力装置でもよい。出力装置は、例えば、画像を表示するための表示装置でもよいし、音声などを出力する装置などでもよい。例えば、LCD(Liquid Crystal Display)、CRT(Cathode Ray Tube)、PDP(Plasma Display Panel)、スピーカなどがあるが、これらに限られるものではない。入力装置は、キーボード、マウス、タッチパネルなどのデバイスを備え、これらのデバイスにより入力された情報をコンピュータ装置4に与える。入力装置からの信号はプロセッサ41に出力される。
【0104】
上記に、本発明の一実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、移行を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0105】
1 情報処理装置
101 記憶部
102 入力部
103 判定部(最適値決定部)
104 推定部
105 推薦部
106 出力部
107 シミュレータ
2 評価装置
3(3A、3B、3C) プロット
4 コンピュータ装置
41 プロセッサ
42 主記憶装置
43 補助記憶装置
44 ネットワークインタフェース
45 デバイスインタフェース
46 バス
5 通信ネットワーク
6Aおよび6B 外部装置