(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-12-25
(45)【発行日】2025-01-09
(54)【発明の名称】情報処理システムおよび処理条件決定システム
(51)【国際特許分類】
G06N 99/00 20190101AFI20241226BHJP
G06N 20/10 20190101ALI20241226BHJP
G06F 17/10 20060101ALI20241226BHJP
【FI】
G06N99/00 180
G06N20/10
G06F17/10 Z
(21)【出願番号】P 2021083895
(22)【出願日】2021-05-18
【審査請求日】2024-02-01
(73)【特許権者】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110000350
【氏名又は名称】ポレール弁理士法人
(72)【発明者】
【氏名】中田 百科
【審査官】北川 純次
(56)【参考文献】
【文献】国際公開第2017/056367(WO,A1)
【文献】米国特許出願公開第2020/0302306(US,A1)
【文献】特開2021-002331(JP,A)
【文献】小津泰生,アニーリングにおける新たな次元削減手法の性能評価,第83回(2021年)全国大会講演論文集(1),一般社団法人情報処理学会,2021年03月04日,pp.1-289 - 1-290
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/00 - 99/00
G06F 17/10
(57)【特許請求の範囲】
【請求項1】
1つ以上の説明変数および1つ以上の目的変数に関する標本データからなる学習データベースを解析し、制約なし二次形式関数または線形制約あり一次形式関数を導出する情報処理システムであって、
前記情報処理システムは、
前記学習データベースに対して機械学習により目的関数を導出する目的関数導出システムと、
前記目的関数を前記制約なし二次形式関数または前記制約あり一次形式関数に変換する関数変換システムと、を備え、
前記目的関数導出システムは、
機械学習の手法の詳細を設定する機械学習設定部と、
前記機械学習設定部で設定された機械学習の手法を用いて前記目的関数を導出する学習部と、を有し、
前記関数変換システムは、
0か1の値のみを成分とするベクトルであるダミー変数の生成方法を設定するダミー変数設定部と、
前記ダミー変数設定部で設定された生成方法に基づいて前記ダミー変数を生成するダミー変数生成部と、
前記目的関数に陽に現れる1つ以上の前記説明変数を前記ダミー変数を用いて消去することで、前記説明変数の二次より高次の非線形項を二次以下に次元を落とし、前記目的関数を前記ダミー変数および前記目的変数に関する前記制約なし二次形式関数または前記線形制約あり一次形式関数へ変換する関数変換部と、
を有
し、
前記機械学習設定部で設定される機械学習の手法はカーネル法であり、
前記機械学習設定部は、
カーネル回帰、ベイズ最適化、カーネル回帰による多目的最適化、のいずれかを選択するカーネル手法選択部と、
カーネル関数の種類を選択するカーネル関数選択部と、を有し、
前記カーネル手法選択部で前記カーネル回帰が選択された場合には、前記目的関数はカーネル回帰の回帰関数であり、
前記カーネル手法選択部で前記ベイズ最適化が選択された場合には、前記目的関数はベイズ最適化の獲得関数であり、
前記カーネル手法選択部で前記カーネル回帰による多目的最適化が選択された場合には、前記目的関数はカーネル回帰の1つ以上の回帰関数の線形和で与えられる関数であることを特徴とする情報処理システム。
【請求項2】
請求項
1において、
前記説明変数は0か1の値のみを成分とするベクトルであることを特徴とする情報処理システム。
【請求項3】
請求項
2において、
前記ダミー変数設定部で設定される生成方法として、
前記カーネル関数選択部で選択されたカーネル関数の取り得る値に対してone-hotエンコーディングを施すことで、前記ダミー変数を生成する生成方法を含むことを特徴とする情報処理システム。
【請求項4】
請求項
2において、
前記カーネル手法選択部で、前記カーネル回帰、または、前記カーネル回帰による多目的最適化、が選択された場合に、
前記関数変換部は、
前記目的関数を前記ダミー変数に関する一次形式関数に変換し、
前記ダミー変数生成部で生成された前記ダミー変数に関する制約を課すことで、
前記線形制約あり一次形式関数を導出することを特徴とする情報処理システム。
【請求項5】
請求項
2において、
前記カーネル手法選択部で、前記ベイズ最適化が選択された場合に、
前記関数変換部は、
前記目的関数を前記ダミー変数に関する二次形式関数に変換し、
前記制約なし二次形式関数を導出することを特徴とする情報処理システム。
【請求項6】
請求項
2において、
前記カーネル手法選択部で、前記カーネル回帰、または、前記カーネル回帰による多目的最適化、が選択された場合に、
前記関数変換部は、
前記目的関数を前記ダミー変数に関する一次形式関数に変換し、
前記ダミー変数生成部で生成された前記ダミー変数に関する制約に対する二次形式のペナルティ項を付与することで、
前記制約なし二次形式関数を導出することを特徴とする情報処理システム。
【請求項7】
請求項
2において、
前記カーネル手法選択部で、前記カーネル回帰が選択された場合に、
前記カーネル関数選択部で選択されたカーネル関数を1つ以上の基底関数の足し合わせで近似することにより新たなカーネル関数とし、
前記学習部では、前記新たなカーネル関数を用いたカーネル回帰により前記目的関数を導出することを特徴とする情報処理システム。
【請求項8】
請求項
7において、
前記基底関数の足し合わせで近似する際に、
前記カーネル関数と前記基底関数の足し合わせとの誤差に関する最小二乗法または最小絶対値法を用いることを特徴とする情報処理システム。
【請求項9】
請求項
8において、
前記ダミー変数生成部は、
前記基底関数に対する双対変換における共役変数を、前記ダミー変数の一部として生成することを特徴とする情報処理システム。
【請求項10】
請求項
9において、
前記基底関数は、前記説明変数の一次形式または二次形式を入力とする、ReLU(Rectified Linear Unit)関数、絶対値を返す数値演算関数、指示関数、のいずれかであることを特徴とする情報処理システム。
【請求項11】
請求項
1に記載の情報処理システムと、
処理装置と、
前記処理装置の処理条件を出力する処理条件解析システムと、
前記処理条件のデータ、および、得られる処理結果のデータ、を加工して出力する学習データ生成部と、
を備え、前記処理装置の前記処理条件を決定する処理条件決定システムであって、
前記処理装置は、
前記処理条件解析システムから出力された前記処理条件を入力する処理条件入力部と、
前記処理条件入力部で入力された前記処理条件を用いて前記処理装置の処理を行う処理部と、
前記処理部の処理結果を取得する処理結果取得部と、を有し、
前記処理条件解析システムは、
前記情報処理システムによって導出された関数の種類に応じて前記説明変数の値の解析手法を選択する解析手法選択部と、
前記解析手法選択部で選択された解析手法を用いて、入力された関数の最小値または最大値を与える前記説明変数の値を算出する処理条件解析部と、
前記処理条件解析部で得られた前記説明変数の値を前記処理条件に加工して出力する処理条件出力部と、を有し、
前記処理条件入力部で入力された前記処理条件と、前記処理結果取得部で取得された処理結果は、前記学習データ生成部に入力され、
前記学習データ生成部は、前記処理条件入力部で入力された前記処理条件を前記説明変数のデータに加工し、前記処理結果取得部から出力された前記処理結果を前記目的変数のデータに加工して、前記学習データベースに格納し、
前記情報処理システムによって導出された関数は、前記解析手法選択部に入力され、
前記処理条件出力部によって出力された前記処理条件は、前記処理条件入力部に入力され、
所望の処理結果が得られるまで、前記情報処理システムによる関数導出、前記処理条件解析システムによる処理条件の出力、前記処理装置による処理、前記学習データ生成部による前記学習データベースへの前記説明変数のデータおよび前記目的変数のデータの格納、を繰り返すことを特徴とする処理条件決定システム。
【請求項12】
請求項
11において、
前記解析手法選択部では、
前記情報処理システムによって導出された関数が制約なし二次形式関数の場合はアニーリングが選択され、
前記情報処理システムによって導出された関数が制約あり一次形式関数の場合は整数計画法または線形計画法が選択されることを特徴とする処理条件決定システム。
【請求項13】
請求項
11において、
前記学習データ生成部では、
入力された前記処理条件のデータに対して二進数変換またはone-hotエンコーディングを施すことで、前記説明変数のデータを生成することを特徴とする処理条件決定システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理システムおよび処理条件決定システムに関する。
【背景技術】
【0002】
組み合わせ最適化問題を効率的に解く有効な解析装置として、目的関数をイジングモデルに変換してアニーリング法を用いて大局解を探索するアニーリングマシン(あるいはイジングマシン)がある。ここで、アニーリングの方式には、主にシミュレーティッドアニーリング(Simulated Annealing)、量子アニーリング(Quantum Annealing)がある。また、イジングモデルとは、-1もしくは1の値をとる複数のスピン変数に関して、一次の項と二次の項までを考慮したモデルであり、巡回セールスマン問題など、組み合わせ最適化問題の一部の目的関数は、イジングモデルで表すことができることが知られている。しかし、現実の多くの組み合わせ最適化問題における目的関数は、一般には予め定式化されておらず、イジングモデルが定義されていない。このような場合にアニーリングマシンを用いて最適な組み合わせを求める従来技術として、特許文献1がある。
【0003】
特許文献1には、データから目的関数を定式化し、それを最小化あるいは最大化するような条件を、量子アニーリング等のアニーリングを用いて最適化することが記載されている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
特許文献1に示した発明のように、アニーリングマシンを用いて目的関数を最適化するには、目的関数をイジングモデルに変換しておく必要がある。しかし、引用文献1には、目的関数をイジングモデルに変換するための具体的なマッピング方法が開示されていない。
【0006】
本発明の目的は、機械学習で導出する非線形性の強い目的関数をイジングモデルへ変換することで、アリーリング等による最適解の探索を可能とする情報処理システムを提供することにある。
【課題を解決するための手段】
【0007】
上記課題を解決するために、本発明は、1つ以上の説明変数および1つ以上の目的変数に関する標本データからなる学習データベースを解析し、制約なし二次形式関数または線形制約あり一次形式関数を導出する情報処理システムであって、前記情報処理システムは、前記学習データベースに対して機械学習により目的関数を導出する目的関数導出システムと、前記目的関数を前記制約なし二次形式関数または前記制約あり一次形式関数に変換する関数変換システムと、を備え、前記目的関数導出システムは、機械学習の手法の詳細を設定する機械学習設定部と、前記機械学習設定部で設定された機械学習の手法を用いて前記目的関数を導出する学習部と、を有し、前記関数変換システムは、0か1の値のみを成分とするベクトルであるダミー変数の生成方法を設定するダミー変数設定部と、前記ダミー変数設定部で設定された生成方法に基づいて前記ダミー変数を生成するダミー変数生成部と、前記目的関数に陽に現れる1つ以上の前記説明変数を前記ダミー変数を用いて消去することで、前記説明変数の二次より高次の非線形項を二次以下に次元を落とし、前記目的関数を前記ダミー変数および前記目的変数に関する前記制約なし二次形式関数または前記線形制約あり一次形式関数へ変換する関数変換部と、を有する。
【発明の効果】
【0008】
本発明によれば、二次より高次の非線形性の強い目的関数が、制約なし二次形式関数または線形制約あり一次形式関数に変換され、アニーリング、線形計画法、整数計画法などを用いた最適解の探索が可能となる。
【0009】
その他の課題と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【図面の簡単な説明】
【0010】
【
図1】実施例1における情報処理システムの構成例である。
【
図2A】機械学習を用いて導出した典型的な目的関数を例示した図である。
【
図2B】
図2Aに示した目的関数に対し、ダミー変数を生成することで得られた制約なし二次形式関数を例示した図である。
【
図3】実施例1における情報処理システムによるフローチャートである。
【
図5A】説明変数と目的変数が満たす、真の回帰の一例である。
【
図5B】回帰を推定し、最大値を与える説明変数の値を探索する様子を示した図である。
【
図5C】ベイズ最適化を用いて獲得関数を推定し、最大値を与える説明変数の値を探索する様子を示した図である。
【
図6A】説明変数と、生成されたダミー変数とのリストを示す図である。
【
図6B】
図6Aの変数に関する、制約なし二次形式関数の出力結果の一例を示す。
【
図6C】
図6Aの変数に関する、線形制約あり一次形式関数の出力結果(係数ベクトル)の一例を示す。
【
図6D】
図6Aの変数に関する、線形制約あり一次形式関数の出力結果(制約行列、制約定数ベクトル)の一例を示す。
【
図7】実施例2における情報処理システムの構成例である。
【
図8】実施例2における情報処理システムによるフローチャートである。
【
図9】実施例3における処理条件決定システムの構成例である。
【
図10】実施例3における処理条件決定システムによるフローチャートである。
【発明を実施するための形態】
【0011】
以下、図面を用いて本発明の実施の形態を説明する。ただし、本発明は以下に示す実施の形態の記載内容に限定して解釈されるものではない。本発明の思想ないし趣旨から逸脱しない範囲で、その具体的構成を変更し得ることは当業者であれば容易に理解される。
【0012】
また、図面等において示す各構成の位置、大きさ、形状、及び範囲等は、発明の理解を容易にするため、実際の位置、大きさ、形状、及び範囲等を表していない場合がある。したがって、本発明では、図面等に開示された位置、大きさ、形状、及び範囲等に限定されない。
【0013】
イジングモデルは、変数の二次の項までを考慮したモデルのため、一般の組み合わせ最適化問題をイジングモデルに変換するためには、二次より高次の項を、追加のスピン変数を定義することで次元を落とす変換が必要となる。典型的な変換方法として、2つのスピン変数の積X1X2を新たなスピン変数Y12と置くことで、三次の項X1X2X3は二次の項Y12X3に変換できる。しかし、機械学習を用いて得られる目的関数は、一般に高次の非線形項を多数持つため、上記のような手法によりイジングモデルへ変換すると、大規模な追加スピン変数が必要となる。例えば、目的関数の最高次数が10の場合を考える。10次の項を2次に落とすには、8個の追加スピン変数が必要となる。このような項が100個あれば、800個の追加変数が必要となる。この追加のスピン変数は、0か1の値のみを成分とするベクトルであり、以下ダミー変数と呼ぶ。一般に、機械学習によって得られた目的関数には9次、8次、7次の項もあるため、更に多くの変数が必要となる。アニーリングマシンで扱えるスピン変数には上限があるため、このような機械学習で求めた目的関数の最適化を行うことは困難である。そこで、本実施形態では、機械学習で導出した非線形性の強い目的関数を、ダミー変数の数が膨大にならないように、高速かつ高精度でイジングモデルに変換する技術を提供する。これにより、現実世界の複雑な問題を機械学習で目的関数に変換し、更にイジングモデルに変換することで、アニーリングマシン等を用いた最適化を行うことが可能となる。
【0014】
本実施形態は、機械学習、特にカーネル法を用いて得られる目的関数を、イジングモデルへ変換するものである。イジングモデルは、所定の変換により、0か1のみの値をとるバイナリ変数を並べてできる変数に関する制約なし二次形式関数(Quadratic Unconstrained Binary Optimizationのモデル)と等価であることが知られている。このため、以下では、バイナリ変数の説明変数Xに関する目的関数f(X)を、ダミー変数を適宜生成することで、制約なし二次形式関数に変換する方法について、説明する。ここで、変数ベクトルxに関する制約なし二次形式関数とは、xに関して高々二次の関数であり、xの次元数と等しい行数と列数を持つ対称行列Qを用いて以下の(式1)のように表される関数である。
【0015】
【0016】
ここで、上添え字のTは、行列に対する転置演算を示す。以下、この行列Qを係数行列と呼ぶ。例えば目的関数として、カーネル法を用いて得られる回帰関数を選択すると、リプリゼンター定理(Representer定理、表現定理)により、目的関数はカーネル関数の線形和で表される。目的関数自体は一般に非線形性の強い関数であるため、上記の方法では制約なし二次形式関数に変換するために大量の追加バイナリ変数、すなわちダミー変数が必要となる。しかし、カーネル関数は目的関数に比べ非線形性が弱く、後述のように少数のダミー変数によって制約なし二次形式関数に変換あるいは近似することが可能である。従って、カーネル関数を制約なし二次形式関数に変換することで、その和である目的関数も制約なし二次形式関数に変換できることになる。アニーリングマシンを用いれば(式1)の制約なし二次形式関数の最大値または最小値を与える変数ベクトルx=xoptを探索できるため、xoptからダミー変数の成分を除去することで、目的関数を最大化または最小化する説明変数x=xoptを求めることができる。
【0017】
なお、カーネル関数には、RBF(Radial Basis Function)カーネル(ガウスカーネル)、多項式カーネル、Sigmoidカーネル等、様々なカーネル関数が存在する。カーネル関数の種類によっては、目的関数を線形制約あり一次形式関数に変換することも可能である。ここで、変数ベクトルxに関する線形制約あり一次形式関数とは、xの次元数と等しい次元のベクトルaと、xの次元数と等しい列数を持つ行列Aと、Aの行数と等しい次元数を持つベクトルcとを用いて以下の(式2)ように表される関数である。
【0018】
【0019】
以下、ベクトルaを係数ベクトル、行列Aを制約行列、ベクトルcを制約定数ベクトルと呼ぶ。この場合、アニーリングではなく整数計画法または線形計画法を用いて線形制約ありの一次形式関数の最大値または最小値を与える変数ベクトルx=xoptを探索することができる。制約なし二次形式関数の場合と同様、xoptからダミー変数の成分を除去することで、目的関数を最大化または最小化する説明変数x=xoptを求めることができる。
【実施例1】
【0020】
図1は実施例1における情報処理システムの構成例を示す図である。実施例1の情報処理システムは、説明変数と目的変数のデータから機械学習を用いて目的関数を導出し、その目的関数を、イジングマッピング、具体的には、制約なし二次形式関数または線形制約あり一次形式関数に変換し、出力する。
【0021】
情報処理システム100は、1つ以上の説明変数Xおよび1つ以上の目的変数Yに関する標本データから機械学習を用いて目的関数を導出する目的関数導出システム200と、説明変数Xに対して追加のダミー変数X’を生成し、目的関数をXとX’に関する制約なし二次形式関数または線形制約あり一次形式関数化に変換する関数変換システム300と、を備える。
図2Aは、目的関数導出システム200により得られた目的関数の一例を図示したものであり、
図2Bは関数変換システム300により得られたイジングモデルの一例として制約なし二次形式関数を図示したものである。
【0022】
目的関数導出システム200は、説明変数Xと目的変数Yの標本データを格納する学習データベース210と、機械学習の手法(種類や仕様など)の詳細を設定する機械学習設定部220と、機械学習設定部220で設定された機械学習の手法を用いて目的関数を導出する学習部230と、を有する。
【0023】
学習データベース210は、
図4Aのように、標本数分の説明変数と目的変数の値のデータを構造化データとして格納している。目的変数の数は、
図4Bに示すように2つ以上あっても良い。学習部230で得られる目的関数としては、例えば説明変数X=(X
1,X
2,..)と目的変数Y=(Y
1,Y
2,..)間の回帰関数Y=f(X)がある。
図5Aは真の回帰関数の一例が示されており、
図4に示した標本データから、この真の回帰を推定して得られた回帰関数を
図5Bに示す。また、目的関数として、
図5Cに示したベイズ最適化による獲得関数も考えられる。獲得関数は、
図5Bで推定した回帰関数を、予測分散を用いて修正したものである。さらに、特に目的変数が2つ以上ある場合、すなわち多目的最適化の場合は、目的関数として目的変数ごとの回帰関数の線形和を選択することも可能である。
【0024】
関数変換システム300は、ダミー変数の生成方法を設定するダミー変数設定部310と、ダミー変数設定部310で設定された生成方法に基づいてダミー変数を生成するダミー変数生成部320と、学習部230で得られた目的関数を制約なし二次形式関数または線形制約あり一次形式関数に変換して出力する関数変換部330と、を有する。ここで、関数変換部330は、目的変数を変換するに際に、目的関数に陽に現れる1つ以上の説明変数を、ダミー変数を用いて消去することにより、説明変数の二次より高次の非線形項を二次以下の次元に落とす処理を行う。
【0025】
関数変換部330での出力結果の一例を
図6A~
図6Dに示す。
図6Aは、制約なし二次形式関数または線形制約あり一次形式関数の持つ変数の一覧を示しており、元の説明変数と、ダミー変数生成部320により生成されたダミー変数と、が表示されている。制約なし二次形式関数に変換された場合は、
図6Bのように(式1)の係数行列の各要素が出力される。線形制約あり一次形式関数に変換された場合は、
図6Cおよび
図6Dのように(式2)の係数ベクトル、制約行列、制約定数ベクトルの各要素が出力される。
【0026】
図3は、学習データベース210に説明変数Xと目的変数Yの標本データを格納された状態から、情報処理システム100により制約なし二次形式関数または線形制約ありの一次形式関数を出力するフローチャートである。以下、
図3を用いて、本実施例の情報処理システム100が制約なし二次形式関数または線形制約あり一次形式関数を出力する方法を説明する。
【0027】
まず、機械学習設定部220で、目的関数を導出するための機械学習手法の詳細が設定される(ステップS101)。例えば、カーネル法やニューラルネットワーク、決定木など学習の種類が選択される。また、ステップS101では、カーネル関数や活性化関数の種類、木の深さ、誤差逆伝搬の際の学習率など、学習のハイパーパラメータも設定される。
【0028】
次に、学習部230は、学習データベース210に格納されたデータを用いて、機械学習設定部220にて設定された諸条件の下で機械学習により目的関数を学習し、関数変換部330へ出力する(ステップS102)。
【0029】
次に、学習部230で導出された目的関数の情報に基づき、ユーザーはダミー変数の生成方法を決定し、ダミー変数設定部310に入力する(ステップS103)。なお、生成方法は以下の(式3)のようなダミー変数X’と説明変数Xに関する何らかの関数が恒等的に成り立つような制約式を与えることで設定できる。
【0030】
【0031】
次に、ダミー変数生成部320は、ステップS103にて設定されたダミー変数の生成補法により、ダミー変数を生成する(ステップS104)。すなわち、ダミー変数生成部320は、(式3)が成り立つようなダミー変数X’を生成する。
【0032】
(式3)の具体例を述べる。例えば、学習部230で導出された目的関数の持つ項のうち、ユーザーは、2以上の自然数Kを任意に決定し、説明変数のk=2,3,4,..,K次の単項式の1つ以上について、係数を除く部分を割り切るような係数1の単項式をダミー変数として定義することで、ダミー変数を生成する方法を設定できる。例えば、目的関数に-4X1X2X3の項があった時、単項式X2X3はこれを割り切るので、X2X3をダミー変数X’1として定義する。この場合の(式3)は、以下の(式4)のようになる。
【0033】
【0034】
Kを目的関数の次数よりも小さく設定することで、ダミー変数の数の規模を抑制することが可能となり、機械学習で求めた目的関数の非線形性が強くても、目的関数をイジングモデル化できるようになる。他にも、後述の実施例2のステップS204で述べるダミー変数の生成方法を設定しても良い。
【0035】
最後に、関数変換部330は、学習部230にて導出された目的関数を制約なし二次形式関数または線形制約あり一次形式関数に変換して出力する(ステップS105)。ただし、制約なし二次形式関数または線形制約あり一次形式関数は、説明変数とダミー変数に関する関数とする。また、関数変換部330は、目的関数の1つ以上の項に出現する説明変数の1つ以上を、ダミー変数生成部320にて生成されたダミー変数により消去することで、上記の変換を実施する。
【0036】
なお、関数変換部330にて線形制約あり一次形式関数を出力する場合は、(式3)の制約式が線形になる場合にのみに限られており、(式2)に示した線形制約あり一次形式関数の持つ制約は(式3)によって与えられる。また、関数変換部330にて制約なし二次形式関数を出力する場合は、変換された目的関数に、(式3)の制約式に関するペナルティ項を加えることで出力される。ただし、ペナルティ項は、二次形式に限られる。
【実施例2】
【0037】
実施例2では、機械学習として、特にカーネル法を用いた場合について説明する。
図7は実施例2における情報処理システムの構成例を示す図である。実施例2の情報処理システム100は、説明変数と目的変数のデータからカーネル法を用いて目的関数を導出し、その目的関数を制約なし二次形式関数または線形制約あり一次形式関数に変換し出力する。
【0038】
情報処理システム100、目的関数導出システム200、学習データベース210、機械学習設定部220、学習部230、関数変換システム300、ダミー変数設定部310、ダミー変数生成部320および関数変換部330の定義は、実施例1と共通である。
【0039】
本実施例における機械学習設定部220では、特にカーネル法の詳細が設定される。本実施例の機械学習設定部220は、カーネル手法選択部221と、カーネル関数選択部222と、を備える。カーネル手法選択部で221では、目的関数を導出するために用いるカーネル手法が選択される。また、カーネル関数選択部222では、カーネル法で用いるカーネル関数の種類が選択される。
【0040】
図8は、学習データベース210に説明変数Xと目的変数Yの標本データが格納された状態から、情報処理システム100が制約なし二次形式関数または線形制約あり一次形式関数を出力するフローチャートである。以下、
図8を用いて、制約なし二次形式関数または線形制約あり一次形式関数を出力する方法を説明する。
【0041】
まず、ユーザーは、カーネル手法選択部221において、カーネル回帰、ベイズ最適化、カーネル回帰による多目的最適化のいずれかの手法を選択する(ステップS201)。例えば、データが少なく疎な学習領域があるときに次の探索データを効率良く決めるような場合には、ベイズ最適化の手法が選択される。また、例えば、目的変数が複数あって互いにトレードオフの関係にあるときに最適な解を得たい場合には、カーネル回帰による多目的最適化の手法が選択される。
【0042】
次に、ユーザーは、カーネル関数選択部222において、ステップS201で選択したカーネル手法におけるカーネル関数の種類を選択する(ステップS202)。カーネル関数の種類としては、RBF(Radial Basis Function)カーネル、多項式カーネル、Sigmoidカーネル等の関数が考えられる。
【0043】
次に、学習部230は、カーネル手法選択部221で選択されたカーネル手法、およびカーネル関数選択部222で選択されたカーネル関数、を用いて、目的関数を学習し導出する(ステップS203)。ここで、導出される目的関数は、カーネル回帰が選択された場合は回帰関数、ベイズ最適化が選択された場合は獲得関数、カーネル回帰による多目的最適化の場合は目的変数ごとの回帰関数の線形和、となる。例えば、カーネル手法選択部221で、カーネル回帰が選択された場合、カーネル関数選択部222で選択されたカーネル関数を1つ以上の基底関数の足し合わせで近似することにより新たなカーネル関数とし、学習部230で、新たなカーネル関数を用いたカーネル回帰により目的関数を導出する。
【0044】
次に、学習部230で導出された目的関数の情報に基づき、ユーザーは、ダミー変数の生成方法を決定し、ダミー変数設定部310に入力する(ステップS204)。本実施例では、特に以下の2つの生成方法を例示する。
【0045】
第一の生成方法は、カーネル関数の取り得る値に対してone-hotエンコーディングを施すことで、ダミー変数を生成する方法である。ここで、M水準の値{λ1,λ2,..,λM}を持つ変数xに対するone-hotエンコーディングとは、以下の(式5)および(式6)を満たすように水準数個のダミー変数x’
1,x’
2,..,x’
Mを生成する方法である。
【0046】
【0047】
【0048】
この生成方法では、説明変数としてバイナリ変数のベクトルを想定する。この説明変数を代入して得られるカーネル関数の取り得る値の数、すなわち水準は、説明変数の次元に比例するため、ダミー変数の数が膨大となることを抑えることができる。これにより、機械学習で求めた目的関数の非線形性が強くても、目的関数をイジングモデル化でき、アニーリングマシン等を用いた目的関数の最適化が可能となる。なお、(式5)および(式6)は、(式3)の形式に容易に変形することができる。(式5)および(式6)より、カーネル関数は、説明変数とダミー変数に関する線形制約あり一次形式関数で表すことができる。
【0049】
第二の生成方法は、カーネル関数を1つ以上の基底関数の足し合わせでフィッティングを実施して近似し、この基底関数の双対変換における共役変数をダミー変数として定義する方法である。双対問題としては、Lagrange双対問題、Fenchel双対問題、Wolfe双対問題、Legendre双対問題のいずれかを考える。なお、第一の生成方法では説明変数としてバイナリ変数のベクトルを仮定したが、第二の生成方法はその仮定に限定されない。ここで用いられる基底関数は、双対問題の共役変数と、説明変数とに関して二次形式で表されるものである。このような基底関数としては、説明変数の一次形式あるいは二次形式を入力とするような、ReLU(Rectified Linear Unit)関数、絶対値を返す数値演算関数、あるいは指示関数等、多数の関数が存在する。このような基底関数を用いれば、上記の双対問題の共役変数をダミー変数とすることにより、カーネル関数を説明変数とダミー変数に関する二次形式関数で近似することができる。また、双対問題で要求される共役変数の制約条件を、ダミー変数の満たす(式3)の制約式とすればよい。従って、カーネル関数を説明変数とダミー変数に関する二次形式関数で近似した後に、(式3)の制約式に関する二次形式のペナルティ項を加えることで、カーネル関数を制約なし二次形式関数で表すことができる。
【0050】
第二の生成例においても、共役変数の数が小規模で済む基底関数を用いれば、ダミー変数の数が膨大となることを抑えることができるので、非線形性の強い目的関数もイジングモデル化が可能となる。なお、カーネル関数を1つ以上の基底関数の足し合わせでフィッティング(近似)する際に、カーネル関数と基底関数の足し合わせとの近似誤差に関する最小二乗法または最小絶対値法を用いることで、高精度なフィッティングが可能となる。
【0051】
以降のステップS205およびステップS206は、実施例1におけるステップS104およびステップS105とそれぞれ同じ定義である。なお、ステップS201においてカーネル手法選択部221で、カーネル回帰、または、カーネル回帰による多目的最適化、が選択された場合、関数変換部330は、目的関数をダミー変数に関する一次形式関数に変換し、ダミー変数生成部320で生成されたダミー変数に関する制約を課すことで、制約あり一次形式関数を導出する。このとき、関数変換部330は、変換された一次形式関数に、制約に対する二次形式のペナルティ項を付与することで、制約なし二次形式関数を導出することもできる。また、ステップS201においてカーネル手法選択部221で、ベイズ最適化が選択された場合、関数変換部330は、目的関数をダミー変数に関する二次形式関数に変換し、制約なし二次形式関数を導出する。
【実施例3】
【0052】
実施例3では、実施例2の情報処理システムを用いて処理装置の処理条件を決定する、
処理条件決定システムについて説明する。
図9は、実施例3における処理条件決定システムの構成例を示す図である。
【0053】
情報処理システム100、目的関数導出システム200、学習データベース210、機械学習設定部220、カーネル手法選択部221、カーネル関数選択部222、学習部230、関数変換システム300、ダミー変数設定部310、ダミー変数生成部320および関数変換部330の定義は、実施例2と共通である。
【0054】
処理条件決定システム400は、目的関数導出システム200と、関数変換システム300と、処理装置500と、学習データ生成部600と、処理条件解析システム700と、で構成され、処理装置500の処理条件を決定するシステムである。
【0055】
処理装置500は、対象の試料に対して何らかの処理により加工を行う装置である。処理装置500には、半導体処理装置が含まれる。半導体処理装置には、リソグラフィ装置、製膜装置、パターン加工装置、イオン注入装置、加熱装置および洗浄装置などが含まれる。リソグラフィ装置としては、露光装置、電子線描画装置およびX線描画装置などがある。製膜装置としては、CVD(Chemical Vapor Deposition)装置、PVD(Physical Vapor Deposition)装置、蒸着装置、スパッタリング装置および熱酸化装置などがある。パターン加工装置としては、ウェットエッチング装置、ドライエッチング装置、電子ビーム加工装置およびレーザー加工装置などがある。イオン注入装置としては、プラズマドーピング装置およびイオンビームドーピング装置などがある。加熱装置としては、抵抗加熱装置、ランプ加熱装置およびレーザー加熱装置などがある。また、処理装置500は、付加製造装置であってもよい。付加製造装置には、液槽光重合、材料押出、粉末床溶融結合、結合剤噴射、シート積層、材料噴射、指向性エネルギー堆積など、各方式の付加製造装置が含まれる。なお、処理装置500は、半導体処理装置や付加製造装置に限定されない。
【0056】
処理装置500は、処理条件解析システム700から出力された処理条件を入力する処理条件入力部510と、処理条件入力部510で入力された処理条件を用いて処理装置500の処理を行う処理部520と、を有する。なお、
図9では、処理部520の処理結果を取得する処理結果取得部530が処理装置500内に搭載されているが、処理装置500とは個別のスタンドアロンなものであっても良い。処理部520では、内部に試料が設置され、それに対して処理が行われる。
【0057】
学習データ生成部600は、処理条件入力部510に入力された処理条件を説明変数データに、処理結果取得部530で取得された処理結果を目的変数データに、それぞれ加工(変換)した上で、学習データベース210に格納する。
【0058】
処理条件解析システム700は、関数変換システム300によって導出された関数の種類に応じて説明変数の値の解析手法を選択する解析手法選択部710と、解析手法選択部で選択された解析手法を用いて、入力された関数の最小値または最大値を与える説明変数の値を算出する処理条件解析部720と、処理条件解析部720で得られた説明変数の値を処理条件に加工(変換)して処理装置500へ出力する処理条件出力部730と、を有する。
【0059】
図10は、処理装置500の処理条件を決定するフローチャートである。以下、
図10を用いて、処理条件決定システム400が処理装置500の処理条件を決定する方法を説明する。
【0060】
まず、ユーザーは、処理条件入力部510にて任意の処理条件を入力する(ステップS301)。ここで入力された処理条件を初期処理条件と呼び、複数個あってもよい。初期処理条件として、処理装置500やその関連装置で過去に処理実績がある処理条件を選択しても良いし、実験計画法を用いて選択しても良い。次に、処理条件入力部510に入力された条件を用いて、処理部520が、試料に対する処理を行う(ステップS302)。ただし、処理済みの試料が処理部520に残っていた場合は、それを取り除き、新しい処理前の試料を処理部520に設置してから処理が行われる。処理条件が複数ある場合は、その都度、試料を取り替えて処理が行われる。処理後、処理結果取得部530が、処理結果を取得する(ステップS303)。処理結果がユーザーの満足するものであった場合は終了とし、そうでなかった場合はステップS305に移行する(ステップS304)。
【0061】
次に、学習データ生成部600は、処理条件入力部510で入力された処理条件を説明変数のデータに変換し、処理結果取得部530で取得された処理結果を目的変数のデータに変換した上で、学習データベース210に格納し、学習データベースを更新する(ステップS305)。ここで、学習データ生成部600は、処理条件のデータに対して二進数変換またはone-hotエンコーディングを施すことで、バイナリ変数で表される説明変数のデータに変換することができる。なお、学習データ生成部600は、この他にも、正規化などを施しても良いし、これらの変換方法を2つ以上組み合わせて実施しても良い。
【0062】
以降のステップのうち、ステップS306、ステップS307、ステップS308、ステップS309、ステップS310およびステップS311は、それぞれ実施例2のステップS201、ステップS202、ステップS203、ステップS204、ステップS205およびステップS206と共通である。
【0063】
S311にて、関数変換システム300の関数変換部330が、説明変数と目的変数に対する目的関数を、制約なし二次形式関数または線形制約あり一次形式関数に変換して出力した後、解析手法選択部710は、この関数の解析方法を選択する(ステップS312)。すなわち、S311で出力された関数が制約なし二次形式関数の場合は、アニーリングが選択される。また、S311で出力された関数が線形制約あり一次形式関数の場合は、整数計画法あるいは線形計画法が選択される。このように、本実施例の処理条件決定システム400では、目的関数に応じて適切な解析手法を選択することで、制約なし二次形式関数だけでなく、線形制約あり一次形式関数にも対応でき、ユーザーによる使い分けが可能である。
【0064】
次に、処理条件解析部720にて、解析手法選択部710で選択された解析手法を用いて、S311で出力された関数の解析を実施する(ステップS313)。ステップS313による解析により、この関数が最大あるいは最小となるような変数xの値x
optを探索することができる。ここで、この変数は
図6Aに示したように、説明変数とダミー変数で構成される変数であるから、x
optからダミー変数の成分を除去することで、最適な説明変数X=X
optを求めることができる。ステップS313では、このようなX
optを探索して出力する。
【0065】
処理条件出力部730では、ステップS313で得られた説明変数の値のデータを処理条件に変換する(ステップS314)。なお、得られる処理条件は複数であっても良い。次に、ステップS314で得られた処理条件により、処理装置500の処理を実行しても良いか否かをユーザーが判断し、実行しても良い場合は、処理条件出力部730が処理条件を処理条件入力部510に入力する。実行が否の場合は、ステップS305以降のステップに戻り、カーネル手法、カーネル関数、ダミー変数の生成方法および解析手法の再設定が行われる。ステップS302からステップS315までの一連のステップを、ステップS304にてユーザーが満足する処理結果が得られるまで繰り返すことで、良質な処理条件を決定することが可能となる。
【0066】
図11および
図13を用いて、実施例3に関するGUIを説明する。
図11は、入力用GUI 1200であり、実施例3の処理条件決定システム400の設定を入力する入力画面の例である。この入力画面は、ステップS301の手順に際して提示されるものとする。
【0067】
入力用GUI 1200は、初期処理条件設定ボックス1210と、学習データ設定ボックス1220、機械学習設定ボックス1230と、ダミー変数設定ボックス1240と、解析手法設定ボックス1250と、有効/非有効表示部1260と、決定ボタン1270と、を備える。
【0068】
初期処理条件設定ボックス1210は、条件入力部1211を有する。条件入力部1211では、例えば、初期処理条件としてcsvファイルなどの構造にデータ番号、処理条件の各因子名、およびそれぞれのデータの各因子の値を入力することができる。これらの因子は処理装置500の制御因子であり、
図11の例ではパワーや圧力を因子としている。以上のように入力することで、初期処理条件を処理装置500の処理条件入力部510に入力できる。
【0069】
学習データ設定ボックス1220は、変換方法入力部1221を有する。変換方法入力部1221では、例えば、one-hotエンコーディング、二進数変換、正規化のいずれかもしくは複数を用いて、処理条件を説明変数データに変換する方法が選択される。
図11では、一つの方法のみが選択されているが、複数選択されても良い。入力された方法を用いて、学習データ生成部600における学習データ生成が実施される。
【0070】
機械学習設定ボックス1230は、カーネル手法入力部1231と、カーネル関数入力部1232と、を有する。カーネル手法入力部1231では、例えば、カーネル回帰、ベイズ最適化、カーネル回帰による多目的最適化、のいずれかが選択される。以上の入力により、カーネル手法選択部221におけるカーネル手法の選択が実施される。なお、
図11では、カーネル回帰による多目的最適化を、単に多目的最適化と略記している。
【0071】
カーネル関数入力部1232では、RBFカーネル、多項式カーネル、Sigmoidカーネル等が選択される。ここでの入力により、カーネル関数選択部222におけるカーネル関数の選択が実施される。
【0072】
ダミー変数設定ボックス1240は、生成方法入力部1241を有する。
図11に示す例においては、生成方法入力部1241では、ダミー変数の生成方法として、例えば3つ(それぞれone-hot、基底関数展開、K次迄の近似、と略記している)から選択できるようになっている。one-hotは、実施例2で述べた第一の生成方法であり、カーネル関数に対するone-hotエンコーディングによる方法である。基底関数展開は、実施例2で述べた第二の生成方法であり、カーネル関数を基底関数の足し合わせで近似し、この基底関数の双対問題における共役変数をダミー変数として定義する方法である。K次迄の近似は、実施例1で述べた生成方法であり、自然数K≧2を適当に決定して、説明変数のk=2,3,4,..,K次の単項式の1つ以上について、係数を除く部分を割り切るような係数1の単項式をダミー変数として定義する方法である。これにより、ダミー変数設定部310におけるダミー変数生成方法の設定が実施される。
【0073】
解析手法設定ボックス1250は、解析方法入力部1251を有する。解析方法として、アニーリング、整数計画法、線形計画法などが選択される。ここでの入力により、解析手法選択部710における解析手法設定が実施される。
【0074】
以上の入力が有効に行われた否かは、上記各設定ボックスに設けられた有効/非有効表示部1260により表示される。有効/非有効表示部1260がすべて有効になると、ユーザーが入力用GUI 1200の決定ボタン1270を押すことで、実施例3の場合はステップS302の手順を開始する。
【0075】
入力用GUI 1200の決定ボタン1270が押され、
図10の手順が実行され、ステップS303後に提示される出力用GUIとして、処理結果出力用GUI 1300を
図12Aに示す。このGUIは、現在のステータスを表示し、ユーザーに次の手順に進むか否かを選択させるものである。処理結果出力用GUI 1300は、処理結果表示部1310と、完了/継続選択部1320、決定ボタン1330と、備える。
【0076】
処理結果表示部1310は、試料表示部1311と、処理結果表示部1312と、を有する。試料表示部1311は、ステップS302での処理が終了した後の試料の様子を示すものである。また、処理結果表示部1312は、ステップS303にて取得された処理結果を表示するものである。
図12Aでは、処理装置500として付加製造装置を、対象の試料としてネジ状の造形物を想定した場合の処理結果出力用GUI 1300を示している。試料表示部1311では、造形処理後のネジ状の造形物の様子を示しており、処理結果表示部1312では、造形処理後のネジ状の造形物における処理結果として、造形物の高さと、欠陥率を示している。
【0077】
ユーザーは、処理結果表示部1310に表示される情報に基づき、完了/継続選択部1320において完了するか、継続するかを選択することができる。すなわち、ユーザーは、ステップS304の作業をこのGUI上で行うことができる。ユーザーが処理結果に満足した場合には、完了を選択して決定ボタン1330を押すことで、
図10に示したようにステップは終了となる。ユーザーは、満足できないと判断した場合、継続を選択して決定ボタン1330を押すことで、ステップS305に移行する。
【0078】
処理結果出力用GUI 1300の決定ボタン1330が押され、
図10の手順が実行され、ステップS314後に提示される出力用GUIとして、解析結果出力用GUI 1400を
図12Bに示す。このGUIは、現在のステータスを表示し、ユーザーに次の手順に進むか否かを選択させるものである。解析結果出力用GUI 1400は、解析結果表示部1410と、継続/再設定選択部1420と、決定ボタン1430と、を備える。
【0079】
解析結果表示部1410は、目的関数表示部1411と、関数変換結果表示部1412と、処理条件解析結果表示部1413と、を有する。目的関数表示部1411は、ステップS308において導出された目的関数の情報を表示する。関数変換結果表示部1412は、ステップS311において導出された制約なし二次形式関数または線形制約あり一次形式関数の情報を表示する。処理条件解析結果表示部1413は、ステップS314において得られた処理条件を表示する。
【0080】
これらの表示内容の具体例について、
図12Bを用いて説明する。例えば、目的関数表示部1411では、学習部230において目的関数を導出する際の、ハイパーパラメータの値、訓練誤差、汎化誤差などが表示される。例えば、関数変換結果表示部1412では、関数変換部330より出力される
図7に示した情報が表示される。すなわち、説明変数やダミー変数の項目、線形制約あり一次形式の係数ベクトルや制約行列や制約定数ベクトル、あるいは制約なし二次形式関数の係数行列などが表示される。例えば、処理条件解析結果表示部1413では、処理条件出力部730より出力される処理条件が表示される。
【0081】
ユーザーは、解析結果表示部1410に表示される情報に基づき、継続/再設定選択部1420において継続か、再設定かを選択することができる。すなわち、ユーザーは、ステップS315の作業をこのGUI上で行うことができる。処理条件解析結果表示部1413に表示された処理条件を用いて処理装置500の処理を行っても良い、とユーザーが判断した場合には、継続が選択され、決定ボタン1430を押すことで、当該処理条件が処理条件入力部510に入力され、ステップS302に移行する。処理装置500の処理を行ってはならないとユーザーが判断した場合には、再設定が選択され、決定ボタン1430を押すことで、ステップS306に移行する。以上の判断は、処理条件解析結果表示部1413に表示された処理条件における各因子の数値、目的関数表示部1411に表示された目的関数の導出結果、関数変換結果表示部1412に表示された関数変換結果、のいずれかかに基づいてなされる。例えば、処理条件解析結果表示部1413に表示された処理条件の特定の因子の数値が、処理装置500の運用上好ましくないと判断された場合に、再設定が選択されても良い。また、目的関数表示部1411に表示された目的関数の情報により、目的関数が過学習を起こしていると予想される場合に、再設定が選択されても良い。さらに、関数変換結果表示部1412に表示された関数の持つダミー変数の数が、ユーザーの持つ基準値を超えていた場合に、再設定が選択されても良い。
【符号の説明】
【0082】
100:情報処理システム、210:学習データベース、220:機械学習設定部、221:カーネル手法選択部、222:カーネル関数選択部、230:学習部、300:関数変換システム、310:ダミー変数設定部、320:ダミー変数生成部、330:関数変換部、400:処理条件決定システム、500:処理装置、510:処理条件入力部、520:処理部、530:処理結果取得部、600:学習データ生成部、700:処理条件解析システム、710:解析手法選択部、720:処理条件解析部、730:処理条件出力部、1200:入力用GUI、1210:初期処理条件設定ボックス、1211:条件入力部、1220:学習データ設定ボックス、1221:変換方法入力部、1230:機械学習設定ボックス、1231:カーネル手法入力部、1232:カーネル関数入力部、1240:ダミー変数設定ボックス、1241:生成方法入力部、1250:解析手法設定ボックス、1251:解析方法入力部、1260:有効/非有効表示部、1270:決定ボタン、1300:処理結果出力用GUI、1310:処理結果表示部、1311:試料表示部、1312:処理結果表示部、1320:完了/継続選択部、1330:決定ボタン、1400:解析結果出力用GUI、1410:解析結果表示部、1411:目的関数表示部、1412:関数変換結果表示部、1413:処理条件解析結果表示部、1420:継続/再設定選択部、1430:決定ボタン