(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-02-22
(45)【発行日】2024-03-04
(54)【発明の名称】電子密度推定方法、電子密度推定装置、及び電子密度推定プログラム
(51)【国際特許分類】
G16C 10/00 20190101AFI20240226BHJP
G16C 20/70 20190101ALI20240226BHJP
G06N 20/00 20190101ALI20240226BHJP
【FI】
G16C10/00
G16C20/70
G06N20/00
(21)【出願番号】P 2020541109
(86)(22)【出願日】2019-08-20
(86)【国際出願番号】 JP2019032350
(87)【国際公開番号】W WO2020049994
(87)【国際公開日】2020-03-12
【審査請求日】2022-08-03
(31)【優先権主張番号】P 2018164752
(32)【優先日】2018-09-03
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】314012076
【氏名又は名称】パナソニックIPマネジメント株式会社
(74)【代理人】
【識別番号】100115381
【氏名又は名称】小谷 昌崇
(74)【代理人】
【識別番号】100118049
【氏名又は名称】西谷 浩治
(72)【発明者】
【氏名】若杉 健介
(72)【発明者】
【氏名】森川 幸治
【審査官】藤澤 美穂
(56)【参考文献】
【文献】特開2016-006617(JP,A)
【文献】特開2016-139336(JP,A)
【文献】特開平08-208136(JP,A)
【文献】米国特許出願公開第2008/0104001(US,A1)
【文献】米国特許第06587845(US,B1)
【文献】国際公開第2012/028962(WO,A2)
【文献】BROCKHERDE, F. et al.,Bypassing the Kohn-Sham equations with machine learning,Nature Communication,2017年10月11日,Vol.8 No.1,pp.1-10,DOI: 10.1038/s41467-017-00839-3
【文献】佐藤文俊,密度汎関数法によるタンパク質全電子シミュレーション,スーパーコンピューティングニュース,東京大学情報基盤センター,2009年02月,Vol.11 特集号1,pp.1-33,ISSN 1344-9567
(58)【調査した分野】(Int.Cl.,DB名)
G16C 10/00-99/00
G06N 20/00
(57)【特許請求の範囲】
【請求項1】
物質の組成及び構造に関する物質情報から前記物質の電子密度を推定する電子密度推定装置における電子密度推定方法であって、
前記電子密度推定装置のコンピュータが、
(a1)前記物質情報を格納した学習データベースから第1入力データを取得し、
(a2)前記第1入力データを電子密度予測器に入力することで第1電子密度を算出し、
(a3)前記第1入力データと前記第1電子密度とを用いた数値シミュレーションを実行して第2電子密度を算出し、前記数値シミュレーションは、前記第1入力データと前記第1電子密度とを初期値に設定し、密度汎関数法を用いた電子密度を更新する処理を
、前記密度汎関数法で電子密度の極限値を求める回数ではない回数として定められる1回以上
の回数で行う処理であり、前記第2電子密度は、前記密度汎関数法を用いて求めた収束値ではなく、
(a4)前記第1電子密度と前記第2電子密度との差分を最小化する前記電子密度予測器のパラメータを算出することで前記電子密度予測器を学習させ、
(a5)前記物質情報を格納したテストデータベースから第2入力データを取得し、前記パラメータが設定された前記電子密度予測器に前記第2入力データを入力し、第3電子密度を推定し、
(a6)推定された前記第3電子密度を出力する、
電子密度推定方法。
【請求項2】
前記(a5)は、前記(a1)から前記(a4)までの処理が所定回数繰り返された後に実施される、
請求項1に記載の電子密度推定方法。
【請求項3】
物質の組成及び構造に関する物質情報から前記物質の電子密度を推定する電子密度推定装置における電子密度推定方法であって、
前記電子密度推定装置のコンピュータが、
(a1)前記物質情報を格納した学習データベースから第1入力データを取得し、
(a2)前記第1入力データを電子密度予測器に入力することで第1電子密度を算出し、
(a3)前記第1入力データと前記第1電子密度とを用いた数値シミュレーションを実行して第2電子密度を算出し、前記数値シミュレーションは、前記第1入力データと前記第1電子密度とを初期値に設定し、密度汎関数法を用いた電子密度を更新する処理を
、前記密度汎関数法で電子密度の極限値を求める回数ではない回数として定められる1回以上
の回数で行う処理であり、前記第2電子密度は、前記密度汎関数法を用いて求めた収束値ではなく、
(a4)前記第1電子密度と前記第2電子密度との差分を最小化する前記電子密度予測器のパラメータを算出することで前記電子密度予測器を学習させ、
(a5)前記(a1)から前記(a4)までの処理が所定数回繰り返された後に、前記物質情報を格納したテストデータベースから第2入力データを取得し、前記パラメータが設定された前記電子密度予測器に前記第2入力データを入力し、第3電子密度を推定し、
(a6)推定された前記第3電子密度を出力し、
前記(a3)では、
(b1)前記(a2)で更新された前記第1電子密度が所定の条件を満たす場合、前記数値シミュレーションを実施して前記第2電子密度を更新し、処理を前記(a4)に進め、
(b2)前記(a2)で更新された前記第1電子密度が前記所定の条件を満たさない場合、前記第2電子密度を更新せずに、処理を前記(a4)に進める、
電子密度推定方法。
【請求項4】
前記所定の条件は、前記(a2)で更新された前記第1電子密度と第4電子密度との第2差分が、前記(a2)で更新された前記第1電子密度と第5電子密度との第3差分よりも大きくなることであり、
前記第4電子密度は、前記(b1)で更新された前記第2電子密度の算出に用いられた前記第1電子密度であり、
前記第5電子密度は、前記(b1)で更新された前記第2電子密度である、
請求項3記載の電子密度推定方法。
【請求項5】
前記物質情報は、結晶学共通データフォーマットを用いて記載された情報である、
請求項1~4のいずれかに記載の電子密度推定方法。
【請求項6】
前記(a4)では、前記第2電子密度が教師データとして用いられて前記電子密度予測器が学習される、
請求項1~5のいずれかに記載の電子密度推定方法。
【請求項7】
前記(a6)では、前記第3電子密度を示す画像がディスプレイに表示される、
請求項1~6のいずれかに記載の電子密度推定方法。
【請求項8】
物質の組成及び構造に関する物質情報から前記物質の電子密度を推定する電子密度推定装置であって、
前記物質情報を格納した学習データベースから第1入力データを取得するデータ取得部と、
前記第1入力データを電子密度予測器に入力することで第1電子密度を算出する電子密度予測部と、
前記第1入力データと前記第1電子密度とを用いた数値シミュレーションを実行して第2電子密度を算出する電子密度更新部と、
前記数値シミュレーションは、前記第1入力データと前記第1電子密度とを初期値に設定し、密度汎関数法を用いた電子密度を更新する処理を
、前記密度汎関数法で電子密度の極限値を求める回数ではない回数として定められる1回以上
の回数で行う処理であり、前記第2電子密度は、前記密度汎関数法を用いて求めた収束値ではなく、
前記第1電子密度と
前記第2電子密度との差分を最小化する前記電子密度予測器のパラメータを算出することで前記電子密度予測器を学習させるパラメータ算出部と、
前記物質情報を格納したテストデータベースから第2入力データを取得し、前記パラメータが設定された前記電子密度予測器に前記第2入力データを入力し、第3電子密度を推定する電子密度推定部と、
推定された前記第3電子密度を出力する出力部とを備える、
電子密度推定装置。
【請求項9】
請求項1~7のいずれかに記載の電子密度推定方法をコンピュータに実行させる、
電子密度推定プログラム。
【請求項10】
コンピュータによって行われる電子密度推定方法であって、
(a1)物質の組成及び構造に関する物質情報及びテストデータベースを格納した学習データベースから第1入力データを取得し、前記物質情報は前記第1入力データを含み、前記テストデータベースは第2入力データを含み、
(a2)電子密度予測器は、前記第1入力データと第1パラメータに基づいて、第1電子密度D11を算出し、
(a3)密度汎関数法を用いて電子密度を更新する計算を
、前記密度汎関数法で電子密度の極限値を求める回数ではない回数として定められる1回以上
の回数で行い、第2電子密度を算出し、前記1回以上の計算は、前記第1入力データと前記第1電子密度D11に基づいた前記密度汎関数法を用いた計算を含み、前記第2電子密度は、前記密度汎関数法を用いて求めた収束値ではなく、
(a4)前記電子密度予測器は、前記第1入力データと第iパラメータに基づいて第1電子密度D1iを算出し(i=2~n)、
(a5)
前記第1電子密度D1jと前記第2電子密度の差分である第1差分DF1jを算出し(j=1~n)、前記第1差分DF11~前記第1差分DF1nのうち、最も小さい前記第1差分DF1kを検出し(1≦k≦n)、
(a6)前記第2入力データを取得し、前記第kパラメータが設定された前記電子密度予測器に前記第2入力データを入力し、第3電子密度を推定し、
(a7)推定された前記第3電子密度を出力し、
前記(a3)では、
(b1)前記(a2)で更新された前記第1電子密度D11が所定の条件を満たす場合、前記1回以上の計算を実施して前記第2電子密度を更新し、処理を前記(a4)に進め、
(b2)前記(a2)で更新された前記第1電子密度D11が前記所定の条件を満たさない場合、前記第2電子密度を更新せずに、処理を前記(a4)に進める、
電子密度推定方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、物質の電子密度を推定する技術に関するものである。
【背景技術】
【0002】
従来、物理法則に基づき、物質中の電子密度を更新する計算を反復し、電子密度の収束値を求める密度汎関数法と呼ばれる技術が開発されている(例えば、非特許文献1)。また、密度汎関数法を用いて触媒を開発する技術も知られている(例えば、特許文献1)。このように密度汎関数法は、新規な物質を開発するためのツールとして利用されている。
【0003】
また、近年では、機械学習で得られた予測器を用いて電子密度を予測する技術も開発されている。例えば、非特許文献2は、物質中のポテンシャルから電子密度を推定する方法を開示する。具体的には、非特許文献2では、特定の物質について、複数の原子間距離及び角度を変えて密度汎関数法で電子密度の収束値を算出し、算出した電子密度の収束値を用いて電子密度を予測する予測器を学習させ、得られた予測器を用いて、あらゆる原子間距離及び角度に対する電子密度を予測する技術が開示されている。
【0004】
非特許文献3は、物質中のポテンシャルから電子のエネルギーを推定する方法を開示する。具体的には、非特許文献3では、二次元のランダムポテンシャル又は井戸型ポテンシャルから、シュレディンガー方程式を解いて得られる電子のエネルギーをディープニューラルネットワークを用いて推定する技術が開示されている。
【先行技術文献】
【特許文献】
【0005】
【非特許文献】
【0006】
【文献】Kohn, W., & Sham, L. J. (1965). Self-consistent equations including exchange and correlation effects.Physical review,140(4A), A1133.
【文献】Brockherde, F., Vogt, L., Li, L., Tuckerman, M. E., Burke, K., & Mueller, K. R. (2017). Bypassing the Kohn-Sham equations with machine learning. Nature communications, 8(1), 872.
【文献】Mills, K., Spanner, M., & Tamblyn, I. (2017). Deep learning and the Schroedinger equation. Physical Review A, 96(4), 042113.
【文献】Finger, L. W., & Hazen, R. M. (1978). Crystal structure and compression of ruby to 46 kbar. Journalof Applied Physics,49(12), 5823-5826.
【文献】Cicek, oe., Abdulkadir, A., Lienkamp, S. S., Brox, T., & Ronneberger, O. (2016, October). 3D U-Net: learning dense volumetric segmentation from sparse annotation. In International Conference on Medical Image Computing and Computer-Assisted Intervention (pp. 424-432). Springer, Cham.
【文献】Bergerhoff, G., Brown, I. D., & Allen, F. (1987). Crystallographic databases. International Union of Crystallography, Chester, 360, 77-95.
【発明の概要】
【0007】
しかし、上記の従来技術は予測器の学習データとして電子密度の収束値が必要なため、更なる改善の必要がある。
【0008】
本開示は、上記の課題を解決するものであって、その目的は、電子密度の収束値を用いずに電子密度予測器を学習させる技術を提供することである。
【0009】
本開示の一態様に係る電子密度推定方法は、物質の組成及び構造に関する物質情報から前記物質の電子密度を推定する電子密度推定装置における電子密度推定方法であって、
前記電子密度推定装置のコンピュータが、
(a1)前記物質情報を格納した学習データベースから第1入力データを取得し、
(a2)前記第1入力データを電子密度予測器に入力することで第1電子密度を算出し、
(a3)前記第1入力データと前記第1電子密度とを用いた数値シミュレーションを実行して第2電子密度を算出し、前記数値シミュレーションは、前記第1入力データと前記第1電子密度とを初期値に設定し、密度汎関数法を用いた電子密度を更新する処理を1回以上行う処理であり、前記第2電子密度は、前記密度汎関数法を用いて求めた収束値ではなく、
(a4)前記第1電子密度と前記第2電子密度との差分を最小化する前記電子密度予測器のパラメータを算出することで前記電子密度予測器を学習させ、
(a5)前記物質情報を格納したテストデータベースから第2入力データを取得し、前記パラメータが設定された前記電子密度予測器に前記第2入力データを入力し、第3電子密度を推定し、
(a6)推定された前記第3電子密度を出力する。
【0010】
本開示によれば、密度汎関数法で求めた電子密度の収束値を使わずに、電子密度予測器の出力値が密度汎関数法で求めた電子密度の収束値に近づくように電子密度予測器を学習させることができる。
【図面の簡単な説明】
【0011】
【
図2】密度汎関数法において、電子密度を更新する計算を反復することにより、電子密度が更新される様子を模式的に示した図
【
図3】電子密度予測器を学習する際に算出される差分を示した図
【
図4】電子密度予測器で得られた予測値を密度汎関数法における初期電子密度に設定し、電子密度を更新する計算を反復することにより、電子密度が更新される様子を模式的に示した図
【
図5】予測値を用いて、密度汎関数法における電子密度を更新する計算を一回行って更新値を求め、そして、求めた更新値を教師データとして電子密度予測器を学習させることについて示した模式図
【
図6】Cifar10と呼ばれる自然画像データセットを用いたクラス分類問題に関して、学習データ数を変更した場合の学習の推移について示した図
【
図7】本開示の実施の形態に係る電子密度推定システムの構成を示すブロック図
【
図8】
図7の電子密度更新部の詳細な構成を示すブロック図
【
図9】CIFと呼ばれる形式で記載された第1入力データの一例を示す図
【
図10】POSCARと呼ばれる形式で記載された第1入力データの一例を示す図
【
図12】初期電子密度、第1電子密度、及び電子密度予測器の一例を示す図
【
図13】第1電子密度から第2電子密度が算出される処理の一例を示す図
【
図14】第3電子密度が推定される処理の一例を示す図
【
図15】本開示の実施の形態1における電子密度推定装置の処理の全体的な流れを示すフローチャート
【
図16】
図15のステップS102における電子密度更新部の処理の詳細を説明するフローチャート
【
図19】本開示の実施の形態2に係る処理の一例を示すフローチャート
【
図20】Al
2O
3に関する単位格子ベクトル、原子座標、原子番号、原子半径などを示す図
【
図21】第1入力データと原子番号または原子半径とを組み合わせて表現したAl結晶の記述子の一例などを示す図
【発明を実施するための形態】
【0012】
(本開示に至った知見)
新規の材料開発を行う際、バンドギャップ及び形成エネルギー等の物質の特性値を予測する必要があるが、そのためには物質中の電子密度を計算する必要があるため、非特許文献1に示す密度汎関数法は、新規の材料開発の有効なツールとして従来から利用されている(例えば、特許文献1)。
【0013】
一方、近年、深層ニューラルネットワーク、カーネルリッジ回帰、及びサポートベクターマシンなどの機械学習手法によって、物質のポテンシャルから電子密度及び電子のエネルギーを予測する手法が提案されている。この手法では、密度汎関数法で求めた電子密度の収束値あるいは電子のエネルギーの収束値を用意し、収束値と予測値との誤差を最小化するように予測器のパラメータの更新を行ない、予測器を学習させる。
【0014】
例えば、非特許文献2には、特定の構造を持つ物質について、密度汎関数法で算出した電子密度の収束値をとして用いて電子密度予測器を学習させる技術が開示されている。
【0015】
しかし、非特許文献2では、例えばペロブスカイト構造というような特定の構造を持つ物質についてのみ予測器を学習させているため、学習した物質とは構造の異なる未知の物質については正確な電子密度を予測できないという課題がある。
【0016】
また、密度汎関数法で収束値を得るには、現状の計算機の能力では1物質だけでも3週間程度はかかると言われており、これでは学習に必要な多数の物質の収束値を得るためには数年程度を要してしまう。そのため、密度汎関数法で収束値を得る非特許文献2の手法では、教師データの収集に膨大な時間がかかるという課題がある。
【0017】
非特許文献3では、シュレディンガー方程式を解いて得られる電子エネルギーをディープニューラルネットワークを用いて推定する技術が開示されている。
【0018】
しかし、非特許文献3では、ディープニューラルネットワークの学習に大規模な学習データを必要とするため、学習データの用意に多大な時間を要するという課題がある。また、非特許文献3では密度汎関数法で求めた収束値を使わずにディープニューラルネットワークを学習させることについての開示はない。
【0019】
なお、非特許文献1は、密度汎関数法の基本的な技術を開示する先行技術文献であり、機械学習で予測器を学習させることに関する開示はない。また、特許文献1は、900℃におけるアンカー粒子と貴金属粒子との比較結合エネルギーを算出する際に非特許文献1に示す密度汎関数法を利用することが開示されているに過ぎず、機械学習で予測器を学習させることに関する開示はない。更に、非特許文献4、5は、後述する技術を開示する先行技術文献である。
【0020】
そこで、本発明者らは、密度汎関数法における電子密度の更新値を求める計算と機械学習による電子密度予測器のパラメータ更新を勘案し、電子密度の更新値を求める計算処理を電子密度予測器の学習処理に組み込むことで、密度汎関数法で求めた電子密度の収束値を使わずに、電子密度予測器の出力値が密度汎関数法で求めた電子密度の収束値に近づくように電子密度予測器を学習させることができることを見出し、本開示を想到するに至った。
【0021】
すなわち、本開示は、密度汎関数法で求めた電子密度の収束値を使わずに、電子密度予測器の出力値が密度汎関数法で求めた収束値に近づくように電子密度予測器を学習させることができる技術を提供することを目的とする。
【0022】
本開示の一態様に係る電子密度推定方法は、物質の組成及び構造に関する物質情報から前記物質の電子密度を推定する電子密度推定装置における電子密度推定方法であって、
前記電子密度推定装置のコンピュータが、
(a1)前記物質情報を格納した学習データベースから第1入力データを取得し、
(a2)前記第1入力データを電子密度予測器に入力することで第1電子密度を算出し、
(a3)前記第1入力データと前記第1電子密度とを用いた数値シミュレーションを実行して第2電子密度を算出し、前記数値シミュレーションは、前記第1入力データと前記第1電子密度とを初期値に設定し、密度汎関数法を用いた電子密度を更新する処理を1回以上行う処理であり、前記第2電子密度は、前記密度汎関数法を用いて求めた収束値ではなく、
(a4)前記第1電子密度と前記第2電子密度との差分を最小化する前記電子密度予測器のパラメータを算出することで前記電子密度予測器を学習させ、
(a5)前記物質情報を格納したテストデータベースから第2入力データを取得し、前記パラメータが設定された前記電子密度予測器に前記第2入力データを入力し、第3電子密度を推定し、
(a6)推定された前記第3電子密度を出力する。
【0023】
本構成によれば、第1入力データと第1電子密度とを初期値に設定し、密度汎関数法を用いた電子密度を更新する処理を1回以上行う数値シミュレーションが実行される。そして、この数値シミュレーションによって得られた第2電子密度と第1電子密度との差分が最小化されるように電子密度予測器が学習されている。第2電子密度は、密度汎関数法を用いて求めた収束値ではない。このように、本構成は、数値シミュレーションにより得られた更新値である第2電子密度を用いて電子密度予測器が学習されている。そのため、本構成は、収束値を使わずに電子密度予測器を学習させることができる。その結果、膨大な時間及び労力をかけることなく学習データを準備することができ、電子密度予測器の生成に要するコストの低減を図ることができる。
【0024】
上記構成において、前記(a5)は、前記(a1)から前記(a4)までの処理が所定回数繰り返された後に実施されてもよい。
【0025】
本構成によれば、数値シミュレーションにより第2電子密度を更新しながら、電子密度予測器を学習させることができるため、数値シミュレーションと電子密度予測器の学習とを効率良く行うことができる。
【0026】
上記構成において、前記(a3)では、
(b1)前記(a2)で更新された前記第1電子密度が所定の条件を満たす場合、前記数値シミュレーションを実施して前記第2電子密度を更新し、処理を前記(a4)に進め、
(b2)前記(a2)で更新された前記第1電子密度が前記所定の条件を満たさない場合、前記第2電子密度を更新せずに、処理を前記(a4)に進めてもよい。
【0027】
本構成によれば、第1電子密度が更新される度に第2電子密度を更新させるのではなく、第1電子密度が第2電子密度にある程度近づいてから第2電子密度が更新されるので、処理コストのかかる数値シミュレーションの実行回数を抑制させて、効率良く電子密度予測器を学習させることができる。
【0028】
上記構成において、前記所定の条件は、前記(a2)で更新された前記第1電子密度と第4電子密度との第2差分が、前記(a2)で更新された前記第1電子密度と第5電子密度との第3差分よりも大きくなることであり、
前記第4電子密度は、前記(b1)で更新された前記第2電子密度の算出に用いられた前記第1電子密度であり、
前記第5電子密度は、前記(b1)で更新された前記第2電子密度であってもよい。
【0029】
本構成によれば、更新された第1電子密度が、第2電子密度の更新に用いられた第1電子密度である第4電子密度よりも更新された第2電子密度である第5電子密度に近づいたことを条件に第2電子密度を更新させることができる。そのため、数値シミュレーションの実行回数を抑制させ、電子密度予測器を効率良く学習させることができる。
【0030】
上記構成において、前記物質情報は、結晶学共通データフォーマットを用いて記載された情報であってもよい。
【0031】
本構成によれば、既存のデータフォーマットを用いて物質情報が記載されているため、第1入力データのコンピュータへの実装が容易になる。
【0032】
上記構成において、前記(a4)では、前記第2電子密度が教師データとして用いられて前記電子密度予測器が学習されてもよい。
【0033】
本構成によれば、第1電子密度が第2電子密度に近づくように電子密度予測器を学習させることができる。
【0034】
上記構成において、前記(a6)では、前記第3電子密度を示す画像がディスプレイに表示されてもよい。
【0035】
本構成によれば、第3電子密度を視覚的にユーザに認識させることができる。
【0036】
上記の電子密度推定方法の作用効果は電子密度推定装置及び電子密度推定プログラムにおいても同様に実現される。
【0037】
(実施の形態1)
まず、本開示の電子密度推定装置が密度汎関数法で求めた電子密度の収束値を使わずに電子密度予測器を学習させることが可能である理由について説明する。
図1は、電子密度の具体的な値の一例を示した図である。密度汎関数法によって物質の単位格子中の電子密度を求める場合、単位格子が24×24×24の3次元の複数のセルに区切られ、各セルに電子密度を示す実数値が保持される。ここで、単位格子は、例えば、体心立方格子または面心立方格子であり、これらの単位格子が24×24×24の3次元のセルに区切られる。空間中の電子密度を求める場合、空間の各点が1つのセルで表され、各セルが電荷を保持していると考え、各セルの電子密度の大きさが求められる。なお、単位格子を区切る際の各次元のセルの個数は24に限定されず、24以外の任意の値が採用されてもよい。また、単位格子を区切る際の各次元のセルの個数は、次元ごとに異なる値が採用されてもよい。
【0038】
図2は、密度汎関数法において、電子密度を更新する計算を反復することにより、電子密度が更新される様子を模式的に示した図である。
図2において、縦軸はパラメータYを示し、横軸はパラメータXを示す。
図2では、上述した24×24×24のセルのうちある2個のセルにおける電子密度が、電子密度を更新する計算を反復することにより電子密度が更新される様子が示されている。パラメータXは2個のうち一方のセルの電子密度を示し、パラメータYは2個のセルのうち他方のセルの電子密度を示している。したがって、
図2のグラフにおいて各点は、2個のセルの電子密度の集合で構成される。なお、
図1の例では、セルの個数は24×24×24個であるため、この場合、
図2のグラフにおいて各点は24×24×24個の電子密度の集合で構成される。これらのことは、
図3、
図4、
図5でも同じである。
【0039】
初期値500と初期値501とのそれぞれは、密度汎関数法における初期電子密度を表す。収束値502は、密度汎関数法によって最終的に得られる電子密度を表す。すなわち、収束値502は、密度汎関数法における電子密度を更新する計算を反復して電子密度を収束させた値である。
図2に示すように、密度汎関数法は、理論上、電子密度を更新する計算を反復する際の電子密度の初期値が異なっていても、同じ収束値502に初期値500,501を収束させることができる。なお、
図2の手法は、密度汎関数法において電子密度を更新する計算を反復して電子密度を収束させる、つまり、密度汎関数法で収束値502を算出する手法であるため、非特許文献1の手法に相当する。
【0040】
図3は、電子密度予測器を学習する際に算出される差分を示した図である。予測値600は電子密度予測器の出力を表す。差分601は収束値502と予測値600との差分を表す。差分の計算には、例えばRMSE(Root Mean Square Error)が用いられる。学習時において、予測値600と収束値502との差分601を最小化するように、すなわち予測値600が収束値502に近づくように電子密度予測器のパラメータが更新される。なお、
図3の手法は、密度汎関数法により電子密度予測器の収束値502が算出されており、非特許文献2、3の手法に相当しているため、本開示の手法とは異なる。
【0041】
図4は、電子密度予測器で得られた予測値600を密度汎関数法における初期電子密度に設定し、電子密度を更新する計算を反復することにより、電子密度が更新される様子を模式的に示した図である。更新値700は、予測値600を用いて、密度汎関数法における電子密度を更新する計算を一回行うことで得られた電子密度である。
【0042】
図2に示したように密度汎関数法では、異なる初期値500,501を用いた場合でも、初期値500,501を同じ収束値502に収束させることができる。よって、
図4に示す予測値600を密度汎関数法における初期電子密度として用いても、密度汎関数法における電子密度を更新する計算を反復することで予測値600を収束値502に収束させることができる。
図4の手法は、電子密度予測器で得られた予測値600を密度汎関数法における初期値電子密度として用い、密度汎関数法における電子密度を更新する計算を反復することで収束値502を得る手法である。したがって、
図4の手法は密度汎関数法で収束値502を算出している点で本開示の手法とは異なる。
【0043】
図5は、予測値600を用いて、密度汎関数法における電子密度を更新する計算を一回行って更新値700を求め、そして、求めた更新値700を教師データとして電子密度予測器を学習させることについて示した模式図である。更新値700は、密度汎関数法において電子密度を更新する計算を一回行うことで得られた電子密度であり、密度汎関数法で求めた電子密度の収束値ではない。なお、
図5は本開示の手法に相当する。差分800は更新値700と予測値600との差分である。差分800を最小化するように電子密度予測器のパラメータを更新することで、予測値600が更新値700に近づくように電子密度予測器を学習させることができる。
【0044】
更新値700は密度汎関数法によって予測値600を収束値502に向けて更新させる値である。予測値600が更新値700に近づくように電子密度予測器を学習させることで、電子密度予測器は、収束値502により近い予測値を出力できるようになる。
【0045】
このように、
図5の手法は、
図2~
図4の手法とは異なり、密度汎関数法が用いられているものの、密度汎関数法によって収束値502を算出しておらず、更新値700を算出するに留めている。そして、この更新値700を教師データとして電子密度予測器を学習させること、及び、密度汎関数法おける電子密度を更新する計算を繰り返しながら、予測値600が徐々に収束値502に近づくように電子密度予測器の学習が行われる。そのため、収束値502を用いずに電子密度予測器を学習させることができる。その結果、密度汎関数法における電子密度を更新する計算を行う回数が少なくなるので、計算コストの削減を図りつつ、電子密度を正確に算出できる電子密度予測器を生成できる。
【0046】
次に、本開示の手法が、密度汎関数法によって得られた収束値を用いて電子密度予測器を学習させる比較例の手法に比べ、予測器の学習完了までの所要時間が短縮される理由を、式を用いて説明する。
【0047】
<比較例の所要時間Tα>
まず、比較例の所要時間Tαについて説明する。ここで、学習データ数をP、学習時における1つの学習データの使用回数をQ、密度汎関数法により収束値を求める場合の電子密度を更新する計算回数をRとおく。また、電子密度を更新する計算1回の所要時間をT、1つの学習データあたりの電子密度予測器の学習に要する所要時間をLとおく。この場合、密度汎関数法で求めた収束値を学習データとして用意し、その後に電子密度予測器の学習を行なう場合の所要時間Tαは以下のように計算される。すなわち、この比較例は、P種類の物質のそれぞれについて密度汎関数法によるR回の電子密度の更新計算を行ってP個の学習データを取得し、P個の学習データのそれぞれについて電子密度予測器の学習をQ回行うものである。
【0048】
所要時間Tα=T×R×P+L×Q×P
右辺第1項のT×R×Pは、密度汎関数法に要する所要時間である。電子密度の更新計算1回の所要時間がT、電子密度の更新計算回数がRであるため、1つの学習データの計算に要する所要時間はT×Rとなる。よって、学習データ数Pの全ての計算に要する所要時間はT×R×Pとなる。
【0049】
密度汎関数法では、下記に示す式(1)、(2)に示すコーンシャム方程式を解くことで電子密度が算出される。なお、式(1)、(2)は非特許文献1の式(2.8)、(2.9)に示されている。
【0050】
【0051】
計算対象となる物質の原子配置及び周期構造に基づき式(1)の左辺が定義され、式(1)が解かれることで波動関数ψi(r)が求められる。なお、式(1)の左辺の
【0052】
【0053】
及びμxc(n(r))はそれぞれ、物質に応じた関数になる。また、式(1)の右辺のεiは波動関数ψi(r)に対応する軌道エネルギーであり、式(1)の方程式を解くことで得られる。
【0054】
電子密度n(r)は、式(2)により波動関数ψi(r)から算出される。しかしながら、式(1)左辺の定義には電子密度n(r)が必要であり、このままでは、式(1)を解くことができない。そこで、電子密度n(r)に適当な初期値が与えられ、与えられた電子密度の初期値を式(1)に代入して、式(1)、(2)が解かれることで電子密度が更新される。そして、更新された電子密度を用いて再度式(1)の左辺が定義され、電子密度が更新される。このような電子密度を更新する計算を電子密度n(r)が収束するまで繰り返され、計算対象となる物質の原子配置及び周期構造に対応した電子密度が求められる。
【0055】
「密度汎関数法における電子密度を1回更新する計算」とは、「既知の電子密度と式(1)からψi(r)を求め、求めたψi(r)と式(2)とから新たな電子密度を求める」ことをいう。すなわち、「既知の電子密度を用いて、式(1)を1回、式(2)を1回使い、新たな電子密度を求める」ことである。
【0056】
所要時間Tαの第2項のL×Q×Pは電子密度予測器の学習に要する所要時間である。学習において、1つの学習データの使用回数がQ、1つの学習データの学習に要する所要時間がLなので、1つの学習データの学習の所要時間はL×Qとなる。よって、P個の学習データの学習に要する所要時間はL×Q×Pとなる。
【0057】
<本開示の手法による所要時間Tβ>
以下の本開示の手法は、P種類の物質のそれぞれについて密度汎関数法における電子密度の更新計算を1回実施してP個の学習データを取得する処理と、P個の学習データのそれぞれについて学習器を1回学習させる処理とからなる処理セットを、Q回繰り返すものである。すなわち、1個の学習データにつき、1回の電子密度の更新計算と1回の学習処理が行われるため、電子密度の更新計算回数Rと学習データの使用回数Qとは等しくなる。
【0058】
したがって、本開示の手法による所要時間Tβは所要時間TαにおいてR=Qとしたときに相当し、以下のように計算される。
【0059】
所要時間Tβ=(T+L)×Q×P
ここでは、1つの学習データについて電子密度予測器の学習を行なう際に、密度汎関数法による電子密度の更新計算が1回実施される。よって、1つの学習データについて電子密度予測器の学習に要する所要時間は、電子密度の更新計算1回の所要時間Tと、1つの学習データの学習に要する所要時間Lとの和(T+L)となる。したがって、P個の学習データのそれぞれをQ回学習させたときの所要時間は(T+L)×Q×Pとなる。
【0060】
<所要時間Tαと所要時間Tβとの比較>
所要時間Tαから所要時間Tβを引くと、下記の式が得られる。
【0061】
T×(R-Q)×P
よって、密度汎関数法における電子密度の更新計算回数Rが電子密度予測器の学習データの使用回数Qよりも大きい場合、T×(R-Q)×Pが正となり、本開示の所要時間Tβの方が比較例の所要時間Tαよりも短くなる。
【0062】
図6は、Cifar10と呼ばれる自然画像データセットを用いたクラス分類問題に関して、学習データ数を変更した場合の学習の推移について示した図である。
図6において、縦軸は正解値と予測値との差分を表し、この差分が収束した場合に電子密度予測器の学習が終了される。横軸は学習回数を表している。
図6においては、5000、10000、20000、30000、40000、50000のデータサイズに対応する6つのグラフを用いて差分が収束していく様子が示されている。ここでは、データサイズは学習データの個数を示すものとする。
【0063】
図6に示されるように、学習におけるデータサイズを5000から50000まで変更しても収束までに必要な学習回数に大差がないことが分かる。例えば、データサイズが50000の学習において、学習回数が10000×100回で収束したとする。この場合、学習回数は、1つの学習データの使用回数Qと学習データ数Pとの積で表されるので、使用回数Qは下記の式により20と算出される。
【0064】
Q=10000×100/P=20
また、学習データ数Pが増えても収束に必要な学習回数があまり増えないことから、上式において、収束に必要な学習回数(10000×100)は一定とみなすことができる。したがって、上式において、学習データ数Pを増やした場合、収束に要する使用回数Qは小さくできる。
【0065】
一方、電子密度の更新計算回数Rは、対象となる物質にもよるが、平均して40回程度の電子密度の更新計算を必要とする。また、電子密度の更新計算回数Rは、より高精度な計算をするほど増大させる必要がある。
【0066】
以上のことから、少なくとも50000個以上の学習データを用いる場合には、R=40、Q=20により、T×(R-Q)×Pが正になるため、本開示の手法の方が、比較例の手法に比べて所要時間を短くすることができる。
【0067】
(実施の形態1:構成の説明)
続いて、実施の形態1の構成について説明する。以下、本開示の実施の形態1に係る電子密度推定システム1000について、図面を用いて詳細に説明する。
図7は、本開示の実施の形態に係る電子密度推定システム1000の構成を示すブロック図である。
図7に示す電子密度推定システム1000は、電子密度推定装置1001と、学習データベース(DB)100と、テストデータベース(DB)105と、表示部107とを備える。
【0068】
電子密度推定装置1001は、データ取得部101と、電子密度予測部102と、電子密度更新部103と、パラメータ算出部104と、電子密度推定部106と、電子密度予測器108を備える。なお、
図7において、電子密度推定装置1001は、CPU等のプロセッサがコンピュータを電子密度推定装置1001として機能させる電子密度推定プログラムを実行することで実現される。また、
図7において、学習データベース100及びテストデータベース105は、不揮発性のメモリで構成されている。
【0069】
以下、
図7に示した各構成要素の詳細について述べる。
【0070】
(学習データベース100)
学習データベース100は、1以上の物質のそれぞれの組成及び構造等の物質情報を含む第1入力データを予め記憶する。第1入力データは、例えば、結晶学共通データフォーマット(CIF)で記載された物質情報を含む。但し、物質情報の記載形式は、CIFのデータフォーマットに限定されず、組成式、結晶構造、空間群、及び格子ベクトルといった密度汎関数法における電子密度を更新する計算が実施可能な記載形式であれば、どのような記載形式であってもよい。
【0071】
図9は、CIFと呼ばれる形式で記載された第1入力データの一例を示す図である。CIFでは、組成式、単位格子ベクトルの長さ、原子同士が交わる角度、及び単位格子中の原子配置などで物質情報が記述される。
図9では、物質「Al
2O
3」に関する物質情報が示されている。
【0072】
図10は、POSCARと呼ばれる形式で記載された第1入力データの一例を示す図である。POSCARでは、組成式、単位格子ベクトル、及び単位格子中の原子配置等で物質情報が記述される。なお、
図9に示す記載内容は非特許文献4及び非特許文献6から引用した。
【0073】
(データ取得部101)
図7に参照を戻す。データ取得部101は、学習データベース100から第1入力データを取得し、電子密度予測部102と電子密度更新部103とに出力する。
【0074】
(電子密度予測部102)
電子密度予測部102は、データ取得部101から第1入力データを取得し、第1入力データから記述子を算出する。そして、電子密度予測部102は、算出した記述子を電子密度予測器108に送付する。電子密度予測器108は、電子密度予測器108の入力層に記述子を入力し、電子密度予測器108は第1電子密度を算出し、電子密度予測器108の出力層から第1電子密度を出力する。電子密度予測器108は、第1電子密度を電子密度予測部102に送付する。電子密度予測部102は第1電子密度を電子密度更新部103及びパラメータ算出部104に出力する。
【0075】
記述子は、第1入力データから算出可能なベクトル、或いは2次元または3次元行列で表現される。記述子は、構成元素の第1入力データと元素の物性値とを組み合わせて表現されてもよい。或いは、記述子は、非特許文献2のFig.1、非特許文献3のFig.1に示されているように、ポテンシャルで構成されていてもよい。或いは、記述子は、密度汎関数法における初期電子密度で構成されてもよい。
【0076】
第1入力データと元素の物性値とを組み合わせて表現した記述子の一例をAl
2O
3について以下に示す。
図20はAl
2O
3に関する単位格子ベクトル、原子座標、原子番号、原子半径などを示す図である。Al
2O
3の記述子は、Al
2O
3の単位格子ベクトル、Al原子の相対座標、O原子の相対座標、AlとOそれぞれの原子番号、原子半径を列挙した1次元ベクトルである。
【0077】
例えば、(Al2O3記述子)=(4.805027 0 0 -2.40251 4.161275 0 0 0 13.11625 0 0 0.352096 8 146.2014 0 0 0.647904 8 146.2014 ・・・)である。当該ベクトルに含まる要素の並び順は任意に決定してよい。
【0078】
図21は、第1入力データと原子番号または原子半径とを組み合わせて表現したAl結晶の記述子の一例などを示す図である。例えば、Al結晶であれば、面心立方格子の原子座標を中心に電子密度がガウス分布状に存在すると考え、下記の式で示されるように、24×24×24個のセルの値が計算される。
【0079】
【0080】
各セルの中心点と各原子との距離に応じて減衰する値に、各原子の原子番号を乗じ、予め定められた半径以下に含まれる原子について和を取る。ガウス分布のσには原子半径/3を用いればよい。予め定められた半径には、例えば、単位格子の対角線の内、最長の値を採用すればよい。なお、原子番号の代わりに、各原子の電気陰性度やイオン化エネルーを用いても良い。
【0081】
図12は、初期電子密度、第1電子密度、及び電子密度予測器の一例を示す図である。
【0082】
図1では24×24×24個のセルの電子密度を表現している。
図1は24枚の画像を示し、24枚の画像の各々は24×24の画素を示していると考えてもよい。そして、24×24の画素はそれぞれ画素値を有し、1つの画素の画素値が1セルの電子密度に対応すると考えてもよい。
【0083】
図12の電子密度予測器108の入力層のユニット数は24×24×24であってもよい。
図12の初期電子密度1401として示された24枚の画像の画素(個数=24×24×24)の画像値が電子密度予測器108の入力層のユニットに入力される。初期電子密度1401は電子密度予測部102が生成した記述子である。
【0084】
初期電子密度1401として示された24枚の画像の画素と電子密度予測器108の入力層のユニットは1対1に対応する。
【0085】
図12の電子密度予測器108の出力層のユニット数は24×24×24であってもよい。
図12の第1電子密度1403として示された24枚の画像の画素(個数=24×24×24)の画像値が電子密度予測器108の出力層のユニットから入力される。
【0086】
第1電子密度1403として示された24枚の画像の画素と電子密度予測器108の出力層のユニットは1対1に対応する。
【0087】
図12において、白い箇所は電子密度が高い箇所を示している。このことは、後述する
図13、
図14も同じである。初期電子密度1401は、電子を原子核の近傍に存在すると仮定した場合の電子密度である。ここでは、一例として、Alの単結晶について、24×24×24の各セルの電子密度を24×24の24枚の画像で表現したときの初期電子密度1401が示されている。
【0088】
(電子密度予測器108)
電子密度予測器108は、初期電子密度1401(電子密度予測部102が生成した記述子)が入力され、第1電子密度1403を出力する。この例では、電子密度予測器108は、非特許文献5のFig.2に示されるニューラルネットワークで構成されていてもよい。なお、電子密度予測器108は、24×24×24次元の回帰問題を学習するランダムフォレスト又はサポートベクターマシンで構成されてもよい。あるいは、
図11の記述子と初期電子密度とのセットが電子密度予測器108に入力されてもよい。電子密度推定装置1001は電子密度予測器108を含まず、外部のサーバが電子密度予測器108を含んでもよい。この場合、電子密度推定装置1001と当該外部のサーバは有線及び/または無線でデータのやり取りを行ってもよい。
【0089】
(電子密度更新部103)
図7に参照を戻す。電子密度更新部103は、データ取得部101から第1入力データを取得し、電子密度予測部102から第1電子密度を取得し、第1入力データと第1電子密度とを用いた数値シミュレーションを実行して第2電子密度を算出し、第2電子密度をパラメータ算出部104に出力する。
【0090】
数値シミュレーションは、第1入力データと第1電子密度とを用いて、密度汎関数法における電子密度を更新する計算を1回行う処理である。第2電子密度は、数値シミュレーションによって更新された電子密度である。
【0091】
なお、当該数値シミュレーションは1回以上実施してもよい。つまり、まず、「第1入力データと第1電子密度と用いて、密度汎関数法における電子密度を更新する計算を1回行い、第1の仮の2電子密度を求め」、次に「第1入力データと第1の仮の2電子密度と用いて、密度汎関数法における電子密度を更新する計算を1回行い、第2の仮の2電子密度を求め」、~、最後に「第1入力データと第(n-1)の仮の2電子密度と用いて、密度汎関数法における電子密度を更新する計算を1回行い、第nの仮の2電子密度を求め」て、第nの仮の2電子密度を、上述した第2電子密度としてもよい。電子密度の更新計算の回数は、密度汎関数法で電子密度の極限値を求める回数ではない。なおnは5以下であってもよい。
【0092】
当該数値シミュレーションを1回以上実施することで、数値シミュレーションで求める結果の安定性を向上させることが出来る。一般的な密度汎関数法では、電子密度の更新履歴を過去5回程度記録し、過去の電子密度と更新後の電子密度とを適当な割合で足し合わせることで、数値シミュレーションの安定化を図っている。本開示の手法でも5回を上限に数値シミュレーションを1回以上行うことで、電子密度を更新する際の数値シミュレーションの安定化を図ることができる。
【0093】
なお、当該数値シミュレーションを5回実施する際は、少なくとも250000個以上の学習データを用いる場合には、本開示の手法の方が、比較例の手法に比べて所要時間を短くすることができる。
【0094】
数値シミュレーションの回数は、数値シミュレーションで求める結果の安定性を図ることができる回数であり、かつ、数値シミュレーションで極限値を求める時間よりも短い時間で数値シミュレーションを完了できる回数であればよい。
【0095】
図13は、第1電子密度から第2電子密度が算出される処理の一例を示す図である。電子密度更新部103は、第1電子密度1403を式(1)に代入すると共に、第1入力データから得られる。
【0096】
【0097】
及びμxc(n(r))を式(1)に代入することで、波動関数ψi(r)を求める。そして、電子密度更新部103は、求めた波動関数ψi(r)を式(2)に代入し、得られる電子密度n(r)を第2電子密度1501として算出する。式(1)には原子座標が含まれるため、第1電子密度1403のようなランダムな電子座標を初期値に設定しても、コーンシャム方程式を計算することで、原理的に、第2電子密度1501のように原子座標が反映された電子密度が得られる。
【0098】
(パラメータ算出部104)
図7に参照を戻す。パラメータ算出部104は、電子密度予測部102から第1電子密度を取得し、電子密度更新部103から第2電子密度を取得する。そして、パラメータ算出部104は、第1電子密度と第2電子密度との差分である第1差分を算出し、第1差分を最小とする電子密度予測器のパラメータを算出し、算出したパラメータを電子密度推定部106に出力する。
【0099】
第1差分としては、上述したRMSEが採用できる。但しこれは一例であり、MAE(Mean Absolute Error)等の誤差を評価できる手法であればどのような手法を用いて第1差分が算出されてもよい。第1差分を最小とするパラメータの算出には例えばバックプロパゲーションが採用できる。バックプロパゲーションによるパラメータの更新式は、例えば、下記の式で表される。
【0100】
W_t+1=W_t-γdD(W_t)/dW_t
W_tはパラメータの更新前の値を示し、W_t+1はパラメータの更新後の値を示し、D(W_t)は第1差分を示し、γは学習係数を示す。学習係数の値としては、特に限定はないが、例えば0.01が採用できる。
【0101】
上記更新式によるパラメータW_tの更新には、学習データベース100に格納された第1入力データの全てが用いられてもよい。あるいは、パラメータ算出部104は、学習データベース100から一部の第1入力データを取得し、取得した一部の第1入力データについて上記更新式を用いてパラメータW_tを更新した後、再度、学習データベース100から別の一部の第1入力データを取得するというように、学習データベース100から取得する第1入力データを順次変更させながらパラメータW_tの更新を繰り返してもよい。
【0102】
パラメータ算出部104が、第1差分を最小とする電子密度予測器108のパラメータを算出することは、下記の処理(P1)~(P4)が実行されて、第kパラメータを特定することであると考えてもよい。
【0103】
(P1)第1入力データ基づいて電子密度予測部102が生成した記述子が、第1パラメータが設定された電子密度予測器108に入力され、電子密度予測器108が第1電子密度D11を算出し、出力する。
【0104】
(P2)電子密度更新部103は、密度汎関数法を用いた電子密度を更新する計算を1回以上行い、第2電子密度を算出する。この1回以上の計算は、第1入力データと第1電子密度D11に基づいた密度汎関数法を用いた計算を含む。第2電子密度は密度汎関数法を用いて求めた収束値ではない。
【0105】
(P3)上記生成された記述子が、第iパラメータが設定された電子密度予測器108に入力され、電子密度予測器108が第1電子密度D1iを算出し、出力する。i=2~nであり、iは自然数、nは自然数、nは2以上である。これにより、第1電子密度D12~第1電子密度D1nが得られる。
【0106】
(P4)パラメータ算出部104は、第1電子密度D1jと2電子密度の差分である第1差分DF1jを算出する。jは自然数である。これにより、第1差分DF11~第1差分DF1nが得られる。第1パラメータが第1差分DF11に対応し、~第nパラメータが第1差分DF1nに対応する。
【0107】
パラメータ算出部104は、第1差分DF11~第1差分DF1nのち、最も小さい第1差分DF1kを検出し、第1差分DF1kに対応する第kパラメータを特定する。1≦k≦nであり、kは自然数である。以上で(P1)~(P4)の説明を終える。
【0108】
パラメータは以下に示すようなものであってもよい。
【0109】
電子密度予測器108は、入力層、1または複数の隠れ層、及び出力層を備えてもよい。入力層、1または複数の隠れ層、のそれぞれの層は、ニューロンに相当する複数のユニットを有する。出力層は1または複数のユニットを有する。
【0110】
隠れ層及び出力層おけるそれぞれのユニットに対して、重み値Wi=[wi1,wi2,・・・]が設定される。つまり、隠れ層及び出力層のユニット総数がzならば、重み値W1=[w11,w12,・・・]、・・・、重み値Wz=[wz1,wz2,・・・]が存在する。入力層の各ユニットに入力データが入力されと、重み値W1、~、重み値Wzを用いた演算がなされ、出力層の1または複数のユニットから出力データが出力される。
【0111】
上述した第1パラメータ、~、第nパラメータのそれぞれは重み値W1、~、重み値Wzに対応する値を有する。つまり、第1パラメータは、重み値W11=[w111,w121,・・・]、・・・、重み値Wz1=[wz11,wz21,・・・]、~、第nパラメータは、重み値W1n=[w11n,w12n,・・・]、・・・、重み値Wzn=[wz1n,wz2n,・・・]である。
【0112】
(テストデータベース105)
テストデータベース105は、1以上の物質のそれぞれの組成及び構造等の物質情報を含む第2入力データを予め記憶する。第2入力データは、例えば、結晶学共通データフォーマット(CIF)で物質情報が記載されている。但し、物質情報の記載形式は、CIFのデータフォーマットに限定されず、組成式、結晶構造、空間群、及び格子ベクトルといった密度汎関数法による計算が実施可能な記載形式であればどのような記載形式であってもよい。なお、第2入力データは、第1入力データと同様、
図9、
図10に示すような内容で記載される。このように、第2入力データは第1入力データと記載形式は同一である。したがって、学習データベース100とテストデータベース105とは同一のデータベースで構築されてもよい。この場合、このデータベースに記憶された一部の入力データが第1入力データ、残りの入力データが第2入力データとして採用されてもよい。
【0113】
(電子密度推定部106)
電子密度推定部106は、パラメータ算出部104から更新後のパラメータを取得し、電子密度予測器108に取得したパラメータを設定する。そして、電子密度推定部106は、テストデータベース105から第2入力データを取得し、取得した第2入力データから記述子を算出する。そして、電子密度推定部106は、算出した記述子を電子密度予測器108に送付する。電子密度予測器108は、電子密度予測器108の入力層に記述子を入力し、電子密度予測器108は第3電子密度を算出し、電子密度予測器108の出力層から第3電子密度を出力する。電子密度予測器108は、第3電子密度を電子密度推定部106に送付する。電子密度推定部106は第3電子密度を表示部107に出力する。記述子と第3電子密度との算出方法は電子密度予測部102における記述子と第1電子密度との算出方法と同じである。第3電子密度の算出を、第3電子密度の推定と呼んでもよい。
【0114】
図14は、第3電子密度が推定される処理の一例を示す図である。初期電子密度1601は、第2入力データの記述子として得られた電子密度である。学習済みの電子密度予測器108に初期電子密度1601を入力することで、第3電子密度1602が得られる。第3電子密度1602は、初期電子密度1601とは異なり、各画像の中心および4隅に局在していた電子密度が減少し、代わりに中心および4隅の中間位置に非局在化した電子密度が表れており、正確に電子密度が推定されていることが分かる。
【0115】
(表示部107)
表示部107は、例えば、液晶パネル等の表示装置で構成され、電子密度推定部106が推定した第3電子密度を示す画像を表示する。表示部107は、第3電子密度を出力する出力部の一例である。第3電子密度を示す画像としては、例えば、
図14に示す第3電子密度1602を表示する画像が採用されてもよいし、第3電子密度を示す数値群を表示する画像が採用されてもよい。
【0116】
図8は、
図7の電子密度更新部103の詳細な構成を示すブロック図である。
図8に示す電子密度更新部103は、シミュレーションパラメータ設定部200と、電子密度設定部201と、更新計算部202とを備える。
【0117】
以下、
図8に示した各構成要素の詳細について述べる。
【0118】
(シミュレーションパラメータ設定部200)
シミュレーションパラメータ設定部200は、データ取得部101から第1入力データを取得し、数値シミュレーションの計算条件に設定する。これにより、式(1)の例えば、φ(r)及びμxc(n(r))の関数が設定される。
【0119】
(電子密度設定部201)
電子密度設定部201は、電子密度予測部102から第1電子密度を取得し、数値シミュレーションの初期電子密度に設定する。これにより、式(1)における電子密度n(r)が設定される。
【0120】
(更新計算部202)
更新計算部202は、密度汎関数法における電子密度を更新する計算を1回以上行い、初期電子密度を更新し、第2電子密度を算出し、算出した第2電子密度をパラメータ算出部104に出力する。これにより、式(1)、式(2)を用いた1回以上の更新計算が行われ、
図13に示すように、第1電子密度1403から第2電子密度1501が算出される。なお、更新計算の回数は、密度汎関数法で電子密度の極限値を求める回数ではない。
【0121】
(実施の形態1:動作の説明)
次に、電子密度推定装置1001の動作について説明する。
【0122】
(フローチャート)
図15は、本開示の実施の形態1における電子密度推定装置1001の処理の全体的な流れを示すフローチャートである。
【0123】
(ステップS100)
データ取得部101は、学習データベース100から第1入力データを取得し、取得した第1入力データを電子密度予測部102と電子密度更新部103とに出力する。
【0124】
(ステップS101)
電子密度予測部102は、第1入力データから記述子を算出し、算出した記述子を電子密度予測器108に送付する。電子密度予測器108は第1電子密度を算出し、電子密度予測部102に送付する。密度を算出する。電子密度予測部102は、第1電子密度を電子密度更新部103に出力する。
【0125】
(ステップS102)
電子密度更新部103は、ステップS100で取得された第1入力データとステップS101で算出された第1電子密度とを用いて密度汎関数法による数値シミュレーションを行うことで第2電子密度を算出し、パラメータ算出部104に出力する。ここでは、電子密度更新部103は、ステップS100~ステップS104の1つのループにおいて、数値シミュレーションの計算を1回行うものとする。つまり、密度汎関数法における電子密度を更新する計算を1回行うものとする。この場合、数値シミュレーションの総回数は、ステップS100~ステップS104のループ数がk(kは1以上の整数)であれば、k回となる。更新計算の総回数kは、密度汎関数法で電子密度の極限値を求める回数ではない。但し、これは一例であり、電子密度更新部103は、1つのループにおいて、数値シミュレーションの計算をm(mは複数)回実施してもよい。つまり、密度汎関数法における電子密度を更新する計算をm回実施してもよい。この場合、数値シミュレーションの総回数はk×mとなる。更新計算の総回数k×mは、密度汎関数法で電子密度の極限値を求める回数ではない。
【0126】
(ステップS103)
パラメータ算出部104は、第1電子密度と第2電子密度とから第1差分を算出し、第1差分が最小となるようにバックプロパゲーション等の手法を用いて電子密度予測器108のパラメータW_tを更新する。
【0127】
(ステップS104)
パラメータ算出部104は、パラメータの更新回数が所定の回数を超えた場合(ステップS104でYES)、更新されたパラメータを電子密度推定部106に出力し、処理をステップS105に進める。これにより電子密度予測器のパラメータW_tを最小化する学習済みのパラメータが得られ、電子密度予測器の学習が終了される。
【0128】
一方、パラメータ算出部104は、パラメータの更新回数が所定の回数を超えていない場合(ステップS104でNO)、処理をステップS100に戻し、ステップS100からステップS103までの処理を繰り返す。ここで、所定の回数としては、
図6で説明したように、電子密度予測器108の学習に用いられる第1入力データの数から第1差分が収束することが見込まれる予め定められた回数が採用できる。但し、これは一例であり、第1差分が所定の値以下に収束するまで、ステップS100からステップS103までの処理が繰り返されてもよい。
【0129】
(ステップS105)
電子密度推定部106は、パラメータ算出部104から学習済みのパラメータを取得し、取得したパラメータを電子密度予測器108に設定する。そして、電子密度推定部106は、テストデータベース105から第2入力データを取得し、取得した第2入力データから記述子を算出し、算出した記述子を電子密度予測器108に送付する。電子密度予測器108は、第3電子密度を算出し、第3電子密度を電子密度推定部106に送付する。電子密度推定部106は第3電子密度を表示部107に出力する。
【0130】
図16は、
図15のステップS102における電子密度更新部103の処理の詳細を説明するフローチャートである。
【0131】
(ステップS200)
電子密度更新部103のシミュレーションパラメータ設定部200は、データ取得部101から取得した第1入力データを密度汎関数法の計算条件に設定する。ここで、計算条件としては、式(1)に示すφ(r)及びμxc(n(r))が挙げられ、これらの関数が、第1入力データから算出され、式(1)に設定される。
【0132】
(ステップS201)
電子密度設定部201は、電子密度予測部102から取得した第1電子密度を密度汎関数法の初期電子密度に設定する。これにより、式(1)の電子密度n(r)の初期値として、電子密度予測器から得られた第1電子密度が設定され、式(1)の方程式を解くことが可能となり、波動関数ψi(r)及び軌道エネルギーεiを算出することが可能になる。
【0133】
(ステップS202)
更新計算部202は、密度汎関数法における電子密度を更新する計算を1回以上行い、初期電子密度に設定した第1電子密度を更新して第2電子密度を算出し、パラメータ算出部104に出力する。更新計算の回数は、密度汎関数法で電子密度の極限値を求める回数ではない。
【0134】
以上のように、電子密度更新部103はステップS200からステップS202までの処理を行うことによって第2電子密度を算出する。
【0135】
以上説明したように、本実施の形態によれば、数値シミュレーションの1回以上の電子密度の更新計算により得られた更新値である第2電子密度を学習データとして用いて電子密度予測器を学習させることができる。更新計算の回数は、密度汎関数法で電子密度の極限値を求める回数ではない。そのため、本構成は、密度汎関数法で求めた電子密度の収束値を使わずに電子密度予測器を学習させることができる。その結果、膨大な時間及び労力をかけることなく学習データを準備することができ、電子密度予測器の生成に要するコストの低減を図ることができる。
【0136】
(実施の形態2)
実施の形態2は、第1電子密度が第2電子密度にある程度近づくまで、数値シミュレーションをスキップさせ、第1電子密度が第2電子密度にある程度近づいた段階で第2電子密度を更新させるものである。なお、本実施の形態において、実施の形態1と同一の構成要素には同一の符号を付し、説明を省く。
【0137】
図17は、本開示の実施の形態2の処理を説明する図である。
図17は、第2差分1703が第3差分1704よりも小さい状態での第1電子密度と第4電子密度と第5電子密度との距離関係を模式的に示している。なお、
図17において、縦軸及び横軸は
図2と同じである。
【0138】
第4電子密度1700は、最後に数値シミュレーションを実施した際に電子密度予測器が出力した第1電子密度である。第1電子密度1702は現在の電子密度予測器の出力である。第2差分1703は、第1電子密度1702と第4電子密度1700との差分であり、学習の進捗に対する電子密度予測器の出力の変動を表す。第3差分1704は第5電子密度と第1電子密度1702との差分であり、第2差分1703と同様、学習の進捗に対する電子密度予測器の出力の変動を表す。
【0139】
第5電子密度1701は、第4電子密度1700を初期電子密度とする数値シミュレーションによって更新された第2電子密度である。第5電子密度1701は、第4電子密度1700から見て収束値1705側に位置している。そのため、第5電子密度1701は、第4電子密度1700から見たときの収束値1705のおよその方向を示す。よって、第5電子密度1701を教師データとして電子密度予測器を学習させることで、収束値1705に向けて電子密度予測器を学習させることができる。なお、収束値1702は、密度汎関数法において電子密度を更新する計算を繰り返して電子密度を収束させた値である。
【0140】
第2差分1703が第3差分1704より小さい状態では、第4電子密度1700から第5電子密度1701への方向H1と、第1電子密度1702から第5電子密度1701への方向H2とがおおよそ一致している。したがって、この状態では、第3差分1704を最小化するように電子密度予測器のパラメータを更新することで電子密度予測器の出力である第1電子密度1702を収束値1705に近づけることができる。このとき、本実施の形態では、数値シミュレーションがスキップされているため、計算時間を減らすことができる。
【0141】
図18は、本開示の実施の形態2の処理を説明する図である。
図18は、
図17において、第2差分1703が第3差分1704より大きい状態になっても数値シミュレーションを実施せずに電子密度予測器の学習を継続させた場合の第1電子密度と第4電子密度と第5電子密度との距離関係を模式的に示した図であり、本開示の比較例を表している。なお、
図18において、縦軸及び横軸は
図2と同じである。
【0142】
図18に示すように、第2差分1703が第3差分1704がより大きい状態になっても、数値シミュレーションにより第2電子密度を更新せずに、第5電子密度1701を教師データとする電子密度予測器の学習を継続すると、方向H2と方向H1とは一致するとはいえなくなる。
【0143】
そこで、本実施の形態では、第2差分1703が第3差分1704より大きくなる、すなわち、第1電子密度1702が第4電子密度1700よりも第5電子密度1701側に近づくと、パラメータ算出部104は、数値シミュレーションを実施する。これにより、第2電子密度1706が更新され、更新後の第2電子密度が第5電子密度として設定され、電子密度予測器の学習が実施される。すなわち、方向H2と方向H1との向きが離れてくると、第2電子密度1706が更新されて方向H2を収束値1705の方向に向けて電子密度予測器を学習させることができる。その結果、効率の良い学習を実現できる。
【0144】
図19は、本開示の実施の形態2に係る処理の一例を示すフローチャートである。以下、
図19を用いて、数値シミュレーションをスキップしながら、電子密度予測器を学習させる処理について説明する。
【0145】
ステップS300からステップS301までの処理は、
図15のステップS100からS101までの処理と同じであるため、説明を省く。
【0146】
(ステップS302)
電子密度更新部103は、第1入力データについて、既に数値シミュレーションを実施したか否かを判定する。数値シミュレーションが実施されていない場合(ステップS302でNO)、処理はステップS303に進み、数値シミュレーションが実施されている場合(ステップS302でYES)、処理はステップS305に進む。ここで、ステップS302でNOと判定されるケースとしては、密度汎関数法による数値シミュレーションが1回も実施されていないケースが該当し、例えば、
図19のフローの開始直後が該当する。
【0147】
(ステップS303)
電子密度更新部103は、S301で算出された第1電子密度を密度汎関数法の初期電子密度に設定すると共に、第1電子密度を算出する際に電子密度予測器に入力された第1入力データを密度汎関数法の計算条件として設定して密度汎関数法による数値シミュレーションを実行し、第2電子密度を算出する。ここで、電子密度更新部103は、ステップS100~ステップS104の1つのループにおいて、数値シミュレーションの計算を1回行うものとする。つまり、密度汎関数法における電子密度を更新する計算を1回行うものとする。但し、これは一例であり、この計算は1つのループにおいて複数実行されてもよい。
【0148】
(ステップS304)
電子密度更新部103は、最後の数値シミュレーション、すなわち、ステップS303の処理で第2電子密度を算出する際に用いられた第1電子密度を第4電子密度としてメモリに記録する。また、電子密度更新部103は、最後の数値シミュレーション、すなわち、ステップS303の処理を実施した際に得られた第2電子密度を第5電子密度としてメモリに記録する。
【0149】
(ステップS305)
電子密度更新部103は、第1電子密度と第4電子密度との差分である第2差分を算出する。また、パラメータ算出部104は、第1電子密度と第5電子密度との差分である第3差分を算出する。ここで、第1電子密度とは、ステップS301で算出された最新の第1電子密度を指す。ここでは、第2差分及び第3差分は、第1差分と同様、例えば、RMSEが採用できる。但し、これは一例であり、MAE(Mean Absolute Error)等の誤差を評価できる手法であればどのような手法を用いて第2差分及び第3差分は算出されてもよい。
【0150】
(ステップS306)
パラメータ算出部104は、第2差分が第3差分よりも大きいか否かを判定する。第2差分が第3差分より大きければ(ステップS306でYES)、処理はステップS303に進み、第2差分が第3差分以下であれば(ステップS306でNO)、処理はステップS307に進む。ここで、第2差分が第3差分よりも大きいという条件は、所定の条件の一例に該当する。
【0151】
(ステップS307)
パラメータ算出部104は、ステップS304で第2電子密度が更新された直後では、ステップS103と同様、その第2電子密度(第5電子密度)と、その第2電子密度の算出に用いられた第1電子密度(第4電子密度)との第1差分を算出し、第1差分が最小となるように電子密度予測器のパラメータW_tを更新する。
【0152】
一方、パラメータ算出部104は、第2電子密度の更新直後でない場合は、ステップS305で算出された第3差分が最小となるように電子密度予測器のパラメータW_tを更新する。
【0153】
ステップS305からステップS306までの処理は、
図15のステップS104からステップS105までの処理と同じであるため、説明を省く。
【0154】
次に、
図19のフローの概要について説明する。まず、フローが開始されると、数値シミュレーションが未実施のため、ステップS302でNOと判定され、ステップS303にて数値シミュレーションが実施されて第2電子密度が算出される。以後、第2差分が第3差分よりも大きくなるまで、S302でYES→S305→S306でNO→S307→S308でNOのループが繰り返され、電子密度予測器の学習が実施される。これにより、第1電子密度が最後の数値シミュレーションで算出された第2電子密度、すなわち、第5電子密度に近づいていく。そして、第2差分が第3差分より大きくなると、ステップS306でYESと判定され、ステップS304の数値シミュレーションによって第2電子密度が更新される。以後、第2差分が第3差分より大きくなるまで、S302でYES→S305→S306でNO→S307→S308でNOのループが繰り返される。
【0155】
このように、本フローでは、第2差分が第3差分より小さい場合は数値シミュレーションがスキップされ、電子密度予測器の学習が進められ、第2差分が第3差分よりも大きくなった時点で、数値シミュレーションが実施されて第2電子密度が更新されている。そのため、本実施の形態では、第1電子密度が更新される度に数値シミュレーションを実行する態様を採用した場合に比べて、電子密度予測器の学習にかかる時間を短縮することができる。
【0156】
(実施の形態2の変形例)
実施の形態2では、第2差分が第3差分より大きくなったときに第2電子密度が更新されたが、本開示はこれに限定されない。例えば、第3差分から所定値だけ減じた値より第2差分が大きくなったときに第2電子密度は更新されてもよい。或いは、例えば、第3差分に所定値を加えた値より第2差分が大きくなったときに第2電子密度は更新されてもよい。
【0157】
以上、本開示に係る電子密度推定装置1001について、実施の形態に基づいて説明したが、本開示は、これらの実施の形態に限定されるものではない。本開示の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したもの、異なる実施の形態における構成要素を組み合わせて構築される形態なども、本開示の範囲内に含まれる。
【0158】
(ハードウェア構成)
上記の電子密度推定装置1001は、具体的には、マイクロプロセッサ、ROM、RAM、ハードディスクドライブ、ディスプレイユニット、キーボード、及びマウスなどから構成されるコンピュータシステムにより構成されても良い。RAMまたはハードディスクドライブには、電子密度推定プログラムが記憶されている。マイクロプロセッサが、電子密度推定プログラムに従って動作することにより、電子密度推定装置1001は、その機能を達成する。ここで電子密度推定プログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。
【0159】
さらに、上記の電子密度推定装置1001を構成する構成要素の一部または全部は、1個のシステムLSI(Large Scale Integration:大規模集積回路)から構成されても良い。システムLSIは、複数の構成部を1個のチップ上に集積して製造された超多機能LSIであり、具体的には、マイクロプロセッサ、ROM、RAMなどを含んで構成されるコンピュータシステムである。RAMには、コンピュータプログラムが記憶されている。マイクロプロセッサが、コンピュータプログラムに従って動作することにより、システムLSIは、その機能を達成する。
【0160】
さらにまた、上記の電子密度推定装置1001を構成する構成要素の一部または全部は、コンピュータに脱着可能なICカードまたは単体のモジュールから構成されても良い。ICカードまたはモジュールは、マイクロプロセッサ、ROM、及びRAMなどから構成されるコンピュータシステムである。ICカードまたはモジュールは、上記の超多機能LSIを含んでも良い。マイクロプロセッサが、コンピュータプログラムに従って動作することにより、ICカードまたはモジュールは、その機能を達成する。このICカードまたはこのモジュールは、耐タンパ性を有しても良い。
【0161】
また、本開示は、上記の電子密度推定装置1001により実行される電子密度推定方法であるとしても良い。また、この電子密度推定方法は、コンピュータが電子密度推定プログラムを実行することで実現されてもよいし、電子密度推定プログラムからなるデジタル信号で実現されても良い。
【0162】
さらに、本開示は、電子密度推定プログラムまたは上記デジタル信号をコンピュータ読み取り可能な非一時的な記録媒体で構成されてもよい。記録媒体としては、例えば、フレキシブルディスク、ハードディスク、CD-ROM、MO、DVD、DVD-ROM、DVD-RAM、BD(Blu-ray(登録商標) Disc)、半導体メモリなどである。また、電子密度推定プログラムは、非一時的な記録媒体に記録されている上記デジタル信号で構成されてもよい。
【0163】
また、本開示は、上記電子密度推定プログラムまたは上記デジタル信号を、電気通信回線、無線若しくは有線通信回線、インターネットを代表とするネットワーク、又はデータ放送等を経由して伝送することで構成されてもよい。
【0164】
また、本開示は、マイクロプロセッサとメモリとを備えたコンピュータシステムであって、上記メモリは、電子密度推定プログラムを記憶しており、マイクロプロセッサは、電子密度推定プログラムに従って動作するとしても良い。
【0165】
また、電子密度推定プログラムまたは上記デジタル信号を上記非一時的な記録媒体に記録して移送することにより、または電子密度推定プログラムまたは上記デジタル信号を、上記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施されてもよい。
【0166】
また、本電子密度推定システムは、サーバと、サーバに対してネットワークを介して接続されたユーザが所持する端末とで構成されてもよい。この場合、
図7において、電子密度推定装置1001、学習データベース100、及びテストデータベース105はサーバで構成し、表示部107は端末で構成する。電子密度推定部106は端末から所定の物質について電子密度の算出要求をネットワークを介して取得すると、該当する物質の第2入力データをテストデータベース105から取得して、その第2入力データを学習済みの電子密度予測器に入力することで該当する物質の電子密度を推定する。そして、サーバは推定した電子密度を通信装置を用いて端末に送信し、端末の表示部107に表示させればよい。
【産業上の利用可能性】
【0167】
本開示は、学習データがなくとも電子密度予測器の学習が可能であり、大規模な学習データが用意できない状況で、未知の材料の特性を予測する場合に有用である。
【符号の説明】
【0168】
100 学習データベース
101 データ取得部
102 電子密度予測部
103 電子密度更新部
104 パラメータ算出部
105 テストデータベース
106 電子密度推定部
108 電子密度予測器
1000 電子密度推定システム
1001 電子密度推定装置