JP2021197008A - 情報処理装置、学習方法、および学習プログラム - Google Patents
情報処理装置、学習方法、および学習プログラム Download PDFInfo
- Publication number
- JP2021197008A JP2021197008A JP2020104454A JP2020104454A JP2021197008A JP 2021197008 A JP2021197008 A JP 2021197008A JP 2020104454 A JP2020104454 A JP 2020104454A JP 2020104454 A JP2020104454 A JP 2020104454A JP 2021197008 A JP2021197008 A JP 2021197008A
- Authority
- JP
- Japan
- Prior art keywords
- value
- characteristic
- vector
- regularization
- coefficient vector
- 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.)
- Withdrawn
Links
- 230000010365 information processing Effects 0.000 title claims abstract description 20
- 238000000034 method Methods 0.000 title claims description 50
- 239000013598 vector Substances 0.000 claims abstract description 192
- 238000012545 processing Methods 0.000 claims abstract description 50
- 239000011159 matrix material Substances 0.000 claims abstract description 40
- 238000005457 optimization Methods 0.000 claims description 41
- 238000012795 verification Methods 0.000 claims description 40
- 238000001228 spectrum Methods 0.000 description 47
- 238000011156 evaluation Methods 0.000 description 43
- 238000004458 analytical method Methods 0.000 description 35
- 238000010586 diagram Methods 0.000 description 33
- 238000003860 storage Methods 0.000 description 16
- 210000002569 neuron Anatomy 0.000 description 15
- 238000002790 cross-validation Methods 0.000 description 13
- 238000012549 training Methods 0.000 description 13
- 230000006870 function Effects 0.000 description 11
- 238000004364 calculation method Methods 0.000 description 10
- CSPHGSFZFWKVDL-UHFFFAOYSA-M (3-chloro-2-hydroxypropyl)-trimethylazanium;chloride Chemical compound [Cl-].C[N+](C)(C)CC(O)CCl CSPHGSFZFWKVDL-UHFFFAOYSA-M 0.000 description 7
- 238000004891 communication Methods 0.000 description 7
- 239000000284 extract Substances 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 6
- 230000005366 Ising model Effects 0.000 description 5
- 238000000137 annealing Methods 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 3
- 230000007704 transition Effects 0.000 description 3
- 238000010200 validation analysis Methods 0.000 description 3
- 238000002441 X-ray diffraction Methods 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 238000005401 electroluminescence Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000003595 spectral effect Effects 0.000 description 2
- HBBGRARXTFLTSG-UHFFFAOYSA-N Lithium ion Chemical compound [Li+] HBBGRARXTFLTSG-UHFFFAOYSA-N 0.000 description 1
- 102000005717 Myeloma Proteins Human genes 0.000 description 1
- 108010045503 Myeloma Proteins Proteins 0.000 description 1
- 238000002083 X-ray spectrum Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000000593 degrading effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 229910001416 lithium ion Inorganic materials 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- NWONKYPBYAMBJT-UHFFFAOYSA-L zinc sulfate Chemical compound [Zn+2].[O-]S([O-])(=O)=O NWONKYPBYAMBJT-UHFFFAOYSA-L 0.000 description 1
Images
Landscapes
- Complex Calculations (AREA)
Abstract
【課題】L0正則化の計算のためのビット数の増加を抑止する。【解決手段】情報処理装置10の処理部12は、複数の検体それぞれの特性値の1/k乗(kは実数)を成分とする特性ベクトルyを生成する。そして情報処理装置10の処理部12は、複数の検体それぞれに対して行われた複数回の観測で得られた特徴量を成分とする観測行列Aと特性ベクトルyとの関係を表す係数ベクトルxを、L0正則化を用いて求解する処理を実行する。【選択図】図1
Description
本発明は、情報処理装置、学習方法、および学習プログラムに関する。
測定技術の進歩に伴い物質・材料などの試料(検体)に関する複雑で大量の分析データ(例えばスペクトルデータ、画像データなど)が生成されている。分析データが大量になると、専門的な知識を有する解析者が分析データのすべてについて一つ一つ解析するのは困難である。また、解析者による解析では、あくまでも解析者である専門家の主観や先入観に基づく解析となる。そのため、大量のデータのごく一部のみを使った解析により情報の欠落が発生したり、専門家の知識を超えた領域での解が見つからなかったりして、有益な情報の見落としが発生してしまう。
このような解析者の主観や先入観に依存しない手法として、大量のデータから本質的な要素のみを抽出して予測モデルを作成する「スパースモデリング」の手法がある。そして「スパースモデリング」の手法を使って、検体の分析データと特性との関係を関連付ける「正則化学習」が活用され始めている。
正則化学習に使われる代表的な正則化手法は、LASSO(Least Absolute Shrinkage and Selection Operator)とも呼ばれるL1正則化である。L1正則化は、抽出した要素の係数の絶対値の和を小さくするもので、その最適化計算においては、抽出した要素の係数の絶対値の和が大きくなるとペナルティが発生する。L1正則化を活用した正則化学習を使用すると、検体に関する分析データから特性と密接に関わる情報を、客観的かつ自動的に抽出することが比較的容易にできる。
その他のデータ分析技術としては、例えば入力データ中の複数の入力パラメータが変化することに応じて、出力データがどの程度汎化するかを予測する解析装置が提案されている。また量子プロセッサを使用して、教師なしまたは半教師あり特徴学習を達成するシステムも提案されている。さらに未知のチャネルおよび雑音条件における音声認識システムの性能を改善するシステムも提案されている。
L1正則化は、正則化の厳密な定義として利用されるL0正則化の制約を緩和している。そのため、L1正則化を用いると、分析データから要素を抽出する際に解を絞り切れなかったり、分析データにノイズが乗っている場合には解が得られなかったりする。このようにL1正則化は、厳密性に欠けてしまう場合がある。
正則化の厳密な定義は、抽出する要素をできるだけ少なくするというL0正則化である。L0正則化を利用した正則化学習であれば、検体に関する分析データから特性と密接に関わる情報を、客観的かつ自動的に抽出することが可能である。この場合、正則化そのものの定義を使用して最適化を行うため、正しく情報を抽出できる。このようなL0正則化は、いわゆる組み合わせ最適化問題に分類される。組み合わせ最適化問題は、ノイマン型の計算機では計算が困難であるが、量子現象に着想を得た非ノイマン型の計算機(例えばイジングマシンまたはアニーリングマシンと呼ばれる計算機)を用いることで計算可能である。
L0正則化の計算をイジングマシンで実行するためには、最適化する問題の定式をいわゆる制約なし2値変数二次形式最適化(QUBO:Quadratic Unconstrained Binary Optimization)形式で表現することが求められる。QUBO形式であれば次数が二次以下に抑えられているため、イジングマシンでの求解が可能となる。しかし最適化する問題を従来の手法でQUBO形式に変換すると状態変数を示すビットの数が増加してしまう場合がある。ビット数が増加すると増加した分だけ処理負荷も増加してしまう。またビット数の増加により、イジングマシンで計算可能なビット数を超えてしまう可能性もある。
1つの側面では、本発明は、L0正則化を用いた計算のためのビット数の増加を抑止することを目的とする。
1つの案では、以下のような情報処理装置が提供される。
情報処理装置は、複数の検体それぞれの特性値の1/k乗(kは実数)を成分とする特性ベクトルを生成する。そして情報処理装置は、複数の検体それぞれに対して行われた複数回の観測で得られた特徴量を成分とする観測行列と特性ベクトルとの関係を表す係数ベクトルを、L0正則化を用いて求解する処理を実行する。
情報処理装置は、複数の検体それぞれの特性値の1/k乗(kは実数)を成分とする特性ベクトルを生成する。そして情報処理装置は、複数の検体それぞれに対して行われた複数回の観測で得られた特徴量を成分とする観測行列と特性ベクトルとの関係を表す係数ベクトルを、L0正則化を用いて求解する処理を実行する。
1態様によれば、L0正則化を用いた計算のためのビット数の増加を抑止することができる。
以下、本実施の形態について図面を参照して説明する。なお各実施の形態は、矛盾のない範囲で複数の実施の形態を組み合わせて実施することができる。
〔第1の実施の形態〕
まず、第1の実施の形態について説明する。第1の実施の形態は、L0正則化を用いた機会学習を実施するためのビット数を抑制可能な学習方法である。
〔第1の実施の形態〕
まず、第1の実施の形態について説明する。第1の実施の形態は、L0正則化を用いた機会学習を実施するためのビット数を抑制可能な学習方法である。
図1は、第1の実施の形態に係る学習方法の一例を示す図である。図1には、ビット数を抑制可能な学習方法を実施する情報処理装置10が示されている。情報処理装置10は、例えば学習プログラムを実行することにより、ビット数を抑制可能な学習方法を実施することができる。
情報処理装置10は、記憶部11と処理部12とを有する。記憶部11は、例えば情報処理装置10が有するメモリ、またはストレージ装置である。処理部12は、例えば情報処理装置10が有するプロセッサ、または演算回路である。
記憶部11は、分析データ11aと特性データ11bとを記憶する。分析データ11aは、複数の検体それぞれに対して行われた複数回の観測で得られた特徴量を示すデータである。検体に対する観測とは、例えばXRDスペクトルの観測である。XRDスペクトルの観測では、観測条件として回折角度が与えられ、回折角度ごとの観測により、その回折角度での特徴量としてX線の回折強度が得られる。特性データ11bは、複数の検体それぞれの特性値を示すデータである。
ある検体についての特徴量からその検体の特性値を推定する場合、分析データ11aと特性データ11bとの関係を明確にすればよい。その場合、複数の検体それぞれに対して行われた複数回の観測で得られた特徴量を成分とする観測行列Aと特性ベクトルyとの関係を表す係数ベクトルxを求めることで、分析データ11aと特性データ11bとの関係が明確となる。
係数ベクトルyの求解において、L0正則化を用いることで、検体の特性と密接に関わる情報(特定の観測条件で観測した特徴量)を、客観的かつ自動的に抽出することが可能である。L0正則化を用いたモデルの学習は、組み合わせ最適化問題となり、QUBO形式で表せることが求められる。
QUBO形式の式で係数ベクトルyを求める場合、1つの成分の値は複数のビットにより表される。組み合わせ最適化問題では各ビットの値(例えば0または1)の組み合わせが求められる。例えば各ビットの値に基づいて、係数ベクトルxの成分に用いるx1,x2,・・・,xnが得られる。
係数ベクトルxは、例えば係数ベクトルx=(x1,x2,・・・,xn)と表される。また係数ベクトルx=(x1 2,x2 2,・・・,xn 2)と、組み合わせ最適化問題を求解して得られた値のべき乗を成分とすることもできる。べき乗の指数を示す指数条件をkとしたとき、係数ベクトルx=(x1 k,x2 k,・・・,xn k)となる。指数条件kの値が異なれば、組み合わせ最適化問題の求解において、係数ベクトルxの成分の取り得る値が異なってくる。
係数ベクトルx=(x1,x2,・・・,xn)であれば、組み合わせ最適化問題の求解において各成分の値の調整できる幅は一定となる。他方、係数ベクトルx=(x1 2,x2 2,・・・,xn 2)とした場合、組み合わせ最適化問題の求解において、値が小さい方が成分の値を細かく調整でき、値が大きくなるほど成分の値の調整可能な幅が大きくなる。そのため指数条件kとして適切な値を設定することで、求解して得られる係数ベクトルxの性能の向上が見込める。ただし指数条件kの値として1以外の値を設定した場合、QUBO形式の式に変換したときにビット数が増加する。ビット数が増加すると、計算処理の負荷が増加する。
そこで処理部12は、複数の検体それぞれの特性値の1/k乗(kは実数)を成分とする特性ベクトルを生成する。そして処理部12は、複数の検体それぞれに対して行われた複数回の観測で得られた特徴量を成分とする観測行列Aと特性ベクトルyとの関係を表す係数ベクトルxを、L0正則化を用いて求解する。
例えば処理部12は、まずモデル式を生成する(ステップS1)。モデル式の生成では、処理部12は、指数条件kの値を決定する。例えば予め設定された実数値のリストから順番に実数値が選択され、その都度、選択された値を指数条件kの値とするモデル生成が行われる。処理部12は、決定された指数条件kの値で、特性データ11bに示される検体の特性値を1/k乗し、1/k乗した値を成分とする特性ベクトルy1/kを生成する。さらに処理部12は、同一の検体の特徴量を観測行列Aの同一行に並べ、複数の検体それぞれに対して同じ観測条件で観測された特徴量を観測行列Aの同一列に並べることで、観測行列Aを生成する。そして処理部12は、観測行列Aの右から列ベクトルである係数ベクトルxを乗算した結果が特性ベクトルy1/kとなるモデル式を生成する。
次に処理部12は、L0正則化を適用した正則化式を生成する(ステップS2)。生成される正則化式は、観測行列Aに係数ベクトルxを乗算した結果と特性ベクトルy1/kとの誤差が少ないほど小さい値となり、かつ係数ベクトルxに含まれる非ゼロ成分が少ないほど小さい値となる式である。例えば後述の式(8)の括弧内の式が、L0正則化の式である。
処理部12は、L0正則化を適用した式をQUBO形式に変換して、QUBO形式の式に含まれるビットの値の組み合わせ最適化問題を求解する(ステップS3)。組み合わせ最適化問題の求解は、例えばイジングマシンを利用することができる。求解によって、L0正則化を適用した式の括弧内の値を最小とする係数ベクトルxが得られる。
以上の処理が、複数の実数値それぞれを指数条件kの値としたときの指数条件kの値ごとに行われることで、指数条件kの値ごとの係数ベクトルxが得られる。処理部12は、指数条件kの値ごとの係数ベクトルxそれぞれの性能を評価する(ステップS4)。例えば処理部12は、指数条件kの値ごとの係数ベクトルxそれぞれを用いて検証用の検体の測定値から特性値を推定した場合の推定値と、検証用の検体の特性値との誤差を計算する。処理部12は、指数条件kの値ごとの係数ベクトルxそれぞれの誤差に基づいて、解として出力する係数ベクトルxと指数条件kの値とを決定する。例えば誤差が最も少なくなる係数ベクトルxと、その係数ベクトルxを得たときの指数条件kの値とが、学習結果として出力される。
このようにして、検体の観測条件ごとの特徴量からその検体の特性値を推定するための係数ベクトルxが得られる。例えば特性値を推定する検体の観測条件ごとの特徴量を成分とするベクトルと学習結果として得られた系列ベクトルとの内積が、推定される特性値を1/k乗した値となる。この値をk乗すれば、推定される特性値となる。
上記の学習処理では、L0正則化を行っており、係数ベクトルxには多くのゼロ成分が含まれ、非ゼロ成分が少なくなる。モデル式において非ゼロ成分に乗算される特徴量が、特性値に密接に関係する特徴量である。このように特性値に密接に関係する特徴量(どのような観測条件で観測した特徴量なのか)が自動で特定できる。しかも特性値を1/k乗して求解することで、指数条件kの値として1以外の値を用いた場合でも、QUBO形式の式で使用するビット数の増加が抑止される。その結果、組み合わせ最適化問題としてビットの値を計算する処理負荷が軽減される。
なお処理部12は、一定の条件が満たされた場合、予め用意された実数値のすべてを指数条件kの値とした求解の完了前に、処理を停止することもできる。例えば処理部12は、複数の実数値を順番に選択し、選択された実数値を指数条件kの値として係数ベクトルを求解する。処理部12は、得られた係数ベクトルxを用いて検証用の検体の測定値から特性値を推定した場合の推定値と、検証用の検体の特性値との誤差が所定の条件を満たすか否かを判断する。処理部12は、誤差が所定の条件を満たした場合、以後、複数の実数値の選択と、選択された実数とを指数条件kの値とする係数ベクトルxの求解とを抑止する。これにより、得られる係数ベクトルxの性能の向上の見込みがない場合にまで処理が続行されることを抑止することができ、処理の効率化が図られる。
〔第2の実施の形態〕
次に第2の実施の形態について説明する。第2の実施の形態は、目的関数の値が最小となる各状態変数の値の組み合わせを計算するイジングマシンを用いたシステムの例である。イジングマシンでは、求解対象の問題をイジングモデルで表し、そのイジングモデルのエネルギーが最小値となるビットの値の組み合わせを探索する。イジングモデルのエネルギーを計算する式(ハミルトニアン)が、目的関数である。
次に第2の実施の形態について説明する。第2の実施の形態は、目的関数の値が最小となる各状態変数の値の組み合わせを計算するイジングマシンを用いたシステムの例である。イジングマシンでは、求解対象の問題をイジングモデルで表し、そのイジングモデルのエネルギーが最小値となるビットの値の組み合わせを探索する。イジングモデルのエネルギーを計算する式(ハミルトニアン)が、目的関数である。
図2は、第2の実施の形態のシステム構成の一例を示す図である。サーバ100には、ネットワーク20を介して端末装置31,32,・・・が接続されている。端末装置31,32,・・・は、L0正則化学習を依頼するユーザが使用するコンピュータである。サーバ100は、端末装置31,32,・・・からL0正則化学習の依頼を受け付け、L0正則化学習の対象となる検体の分析データと統制データとに基づいて、モデル式を生成する。さらにサーバ100は、生成したモデル式のL0正則化学習のための組み合わせ最適化問題の求解を制御装置200に依頼する。
制御装置200は、サーバ100が生成したモデル式を、L0正則化を用いて解くためのQUBO形式の式を生成する。そして制御装置200は、イジングマシン300を制御し、イジングマシン300にQUBO形式に含まれるビットの値の組み合わせ最適化問題を解かせる。
イジングマシン300は、制御装置200からの制御に基づいて、デジタル回路を用いて、QUBO形式の式に対応するイジングモデルの状態遷移のシミュレーションを行い、エネルギーの最小値を探索する。エネルギーが最小値となったときのビットの値の組み合わせが、QUBO形式の式に含まれる各ビットの値であり、そのビットの値に基づいてL0正則化学習結果を示すモデルが生成される。
図3は、サーバのハードウェアの一例を示す図である。サーバ100は、プロセッサ101によって装置全体が制御されている。プロセッサ101には、バス109を介してメモリ102と複数の周辺機器が接続されている。プロセッサ101は、マルチプロセッサであってもよい。プロセッサ101は、例えばCPU(Central Processing Unit)、MPU(Micro Processing Unit)、またはDSP(Digital Signal Processor)である。プロセッサ101がプログラムを実行することで実現する機能の少なくとも一部を、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)などの電子回路で実現してもよい。
メモリ102は、サーバ100の主記憶装置として使用される。メモリ102には、プロセッサ101に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、メモリ102には、プロセッサ101による処理に利用する各種データが格納される。メモリ102としては、例えばRAM(Random Access Memory)などの揮発性の半導体記憶装置が使用される。
バス109に接続されている周辺機器としては、ストレージ装置103、グラフィック処理装置104、入力インタフェース105、光学ドライブ装置106、機器接続インタフェース107およびネットワークインタフェース108がある。
ストレージ装置103は、内蔵した記録媒体に対して、電気的または磁気的にデータの書き込みおよび読み出しを行う。ストレージ装置103は、コンピュータの補助記憶装置として使用される。ストレージ装置103には、OSのプログラム、アプリケーションプログラム、および各種データが格納される。なお、ストレージ装置103としては、例えばHDD(Hard Disk Drive)やSSD(Solid State Drive)を使用することができる。
グラフィック処理装置104には、モニタ21が接続されている。グラフィック処理装置104は、プロセッサ101からの命令に従って、画像をモニタ21の画面に表示させる。モニタ21としては、有機EL(Electro Luminescence)を用いた表示装置や液晶表示装置などがある。
入力インタフェース105には、キーボード22とマウス23とが接続されている。入力インタフェース105は、キーボード22やマウス23から送られてくる信号をプロセッサ101に送信する。なお、マウス23は、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。
光学ドライブ装置106は、レーザ光などを利用して、光ディスク24に記録されたデータの読み取り、または光ディスク24へのデータの書き込みを行う。光ディスク24は、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク24には、DVD(Digital Versatile Disc)、DVD−RAM、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。
機器接続インタフェース107は、サーバ100に周辺機器を接続するための通信インタフェースである。例えば機器接続インタフェース107には、メモリ装置25やメモリリーダライタ26を接続することができる。メモリ装置25は、機器接続インタフェース107との通信機能を搭載した記録媒体である。メモリリーダライタ26は、メモリカード27へのデータの書き込み、またはメモリカード27からのデータの読み出しを行う装置である。メモリカード27は、カード型の記録媒体である。
ネットワークインタフェース108は、ネットワーク20に接続されている。ネットワークインタフェース108は、ネットワーク20を介して、他のコンピュータまたは通信機器との間でデータの送受信を行う。ネットワークインタフェース108は、例えばスイッチやルータなどの有線通信装置にケーブルで接続される有線通信インタフェースである。またネットワークインタフェース108は、基地局やアクセスポイントなどの無線通信装置に電波によって通信接続される無線通信インタフェースであってもよい。
サーバ100は、以上のようなハードウェアによって、第2の実施の形態の処理機能を実現することができる。なお、制御装置200も、サーバ100と同様のハードウェアにより実現することができる。
図4は、イジングマシンの一例を示す図である。イジングマシン300は、ニューロン回路311,312,…,31n、制御回路320、およびメモリ330を有する。
ニューロン回路311〜31nはそれぞれ、自身以外の複数の他のニューロン回路との接続の有無を示す複数の重み係数の値と、複数の他のニューロン回路の複数の出力信号との積の総和に基づく第1の値を算出する。そしてニューロン回路311〜31nそれぞれは、第1の値にノイズ値を加算した第2の値と閾値との比較結果に基づき、0または1のビット値を出力する。
ニューロン回路311〜31nはそれぞれ、自身以外の複数の他のニューロン回路との接続の有無を示す複数の重み係数の値と、複数の他のニューロン回路の複数の出力信号との積の総和に基づく第1の値を算出する。そしてニューロン回路311〜31nそれぞれは、第1の値にノイズ値を加算した第2の値と閾値との比較結果に基づき、0または1のビット値を出力する。
制御回路320は、制御装置200から供給される情報に基づいて、イジングマシン300の初期設定処理などを行う。さらに、制御回路320は、更新対象ニューロンを決定する処理が所定回数だけ繰り返された後、メモリ330に保持されているイジングモデルの状態変数に対応する各ニューロンのビット値を取得し、最適化問題に対する解として制御装置200に送信する。
制御回路320は、例えばASICやFPGAなどの特定用途の電子回路にて実現できる。なお、制御回路320は、CPUやDSPなどのプロセッサであってもよい。その場合、プロセッサは、図示しないメモリに記憶されたプログラムを実行することで、上記の処理を行う。
メモリ330は、例えば各ニューロンのビット値を保持する。メモリ330は、例えばレジスタやRAMなどによって実現できる。メモリ330には、エネルギーの最小値や最小値が得られたときの各ニューロンのビット値を保持しておくこともできる。この場合、制御回路320は、更新対象ニューロンを決定する処理が所定回数だけ繰り返された後に、エネルギーの最小値や最小値が得られたときの各ニューロンのビット値をメモリ330から取得して、制御装置200に送信してもよい。
図4に示したイジングマシンを用いて、L0正則化の計算を行うことができる。L0正則化の計算をイジングマシンで実行する際には、最適化する問題の定式をQUBO形式で表現することとなる。このとき、QUBO形式で最適化するビット変数に対しては、次数の制限がある。
以下、次数の制限があることにより発生する問題について具体的に説明する。
図5は、L0正則化学習の一例を示す図である。図5には、L0正則化学習を活用して、複数の検体(材料・デバイスなど)に関する分析データ41から、検体の特性に密接に関わる要素のみを抽出する例が示されている。ここで、検体に関する分析データ41は、検体ごとのX線回折(XRD:X‐Ray Diffraction)スペクトルデータを有する。また各検体について実測された特性値を示す特性データ42が予め用意される。
図5は、L0正則化学習の一例を示す図である。図5には、L0正則化学習を活用して、複数の検体(材料・デバイスなど)に関する分析データ41から、検体の特性に密接に関わる要素のみを抽出する例が示されている。ここで、検体に関する分析データ41は、検体ごとのX線回折(XRD:X‐Ray Diffraction)スペクトルデータを有する。また各検体について実測された特性値を示す特性データ42が予め用意される。
複数の検体のXRDスペクトルデータは、観測行列Aで表すことができる。観測行列Aの各行は、検体に対応する。観測行列Aの各列は、XRDスペクトルの回折角度に対応する。観測行列Aの成分は、その成分が設定された行に対応する検体において、その成分が設定された列に対応する回折角度でのX線の強度である。観測行列Aは、検体の数(もしくは分析回数)をM(Mは1以上の整数)、スペクトルを観測した回折角度の数をN(Nは1以上の整数)とすると、M×Nの行列となる(M<N)。観測行列Aを式で表すとA∈RM×Nとなる(Rは実数を示す)。観測行列Aの各成分はamnと表される(mは1以上M以下の整数、nは1以上N以下の整数)。
特性データ42は、特性ベクトルyで表される。特性ベクトルyの成分は、各検体の特性値である。特性ベクトルyはM個の成分を有し、特性ベクトルyを式で表すとy∈RMとなる。特性ベクトルyの各成分はymと表される。
L0正則化を用いて最適化するのは、N個の成分で構成される非ゼロ成分が少ない未知の係数ベクトルxである。係数ベクトルxを式で表すとx∈RNとなる。これは、特性ベクトルyと観測行列Aとの間にモデル式「y=Ax」の関係が成り立つと仮定した場合、この関係を満足させる係数ベクトルxを求める問題である。この問題は、以下の式(1)を解くことに相当する。
式(1)は、括弧内の式を最小にする係数ベクトルxを求める式である。括弧内の第1項「||y−Ax||2 2」はy−AxのL2ノルム(ユークリッドノルム)の2乗である。括弧内の第2項「λ||x||0」はL0正則化の項である。第2項の「||x||0」は係数ベクトルxのL0ノルムである。係数ベクトルxのL0ノルムは、係数ベクトルxに含まれる非ゼロ成分の個数である。第2項のλは、正則化の強さを決めるハイパーパラメータである。
式(1)をQUBO形式で表現すると、式(2)となる。
式(2)におけるxnは、以下の式(3)で表現される離散値である。
式(3)におけるd,L,Cは、予め与えられるパラメータである。qn,lは、n番目のビットを示している。式(1)は、ビットqn,lに対して2次までで表現できる。そのため式(1)は、式(2)のようなQUBO形式に変換することで、イジングマシン300によって求解することができる。得られた係数ベクトルxの性能は、検体の実測された特性値と、Axによって算出される特性値の推定値との誤差の大きさによって評価できる。
図6は、求められた係数ベクトルxの評価結果の一例を示す図である。図6では、横軸が実測された特性値(True)であり、縦軸が予測された特性値(Predicted)である。分析データに示される各検体に対応する点が図中にプロットされている。係数ベクトルxが正確である程、各点は傾き1で原点を通る直線の近くにプロットされる。その直線と各点との二乗平均平方根誤差(RMSE:Root Mean Square Error)または平均二乗誤差(MSE:Mean Square Error)を求めることで、係数ベクトルxの性能が評価できる。
このようにy=Axの場合の係数ベクトルxを求め、その性能を評価できる。しかし、特性ベクトルyと観測行列Aとの間の関係は、y=Axであることが保証されているわけではない。そのため、y=Ax2、y=Ax1/2などの複数のモデル式で問題を解き、各モデル式の性能を比較することで、最適なモデル式を決めることになる。なおx2は、係数ベクトルxの各成分の値を2乗したベクトルである。同様にx1/2は、係数ベクトルxの各成分の値を1/2乗したベクトルである。
係数ベクトルxの成分の値は式(3)に示されるようにL個のビットから得られる値であり、取り得る値は一定間隔の離散的な値である。y=Ax2とすると、係数ベクトルxの成分の値が大きくなるほど特性ベクトルyと観測行列Aの関係を定義するためのx2の成分の取り得る値の幅は大きくなる。このようにy=Ax2とした方が、特性ベクトルyと観測行列Aの関係をより正確に係数ベクトルxでモデル化できる可能性がある。
例えばy=Ax2の場合は、以下の式(4)に変換できる。
式(4)の括弧内の第3項「xn 2xn' 2」に式(3)を代入して展開すると、4次の項が発生する。そのため式(4)は、いわゆるHOBO(Higher Order Binary Optimization)形式となる。イジングマシン300で問題を解くには、HOBO形式からQUBO形式への変換が要求される。
一般に次数下げの手法として、q0q1q2で表される3次の項は、補助ビットz0を導入し、以下の式(5)、式(6)により2次式で表現できる。
ηは所定のパラメータである。Hcは制約条件式である。式(5)を利用すれば、4次の場合も、式(7)のように、2つの補助ビットz0,z1を導入して2次式で表現できる。
式(7)の知見を式(4)の括弧内の第3項のxn 2xn' 2の展開式に適用し、係数部を省略して表記すると、Lの値に応じて以下のように変換される。
L=1のときは、qn,1 2qn’,1 2の項がもともと0または1の値なので、Q≡qn,1 2のような変換で対応可能である。
L=1のときは、qn,1 2qn’,1 2の項がもともと0または1の値なので、Q≡qn,1 2のような変換で対応可能である。
L=2のときは、qn,1qn,2qn',1qn',2の項がN個導かれ、都合2N個の追加の補助ビットが用いられる。
L=3のときは、「qn,1qn,2qn',1qn',2」、「qn,1qn,2qn',1qn',3」、「qn,1qn,2qn',2qn',3」、「qn,1qn,3qn',1qn',2」、「qn,1qn,3qn',1qn',3」、「qn,1qn,3qn',2qn',3」、「qn,2qn,3qn',1qn',2」、「qn,2qn,3qn',1qn',3」、「qn,1qn,2qn',1qn',2」の項が発生する。この場合、18N個の追加の補助ビットが用いられる。これはN=100とするとy=Axであれば400ビットの問題であるところ、y=Ax2の場合には少なくとも2200ビット規模の問題になることを意味する。y=Axの標準的な問題は、N=100、L=9であるため、y=Ax2のモデル式で解くにはさらに膨大な量のビットを利用することとなり、イジングマシン300が最先端の規模を有していても解くことが困難となる。
L=3のときは、「qn,1qn,2qn',1qn',2」、「qn,1qn,2qn',1qn',3」、「qn,1qn,2qn',2qn',3」、「qn,1qn,3qn',1qn',2」、「qn,1qn,3qn',1qn',3」、「qn,1qn,3qn',2qn',3」、「qn,2qn,3qn',1qn',2」、「qn,2qn,3qn',1qn',3」、「qn,1qn,2qn',1qn',2」の項が発生する。この場合、18N個の追加の補助ビットが用いられる。これはN=100とするとy=Axであれば400ビットの問題であるところ、y=Ax2の場合には少なくとも2200ビット規模の問題になることを意味する。y=Axの標準的な問題は、N=100、L=9であるため、y=Ax2のモデル式で解くにはさらに膨大な量のビットを利用することとなり、イジングマシン300が最先端の規模を有していても解くことが困難となる。
以上のような理由から、上記の様なQUBO式への変換では、組み合わせ最適化問題の一つであるL0正則化学習を活用して、検体の分析データからその検体の特性に密接に関わる要素のみを抽出する問題において、評価式の高次項を評価するのが困難である。
そこで第2の実施の形態では、L0正則化を利用して、観測行列Aと特性ベクトルyを関係づける、非ゼロ成分が少ない未知の係数ベクトルxを推定する問題において、観測行列Aと特性ベクトルyの間の高次の関係の評価・推定を可能とするシステムを提供する。具体的には、指数条件をk(kは実数)とし、各検体の特性値を1/k乗にした値を特性ベクトルyの成分とすることによって、1次以外の次数の関係を解析する。
以下、図を参照して、第2の実施の形態における学習方法を詳細に説明する。
図7は、高次項の評価を可能としたL0正則化学習の一例を示す図である。図7に示すように、特性データ42に示される各検体の特性値ymのk乗根(ym 1/k)を、特性ベクトルyの成分とする。この場合、モデル式は「Ax=y1/k」となる。指数条件kに様々な実数値を設定することで、kの値ごとのモデル式を生成することができる。ym 1/kは、あらかじめ0〜1、もしくは−1〜1の範囲になるようにスケーリングを行ってもよい。このような特性ベクトルyを用いてL0正則化学習を行うことは、これによりy=AxのQUBO形式を利用して、以下の式(8)を解くことに相当する。
図7は、高次項の評価を可能としたL0正則化学習の一例を示す図である。図7に示すように、特性データ42に示される各検体の特性値ymのk乗根(ym 1/k)を、特性ベクトルyの成分とする。この場合、モデル式は「Ax=y1/k」となる。指数条件kに様々な実数値を設定することで、kの値ごとのモデル式を生成することができる。ym 1/kは、あらかじめ0〜1、もしくは−1〜1の範囲になるようにスケーリングを行ってもよい。このような特性ベクトルyを用いてL0正則化学習を行うことは、これによりy=AxのQUBO形式を利用して、以下の式(8)を解くことに相当する。
式(8)における「y1/k」は、特性ベクトルyの各成分を1/k乗したベクトルを表している。これにより、高次から低次への変換をせずにQUBO形式の式が得られる。その結果、補助ビットの増加が抑止され、イジングマシン300で求解を行うことが可能となる。L0正則化学習用のモデル式の生成は、サーバ100で行われる。そしてイジングマシン300によって、サーバ100が生成したモデル式の係数ベクトルxを求解する。特定の指数条件kの値に応じて得られた係数ベクトルxは、その指数条件kの値において検体の特徴量と特性値との関係を表すモデルである。
図8は、L0正則化学習のためのサーバの機能を示すブロック図である。サーバ100は、記憶部110、モデル式生成部120、最適化要求部130、および評価部140を有する。
記憶部110は、分析データ111と特性データ112とを記憶する。分析データ111は、例えば複数の検体それぞれのXRDスペクトルデータである。特性データ112は、複数の検体それぞれの特性値を示すデータである。
モデル式生成部120は、最適化対象のモデル式「y1/k=Ax」(k=1,2,・・・)を生成する。例えばモデル式生成部120は、分析データ111と特性データ112とに基づいて、指数条件kの値を1から順にカウントアップしながら、対応するモデル式に観測行列Aと特性ベクトルy1/kとの成分値を設定する。例えばモデル式生成部120は、分析データ111に示されているXRDスペクトルデータのうち、評価用の検体のXRDスペクトルデータを除外し、残りのXRDスペクトルデータに基づいて観測行列Aの成分値を設定する。またモデル式生成部120は、特性データ112に示されている特性値(評価用の検体の特性値を除く)のk乗根を計算し、計算した結果を、特性ベクトルy1/2の成分値として設定する。モデル式生成部120は、特性ベクトルy1/kの成分値を所定の値の範囲内にスケーリングしてもよい。モデル式生成部120は、観測行列Aと特性ベクトルy1/kとの成分値が設定されたモデル式を、最適化要求部130に送信する。
最適化要求部130は、イジングマシン300を用いたモデル式の最適化要求を制御装置200に送信する。例えば最適化要求部130は、生成されたモデル式の観測行列A、特性ベクトルy1/2、正則化学習のためのハイパーパラメータλを制御装置200に送信する。すると制御装置200がイジングマシン300を制御し、式(8)の係数ベクトルxを計算し、計算結果を最適化要求部130に送信する。最適化要求部130は、ハイパーパラメータλの値を変えながら、モデル式の最適化要求を繰り返し送信してもよい。最適化要求部130は、最適化要求に対して応答された係数ベクトルxを評価部140に送信する。
評価部140は、評価用の検体のXRDスペクトルデータを用いて、最適化対象のモデル式を用いて係数ベクトルxの性能を評価する。評価には、例えば平均二乗誤差が用いられる。評価部140は、モデル式の指数条件kの値と、評価した係数ベクトルxと、評価結果とをメモリに格納する。そして評価部140は、評価結果が所定の汎化誤差判定条件を満たした場合、L0正則化学習を終了させ、最も評価が高い係数ベクトルxとモデル式の指数条件kの値とを出力する。
このような機能をサーバ100が有することで、分析データ111と特性データ112とに基づくL0正則化学習が可能となる。なお図8に示した各要素の機能は、例えば、その要素に対応するプログラムモジュールをコンピュータに実行させることで実現することができる。
図9は、分析データの一例を示す図である。分析データ111には、複数の検体それぞれのXRDスペクトルデータ111a,111b,・・・が含まれている。XRDスペクトルデータ111a,111b,・・・には例えば検体の名称が設定されており、その検体のXRDスペクトルの回折角度ごとの回折強度が設定されている。ここで、XRDスペクトルデータ111a,111b,・・・それぞれに含まれる回折角度ごとの回折強度の数をNとする。モデル式生成部120は、このような分析データ111からM個のXRDスペクトルデータを抽出し、観測行列Aを生成する。
図9の分析データ111の下には、回折強度を0〜1の範囲にスケーリングしたときのXRDスペクトルの波形を示している。各検体のXRDスペクトルを示す波形は多数の波(回折強度の高い部分)で構成されるが、それらの波の一部(図9で矢印で示した波)のみが、特性データに示される特性値を予測するのに有用な場合がある。L0正則化学習を行うことで、特性値を予測するのに有用な情報のみを利用した、特性値予測用のモデルを生成することができる。
図10は、特性データの一例を示す図である。特性データ112には、検体の名称に対応付けて、その検体の特性値が設定されている。特性データ112に含まれる特性値のうち、学習用に抽出されたM個の検体の特性値に基づいて、特性ベクトルyが生成される。図10の下側には、特性ベクトルyに設定された特性値のヒストグラムが示されている。図10の例では特性値が0〜1の範囲にスケーリングされ、0.1刻みでの各値域に含まれる特性値の数(頻度)が示されている。
ここで図9に示した観測行列Aと図10に示した特性ベクトルyとを用いたL0正則化学習により、特性ベクトルyと観測行列Aを関連付ける未知の係数ベクトルxを求める場合を想定する。観測行列Aの生成元となったXRDスペクトルデータでは、図9の矢印で示された回折角度における回折強度と検体の特性値との間にy≒Ax2の関係が存在する。また特性ベクトルyとは無関係なダミーのXRDスペクトルデータが、分析データ111に含まれている。さらにXRDスペクトルデータには、人工的に0.1%程度のガウシアンノイズが付加されている。
分析データ111に含まれるXRDスペクトルデータの総数は21である。モデル式生成部120は、モデルを生成すると共に、1個抜き交差検証で生成したモデルを検証する。すなわちモデル式生成部120は、モデルの性能評価用に、分析データ111からダミー以外の1つのXRDスペクトルデータを、検証データとして抜きとる。モデル式生成部120は、検証データ以外のXRDスペクトルデータを、学習に使用するデータ(訓練データ)とする。訓練データの数は20個(M=20)である。また、XRDスペクトルデータは、400個の回折角度における回折強度が含まれている(N=400)。この場合、係数ベクトルxは、400個の成分を含む列ベクトルである。
このようなデータセット(分析データ111と特性データ112)を用いて、まず特性ベクトルyを用いた式(1)の求解結果を示す。なお式(1)は、式(8)において指数条件k=1とした場合に相当する。
図11は、特性ベクトルyを用いたL0正則化学習結果の一例を示す図である。図11では、L0正則化の学習結果を散布図51で表している。散布図51には、1個抜き交差検証を式(1)のλを変えながら実施することで作成したλの値ごとのモデル(求められた係数ベクトルx)の評価結果が示されている。生成されたモデルの評価方法としては、検証データに対するRMSEが用いられている。
散布図51の横軸はλの値である。λの値は、仮数部と指数部の間にEを挟んだ指数表記である。縦軸の左側の目盛りはRMSEの値である。縦軸の右側の目盛りは特徴ベクトル内の非ゼロ成分数である。散布図51内の網掛けの丸が訓練データのRMSEを示し、白丸が検証データのRMSEを示し、黒丸が非ゼロ成分数を示す。
散布図51に示すような評価結果が得られた場合、通常、最終的に採用されるモデルは、検証データに対するRMSEが最小になるλに対応するモデルである。採用されるモデルの性能は、例えば検証データのRMSEによって表される。
図12は、特性ベクトルyを用いたL0正則化学習で得られたモデルの性能を示す図である。図12では、特性ベクトルyを用いたL0正則化学習で得られたモデルの性能が散布図52で表されている。散布図52の横軸が実測値(特性データに示される特性値)であり、縦軸が予測値(モデルを用いて算出される特性値)である。散布図52内の黒丸が訓練データであり、白丸が検証データである。検証データに対するRMSEは9.3である。
次に式(8)に従い、特性ベクトルyの成分を1/2乗した特性ベクトルy1/2を用いて、L0正則化学習を行った場合の学習結果について説明する。
図13は、特性ベクトルy1/2を用いたL0正則化学習結果の一例を示す図である。図13に示すように、特性ベクトルy1/2では各成分が1/2乗されることで、成分の値(特性値の1/2乗)を0〜1にスケーリングして、その分布をヒストグラムで表すと、図10に示した特性ベクトルyとは異なる分布となる。
図13は、特性ベクトルy1/2を用いたL0正則化学習結果の一例を示す図である。図13に示すように、特性ベクトルy1/2では各成分が1/2乗されることで、成分の値(特性値の1/2乗)を0〜1にスケーリングして、その分布をヒストグラムで表すと、図10に示した特性ベクトルyとは異なる分布となる。
以下に、特性ベクトルy1/2を用いた式(8)(k=2)について、1個抜き交差検証を繰り返しながらL0正則化学習による求解作業を行った場合の学習結果について説明する。
図14は、特性ベクトルy1/2を用いた場合のL0正則化学習結果の一例を示す図である。図14では、L0正則化の学習結果を散布図53で表している。散布図53には、1個抜き交差検証を式(8)のλを変えながら実施することで作成したλの値ごとのモデル(求められた係数ベクトルx)の評価結果が示されている。生成されたモデルの評価方法としては、検証データに対するRMSEが用いられている。散布図53の各軸の意味、丸印の意味は図11に示した散布図51と同様である。
散布図53と散布図51とを比較すると、特性ベクトルy1/2を用いた場合の方が特性ベクトルyを用いた場合よりも検証データのRMSEが小さくなっていることが分かる。そして検証データに対するRMSEが最小になるλに対応する係数ベクトルxが、指数条件k=2のときの最適化されたモデルとなる。
図15は、特性ベクトルy1/2を用いたL0正則化学習で得られたモデルの性能を示す図である。図15では、特性ベクトルy1/2を用いたL0正則化学習で得られたモデルの性能が散布図54で表されている。散布図54の横軸が実測値(特性データに示される特性値)であり、縦軸が予測値(モデルを用いて算出される特性値)である。散布図54内の黒丸が訓練データであり、白丸が検証データである。検証データに対するRMSEは4.1である。図12に示した散布図52と図15の散布図54とを比較すると分かるように、特性ベクトルy1/2を用いた場合の方が、特性ベクトルyを用いた場合よりも優れた評価結果となる。
図16は、最適化された係数ベクトルxの成分の値を示す図である。図16では、回折角度ごとの対応する係数ベクトルxの成分の値がグラフ55で表されている。グラフ55の横軸が回折角度であり、縦軸が係数ベクトルxの成分の値である。なお回折角度に対応する係数ベクトルxの成分とは、図7に示したモデル式においてその回折角度で観測された回折強度に乗算される、係数ベクトルx内の成分である。最適化された係数ベクトルxは、多くの成分の値が0となっている。そして1つの成分だけが、特に大きな値となっている。この成分が、検体の特性に強く関連する成分である。
このように、最適化された係数ベクトルxにより、重要な成分が正しく抽出されていることが分かる。すなわち、特性ベクトルy1/2を用いることによって、ビット数を増加させることなく、XRDスペクトルの一部の回折強度がy≒Ax2の関係にあることを正しく推定できている。
次に、L0正則化学習処理の手順について詳細に説明する。
図17は、L0正則化学習処理の手順の一例を示すフローチャートである。以下、図17に示す処理をステップ番号に沿って説明する。
図17は、L0正則化学習処理の手順の一例を示すフローチャートである。以下、図17に示す処理をステップ番号に沿って説明する。
[ステップS101]モデル式生成部120は、調査対象の複数の検体それぞれから取得したXRDスペクトルデータ及び特性データを、記憶部110から読み込む。このとき、検体数をM+1、XDスペクトルデータの要素(回折角度ごとの回折強度)の数をNとする。
[ステップS102]モデル式生成部120は、指数条件kのリストに示されているすべての指数条件kの値を1つずつ選択し、ステップS103〜S110の処理を実行する。指数条件kのリストには、例えば1から順番に所定数の自然数(1,2,・・・)が設定されている。
[ステップS103]モデル式生成部120は、ハイパーパラメータλのリストに示されているすべてのハイパーパラメータλについて、ステップS104〜S107の処理を実行する。
[ステップS104]モデル式生成部120は、検体ごとに、その検体のXRDスペクトルデータを検証データとして、ステップS105の処理を実行する。例えばモデル式生成部120は、ループ処理の繰り返し回数制御用の変数jに初期値1を設定する。そして変数jをカウントアップしながらj番目の検体のXRDスペクトルデータを検証データとして、ステップS105の処理を実行する。モデル式生成部120は、この処理をj=M+1となるまで繰り返す。
[ステップS105]モデル式生成部120、最適化要求部130、および評価部140が連係し、1個抜き交差検証処理を実行する。この処理の詳細は後述する(図18参照)。1個抜き交差検証処理によって、特定の指数条件kの値、および特定のハイパーパラメータλの値において、j番目の検体のXRDスペクトルデータを検証データとした場合にモデル式を最適化することで得られた係数ベクトルxと評価結果が得られる。評価結果は、最適化された係数ベクトルを用いて検証データから予測した特性値と、検証データに対応する検体の実際の特性値との二乗誤差(差分の2乗)である。
[ステップS106]モデル式生成部120は、すべての検体についてステップS105の処理が終了した場合、処理をステップS107に進める。
[ステップS107]評価部140は、すべての検体それぞれの二乗誤差の平均(平均二乗誤差(σλ,k)を計算する。
[ステップS107]評価部140は、すべての検体それぞれの二乗誤差の平均(平均二乗誤差(σλ,k)を計算する。
[ステップS108]モデル式生成部120は、すべてのハイパーパラメータλについて、ステップS104〜S107の処理が完了した場合、処理をステップS109に進める。
[ステップS109]評価部140は、すべてのハイパーパラメータλそれぞれの平均二乗誤差のうちの、最小の平均二乗誤差(σk)を決定する。
[ステップS110]評価部140は、汎化誤差判定条件を満たすか否かを判断する。汎化誤差判定条件は、例えば選択中の指数条件kの最小の平均二乗誤差が、計算済みの指数条件kについての最小の平均二乗誤差のうちの小さい方から4番以内であることである。評価部140は、汎化誤差判定条件が満たされる場合、処理をステップS111に進める。評価部140は、汎化誤差判定条件が満たされない場合、指数条件kについてのループ処理を抜け、処理をステップS112に進める。
[ステップS110]評価部140は、汎化誤差判定条件を満たすか否かを判断する。汎化誤差判定条件は、例えば選択中の指数条件kの最小の平均二乗誤差が、計算済みの指数条件kについての最小の平均二乗誤差のうちの小さい方から4番以内であることである。評価部140は、汎化誤差判定条件が満たされる場合、処理をステップS111に進める。評価部140は、汎化誤差判定条件が満たされない場合、指数条件kについてのループ処理を抜け、処理をステップS112に進める。
[ステップS111]モデル式生成部120は、すべての指数条件kについてステップS103〜S110の処理が完了した場合、処理をステップS112に進める。
[ステップS112]評価部140は、評価が最も良い指数条件kの値と係数ベクトルxnを決定する。評価が最も良いとは、最小の平均二乗誤差が最も小さいことである。評価部140は、決定した指数条件kと係数ベクトルxnとをモデルとして出力する。
[ステップS112]評価部140は、評価が最も良い指数条件kの値と係数ベクトルxnを決定する。評価が最も良いとは、最小の平均二乗誤差が最も小さいことである。評価部140は、決定した指数条件kと係数ベクトルxnとをモデルとして出力する。
このようにして、指数条件kごとに最適なハイパーパラメータλの値を用いて最適化された係数ベクトルが得られ、そのうち評価が最も良い係数ベクトルxとそのときの指数条件kとが学習結果として出力される。
次に、1個抜き交差検証処理について詳細に説明する。
図18は、1個抜き交差検証処理の手順の一例を示すフローチャートである。以下、図18に示す処理をステップ番号に沿って説明する。
図18は、1個抜き交差検証処理の手順の一例を示すフローチャートである。以下、図18に示す処理をステップ番号に沿って説明する。
[ステップS121]モデル式生成部120は、検体ごとのXRDスペクトルデータを訓練データと検証データとに分離する。検証データは、j番目の検体のXRDスペクトルデータである。訓練データは、j番目の検体のXRDスペクトルデータ以外のM個のXRDスペクトルデータである。
[ステップS122]モデル式生成部120は、訓練データに基づいて観測行列Aを生成する。またモデル式生成部120は、訓練データに含まれるXRDスペクトルデータに対応する検体の特性値に基づいて特性ベクトルyを生成する。
[ステップS123]モデル式生成部120は、ステップS122で生成した特性ベクトルyの各成分を1/k乗して、特性ベクトルy1/kを生成する。
[ステップS124]モデル式生成部120は、特性ベクトルy1/kの成分を0〜1の範囲にスケーリングする。例えばモデル式生成部120は、特性ベクトルy1/kの成分の値の最小値を、各成分の値から減算する。そしてモデル式生成部120は、各成分の減算後の値の最大値で、各成分の値を除算する。これにより、特性ベクトルy1/kの成分の値が、最小値が0、最大値が1となるようにスケーリングされる。
[ステップS124]モデル式生成部120は、特性ベクトルy1/kの成分を0〜1の範囲にスケーリングする。例えばモデル式生成部120は、特性ベクトルy1/kの成分の値の最小値を、各成分の値から減算する。そしてモデル式生成部120は、各成分の減算後の値の最大値で、各成分の値を除算する。これにより、特性ベクトルy1/kの成分の値が、最小値が0、最大値が1となるようにスケーリングされる。
[ステップS125]最適化要求部130は、観測行列A、特性ベクトルy1/k、ハイパーパラメータλを、制御装置200に送信する。すると制御装置200が、受信した情報に基づいてイジングマシン300を制御し、係数ベクトルxの最適化を行う。
[ステップS126]イジングマシン300は、制御装置200からの制御に従って、式(8)から変換されたQUBO形式の式を求解対象とし、その式で使用するビットの初期値を、各ビットのニューロン回路に設定する。またイジングマシン300は、求解対象の式に基づいて、ニューロン回路間の接続の有無を示す重み係数などの情報をニューロン回路に設定する。
[ステップS127]イジングマシン300は、L0正則化により係数ベクトルxを推定する。具体的には、イジングマシン300は、量子現象をデジタル回路で再現することで、アニーリング方式によりビットの値の組み合わせの最適化を行う。組み合わせ最適化では、式(8)の括弧内の値が小さいほど各ビットの値に基づくエネルギーが小さくなるような条件で、エネルギーが最小となるビットの値の組み合わせが求められる。
ここで、式(3)に示すように、L個のビットqn,lの値に基づいて、係数ベクトルxの1つの成分xnの値が求まる。すなわちエネルギーが最小となる各ビットの値に基づいて、式(8)の括弧内を最小とする係数ベクトルxの各成分の値が得られる。なお、対応するビットの値がすべて0の成分はゼロ成分となる。イジングマシン300は、最適化した係数ベクトルxを、制御装置200を介してサーバ100に送信する。
[ステップS128]サーバ100の最適化要求部130は、イジングマシン300から、最適化されたモデルとして係数ベクトルxを受け取る。
[ステップS129]評価部140は、検証データを用いて、取得した係数ベクトルxの二乗誤差(σj,λ,k)を計算する。例えば評価部140は、検証データに示されるXRDスペクトルデータの回折強度の値を成分とするベクトルに係数ベクトルxを右側から乗算する。評価部140は、乗算の結果得られた値のk乗を予測した特性値とする。評価部140は、予測した特性値と、特性データ112に示される実際の特性値との差分の2乗を計算する。この計算で得られた値が二乗誤差(σj,λ,k)である。
[ステップS129]評価部140は、検証データを用いて、取得した係数ベクトルxの二乗誤差(σj,λ,k)を計算する。例えば評価部140は、検証データに示されるXRDスペクトルデータの回折強度の値を成分とするベクトルに係数ベクトルxを右側から乗算する。評価部140は、乗算の結果得られた値のk乗を予測した特性値とする。評価部140は、予測した特性値と、特性データ112に示される実際の特性値との差分の2乗を計算する。この計算で得られた値が二乗誤差(σj,λ,k)である。
このようにしてイジングマシン300を用いて、L0正則化による式(8)を満たす係数ベクトルxを探索することができる。
L0正則化学習を行っているため、得られたモデルに示される係数ベクトルxは、少量の非ゼロ成分が含まれる。XRDスペクトルデータ内の特定の要素(特定の回折角度における回折強度)が、特性値に対してy=Axkの関係を持つ場合、その要素に対応する係数ベクトルx内の成分が非ゼロ成分となる。そのため係数ベクトルxの非ゼロ成分がどの成分かを確認すれば、特性値と関係する要素が分かる。
L0正則化学習を行っているため、得られたモデルに示される係数ベクトルxは、少量の非ゼロ成分が含まれる。XRDスペクトルデータ内の特定の要素(特定の回折角度における回折強度)が、特性値に対してy=Axkの関係を持つ場合、その要素に対応する係数ベクトルx内の成分が非ゼロ成分となる。そのため係数ベクトルxの非ゼロ成分がどの成分かを確認すれば、特性値と関係する要素が分かる。
図19は、複数のXRDスペクトルデータの一例を示す図である。図19では、回折角度ごとの対応する係数ベクトルxの成分の値がグラフ56で表されている。グラフ56の横軸が回折角度であり、縦軸が回折強度である。
図19に示すように、XRDスペクトルでは回折強度が高くなる回折角度が多数存在する。これらの回折角度のうち、回折強度と検体の特性値との間に何らかの関係が存在するのは、一部の回折角度のみである。図19の例では、拡大図57の矢印で示された部分の回折角度における回折強度が、特性値との間に強い関係を有する。L0正則化学習を行うことで、得られる回折強度と特性値との関係が強い回折角度が明確になる。
また図17に示したL0正則化学習では、サーバ100は、指数条件kの値ごとに特性ベクトルy1/kを計算し、最小値が0で最大値が1となるようにスケーリングを行った後、L0正則化学習を実施し推定したモデルの性能を評価している。その際、サーバ100は、最良のモデルを決定するために、複数のハイパーパラメータλに対して、学習データと検証データを入れ替えながらその都度L0正則化学習を実施し、検証データに対する平均二乗誤差を評価している。検証データに対する平均二乗誤差が、推定した係数ベクトルxの性能の評価値である。複数のハイパーパラメータλに対するモデルを生成し、評価していることで、ハイパーパラメータλで示される正則化の強さの適性化を図ることができ、適切な強度のL0正則化により、高精度で予測可能なモデルを生成することができる。
なお実際の問題では、適切な指数条件kの値があらかじめ確定していることは少ない。そのため図17に示した処理では、指数条件kの値をある範囲で変更し、指数条件kの値ごとに求解作業を行い、その中で最良のモデルを採用している。これにより最良の指数条件kの値と、そのときのモデルを得ることができる。
図20は、指数条件kの値ごとに生成したモデルの性能の一例を示す図である。図20には、図19に示した複数のXRDスペクトルデータに基づく各指数条件kに対してのモデルの実測値と予測値の誤差を、散布図61,62,63,・・・で示している。図20の例では、1/k=0.5,0.7,0.9,・・・において生成されたモデルの誤差が示されている。例えば各モデルの生成時に検証データとされたXRDスペクトルデータの二乗誤差が、そのモデルの性能を表す数値となる。
適切なハイパーパラメータλの値については、分析データ111に依存するが、サーバ100は、例えば5〜6桁の値域内のλの値が用いられる。図14で示す例では、λの値として、10-5〜100の値域内の複数の値が用いられている。
またサーバ100は、学習データと検証データとを入れ替えることで交差検証を行っている。これにより、推定したモデルの学習データ依存度を小さくすることができる。例えばサーバ100は、分析データ111内のXRDスペクトルデータのうち検証データを一つ取り置き、残りのXRDスペクトルデータで学習させ、一つの検証データでモデルを評価する。その後、サーバ100は、XRDスペクトルデータの数に応じた回数だけ学習データと検証データを入れ替えてモデル作成及び検証作業を行う、いわゆる1個抜き交差検証を実施している。なおサーバ100は、XRDスペクトルデータの数が多い場合には、5分割交差検証をはじめとしたn分割交差検証を行うこともできる。
さらにサーバ100は、量子アニーリングを行うイジングマシン300との連係処理により、L0正則化学習を実現している。具体的には、サーバ100は、データの読み込み、訓練データと検証データとの分割、指数条件kとハイパーパラメータλの設定、及びイジングマシン300で推定したモデルの評価を行う。イジングマシン300は、ビットの初期化の後、受け取ったデータセットとパラメータに基づく求解作業を行う。このようにイジングマシン300を利用することで、モデル式に応じて最適化したモデル(係数ベクトルx)の探索処理を高速に行うことができる。
なおサーバ100は、あらかじめ準備した指数条件kの値すべてについてモデルの推定と検証作業を行うのではなく、主にイジングマシン300による総計算時間の短縮を目的として、指数条件kの最適値が得られる程度に処理を行えばよい。例えばサーバ100は、指数条件kの値を増加させていき、それ以上、指数条件kの値を増加させてもRMSEの小さいモデルが生成される見込みがない場合、処理を終了させる。
図21は、指数条件kの更新を中止する場合の例を示す図である。図21の散布図71は、指数条件kの値ごとの、得られたモデルのRMSEの推移を示している。散布図71の横軸は1/kの値であり、縦軸はRMSEの値である。散布図71に示した例では、指数条件kを大きな値から順に低下させている。
適切な指数条件kのリストを準備しておけば、指数条件kに対してプロットしたRMSEの点を結ぶ曲線は、多くの場合において散布図71に示されるような下に凸の形状となる。そのため、誤差が最小となる指数条件kの値が決定できる程度に、指数条件kの値の更新を繰り返せばよい。図17に示した処理では、各指数条件kのモデル性能の最終結果がこれまで得られたモデル性能の上位の所定番以内に入っているかどうかでモデルの推定・検証作業を続行するかどうかが判断される。図21の例では、最終的に指数条件kの最適値としてk=1.41が得られている。指数条件kの最適値が得られてから指数条件kの値の更新を繰り返してもモデル性能は悪化していく。そのため生成されるモデルの性能の悪化が繰り返され、これまでに得られたモデルの中で上位所定番内の性能のモデルが得られなくなると、サーバ100はそれ以上指数条件kを更新せずに、L0正則化学習における新たなモデルの生成を中止する。これにより、生成されるモデルの性能を落とさずに、処理量を低減することができる。
〔その他の実施の形態〕
第2の実施の形態では、複数のニューロン回路311,312,・・・,31nを有するイジングマシン300で組み合わせ最適化問題の解探索を行っているが、同じ処理をサーバ100と同様のノイマン型コンピュータで実現することも可能である。例えば、ノイマン型コンピュータを用いて量子アニーリングの状態遷移過程をソフトウェアシミュレーションで再現することで、組み合わせ最適化問題の解を求解することができる。その場合、サーバ100が組み合わせ最適化問題の解探索を行ってもよい。
第2の実施の形態では、複数のニューロン回路311,312,・・・,31nを有するイジングマシン300で組み合わせ最適化問題の解探索を行っているが、同じ処理をサーバ100と同様のノイマン型コンピュータで実現することも可能である。例えば、ノイマン型コンピュータを用いて量子アニーリングの状態遷移過程をソフトウェアシミュレーションで再現することで、組み合わせ最適化問題の解を求解することができる。その場合、サーバ100が組み合わせ最適化問題の解探索を行ってもよい。
また第2の実施の形態ではサーバ100と制御装置200が分かれているが、制御装置200の機能をサーバ100内に実装することも可能である。
また第2の実施の形態では、XRDスペクトルデータを分析データ111としているが、他の種類のデータを分析データ111とすることもできる。例えば使用中のリチウムイオン電池を所定の時間だけ観測することで得られる該当時間分のX線スペクトルの強度を示すデータを分析データ111とすることができる。
また第2の実施の形態では、XRDスペクトルデータを分析データ111としているが、他の種類のデータを分析データ111とすることもできる。例えば使用中のリチウムイオン電池を所定の時間だけ観測することで得られる該当時間分のX線スペクトルの強度を示すデータを分析データ111とすることができる。
以上、実施の形態を例示したが、実施の形態で示した各部の構成は同様の機能を有する他のものに置換することができる。また、他の任意の構成物や工程が付加されてもよい。さらに、前述した実施の形態のうちの任意の2以上の構成(特徴)を組み合わせたものであってもよい。
10 情報処理装置
11 記憶部
11a 分析データ
11b 特性データ
12 処理部
11 記憶部
11a 分析データ
11b 特性データ
12 処理部
Claims (8)
- 複数の検体それぞれの特性値の1/k乗(kは実数)を成分とする特性ベクトルを生成し、
前記複数の検体それぞれに対して行われた複数回の観測で得られた特徴量を成分とする観測行列と前記特性ベクトルとの関係を表す係数ベクトルを、L0正則化を用いて求解する処理を実行する、
ことを特徴とする情報処理装置。 - 同一の検体の特徴量を前記観測行列の同一行に並べ、前記複数の検体それぞれに対して同じ観測条件で観測された特徴量を前記観測行列の同一列に並べ、前記観測行列の右から列ベクトルである前記係数ベクトルを乗算した場合に前記特性ベクトルを得ることができる前記係数ベクトルの成分の値を求解する、
請求項1記載の情報処理装置。 - 前記観測行列に前記係数ベクトルを乗算した結果と前記特性ベクトルとの誤差が少ないほど小さい値となり、かつ前記係数ベクトルに含まれる非ゼロ成分が少ないほど小さい値となる正則化式を生成し、前記正則化式の値を最小とする前記特性ベクトルを求解する、
請求項2記載の情報処理装置。 - 前記正則化式をQUBO(Quadratic Unconstrained Binary Optimization)形式に変換し、QUBO形式の式に含まれるビットの値の組み合わせ最適化問題を求解することで、前記特性ベクトルを求解する、
請求項3記載の情報処理装置。 - 所定の複数の実数値それぞれを前記kの値とし、前記kの値ごとに前記係数ベクトルを求解し、前記kの値ごとの前記係数ベクトルそれぞれを用いて検証用の検体の測定値から特性値を推定した場合の推定値と、前記検証用の検体の特性値との誤差に基づいて、解として出力する前記係数ベクトルと前記kの値とを決定する、
請求項1ないし4のいずれかに記載の情報処理装置。 - 前記複数の実数値を順番に選択し、選択された実数値を前記kの値として前記係数ベクトルを求解し、得られた前記係数ベクトルを用いて前記検証用の検体の測定値から特性値を推定した場合の推定値と、前記検証用の検体の特性値との誤差が所定の条件を満たした場合、以後、前記複数の実数値の選択と、選択された実数値を前記kの値とする前記係数ベクトルの求解とを抑止する、
請求項5記載の情報処理装置。 - コンピュータが、
複数の検体それぞれの特性値の1/k乗(kは実数)を成分とする特性ベクトルを生成し、
前記複数の検体それぞれに対して行われた複数回の観測で得られた特徴量を成分とする観測行列と前記特性ベクトルとの関係を表す係数ベクトルを、L0正則化を用いて求解する、
学習方法。 - コンピュータに、
複数の検体それぞれの特性値の1/k乗(kは実数)を成分とする特性ベクトルを生成し、
前記複数の検体それぞれに対して行われた複数回の観測で得られた特徴量を成分とする観測行列と前記特性ベクトルとの関係を表す係数ベクトルを、L0正則化を用いて求解する、
処理を実行させる学習プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020104454A JP2021197008A (ja) | 2020-06-17 | 2020-06-17 | 情報処理装置、学習方法、および学習プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020104454A JP2021197008A (ja) | 2020-06-17 | 2020-06-17 | 情報処理装置、学習方法、および学習プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2021197008A true JP2021197008A (ja) | 2021-12-27 |
Family
ID=79195641
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020104454A Withdrawn JP2021197008A (ja) | 2020-06-17 | 2020-06-17 | 情報処理装置、学習方法、および学習プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2021197008A (ja) |
-
2020
- 2020-06-17 JP JP2020104454A patent/JP2021197008A/ja not_active Withdrawn
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Modi et al. | Cosmological reconstruction from galaxy light: neural network based light-matter connection | |
US11334813B2 (en) | Method and apparatus for managing machine learning process | |
US11386256B2 (en) | Systems and methods for determining a configuration for a microarchitecture | |
JP6536295B2 (ja) | 予測性能曲線推定プログラム、予測性能曲線推定装置および予測性能曲線推定方法 | |
Piironen et al. | Projection predictive model selection for Gaussian processes | |
CN111951901B (zh) | 优化设备、优化系统、优化方法及记录介质 | |
Gray et al. | From inference to design: A comprehensive framework for uncertainty quantification in engineering with limited information | |
Tan et al. | Grey-box model identification via evolutionary computing | |
US20220101198A1 (en) | Automated generation of a machine learning model from computational simulation data | |
WO2023103130A1 (zh) | 一种基于量子游走的时间序列多尺度分析方法 | |
WO2023012375A1 (en) | Methods and systems for solving a stochastic differential equation using a hybrid computer system | |
Kronheim et al. | Bayesian neural networks for fast SUSY predictions | |
Watson-Parris et al. | Model calibration using ESEm v1. 1.0–an open, scalable Earth system emulator | |
Tavakkoli et al. | A novel forecasting model based on support vector regression and bat meta-heuristic (Bat–SVR): case study in printed circuit board industry | |
WO2021084471A1 (en) | Artificial intelligence transparency | |
Johnson | quantile-forest: A python package for quantile regression forests | |
KR102532757B1 (ko) | 라만 분광 신호를 기초로 수용액의 용존 가스 농도를 예측하기 위한 장치 및 이를 위한 방법 | |
Gąsior et al. | Analysis of hydrogen isotopes retention in thermonuclear reactors with LIBS supported by machine learning | |
US20230316094A1 (en) | Systems and methods for heuristic algorithms with variable effort parameters | |
JP2021197008A (ja) | 情報処理装置、学習方法、および学習プログラム | |
JP2021022051A (ja) | 機械学習プログラム、機械学習方法および機械学習装置 | |
Rashidifar | Estimation of energy performance of buildings using machine learning tools | |
Bozağaç et al. | Dynamic simulation metamodeling using MARS: A case of radar simulation | |
EP4116845A1 (en) | Model generation program, model generation method, and information processing apparatus | |
Pandita et al. | Towards scalable gaussian process modeling |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20230309 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20240129 |