(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2025026182
(43)【公開日】2025-02-21
(54)【発明の名称】能動学習プログラム、方法、及び装置
(51)【国際特許分類】
G06N 3/091 20230101AFI20250214BHJP
【FI】
G06N3/091
【審査請求】未請求
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2023131606
(22)【出願日】2023-08-10
(71)【出願人】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】110001519
【氏名又は名称】弁理士法人太陽国際特許事務所
(72)【発明者】
【氏名】坂井 靖文
(57)【要約】
【課題】なるべく少ないラベル付きデータで機械学習モデルの精度を向上させるための能動学習による訓練コストを抑制する。
【解決手段】能動学習装置は、誤差予測訓練データ群34を用いて訓練された誤差予測モデル26に基づいて、ラベル無しデータ群36に含まれる複数のラベル無しデータの各々に対するエネルギー予測モデル24の予測誤差を予測し(E)、複数のラベル無しデータから予測誤差が大きいラベル無しデータを選択して、正解ラベルとなるエネルギーの情報を付与してラベル付きデータを生成し(F)、生成したラベル付きデータをエネルギー予測訓練データとして用いて、エネルギー予測モデル24を訓練する(A)。
【選択図】
図10
【特許請求の範囲】
【請求項1】
複数のデータと、前記複数のデータの各々に対する第1機械学習モデルの予測誤差との組を訓練データとして用いて訓練された第2機械学習モデルに基づいて、複数のラベル無しデータの各々に対する前記第1機械学習モデルの予測誤差を予測し、
予測された前記予測誤差に基づいて、前記複数のラベル無しデータから選択したラベル無しデータに正解ラベルを付与してラベル付きデータを生成し、
生成した前記ラベル付きデータを用いて、前記第1機械学習モデルを再訓練する、
ことを含む処理をコンピュータに実行させるための能動学習プログラム。
【請求項2】
前記複数のラベル無しデータから、予測された前記予測誤差が所定値以上のラベル無しデータ、又は予測された前記予測誤差が上位所定個のラベル無しデータを選択する請求項1に記載の能動学習プログラム。
【請求項3】
複数のラベル付きデータの各々を前記第1機械学習モデルに入力して得られる予測結果の各々と、前記複数のラベル付きデータの正解ラベルの各々とから前記予測誤差の各々を算出し、算出した予測誤差の各々と前記複数のラベル付きデータの各々とから複数の前記訓練データを生成し、
前記訓練データを用いて前記第2機械学習モデルを訓練する、
ことをさらに含む処理を前記コンピュータに実行させるための請求項1又は請求項2に記載の能動学習プログラム。
【請求項4】
再訓練された前記第1機械学習モデルの精度が所定の基準を満たすまで、前記予測誤差の予測、及び前記ラベル付きデータの生成を繰り返す請求項1又は請求項2に記載の能動学習プログラム。
【請求項5】
前記選択したラベル無しデータから生成された前記ラベル付きデータに基づいて生成した前記訓練データを用いて、前記第2機械学習モデルを再訓練する請求項4に記載の能動学習プログラム。
【請求項6】
前記ラベル付きデータは、分子の構造データに正解ラベルとして分子のエネルギーの情報が付与されたデータであり、
前記第1機械学習モデルは、分子の構造データが入力された場合に、前記分子のエネルギーを予測結果として出力する機械学習モデルである、
請求項1又は請求項2に記載の能動学習プログラム。
【請求項7】
前記ラベル付きデータを生成することは、前記選択したラベル無しデータである前記分子の構造データから、密度汎関数理論を用いて前記分子のエネルギーを計算することを含む請求項6に記載の能動学習プログラム。
【請求項8】
複数のデータと、前記複数のデータの各々に対する第1機械学習モデルの予測誤差との組を訓練データとして用いて訓練された第2機械学習モデルに基づいて、複数のラベル無しデータの各々に対する前記第1機械学習モデルの予測誤差を予測し、
予測された前記予測誤差に基づいて、前記複数のラベル無しデータから選択したラベル無しデータに正解ラベルを付与してラベル付きデータを生成し、
生成した前記ラベル付きデータを用いて、前記第1機械学習モデルを再訓練する、
ことを含む処理をコンピュータが実行する能動学習方法。
【請求項9】
複数のデータと、前記複数のデータの各々に対する第1機械学習モデルの予測誤差との組を訓練データとして用いて訓練された第2機械学習モデルに基づいて、複数のラベル無しデータの各々に対する前記第1機械学習モデルの予測誤差を予測する誤差予測部と、
予測された前記予測誤差に基づいて、前記複数のラベル無しデータから選択したラベル無しデータに正解ラベルを付与してラベル付きデータを生成する第1生成部と、
生成した前記ラベル付きデータを用いて、前記第1機械学習モデルを再訓練する第1訓練部と、
を含む能動学習装置。
【発明の詳細な説明】
【技術分野】
【0001】
開示の技術は、能動学習プログラム、能動学習方法、及び能動学習装置に関する。
【背景技術】
【0002】
従来、分子の構造データに基づいて、その分子のエネルギーを予測するニューラルネットワークが提案されている。このニューラルネットワークは、「構造」と「エネルギー」とからなるラベル付きデータを用いて教師あり学習により訓練される。この「エネルギー」は、例えば、密度汎関数理論(DFT:Density Functional Theory)と呼ばれる数値計算手法で計算される。DFTによる分子のエネルギーの計算時間は非常に長く、1つの構造のエネルギーの計算に、半日から3日かかる場合もある。そのため、教師あり学習のためのラベル付きデータを大量に集めることが困難である。
【0003】
そこで、可能な限り少ないラベル付きデータでニューラルネットワークを高精度化するための能動学習の手法が提案されている。例えば、ニューラルネットワークによるエネルギーの予測値の不確かさを予測する機械学習モデルを用いて、ラベル無しデータについて、エネルギーの予測値の不確かさを予測する技術が提案されている。この技術は、予測された不確かさが大きいラベル無しデータに対してラベル付けを行い、ラベル付けされたデータを用いて、エネルギーを予測するニューラルネットワークの訓練を行う。
【0004】
また、能動学習に関連する技術として、特徴量からなる訓練用例を受け付け、訓練用例にラベルを付与し、ラベルが付与された訓練用例を用いて1つ以上の生徒モデルを生成し、生徒モデルによる予測とラベルとの誤差を算出する情報処理装置が提案されている。この装置は、誤差を予測するモデルである誤差予測モデルを生成し、誤差予測モデルに基づき、誤差が大きくなると予測される用例を出力する。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】国際公開2022/113338号
【非特許文献1】Kristof T. Schutt, Oliver T. Unke, and Michael Gastegger, "Equivariant Message Passing for the Prediction of Tensorial Properties and Molecular Spectra," PMLR, 2021.
【非特許文献2】Johannes Gasteiger, Muhammed Shuaibi, Anuroop Sriram, Stephan Gunnemann, Zachary Ulissi, C. Lawrence Zitnick, and Abhishek Das, "GemNet-OC: Developing Graph Neural Networks for Large and Diverse Molecular Simulation Datasets," Transactions on Machine Learning Research, 2022.
【非特許文献3】Joseph Musielewicz, Xiaoxiao Wang, Tian Tian, and Zachary Ulissi, "FINETUNA: Fine-tuning Accelerated Molecular Simulations," arXiv:2205.01223v2 [physics.comp-ph] 1 Jul 2022.
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、ニューラルネットワークによるエネルギーの予測値の不確かさを予測する機械学習モデルを用いる従来技術では、不確かさを予測するために複数のニューラルネットワークを必要とする。すなわち、この従来技術は、能動学習のために複数のニューラルネットワークを用意する必要があり、能動学習による訓練コストが高いという問題がある。
【0007】
一つの側面として、開示の技術は、なるべく少ないラベル付きデータで機械学習モデルの精度を向上させるための能動学習による訓練コストを抑制することを目的とする。
【課題を解決するための手段】
【0008】
一つの態様として、開示の技術は、第2機械学習モデルに基づいて、複数のラベル無しデータの各々に対する前記第1機械学習モデルの予測誤差を予測する。第2機械学習モデルは、複数のデータと、前記複数のデータの各々に対する第1機械学習モデルの予測誤差との組を訓練データとして用いて訓練されている。そして、開示の技術は、予測された前記予測誤差に基づいて、前記複数のラベル無しデータから選択したラベル無しデータに正解ラベルを付与してラベル付きデータを生成し、生成した前記ラベル付きデータを用いて、前記第1機械学習モデルを再訓練する。
【発明の効果】
【0009】
一つの側面として、なるべく少ないラベル付きデータで機械学習モデルの精度を向上させるための能動学習による訓練コストを抑制することができる、という効果を有する。
【図面の簡単な説明】
【0010】
【
図1】分子のエネルギー予測のNNについて説明するための図である。
【
図3】背景技術における不確かさ予測NNを説明するための図である。
【
図4】本実施形態に係る能動学習装置の機能ブロック図である。
【
図5】エネルギー予測モデルを説明するための図である。
【
図7】DFTによるエネルギーの計算値と、エネルギー予測モデルによるエネルギーの予測値との関係の一例を示す図である。
【
図8】能動学習装置として機能するコンピュータの概略構成を示すブロック図である。
【
図9】能動学習処理の一例を示すフローチャートである。
【
図10】能動学習装置における処理の概略を示す図である。
【
図11】本手法の効果についての検証結果を示す図である。
【発明を実施するための形態】
【0011】
以下、図面を参照して、開示の技術に係る実施形態の一例を説明する。
【0012】
実施形態の詳細を説明する前に、分子のエネルギー予測のための機械学習モデルの教師あり学習に向けた能動学習における課題について説明する。
【0013】
図1に示すように、分子の構造データに基づいて、その分子のエネルギーを予測するニューラルネットワーク(以下、「NN」とも表記する)は、「構造」と「エネルギー」とからなるラベル付きデータを用いて教師あり学習により訓練される。すなわち、分子の構造データをNNへ入力し、NNからの出力である予測された分子のエネルギーと、正解のエネルギーとの差を逆伝播することによりNNのパラメータを更新する。この正解となるエネルギーは、例えば、DFTと呼ばれる数値計算手法で計算される。DFTによる分子のエネルギーの計算時間は非常に長いため、教師あり学習のためのラベル付きデータを大量に集めることが困難である。
【0014】
そこで、可能な限り少ないラベル付きデータでNNを高精度化するための能動学習の手法が提案されている。具体的には、能動学習を実行する情報処理装置は、
図2のAに示すように、エネルギーの予測値の不確かさを予測する不確かさ予測NNを用いて、ラベル無しデータ群に含まれる各ラベル無しデータについて、エネルギーの予測値の不確かさを予測する。そして、情報処理装置は、複数のラベル無しデータのうち、不確かさ予測NNで予測された不確かさが大きいラベル無しデータを選択する。情報処理装置は、
図2のBに示すように、選択したラベル無しデータに、例えばDFT等で計算したエネルギーを正解ラベルとして付与して、ラベル付きデータを生成する。
【0015】
また、情報処理装置は、
図2のCに示すように、生成したラベル付きデータが追加された訓練データを用いて、エネルギーを予測するエネルギー予測NNを再訓練する。情報処理装置は、
図2のDに示すように、検証データを用いて、再訓練されたエネルギー予測NNを評価し、エネルギー予測NNの精度が基準を満たす場合には、訓練を終了する。一方、エネルギー予測NNの精度が基準を満たさない場合には、情報処理装置は、
図2のEに示すように、ラベル無しデータ群から、上記Bでラベルが付与されたデータを除いて、不確かさを予測する処理から繰り返す。
【0016】
このように、エネルギーの予測値の不確かさを不確かさ予測NNで予測したうえで、その不確かさが大きいラベル無しデータを、ラベル付けの対象のデータとして選択することで、エネルギー予測NNを効率的に訓練することができるデータが選択される。
【0017】
しかし、例えば、非特許文献3に記載の技術では、この不確かさ予測NNが、
図3に示すように、複数のニューラルネットで構成されている。具体的には、それぞれ重み等が異なる複数(
図3の例では、N個)のエネルギー予測NNで、同じ分子の構造データを入力として、その分子のエネルギーを予測させる。そして、各エネルギー予測NNの予測値のばらつきを、その構造データの不確かさとして利用する。このような構成のため、非特許文献3に記載の技術では、不確かさを予測するために複数のニューラルネットワークを用意する必要があり、訓練コストが高くなる。
【0018】
そこで、本実施形態では、単一のニューラルネットでエネルギーの予測値の不確かさを予測する手法について提案する。以下、本実施形態に係る能動学習装置について詳述する。
【0019】
図4に示すように、能動学習装置10は、機能的には、第1訓練部12と、検証部14と、第2訓練部16と、誤差予測部18と、第1生成部20と、第2生成部22とを含む。また、能動学習装置10の所定の記憶領域には、エネルギー予測モデル24と、誤差予測モデル26とが記憶される。エネルギー予測モデル24は、開示の技術の「第1機械学習モデル」の一例であり、誤差予測モデル26は、開示の技術の「第2機械学習モデル」の一例である。
【0020】
第1訓練部12は、エネルギー予測訓練データ群30を用いて、エネルギー予測モデル24を訓練する。エネルギー予測訓練データ群30には、分子の構造データと、その分子のエネルギーの正解ラベルとの組である複数のエネルギー予測訓練データが含まれる。エネルギー予測モデル24は、ニューラルネットワーク等で構成された機械学習モデルである。エネルギー予測モデル24は、
図5に示すように、分子の構造データが入力された場合に、その分子のエネルギーの予測値を出力する。
【0021】
具体的には、第1訓練部12は、エネルギー予測訓練データの分子の構造データをエネルギー予測モデル24に入力して出力されるエネルギーの予測値と、正解ラベルが示すエネルギーとが一致するようにエネルギー予測モデル24のパラメータを更新する。また、第1訓練部12は、後述する第1生成部20により生成されたラベル付きデータがエネルギー予測訓練データ群30に追加された場合、追加後のエネルギー予測訓練データ群30を用いて、エネルギー予測モデル24を再訓練する。
【0022】
検証部14は、検証データ群32を用いて、エネルギー予測モデル24の精度を検証する。検証データ群32には、分子の構造データに、その分子のエネルギーの正解ラベルが付与されたラベル付きデータであって、エネルギー予測モデル24の訓練に用いられていない複数のラベル付きデータが検証データとして含まれる。
【0023】
検証部14は、検証データの分子の構造データについてエネルギー予測モデル24で予測された予測値と、検証データの正解ラベルとに基づいて、エネルギー予測モデル24の予測精度を算出する。検証部14は、予測精度が予め定めた基準を満たすか否かを検証する。検証部14は、予測精度が予め定めた基準を満たす場合、エネルギー予測モデル24の訓練を終了する。一方、検証部14は、予測精度が予め定めた基準を満たさない場合、各機能部の処理を繰り返し実行させ、エネルギー予測モデル24及び誤差予測モデル26を再訓練する。
【0024】
第2訓練部16は、誤差予測訓練データ群34を用いて、誤差予測モデル26を訓練する。誤差予測訓練データ群34には、分子の構造データと、その分子のエネルギーをエネルギー予測モデル24で予測した場合の予測値の誤差(以下、「予測誤差」ともいう)の正解ラベルとの組である複数の誤差予測訓練データが含まれる。誤差予測モデル26は、単一のニューラルネットワーク等で構成された機械学習モデルである。誤差予測モデル26は、
図6に示すように、分子の構造データが入力された場合に、その分子のエネルギーの予測誤差の予測値を出力する。
【0025】
具体的には、第2訓練部16は、誤差予測訓練データの分子の構造データを誤差予測モデル26に入力して出力されるエネルギーの予測誤差の予測値と、正解ラベルが示す予測誤差とが一致するように誤差予測モデル26のパラメータを更新する。また、第2訓練部16は、後述する第2生成部22で生成される誤差予測訓練データが誤差予測訓練データ群34に追加された場合、追加後の誤差予測訓練データ群34を用いて、誤差予測モデル26を再訓練する。
【0026】
誤差予測部18は、誤差予測モデル26に基づいて、ラベル無しデータ群36に含まれる複数のラベル無しデータの各々に対するエネルギー予測モデル24の予測誤差を予測する。
【0027】
第1生成部20は、誤差予測部18により予測された予測誤差に基づいて、複数のラベル無しデータから、ラベル付けの対象となるラベル無しデータを選択する。すなわち、本実施形態では、誤差予測部18により予測された予測誤差を、エネルギー予測モデル24に対するラベル無しデータの予測結果の不確かさとして用いるものである。
【0028】
具体的には、第1生成部20は、ラベル無しデータ群36に含まれる複数のラベル無しデータから、誤差予測モデル26により予測された予測誤差が所定値以上のラベル無しデータ、又は予測誤差が上位所定個のラベル無しデータを選択する。すなわち、不確かさが大きいラベル無しデータを選択する。第1生成部20は、選択したラベル無しデータに対する正解ラベルとなるエネルギーの情報を取得する。
【0029】
例えば、第1生成部20は、ラベル無しデータが示す分子の構造データについて、DFTで計算されたエネルギーの情報を取得する。DFTによるエネルギーの計算は、能動学習装置10の内部で実行されてもよいし、外部装置で実行されてもよい。外部装置で実行する場合、第1生成部20は、ラベル無しデータが示す分子の構造データを外部装置へ出力し、外部装置から計算結果を取得する。また、第1生成部20は、ラベル無しデータが示す分子の構造データを表示装置に表示する等してユーザに提示し、ユーザにより入力される計算結果を取得するようにしてもよい。
【0030】
第1生成部20は、選択したラベル無しデータの分子の構造データに、取得したエネルギーの情報を正解ラベルとして付与して、ラベル付きデータを生成する。第1生成部20は、生成したラベル付きデータをエネルギー予測訓練データとして、エネルギー予測訓練データ群30に追加する。また、第1生成部20は、生成したラベル付きデータを第2生成部22へ受け渡す。
【0031】
第2生成部22は、第1生成部20から受け渡されたラベル付きデータの分子の構造データをエネルギー予測モデル24に入力し、エネルギーの予測値を取得する。また、第2生成部22は、ラベル付きデータの正解ラベルが示すエネルギーと、取得したエネルギーの予測値とから予測誤差を算出する。
【0032】
図7に、DFTによるエネルギーの計算値と、エネルギー予測モデル24によるエネルギーの予測値との関係の一例を示す。
図7に示すグラフの各プロットは、1つの構造データに関する計算値及び予測値に相当する。
図7に示す線Aは、計算値と予測値とが一致する場合、すなわち予測誤差が0の場合を表している。すなわち、第2生成部22は、線Aと各プロットとの距離を、そのプロットに対応する構造データについての予測誤差として算出する。
【0033】
第2生成部22は、第1生成部20から受け渡されたラベル付きデータの分子の構造データと、算出した予測誤差との組を誤差予測訓練データとして生成する。第2生成部22は、生成した誤差予測訓練データを誤差予測訓練データ群34に追加する。
【0034】
能動学習装置10は、例えば
図8に示すコンピュータ40で実現されてよい。コンピュータ40は、CPU(Central Processing Unit)41と、GPU(Graphics Processing Unit)42と、一時記憶領域としてのメモリ43と、不揮発性の記憶装置44とを備える。また、コンピュータ40は、入力装置、表示装置等の入出力装置45と、記憶媒体49に対するデータの読み込み及び書き込みを制御するR/W(Read/Write)装置46とを備える。また、コンピュータ40は、インターネット等のネットワークに接続される通信I/F(Interface)47を備える。CPU41、GPU42、メモリ43、記憶装置44、入出力装置45、R/W装置46、及び通信I/F47は、バス48を介して互いに接続される。
【0035】
記憶装置44は、例えば、HDD(Hard Disk Drive)、SSD(Solid State Drive)、フラッシュメモリ等である。記憶媒体としての記憶装置44には、コンピュータ40を、能動学習装置10として機能させるための能動学習プログラム50が記憶される。能動学習プログラム50は、第1訓練プロセス制御命令52と、検証プロセス制御命令54と、第2訓練プロセス制御命令56と、誤差予測プロセス制御命令58と、第1生成プロセス制御命令60と、第2生成プロセス制御命令62とを有する。また、記憶装置44は、エネルギー予測モデル24及び誤差予測モデル26の各々を構成する情報が記憶される情報記憶領域70を有する。
【0036】
CPU41は、能動学習プログラム50を記憶装置44から読み出してメモリ43に展開し、能動学習プログラム50が有する制御命令を順次実行する。CPU41は、第1訓練プロセス制御命令52を実行することで、
図4に示す第1訓練部12として動作する。また、CPU41は、検証プロセス制御命令54を実行することで、
図4に示す検証部14として動作する。また、CPU41は、第2訓練プロセス制御命令56を実行することで、
図4に示す第2訓練部16として動作する。また、CPU41は、誤差予測プロセス制御命令58を実行することで、
図4に示す誤差予測部18として動作する。また、CPU41は、第1生成プロセス制御命令60を実行することで、
図4に示す第1生成部20として動作する。また、CPU41は、第2生成プロセス制御命令62を実行することで、
図4に示す第2生成部22として動作する。また、CPU41は、情報記憶領域70から情報を読み出して、エネルギー予測モデル24及び誤差予測モデル26の各々をメモリ43に展開する。これにより、能動学習プログラム50を実行したコンピュータ40が、能動学習装置10として機能することになる。なお、プログラムを実行するCPU41はハードウェアである。また、プログラムの一部は、GPU42により実行されてもよい。
【0037】
なお、能動学習プログラム50により実現される機能は、例えば半導体集積回路、より詳しくはASIC(Application Specific Integrated Circuit)、FPGA(Field-Programmable Gate Array)等で実現されてもよい。
【0038】
次に、本実施形態に係る能動学習装置10の動作について説明する。エネルギー予測モデル24の訓練が指示されると、能動学習装置10において、
図9に示す能動学習処理が実行される。なお、能動学習処理は、開示の技術の能動学習方法の一例である。以下、
図10に示す、本実施形態に係る能動学習装置10における処理の概略と合わせて、
図9に示す能動学習処理について説明する。
【0039】
ステップS10で、第1訓練部12が、エネルギー予測訓練データ群30を用いて、エネルギー予測モデル24を訓練する(
図10のA)。次に、ステップS12で、検証部14が、検証データの分子の構造データについてエネルギー予測モデル24で予測された予測値と、検証データの正解ラベルとに基づいて、エネルギー予測モデル24の予測精度を算出する。次に、ステップS14で、検証部14が、算出した予測精度が予め定めた基準を満たすか否かを判定する(
図10のB)。基準を満たさない場合には、ステップS16へ移行する。
【0040】
ステップS16では、第2生成部22が、ラベル付きデータの分子の構造データをエネルギー予測モデル24に入力し、エネルギーの予測値を取得する。次に、ステップS18で、第2生成部22が、ラベル付きデータの正解ラベルが示すエネルギーと、取得したエネルギーの予測値とから予測誤差を算出する。そして、第2生成部22が、ラベル付きデータの分子の構造データと、算出した予測誤差との組を誤差予測訓練データとして生成し、誤差予測訓練データ群34に追加する(
図10のC)。
【0041】
次に、ステップS20で、第2訓練部16が、誤差予測訓練データ群34を用いて、誤差予測モデル26を訓練する(
図10のD)。次に、ステップS22で、誤差予測部18が、誤差予測モデル26に基づいて、ラベル無しデータ群36に含まれる複数のラベル無しデータの各々に対するエネルギー予測モデル24の予測誤差を予測する(
図10のE)。
【0042】
次に、ステップS24で、第1生成部20が、複数のラベル無しデータから、予測された予測誤差が大きいラベル無しデータを選択する。そして、第1生成部20が、選択したラベル無しデータに対する正解ラベルとなるエネルギーの情報を取得し、選択したラベル無しデータの分子の構造データに、取得したエネルギーの情報を正解ラベルとして付与して、ラベル付きデータを生成する(
図10のF)。そして、第1生成部20が、生成したラベル付きデータをエネルギー予測訓練データとして、エネルギー予測訓練データ群30に追加し(
図10のG)、ステップS10に戻る。
【0043】
ステップS14で、算出した予測精度が予め定めた基準を満たすと判定されると、能動学習処理は終了する。
【0044】
以上説明したように、本実施形態に係る能動学習装置は、複数のデータと、複数のデータの各々に対するエネルギー予測モデルの予測誤差との組を訓練データとして用いて、誤差予測モデルを訓練する。能動学習装置は、誤差予測モデルに基づいて、複数のラベル無しデータの各々に対するエネルギー予測モデルの予測誤差を予測し、予測誤差に基づいて、複数のラベル無しデータから選択したラベル無しデータに正解ラベルを付与してラベル付きデータを生成する。そして、能動学習装置は、生成したラベル付きデータを用いて、エネルギー予測モデルを再訓練する。このように、本実施形態では、単一のニューラルネットワーク等で構成された誤差予測モデルにより予測される予測誤差が大きいラベル無しデータに対してラベル付けを行う。これにより、複数のニューラルネットワークで構成された機械学習モデルによりラベル無しデータの不確かさを予測する場合に比べ、能動学習による訓練コストを抑制することができる。
【0045】
ここで、本実施形態に係る手法(以下、「本手法」という)で能動学習を行う場合でも、なるべく少ないラベル付きデータで機械学習モデルの精度を向上させることができることを検証した実験結果について説明する。
【0046】
本検証では、本手法と比較するため、エネルギー予測モデルの教師あり学習のための訓練データを、用意した訓練データからランダムにサンプリングにより選択する手法を比較手法とした。本検証では、分子の構造データと、その分子のエネルギーとの組のデータを3770個用意し、そのうちの2870個を訓練データ、残りの900個を訓練に用いない検証データとした。また、2870個の訓練データの全ての構造データを、ラベル付けの対象とするラベル無しデータ群として使用し、2870個の訓練データの全ての構造データとエネルギーとの組を、教師あり学習に使用した。
【0047】
図11に、実験結果として、各手法について、教師あり学習に使用したラベル付きデータの数と、その数のラベル付きデータで教師あり学習が実行されたエネルギー予測モデルによるエネルギーの予測誤差との関係を示す。図に示すように、本手法は、比較手法に比べ、より少ないラベル付きデータの数で、エネルギー予測モデルの精度を改善することができている。なお、全てのラベル付きデータを訓練に使用した場合は、本手法と比較手法との精度は当然ながら同等となる。
【0048】
なお、上記実施形態では、分子の構造データからエネルギーを予測する場合について説明したが、開示の技術を適用可能なデータはこの例に限定されない。特に、大量のラベル付きデータを用意することが困難な場合に、開示の技術を適用する効果が高い。
【0049】
また、上記実施形態では、能動学習プログラムが記憶装置に予め記憶(インストール)されているが、これに限定されない。開示の技術に係るプログラムは、CD-ROM、DVD-ROM、USBメモリ等の記憶媒体に記憶された形態で提供されてもよい。
【0050】
以上の実施形態に関し、さらに以下の付記を開示する。
【0051】
(付記1)
複数のデータと、前記複数のデータの各々に対する第1機械学習モデルの予測誤差との組を訓練データとして用いて訓練された第2機械学習モデルに基づいて、複数のラベル無しデータの各々に対する前記第1機械学習モデルの予測誤差を予測し、
予測された前記予測誤差に基づいて、前記複数のラベル無しデータから選択したラベル無しデータに正解ラベルを付与してラベル付きデータを生成し、
生成した前記ラベル付きデータを用いて、前記第1機械学習モデルを再訓練する、
ことを含む処理をコンピュータに実行させるための能動学習プログラム。
【0052】
(付記2)
前記複数のラベル無しデータから、予測された前記予測誤差が所定値以上のラベル無しデータ、又は予測された前記予測誤差が上位所定個のラベル無しデータを選択する付記1に記載の能動学習プログラム。
【0053】
(付記3)
複数のラベル付きデータの各々を前記第1機械学習モデルに入力して得られる予測結果の各々と、前記複数のラベル付きデータの正解ラベルの各々とから前記予測誤差の各々を算出し、算出した予測誤差の各々と前記複数のラベル付きデータの各々とから複数の前記訓練データを生成し、
前記訓練データを用いて前記第2機械学習モデルを訓練する、
ことをさらに含む処理を前記コンピュータに実行させるための付記1又は付記2に記載の能動学習プログラム。
【0054】
(付記4)
再訓練された前記第1機械学習モデルの精度が所定の基準を満たすまで、前記予測誤差の予測、及び前記ラベル付きデータの生成を繰り返す付記1~付記3のいずれか1項に記載の能動学習プログラム。
【0055】
(付記5)
前記選択したラベル無しデータから生成された前記ラベル付きデータに基づいて生成した前記訓練データを用いて、前記第2機械学習モデルを再訓練する付記3に記載の能動学習プログラム。
【0056】
(付記6)
前記ラベル付きデータは、分子の構造データに正解ラベルとして分子のエネルギーの情報が付与されたデータであり、
前記第1機械学習モデルは、分子の構造データが入力された場合に、前記分子のエネルギーを予測結果として出力する機械学習モデルである、
付記1~付記5のいずれか1項に記載の能動学習プログラム。
【0057】
(付記7)
前記ラベル付きデータを生成することは、前記選択したラベル無しデータである前記分子の構造データから、密度汎関数理論を用いて前記分子のエネルギーを計算することを含む付記6に記載の能動学習プログラム。
【0058】
(付記8)
複数のデータと、前記複数のデータの各々に対する第1機械学習モデルの予測誤差との組を訓練データとして用いて訓練された第2機械学習モデルに基づいて、複数のラベル無しデータの各々に対する前記第1機械学習モデルの予測誤差を予測し、
予測された前記予測誤差に基づいて、前記複数のラベル無しデータから選択したラベル無しデータに正解ラベルを付与してラベル付きデータを生成し、
生成した前記ラベル付きデータを用いて、前記第1機械学習モデルを再訓練する、
ことを含む処理をコンピュータが実行する能動学習方法。
【0059】
(付記9)
前記複数のラベル無しデータから、予測された前記予測誤差が所定値以上のラベル無しデータ、又は予測された前記予測誤差が上位所定個のラベル無しデータを選択する付記8に記載の能動学習方法。
【0060】
(付記10)
複数のラベル付きデータの各々を前記第1機械学習モデルに入力して得られる予測結果の各々と、前記複数のラベル付きデータの正解ラベルの各々とから前記予測誤差の各々を算出し、算出した予測誤差の各々と前記複数のラベル付きデータの各々とから複数の前記訓練データを生成し、
前記訓練データを用いて前記第2機械学習モデルを訓練する、
ことをさらに含む処理を前記コンピュータが実行する付記8又は付記9に記載の能動学習方法。
【0061】
(付記11)
再訓練された前記第1機械学習モデルの精度が所定の基準を満たすまで、前記予測誤差の予測、及び前記ラベル付きデータの生成を繰り返す付記8~付記10のいずれか1項に記載の能動学習方法。
【0062】
(付記12)
前記選択したラベル無しデータから生成された前記ラベル付きデータに基づいて生成した前記訓練データを用いて、前記第2機械学習モデルを再訓練する付記10に記載の能動学習方法。
【0063】
(付記13)
前記ラベル付きデータは、分子の構造データに正解ラベルとして分子のエネルギーの情報が付与されたデータであり、
前記第1機械学習モデルは、分子の構造データが入力された場合に、前記分子のエネルギーを予測結果として出力する機械学習モデルである、
付記8~付記12のいずれか1項に記載の能動学習方法。
【0064】
(付記14)
前記ラベル付きデータを生成することは、前記選択したラベル無しデータである前記分子の構造データから、密度汎関数理論を用いて前記分子のエネルギーを計算することを含む付記13に記載の能動学習方法。
【0065】
(付記15)
複数のデータと、前記複数のデータの各々に対する第1機械学習モデルの予測誤差との組を訓練データとして用いて訓練された第2機械学習モデルに基づいて、複数のラベル無しデータの各々に対する前記第1機械学習モデルの予測誤差を予測する誤差予測部と、
予測された前記予測誤差に基づいて、前記複数のラベル無しデータから選択したラベル無しデータに正解ラベルを付与してラベル付きデータを生成する第1生成部と、
生成した前記ラベル付きデータを用いて、前記第1機械学習モデルを再訓練する第1訓練部と、
を含む能動学習装置。
【0066】
(付記16)
前記第1生成部は、前記複数のラベル無しデータから、予測された前記予測誤差が所定値以上のラベル無しデータ、又は予測された前記予測誤差が上位所定個のラベル無しデータを選択する付記15に記載の能動学習装置。
【0067】
(付記17)
複数のラベル付きデータの各々を前記第1機械学習モデルに入力して得られる予測結果の各々と、前記複数のラベル付きデータの正解ラベルの各々とから前記予測誤差の各々を算出し、算出した予測誤差の各々と前記複数のラベル付きデータの各々とから複数の前記訓練データを生成する第2生成部と、
前記訓練データを用いて前記第2機械学習モデルを訓練する第2訓練部と、
をさらに含む付記15又は付記16に記載の能動学習装置。
【0068】
(付記18)
再訓練された前記第1機械学習モデルの精度が所定の基準を満たすまで、前記予測誤差の予測、及び前記ラベル付きデータの生成を繰り返す付記15~付記17のいずれか1項に記載の能動学習装置。
【0069】
(付記19)
前記第2生成部は、前記第1生成部により生成された前記ラベル付きデータに基づいて前記訓練データを生成し、
前記第2訓練部は、前記第1生成部により生成された前記ラベル付きデータに基づいて生成された前記訓練データを用いて、前記第2機械学習モデルを再訓練する、
付記17に記載の能動学習装置。
【0070】
(付記20)
前記ラベル付きデータは、分子の構造データに正解ラベルとして分子のエネルギーの情報が付与されたデータであり、
前記第1機械学習モデルは、分子の構造データが入力された場合に、前記分子のエネルギーを予測結果として出力する機械学習モデルである、
付記15~付記19のいずれか1項に記載の能動学習装置。
【符号の説明】
【0071】
10 能動学習装置
12 第1訓練部
14 検証部
16 第2訓練部
18 誤差予測部
20 第1生成部
22 第2生成部
24 エネルギー予測モデル
26 誤差予測モデル
30 エネルギー予測訓練データ群
32 検証データ群
34 誤差予測訓練データ群
36 ラベル無しデータ群
40 コンピュータ
41 CPU
42 GPU
43 メモリ
44 記憶装置
45 入出力装置
46 R/W装置
47 通信I/F
48 バス
49 記憶媒体
50 能動学習プログラム
52 第1訓練プロセス制御命令
54 検証プロセス制御命令
56 第2訓練プロセス制御命令
58 誤差予測プロセス制御命令
60 第1生成プロセス制御命令
62 第2生成プロセス制御命令
70 情報記憶領域