IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社日立製作所の特許一覧

<>
  • 特開-原子間ポテンシャル学習システム 図1
  • 特開-原子間ポテンシャル学習システム 図2
  • 特開-原子間ポテンシャル学習システム 図3
  • 特開-原子間ポテンシャル学習システム 図4
  • 特開-原子間ポテンシャル学習システム 図5
  • 特開-原子間ポテンシャル学習システム 図6
  • 特開-原子間ポテンシャル学習システム 図7
  • 特開-原子間ポテンシャル学習システム 図8
  • 特開-原子間ポテンシャル学習システム 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024126902
(43)【公開日】2024-09-20
(54)【発明の名称】原子間ポテンシャル学習システム
(51)【国際特許分類】
   G06Q 99/00 20060101AFI20240912BHJP
【FI】
G06Q99/00
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2023035643
(22)【出願日】2023-03-08
(71)【出願人】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110001678
【氏名又は名称】藤央弁理士法人
(72)【発明者】
【氏名】北川 功
【テーマコード(参考)】
5L049
5L050
【Fターム(参考)】
5L049DD02
5L050DD02
(57)【要約】
【課題】解析対象に適した原子間ポテンシャルを提供する。
【解決手段】原子間ポテンシャル学習システムは、検査前学習データセットを格納する1次データベースと、検査後学習データセットを格納する2次データベースと、原子間ポテンシャルを格納する3次データベースと、を格納する。原子間ポテンシャル学習システムは、要求原子間ポテンシャルが3次データベースに存在しない場合、要求原子間ポテンシャルの生成に必要な検査後学習データセットを2次データベースに問い合わせ、必要な検査後学習データセットが前記2次データベースに存在しない場合、新規学習データセットを生成して1次データベースに登録し、新規学習データセットを検査して合否を判定し、合格した新規学習データセットを前記2次データベースに格納する。
【選択図】図1
【特許請求の範囲】
【請求項1】
原子間ポテンシャル学習システムであって、
1以上のプロセッサと、
1以上の記憶装置と、を含み、
前記1以上の記憶装置は、
検査前学習データセットを格納する1次データベースと、
検査後学習データセットを格納する2次データベースと、
原子間ポテンシャルを格納する3次データベースと、を格納し、
前記1以上のプロセッサは、
解析対象の系の情報を含むユーザの入力情報から、要求原子間ポテンシャル及び要求学習データの情報を示す、リクエスト情報を生成し、
前記リクエスト情報に基づいて、前記要求原子間ポテンシャルを前記3次データベースに問い合わせ、
前記要求原子間ポテンシャルが前記3次データベースに存在する場合、前記3次データベースから前記要求原子間ポテンシャルを読み出して、ユーザに提供し、
前記要求原子間ポテンシャルが前記3次データベースに存在しない場合、前記リクエスト情報に基づいて前記要求原子間ポテンシャルの生成に必要な検査後学習データセットを、前記2次データベースに問い合わせ、
前記必要な検査後学習データセットが前記2次データベースに存在する場合、前記必要な検査後学習データセットによって前記要求原子間ポテンシャルを生成して、前記ユーザに提供し、
前記必要な検査後学習データセットが前記2次データベースに存在しない場合、前記リクエスト情報に基づいて新規学習データセットを生成して前記1次データベースに登録し、
新規学習データセットを検査して合否を判定し、合格した新規学習データセットを前記2次データベースに格納し、
前記新規学習データセットを含む前記2次データベースの検査後学習データセットによって前記要求原子間ポテンシャルを生成して、前記ユーザに提供する、
原子間ポテンシャル学習システム。
【請求項2】
請求項1に記載の原子間ポテンシャル学習システムであって、
前記1以上のプロセッサは、
前記要求原子間ポテンシャルの1以上の候補の情報と、前記1以上の候補に対する信頼度とを、出力装置において出力し、
前記1以上の候補から選択された候補を、前記要求原子間ポテンシャルとして前記ユーザに提供する、
原子間ポテンシャル学習システム。
【請求項3】
請求項1に記載の原子間ポテンシャル学習システムであって、
前記1以上のプロセッサは、
前記必要な検査後学習データセットの1以上の候補の情報と、前記1以上の候補に対する信頼度とを、出力装置において出力し、
前記1以上の候補から選択された候補によって前記要求原子間ポテンシャルを生成する、
原子間ポテンシャル学習システム。
【請求項4】
請求項1に記載の原子間ポテンシャル学習システムであって、
前記1以上のプロセッサは、
前記新規学習データセットの検査状況を示す情報を、出力装置において出力する、
原子間ポテンシャル学習システム。
【請求項5】
請求項1に記載の原子間ポテンシャル学習システムであって、
前記1以上のプロセッサは、エネルギ及び/又は原子配置の異常の有無に基づいて前記合否を判定する、
原子間ポテンシャル学習システム。
【請求項6】
請求項1に記載の原子間ポテンシャル学習システムであって、
前記ユーザの入力情報は、前記解析対象の系の情報と、前記合否の判定条件の情報を含み、
前記解析対象の系の情報は、系に含まれる元素及び解析の温度範囲及び/又は圧力範囲の情報を含む、
原子間ポテンシャル学習システム。
【請求項7】
請求項1に記載の原子間ポテンシャル学習システムであって、
前記リクエスト情報は、元素、温度範囲、及び学習データに用いた物質の構造の情報を含む、
原子間ポテンシャル学習システム。
【請求項8】
システムが、原子間ポテンシャルを提供する方法であって、
前記システムは、
検査前学習データセットを格納する1次データベースと、
検査後学習データセットを格納する2次データベースと、
原子間ポテンシャルを格納する3次データベースと、を格納し、
前記方法は、前記システムが、
解析対象の系の情報を含むユーザの入力情報から、要求原子間ポテンシャル及び要求学習データの情報を示す、リクエスト情報を生成し、
前記リクエスト情報に基づいて、前記要求原子間ポテンシャルを前記3次データベースに問い合わせ、
前記要求原子間ポテンシャルが前記3次データベースに存在する場合、前記3次データベースから前記要求原子間ポテンシャルを読み出して、ユーザに提供し、
前記要求原子間ポテンシャルが前記3次データベースに存在しない場合、前記リクエスト情報に基づいて前記要求原子間ポテンシャルの生成に必要な検査後学習データセットを、前記2次データベースに問い合わせ、
前記必要な検査後学習データセットが前記2次データベースに存在する場合、前記必要な検査後学習データセットによって前記要求原子間ポテンシャルを生成して、前記ユーザに提供し、
前記必要な検査後学習データセットが前記2次データベースに存在しない場合、前記リクエスト情報に基づいて新規学習データセットを生成して前記1次データベースに登録し、
新規学習データセットを検査して合否を判定し、合格した新規学習データセットを前記2次データベースに格納し、
前記新規学習データセットを含む前記2次データベースの検査後学習データセットによって前記要求原子間ポテンシャルを生成して、前記ユーザに提供する、
ことを含む方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、原子間ポテンシャル学習システムに関する。
【背景技術】
【0002】
古典分子動力学の方法を用いて、原子ならびに分子の物理的な動きのシミュレーションを行い、得られた結果を用いて、分子や結晶の性質を明らかにしたり、予測したりする事は材料開発、創薬分野で有効である。古典分子動力学シミュレーションを実行する上で必要不可欠な原子間ポテンシャル(分子力場)は、原子-原子間の2体間の関係又は3体以上の関係を表現したモデル数式とパラメータによって表現する。このモデル数式の選択とパラメータの決定は、解析対象に合わせて半経験的又は経験的に決定される。
【0003】
原子間ポテンシャルはモデル数式とパラメータの組合せで構成され、分子動力学計算では、原子位置を入力とし、ポテンシャルエネルギを出力とする。
【0004】
しかし、モデル数式の選択とパラメータの決定の過程の中で、原子間ポテンシャル開発者が目的に合わせて決定する判断基準や得られたポテンシャルの精度などの情報は、論文での公開の事例を除くととても少ない。
【0005】
そのため、原子間ポテンシャル利用者は公開事例に示された計算モデルの条件(使用する元素の組合せ、結晶構造や分子構造のバリエーションの範囲、温度範囲、圧力範囲)の範囲内に限定したモデルの計算を実行する。
【0006】
古典分子動力学シミュレーションでは、シミュレーション内部で設定した開始時間から終了時間までの間を、設定した時間刻みごとに、原子位置を入力とし原子間ポテンシャルを用いてエネルギ、原子に働く力を算出し記録する。計算時刻毎に得られたエネルギ、原子位置、または原子に働く力の対データの集合をトラジェクトリと呼ぶ。
【0007】
トラジェクトリでは、計算時刻又は計算ステップ番号を指定して、その時のエネルギや原子位置などの情報を取り出すことが可能である。
【0008】
又は、原子間ポテンシャル利用者が公開されている既存の原子間ポテンシャル範囲を超えた解析対象の計算を実行したい場合には、利用者自身が、テスト条件やテストに資する多くのデータを用意し、試行錯誤や最適化を実行して、自らポテンシャルを作成するという作業が発生する。
【0009】
第一原理電子状態計算や第一原理分子動力学計算、量子化学計算といった、電子間の相互作用に着目し、物質中の電子状態を計算することで、原子位置と系のエネルギの関係を求める方法がある。
【0010】
これらの方法は、解析対象の元素の組合せや構造に関する制約は無く、任意元素の分子や結晶に対しても、高精度に物性値や構造を計算可能である。
しかし、電子状態を直接計算するため、計算量が膨大であり、古典分子動力学法が有用な規模の解析課題に対して、直接適用するのは現実的ではない。
【0011】
近年、第一原理電子状態計算や第一原理分子動力学計算、量子化学計算の計算結果に基づいて原子間ポテンシャルを、機械学習技術を用いて作成する技術が提案されている。
【0012】
非特許文献1に記載される機械学習を用いた原子間ポテンシャルを作成する方法では、第一原理計算によって得られた情報から記述子を生成し、得られた記述子を教師データとした教師あり学習を行い、ポテンシャルを生成することが開示されている。このように第一原理計算を用いてデータセットを作成し、機械学習技術により原子位置とエネルギの関係を学習しポテンシャル化する方法は、データセットを原子間ポテンシャルに変換する作業の中に、属人的な判断やあいまいな仮定を含むことを抑制する点に関して優れている。
【先行技術文献】
【非特許文献】
【0013】
【非特許文献1】Jorg Behler, “Perspective : Machine learning potentials for atomistic simulations”, J. Chem. Phys. 145, 170901 (2016).
【発明の概要】
【発明が解決しようとする課題】
【0014】
しかし、深層学習を含む機械学習を用いたポテンシャル作成では、ポテンシャルの質や学習コストは学習データセットに強く依存するため、目的の解析対象に適した学習データセットを使用しないと、正しい分子動力学シミュレーションが実行できない。そのため、データセットの質や課題との適合性の管理がポテンシャル開発者とポテンシャル利用者の双方に必要となる。
【0015】
本発明が解決しようとする課題は、解析対象に適した原子間ポテンシャルを提供することである。
【課題を解決するための手段】
【0016】
本発明の一態様は、原子間ポテンシャル学習システムであって、1以上のプロセッサと、1以上の記憶装置と、を含み、前記1以上の記憶装置は、検査前学習データセットを格納する1次データベースと、検査後学習データセットを格納する2次データベースと、原子間ポテンシャルを格納する3次データベースと、を格納し、前記1以上のプロセッサは、解析対象の系の情報を含むユーザの入力情報から、要求原子間ポテンシャル及び要求学習データの情報を示す、リクエスト情報を生成し、前記リクエスト情報に基づいて、前記要求原子間ポテンシャルを前記3次データベースに問い合わせ、前記要求原子間ポテンシャルが前記3次データベースに存在する場合、前記3次データベースから前記要求原子間ポテンシャルを読み出して、ユーザに提供し、前記要求原子間ポテンシャルが前記3次データベースに存在しない場合、前記リクエスト情報に基づいて前記要求原子間ポテンシャルを生成可能な検査後学習データセットを、前記2次データベースに問い合わせ、前記必要な検査後学習データセットが前記2次データベースに存在する場合、前記必要な検査後学習データセットによって前記要求原子間ポテンシャルを生成して、前記ユーザに提供し、前記必要な検査後学習データセットが前記2次データベースに存在しない場合、前記リクエスト情報に基づいて新規学習データセットを生成して前記1次データベースに登録し、新規学習データセットを検査して合否を判定し、合格した新規学習データセットを前記2次データベースに格納し、前記新規学習データセットを含む前記2次データベースの検査後学習データセットによって前記要求原子間ポテンシャルを生成して、前記ユーザに提供する。
【発明の効果】
【0017】
本発明の実施形態によれば、ユーザが指定する解析対象の分子動力学シミュレーションを実行するために必要な原子間ポテンシャルを提供することが可能となる。
【図面の簡単な説明】
【0018】
図1】システム構成図である。
図2】原子間ポテンシャルを自動的に生成するフローチャートである。
図3】出力装置の表示部に表示される、リクエスト情報と、原子間ポテンシャル及び信頼度の情報、学習データセット及び信頼度の情報を示す表示画面例である。
図4】データベース構成図である。
図5】出力装置の表示部に表示される、リクエスト情報と、原子間ポテンシャル及び信頼度の情報、を示す表示画面例である。
図6図3に示す原子ポテンシャルと信頼度の情報の表示における詳細な表示画面例である。
図7図3に示す検査後学習データセットと信頼度の情報の表示における詳細な表示画面例である。
図8図3に示す検査前学習データセットと信頼度の情報の表示における詳細な表示画面例である。
図9】複数の処理部を有するシステム構成図である。
【発明を実施するための形態】
【0019】
以下、本発明の実施例について図面を用いて詳細に説明する。便宜上その必要があるときは、複数のセクションまたは実施例に分割して説明するが、特に明示した場合を除き、それらは互いに無関係なものではなく、一方は他方の一部または全部の変形例、詳細、補足説明等の関係にある。また、以下において、要素の数等(個数、数値、量、範囲等を含む)に言及する場合、特に明示した場合及び原理的に明らかに特定の数に限定される場合等を除き、その特定の数に限定されるものではない。
【0020】
本明細書の一実施例は、解析対象に適した原子間ポテンシャルを提供するシステム及び方法を開示する。提供される原子間ポテンシャルは、分子動力学シミュレーションや結晶や分子を含んだ材料情報の処理に使用可能である。本明細書の実施例に係るシステム及び方法によれれば、原子間ポテンシャル開発者と原子間ポテンシャル利用者の双方において、原子間ポテンシャルと解析対象との適合性の管理が可能となる。
【0021】
図1は一実施例に係る原子間ポテンシャル自動生成システムの機能プロック図である。原子間ポテンシャルは、機械学習ポテンシャルであって、機械学習モデルである。原子間ポテンシャルは、例えば、原子の位置の入力に対して、系のエネルギを出力する。系のエネルギの原子位置との関係から、分子動力学シミュレーションで使用される原子それぞれに与えられる力場を求めることができる。
【0022】
原子間ポテンシャル自動生成システムは、処理部320と、3つのデータベース装置311、313、315と、を含む。処理部320と、データベース装置311、313、315とは、ネットワーク310を介して通信することができる。
【0023】
データベース装置311は、1次データベース201及び1次データベース201へのアクセスを制御する1次データベース制御部301を含む。データベース装置313は、2次データベース203及び2次データベース203へのアクセスを制御する2次データベース制御部303を含む。データベース装置315は、3次データベース205及び3次データベース205へのアクセスを制御する3次データベース制御部305を含む。1次データベース201は、検査前学習データセットを格納する。2次データベース203は、検査後学習データセットを格納する。3次データベース205は、原子間ポテンシャルを格納する。
【0024】
処理部320は、原子間ポテンシャル自動生成を行う装置である。処理部320は、例えば1又は複数の計算機で構成することができる。図1の構成例において、処理部320は、一般的な計算機構成を有し、プロセッサ321、主メモリ322、補助メモリ323、入力装置324、出力装置325、ネットワークインタフェース327を含む。処理部320の各部分はバス326等の通信手段を介して互いに通信可能に接続されている。尚、処理部320は、構成の全部又は一部がクラウドサーバのような仮想的な資源によって実現されるものであってもよい。
【0025】
プロセッサ321は、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、GPU(Graphics Processing Unit)等を用いて構成される。プロセッサ321が、主メモリ322に格納されているプログラムを読み出して実行することにより、処理部320が備える機能が実現される。
【0026】
主メモリ322は、プログラムやデータを記憶する装置であり、ROM(Read Only Memory)、RAM(Random Access Memory)、NVRAM(Non Volatile RAM)等である。
【0027】
補助メモリ323は、例えば、SSD(Solid State Drive)、SDメモリカード等のNVRAM、CD(Compact Disc)、DVD(Digital Versatile Disc)等の光学式記憶装置、HDD(Hard Disc Drive)、クラウドサーバの記憶領域等である。補助メモリ323は、プログラム及びデータを格納する非一過性記憶媒体を含む。補助メモリ323に格納されているプログラムやデータは主メモリ322に随時読み込まれる。
【0028】
入力装置324は、情報の入力を受け付けるインタフェースであり、例えば、キーボード、マウス、タッチパネル、カードリーダ、マイクロフォン等である。又は、処理部320が何らかの通信手段を介して他の装置との間で情報の入力を受け付ける構成としてもよい。
【0029】
出力装置325は、各種の情報を出力するインタフェースであり、例えば、液晶モニタ、LCD(Liquid Crystal Display)、グラフィックカード等の画面表示装置、印字装置、スピーカ等の音声出力装置等である。又は、処理部320が、何らかの通信手段を介して他の装置との間で情報の出力を行う構成としてもよい。ネットワークインタフェース327は、処理部320が他の装置と通信を行うための装置である。図1に示す構成要素の一部は省略され得、また、他の構成要素が追加され得る。
【0030】
処理部320は、1又は複数の計算機により構成することができる。このように、処理部320は、1以上のプロセッサ及び1以上の記憶装置を含むことができる。1以上のプロセッサは、1以上の記憶装置に格納されているプログラムを実行することで所定の機能部として動作する。なお、データベース装置311、313、315に対して、処理部320と同様の説明を適用し得る。
【0031】
処理部320は、入力装置324と出力装置325を介して、ユーザから解析対象に関する詳細な情報を入力し、解析対象に対応したリクエスト情報と原子間ポテンシャル及び信頼度の情報を出力することで、解析対象の分子動力学シミュレーションを実行可能な情報をユーザに提示する。以下、これらの機能を実現する構成を説明する。
【0032】
図2は原子間ポテンシャルを提供又は自動的に生成するフローチャートである。図2に示すように、ユーザ入力101では、ユーザは、入力装置324を用いて解析対象の詳細情報を入力し、出力装置325で入力した内容を確認しながら入力を進める。処理部320において、プロセッサ321は、入力装置324からの入力情報を、バス326を通じて、主メモリ322や補助メモリ323に格納する。
【0033】
ユーザが行う解析対象に関する情報入力作業の一例を、図3を用いて説明する。図3のグラフィカルユーザインタフェース(GUI)画面は、例えば、出力装置325に表示される。図3は、解析対象に関する入力情報481、原子間ポテンシャルとその信頼度を含む情報482、学習データセットとその信頼度を含む情報483、及び学習データセットとその作成や検査に関する進捗度を含む情報484、の表示画面例を示す。
【0034】
図3に示す例において、入力情報には2種類ある。1つは、解析対象全体の情報(全体入力情報)であり、もうひとつは、部分入力情報である。この2種類の入力情報の入力は、全体入力ボタン402と部分入力ボタン404で切り替えられる。
【0035】
全体入力においてユーザが入力する情報は、例えば、3次元構造(元素、位置、境界条件)401、圧力範囲405、及び温度範囲407を含むことができる。3次元構造を直接入力する代わりに、処理部320は、xyzフォーマットやcifフォーマットの構造ファイル名403の指定を受け付け、そのファイルを読み込むこともある。なお、温度範囲と圧力範囲の一方のみが入力されてもよい。この点は部分入力情報について同様である。温度範囲と圧力範囲の少なくとも一方を指定することで、解析により適した原子間ポテンシャルを提供できる。
【0036】
3次元構造401が入力されると、処理部320は、自動的に組成409を判定して出力する。これにより、ユーザは、誤入力の有無を確認することができる。圧力範囲405や温度範囲407について、数値を列挙して入力される場合と、上限、下限、及び刻み幅が指定されるケースがあり得る。
【0037】
処理部320のプロセッサ321は、このようにユーザが解析することを望む系の全体を表す入力情報である全体入力情報(3次元構造、圧力範囲、温度範囲)に対して固有IDを付与して、メモリ322又は補助メモリ323に格納する。固有IDを付与する方法の例は、UUIDである。
【0038】
部分入力情報は、原子間ポテンシャルの、教師データ(学習データ)の作成に用いる情報である。部分入力情報についてユーザが入力する情報は、解析対象の系の全体又は部分の3次元構造(元素、位置、境界条件)401、圧力範囲405、温度範囲407、学習のために計算するトラジェクトリ数、後述する処理119で用いる判定条件を含むことができる。例えば、全体の構造が化合物Aと化合物Bの2つの化合物を含む場合、部分構造の1つの例は化合物Aのみが配置された構造と化合物Bのみが配置された構造である。それぞれの部分構造での元素指定は、化合物Aを構成する元素もしくは全体の構造を構成する元素、化合物Bを構成する元素もしくは全体の構造を構成する元素となる。
【0039】
3次元構造を直接入力する代わりに、処理部320は、xyzフォーマットやcifフォーマットの構造ファイル名403の指定を受け付け、そのファイルを読み込むこともある。1又は複数の部分入力情報が入力され、例えば、入力された部分入力情報の各元素は全体入力情報の元素に含まれ、また、部分入力情報全体として全体入力情報の全ての元素を含む。
【0040】
圧力範囲405や温度範囲407は、全体入力の入力値を用いる時には入力しなくてもよい。部分入力の入力値が、全体入力の入力値と異なる場合には、部分入力の入力値が入力される。例えば、部分入力の温度範囲は、全体入力の温度範囲に包含される場合もあるが、全体入力の温度範囲を超える場合もある。全体入力の温度範囲が50K以上100K以下の場合、部分入力の温度範囲として、50K以下である場合もあり得、100K以上の場合もあり得る。
【0041】
判定条件は、例えば、学習のために計算する全体トラジェクトリのうち合格であるべきトラジェクトリの数、又は合格/全体の比率を含むことができる。また判定条件は、合否判定の検査項目(エネルギと構造、エネルギのみ、又は構造のみ)を含むことも可能である。学習データの合否判定について後述する。
【0042】
処理部320のプロセッサ321は、原子間ポテンシャル作成の教師データを指定する部分入力情報(3次元構造、圧力範囲、温度範囲、トラジェクトリ数、判定方法)に対して、固有IDを付与して、メモリ322や補助メモリ323に格納する。固有IDを付与する方法例としてUUIDがある。
【0043】
部分入力情報は複数個入力することもある。各部分入力で得られた組成409の中に、全体入力で得られた組成409の中に含まれない元素が存在する場合、部分入力情報として不適切である。処理部320は、適切なエラー表示を行い、ユーザに再入力と修正を促す。
【0044】
以上の入力作業により、解析対象の全体の情報及び部分の情報が、メモリ322や補助メモリ323に格納される。全体入力情報と部分入力情報により、解析対象の系に適切な原子間ポテンシャル及びその生成に必要学習データを示すことが可能となる。
【0045】
図2に戻って、処理103では、プロセッサ321は、メモリ322や補助メモリ323に格納された全体情報と部分情報を呼び出し、データベースでの検索で利用できるリクエスト情報に変換し、メモリ322や補助メモリ323に格納する。プロセッサ321は、格納したリクエスト情報を出力装置325で表示することができる。リクエスト情報は、全体入力情報から得られる元素リスト(元素のリスト)、全体情報、部分情報、及びこれらに付与されたすべての固有IDのリストを含んでもよい。
【0046】
処理105では、プロセッサ321は、リクエスト情報を、バス326を介してメモリ322や補助メモリ323から読み出し、ネットワークインタフェース327及びネットワーク310を経由して、3次データベース制御部305へ、原子間ポテンシャルの有無の問い合わせを行う。3次データベース制御部305は3次データベース205の中を検索する。
【0047】
図4は、1次データベース201、2次データベース203、及び3次データベース205に格納されている情報の例を示す。これらは、原子間ポテンシャル及び学習データセットを格納するデータベースセットである。
【0048】
1次データベース201は、N1個のレコード211を格納する。各レコード211は、学習データセット(検査前)222を格納する。各レコード211は、さらに、学習データセット計算パラメータ221及び進捗度231を格納する。進捗度231の例として検査の実施の有無が挙げられる。
【0049】
2次データベース203は、N2個のレコード213を格納する。各レコード213は、学習データセット(検査済)225を格納する。各レコード213は、さらに、学習データセット計算パラメータ223、検査条件と検査結果224、及び信頼度232を格納する。
【0050】
検査結果224の例としてデータセットの全データ数(トラジェクトリ数)に対する合格データ数(トラジェクトリ数)の比が挙げられる。信頼度232の例として原子間ポテンシャル作成に使われた回数と作成原子間ポテンシャルの使用回数やダウンロード回数が挙げられる。学習データセット計算パラメータ223には、パラメータ実体を格納するのではなく、対応する学習データセット計算パラメータ221への参照情報であってもよい。
【0051】
3次データベース205は、N3個のレコード215を格納する。各レコード215は、原子間ポテンシャル227を格納する。各レコード215は、さらに、ポテンシャル学習用パラメータ226と信頼度233を格納する。信頼度233の例としてポテンシャルの使用回数やダウンロード回数が挙げられる。
【0052】
このように、抽出したいデータと各種パラメータをセットでレコードとすることで、リクエスト情報に基づいた問い合わせに対する応答が可能になる。
【0053】
原子間ポテンシャルの有無の問い合わせでは、プロセッサ321は、リクエスト情報の持つ情報(全体入力情報の元素リスト、温度範囲、圧力範囲、全体情報に含まれる物質の構造情報)が、ポテンシャル学習用パラメータ226に含まれるかどうかを条件として問い合わせを行う。ポテンシャル学習用パラメータ226は、教師データレコードの情報、ポテンシャル生成用の機械学習パラメータ、構成元素、温度範囲、圧力範囲を含む。
【0054】
判定として、完全一致だけでなく、部分的な一致も利用可能なように、ポテンシャル開発者が調整可能である。構造情報は、例えばcifファイルフォーマットやXYZファイルフォーマットで記載されている情報であり、原子の元素と位置座標の対データのリストを含んだ情報である。
【0055】
原子間ポテンシャルが存在しない場合には(105:NO)、3次データベース制御部305は、処理109を実行する。ポテンシャルが存在した場合には(105:YES)、3次データベース制御部305は処理107を実行して、リクエスト情報に該当する原子間ポテンシャル227と信頼度233を処理部320へ返す。
【0056】
原子間ポテンシャルの有無の問い合わせでは、問い合わせリクエスト情報に含まれる全体入力情報の固有IDを活用することも可能 である。処理101-103により、リクエスト情報に含まれる全体入力情報には固有のIDが含まれている。
【0057】
ポテンシャル学習用パラメータ226には、学習に用いた教師データレコードの情報が含まれている。このレコード情報を用いて教師データ生成に対応したリクエスト情報を追跡することが可能である。この追跡を利用することで、ポテンシャル学習に関連した入力情報の固有IDの有無によって、迅速に該当ポテンシャルであるかの判定が可能である。
【0058】
問い合わせにおいて、固有IDの追跡で該当ポテンシャルを見つけられない場合には、3次データベース制御部305は、リクエスト情報の持つ情報とポテンシャル学習用パラメータ226に含まれる情報の比較により判定を行う。
【0059】
このリクエスト情報の持つ情報による比較による判定では、リクエスト情報の持つ情報(全体入力情報の元素リスト、温度範囲、圧力範囲、全体情報に含まれる物質の構造情報)と、ポテンシャル学習用パラメータ226に含まれる学習データセットレコード情報を用いて2次データベース203から読み出す学習データセット計算パラメータ223の中に含まれる、構造情報、温度範囲、圧力範囲を比較して、有無の判断を行う。判定基準は完全一致又は部分一致でもよく 、例えば、構造情報は一致するが、温度範囲、圧力範囲が異なる場合に、原子間ポテンシャルがあるとして判断してもよい。また、上記で部分一致の場合は完全一致よりも低い信頼度をユーザに提示し、ユーザの使用判断に有用な情報も提供することができる。
【0060】
機械学習ポテンシャルの生成に必要な学習データセットは、第一原理電子状態計算や第一原理分子動力学計算、量子化学計算といった、物質中の電子状態を計算する方法によって算出される。この計算を実行するための学習データセット計算パラメータ221は、全体入力情報あるいは部分入力情報から生成され、温度範囲、圧力範囲 、電子状態計算パラメータ、分子動力学実行パラメータで構成されている。
【0061】
得られた計算結果である学習データセット(検査前)222とセットにして1次データベース201に格納されている。その後、検査プロセスを経て、2次データベース203の中にレコード213の形態で格納されている。教師データの有無の判定の検索対象は、学習データセット計算パラメータ223である。2次データベース203の中に要求する機械学習ポテンシャルの生成に必要なデータセットが存在するかどうかの問い合わせは、リクエスト情報の全体あるいは一部を学習データセット計算パラメータ223が有するかどうかで確認する。
【0062】
処理109では、プロセッサ321は、リクエスト情報を、バス326を介してメモリ322や補助メモリ323から読み出し、ネットワークインタフェース327及びネットワーク310を経由して2次データベース制御部303へ、リクエスト情報を用いて機械学習ポテンシャルの生成に必要な学習データセットの有無の問い合わせを行う。2次データベース制御部303は、2次データベース203を検索する。
【0063】
学習データセットの有無の問い合わせでは、リクエスト情報の持つ情報(全体入力情報の元素リスト、温度範囲、圧力範囲、全体入力情報を構成する物質の構造情報、全体入力情報と部分入力情報の固有ID)に対応するまたは構成の一部に対応する学習データセット計算パラメータ223を含むレコードであるかの問い合わせを行う。リクエスト情報の部分入力情報や、全体入力情報を構成する物質の構造情報に含まれるかの判定は、原子の元素と原子位置の対データのリストデータ比較で行う。
【0064】
原子位置の誤差として0.1A以内は好適な1つの例であるが、この閾値は変更可能である。温度範囲は、例えば、リクエスト情報の持つ範囲内に収まっているか、それより低温側の条件であれば含まれると判定する。圧力範囲は、例えば、リクエスト情報の持つ範囲内に収まっているか、それより低圧の条件であれば含まれると判断する。この問い合わせにより1つ以上の学習データセットのレコードを取得する。
【0065】
学習データセットが全く存在しない場合には、リクエスト情報に基づいて処理115を実行する。リクエスト情報から要求される学習データセットの一部のみ存在しない場合には、不足分のリクエスト情報に基づいて処理115を実行する。例えば、リクエスト情報が示す元素、構造、温度範囲、圧力範囲の一部の学習データセットが存在しない場合がある。学習データセットが存在した場合には、2次データベース制御部303は、リクエスト情報に該当する学習データセット225と信頼度232を処理部320へ返す。
【0066】
処理部320のメモリ322にリクエスト情報に該当する学習データセット225が格納されると、プロセッサ321は、処理111を実行する。
【0067】
処理111では、プロセッサ321は、リクエスト情報及び学習データセット225からポテンシャル学習用パラメータ226を生成し、メモリ322に格納する。ポテンシャル学習用パラメータ226は、教師データレコードの情報、ポテンシャル生成用の機械学習パラメータ、構成元素、温度範囲、圧力範囲を含む。
【0068】
処理113では、プロセッサ321は、メモリ322や補助メモリ323に格納したポテンシャル学習用パラメータ226を用いて学習を実行し、原子間ポテンシャル227を作成する。プロセッサ321は、作成した原子間ポテンシャル227をネットワークインタフェース327及びネットワーク310を経由して3次データベース制御部305へ渡す。3次データベース制御部305は、3次データベース205に原子間ポテンシャル227を登録する。
【0069】
処理115では、プロセッサ321は、リクエスト情報を、バス326を介してメモリ322や補助メモリ323から読み出す。プロセッサ321は、リクエスト情報に格納された部分入力情報や全体入力情報が含む原子位置の情報に基づいて学習データセットの計算用パラメータを生成し、生成に用いた入力情報の固有IDとセットで学習データセット計算パラメータ221とする。プロセッサ321は、学習データセット計算パラメータ221をメモリ322に格納する。
【0070】
学習データセット計算パラメータ221は、構造情報、構造情報に関連したリクエスト情報の固有ID(全体、部分)、計算実行の温度および圧力、電子状態計算パラメータ、分子動力学実行パラメータ、計算するトラジェクトリ数、処理119で用いる判定条件を含む。
【0071】
処理117では、プロセッサ321は、学習データセット計算パラメータ221に基づいて、第一原理計算を実行し、学習データセット(検査前)222を生成し、メモリ322に格納する。プロセッサ321は、メモリ322に格納した学習データセットをネットワークインタフェース327及びネットワーク310を経由して1次データベース制御部301へ渡す。1次データベース制御部301は、1次データベース201に、学習データセット(検査前)222を登録する。
【0072】
このとき、当該の学習データセット(検査前)222と同じレコードに登録された学習データセット計算パラメータ221の中には、対応する部分入力情報の固有IDが埋め込まれている。
【0073】
処理119のデータ判定では、処理部320のプロセッサ321は、1次データベース201の中に登録された学習データセット(検査前)222を、1次データベース制御部301、ネットワーク310を経由して読み出し、メモリ322に格納する。プロセッサ321は、メモリ322に格納された学習データセット(検査前)を検査する。これにより、原子間ポテンシャルの生成(学習)により適した学習データを得ることができる。プロセッサ321は、学習データセット(検査前)に含まれる、エネルギ及び/又は構造(原子配置)に関する検査を行う。
【0074】
ユーザ入力101の部分入力において、処理119で用いる判定条件の中で検査項目をエネルギと構造とした場合の検査フローを説明する。
【0075】
検査はトラジェクトリ単位で行い、エネルギ検査、原子配置検査の順に行う。これらの内指定された一方のみが検査されることもある。エネルギ検査では1つのトラジェクトリにおいてエネルギの集団からの異常な飛びの有無を検査する。検査ではホテリング理論、k近傍法などの異常検知アルゴリズムを用いて検出する。用いるアルゴリズムは上記のみではなくその他のパラメトリック型の異常検知アルゴリズムも可能である。一定温度でのNVT計算における異常値の閾値としては1から2eVが適当である。エネルギ検査の結果はトラジェクトリ毎に出力される。異常ありの場合は、異常発生時刻のステップ値をトラジェクトリ毎に記録しておく。
【0076】
原子配置の検査では、1つのトラジェクトリにおいてトラジェクトリの終状態の構造に対して、時間ステップ毎の構造の位置残差のRMSD(平均二乗偏差)値もしくはRMSD値の時間微分値を用いて異常の有無を検査する。検査ではノンパラメトリックなKDE(Kernel Density Estimation)やGMM(Gaussian Mixture Model)を代表とする異常検知アルゴリズムを用いる。用いるアルゴリズムは上記のみではなくその他のノンパラメトリック型の異常検知アルゴリズムも可能である。
【0077】
一定温度でのNVT計算では、正常な計算は時刻ゼロの初期状態から終状態にむかって振動しながら緩やかに収束する。したがって、正常なNVT計算のトラジェクトリでは終状態構造を中心に広がった分布をしている。これに対して、初期値構造の不適切さなどから発生する異常状態はこの終状態とは異なる構造へと変化していく。このことから、統計的な有意差を示せるほど計算で用いる時間ステップ数が十分大きければ、ノンパラメトリックなKDEやGMMを用いた異常検知アルゴリズムが有効である。一定温度でのNVT計算における有効な時間ステップ数は500以上である。
【0078】
原子配置の検査で異常ありの場合は、異常発生時刻のステップ値をトラジェクトリ毎に記録しておく。
【0079】
パラメトリックに閾値を設定できる場合には、ホテリング理論、k近傍法を代表とする異常検知アルゴリズムを用いて検出することも可能である。
【0080】
以上の2つの検査が完了すると、1つのトラジェクトリに対して、エネルギに関する異常の有無と異常時刻ステップ値、原子配置に関する異常の有無と異常時刻ステップ値が得られる。この2つの異常時刻ステップ値が一致している場合、トラジェクトリの異常とみなす。
【0081】
ユーザ入力101の部分入力において、処理119で用いる判定条件の中で検査項目をエネルギのみとした場合の検査フローを説明する。検査はトラジェクトリ単位で行い、前述したエネルギ検査のみを行い、エネルギ検査の結果でトラジェクトリの異常を判定する。
【0082】
ユーザ入力101の部分入力において、処理119で用いる判定条件の中で検査項目を構造のみとした場合の検査フローを説明する。検査はトラジェクトリ単位で行い、前述した原子配置の検査のみを行い、原子配置の検査の結果でトラジェクトリの異常を判定する。
【0083】
以上に示したようにデータ判定によって、1つ1つのトラジェクトリに対して合格(異常なし)、不合格(異常あり)が判明する。
【0084】
学習データセット(検査前)の全データが合格の場合、処理121が実行される。学習データセット(検査前)の中で、合格データ数が閾値以上の場合、処理123が実行される。学習データセット(検査前)の中で、合格データ数が閾値以下の場合、処理125が実行される。検査に用いる閾値は、学習データセット計算パラメータ221の中に含まれている。
【0085】
処理121では、処理部320のプロセッサ321は、メモリ322に格納された学習データセットを、ネットワークインタフェース327及びネットワーク310を経由して2次データベース制御部303へ渡す。2次データベース制御部303は、学習データセットを2次データベース203の中に登録する。プロセッサ321は、1次データベース制御部301を経由して、当該の学習データセット222の対応する進捗度231を更新する。
【0086】
このとき、登録された学習データセット(検査済み)225と同じレコードに登録された学習データセット計算パラメータ223、学習データセット計算パラメータ221の中には対応する部分入力情報とその固有IDが含まれている。
【0087】
処理123では、プロセッサ321は、メモリ322に格納された学習データセットの中から、合格したデータのみを抽出して学習データセットを再構成してメモリ322に格納する。プロセッサ321は、メモリ322に格納された再構成された学習データセットを、ネットワークインタフェース327及びネットワーク310を経由して2次データベース制御部303へ渡す。2次データベース制御部303は、学習データセットを、2次データベース203に登録する。プロセッサ321は、1次データベース制御部301を経由して、当該の学習データセット222の対応する進捗度231を更新する。
【0088】
このとき、登録された学習データセット(検査済み)225と同じレコードに登録された学習データセット計算パラメータ223、学習データセット計算パラメータ221の中には対応する部分入力情報とその固有IDが含まれている。
【0089】
処理125では、プロセッサ321は、学習データセットを生成するために必要な情報の内容の一部又は全体を書き換えて、学習データセット計算パラメータ221を再生成してメモリ322に格納する。例として、学習データセット計算パラメータ221の書き換えでは、計算する温度または圧力 、電子状態計算パラメータ、分子動力学実行パラメータの中の一部のパラメータもしくは全ての変更を行う。
【0090】
第一原理バンド計算を、学習データセットを生成する方法として用いた場合には、電子状態計算パラメータの例として、平面波カットオフエネルギー、逆格子空間ベクトルのサンプリング条件、電子状態密度の計算方法の選択と付随するパラメータなどがある。分子動力学実行パラメータでは、動力学アルゴリズムの選択と付随するパラメータである。このとき、最初に格納した部分入力情報とその固有IDはそのまま保持する。再生成した学習データセット計算パラメータ221を用いて、処理117を実行する。
【0091】
処理107では、処理部320のプロセッサ321は、受け取った原子間ポテンシャル227と信頼度233を出力装置325で出力する。出力の表示例は図3又は図5に示されている。
【0092】
図3は、解析対象に関する入力情報のセクション481と、3次データベースの原子間ポテンシャルとその信頼度を示すセクション482、2次データベースの学習データセットとその信頼度を示すセクション483、1次データベースの学習データセットとその信頼度を示すセクション484、表示画面例を示す。入力情報のセクション481及び3次データベースのセクション482は、主に、原子間ポテンシャルのユーザが使用する。2次データベースのセクション483及び3次データベースのセクション484は、原子間ポテンシャルのユーザの他、システム管理を行うユーザにより使用され得る。
【0093】
この表示例では、リクエスト情報の元となる入力情報、生成結果である原子間ポテンシャルの情報と途中過程の重要情報である学習データセットの情報を俯瞰的に知ることが出来る。使用した学習データといった詳細な生成状況の情報も表示されるので、原子間ポテンシャル開発者にとって有用な表示である。
【0094】
図3に示す表示画面例において、入力情報のセクション481の各情報は、上述の通りである。3次データベースのセクション482は、クエリ実行ボタン411、ポテンシャル利用ボタン413、及び該当するポテンシャルと信頼度の情報を含む。入力情報481の入力後、クエリ実行ボタン411が選択されると、上記原子間ポテンシャルの検索が実行される。検索結果の情報として、原子間ポテンシャルと信頼度の情報が表示421される。
【0095】
ポテンシャル利用ボタン413を用いることで、原子間ポテンシャルをファイル形式又は、ファイル集合の形式、ファイル集合を含んだ1つ又は複数のディレクトリの形式で、無圧縮又は圧縮された方法でダウンロードすることができる。また、原子間ポテンシャルをファイル形式又は、ファイル集合の形式、ファイル集合を含んだ1つ又は複数のディレクトリの形式として書き出し、これを電子メールにて送付することもできる。さらには、データベースから直接原子間ポテンシャルの電子的情報をダウンロードすることを可能にするトークンを発行し、ユーザに提供することも可能である。
【0096】
2次データベースのセクション483は、クエリ実行ボタン411、学習実行ボタン416、及び該当する学習データセットと信頼度の情報423、ポテンシャル学習用パラメータ431を含む。入力情報481の入力後、クエリ実行ボタン411が選択されると、2次データベース203の検索が実行される。学習実行ボタン416は、選択された学習データによる原子間ポテンシャルの学習の実行を指示する。該当する学習データセットと信頼度の情報423、ポテンシャル学習用パラメータ431は、それぞれの情報を表示する。
【0097】
1次データベースのセクション484は、クエリ実行ボタン411、検査実行ボタン426、該当する1次データセットの進捗度425及び学習データセット計算パラメータ433を含む。入力情報481の入力後、クエリ実行ボタン411が選択されると、1次データベース201の検索が実行される。検査実行ボタン426は、1次データベース201の学習データの検査実行を指示する。該当する1次データセットの進捗度425及び学習データセット計算パラメータ433は、それぞれの情報を表示する。
【0098】
一方、解析対象を古典MD(Molecular Dynamics)によって計算することが主眼のユーザにとって、学習データといった詳細な情報は必ずしも必要な表示データではない。特に信頼度511が高いポテンシャルは学習データといった詳細な情報に立ち入った確認の頻度は低い。そこで、図5は、より簡易で利便性を測った表示例を示す。図5は、解析対象に関する入力情報のセクション481と、原子間ポテンシャルとその信頼度に関するセクション482のみの表示画面例である。
【0099】
図6図3に示す原子間ポテンシャルと信頼度の情報の表示421の詳細表示の例である。ここでは、4つの原子間ポテンシャルが列挙されており、チェックボックス531が選択されている。これはユーザが利用することを示している。ポテンシャルの名称や付帯条件501の中に詳細ボタン521がある。詳細ボタン521をクリックすることで、学習に用いたポテンシャル学習用パラメータが表示される。信頼度511ではポテンシャルの信頼度233を表す記号を表示する。ユーザは、信頼度を参照することで、より適切なポテンシャルを選択できる。
【0100】
図7図3に示す検査後学習データセットと信頼度の情報の表示423の詳細表示例である。ここでは、図7のチェックボックス531で選択された原子間ポテンシャルの作成に用いた学習データセット(検査後)が表示されている。名称、付帯情報502の中に詳細ボタン522がある。詳細ボタン522をクリックすることで、学習データセット計算パラメータが表示される。信頼度512では学習データセットの信頼度232を表す記号を表示する。ユーザは、信頼度を参照することで、より適切な学習データセットを選択できる。
【0101】
図8図3に示す検査前学習データセットと進捗度425の情報の表示の詳細表示例である。ここでは、入力情報に対応したリクエスト情報から派生した検査前学習データセットの名称と付帯情報503を表示する。進捗度513は検査の状況を示し、ここでは完了、未完を主とする進捗度231を表す記号を表示する。進捗度により、ユーザが学習データの検査情報を把握することができる。
【0102】
図9は処理内容を主処理部350、入出力機能部352と処理部320を用いて分散処理させた場合の機能ブロック図である。入出力機能部352は1つのみ記載されているが、入出力機能部352を複数設置し、複数のユーザからの大量の解析課題を受け付けてもよい。
【0103】
入出力機能部352にて処理101を実行し、入出力機能部352のメモリ322や補助メモリ323に入力情報が格納される。格納された情報はネットワークインタフェース327及びネットワーク310を経由して主処理部350のメモリ322や補助メモリ323に共有する場合もある。
【0104】
処理103は入出力機能部352または主処理部350のいずれかで実行され、リクエスト情報は入出力機能部352と主処理部350のメモリ322や補助メモリ323の中で共有する。
【0105】
原子間ポテンシャルの有無の問い合わせ処理である処理105は主処理部350で実行される。処理105では、プロセッサ321はリクエスト情報を、バス326を介してメモリ322や補助メモリ323から読み出す。プロセッサ321は、ネットワークインタフェース327及びネットワーク310を経由して3次データベース制御部305へ、原子間ポテンシャルの有無の問い合わせを行う。3次データベース制御部305は3次データベース205を検索する。
【0106】
ポテンシャルが存在しない場合には、主処理部350は、処理109を実行する。ポテンシャルが存在した場合には、主処理部350は、リクエスト情報に該当する原子間ポテンシャル227と信頼度233を入出力機能部352へ渡し、処理107を実行する。
【0107】
処理111と処理113は処理部クラスタ360に格納された処理部320で実行する。処理部320は、実行結果の原子間ポテンシャルをネットワークインタフェース327及びネットワーク310を経由して3次データベース制御部305へ渡し、3次データベース205の中に登録される。登録後、処理部320から主処理部350へ実行終了の信号をネットワーク310経由で伝達する。
【0108】
複数又は一人のユーザからの複数の解析対象の入力があった場合、複数の入力情報と複数のリクエスト情報が、主処理部350のメモリ322や補助メモリ323の中に格納されている。このような状況において、原子間ポテンシャルの生成処理111と処理113を主処理部とは別の複数の処理部320で実行することで、効率的な分散処理を実現することができる。また、この構成であれば、定常的に入力される解析対象の数や解析の規模などに合わせて、処理部クラスタ360に配置する処理部320の数が調整可能であり、適切な計算リソースの管理が容易になる。
【0109】
処理111と処理113の実行終了の信号を受け取った主処理部350では、処理105を実行し、該当するポテンシャルを受け取る。その後、処理107を入出力機能部352で実行し、原子間ポテンシャル227と信頼度233を出力装置325から出力する。
【0110】
同様に処理115、処理117も処理部クラスタ360に格納された処理部320で実行する。実行結果の検査前の学習データセットはネットワークインタフェース327及びネットワーク310を経由して1次データベース制御部301へ渡し、1次データベース201の中に登録される。登録後、処理部320から主処理部350へ実行終了の信号をネットワーク310経由で伝達する。
【0111】
処理115と処理117の実行終了の信号を受け取った主処理部350は、該当する1次データベース201に登録された学習データセット(検査前)222に対する検査に必要な情報を処理部320に渡し、処理部320で処理119を実行する。
【0112】
処理119では、処理部320は、1次データベース201の中に登録された学習データセット(検査前)222を、1次データベース制御部301、ネットワーク310を経由して、処理部320の中へ読み出し、メモリ322に格納する。メモリ322に格納された学習データセット(検査前)を検査する。
【0113】
学習データセット(検査前)の全データが合格の場合、引き続き処理部320で処理121を実行する。学習データセット(検査前)の中で、合格データ数が閾値以上の場合、引き続き処理部320で処理123を実行する。学習データセット(検査前)の中で、合格データ数が閾値以下の場合、引き続き処理部320で処理125を実行する。
【0114】
処理121では、処理部320は、メモリ322に格納された学習データセットを、ネットワークインタフェース327及びネットワーク310を経由して2次データベース制御部303へ渡し、2次データベース203の中に登録する。1次データベース制御部301を経由して、当該の学習データセット222の対応する進捗度231を更新する。その後、処理部320から主処理部350へ実行終了の信号をネットワーク310経由で伝達する。
【0115】
処理123では、処理部320は、メモリ322に格納された学習データセットの中から、合格したデータのみを抽出して学習データセットを再構成してメモリ322に格納する。メモリ322に格納された再構成された学習データセットを、ネットワークインタフェース327及びネットワーク310を経由して2次データベース制御部303へ渡し、2次データベース203の中に登録する。1次データベース制御部301を経由して、当該の学習データセット222の対応する進捗度231を更新する。その後、処理部320から主処理部350へ実行終了の信号をネットワーク310経由で伝達する。
【0116】
処理125では、処理部320は、学習データセットを生成するために必要な情報の内容の一部又は全体を書き換えて、メモリ322に格納する。例として、学習データセット計算パラメータ221の書き換えでは、計算する温度または圧力 、電子状態計算パラメータ、分子動力学実行パラメータの中の一部のパラメータもしくは全ての変更を行う。第一原理バンド計算を、学習データセットを生成する方法として用いた場合には、電子状態計算パラメータの例として、平面波カットオフエネルギー、逆格子空間ベクトルのサンプリング条件、電子状態密度の計算方法の選択と付随するパラメータなどがある。
【0117】
分子動力学実行パラメータでは、動力学アルゴリズムの選択と付随するパラメータである。格納した新しい学習データセットを生成するために必要な情報を用いて、処理117の実行準備を行い、必要なパラメータと実行終了の信号をネットワーク310経由で主処理部350へ伝達する。
【0118】
処理121、処理123の実行終了の信号を受け取った主処理部350は、該当する学習データセット(検査済)が2次データベースにあることを確認し、問題が無い場合には、処理111を行い、学習に必要なパラメータを生成する。学習データセット(検査済)が不足している状態の場合には、一旦中断し、他の学習データセット(検査済)の処理121、処理123の実行終了の信号を待機し、実行終了の信号を受け取り次第、処理を再開する。
【0119】
主処理部350での処理111が完了し、ポテンシャル生成に必要なパラメータが揃ったら、パラメータを処理部320に渡し、処理113を処理部320で実行する。実行結果の原子間ポテンシャルはネットワークインタフェース327及びネットワーク310を経由して3次データベース制御部305へ渡し、3次データベース205の中に登録される。登録後、処理部320から主処理部350へ実行終了の信号をネットワーク310経由で伝達する。
【0120】
処理125の実行終了の信号を受け取った主処理部350は、処理125で生成された再計算パラメータを処理部320に渡し、処理部320で処理117を実行する。
【0121】
上述のように、本明細書の実施例によれば、解析対象と正しく関連した学習データセットを生成又は収集しているか、学習データセットに基づいて正しく原子間ポテンシャルを生成したか、生成した原子間ポテンシャルは正しく使用されているか、この3つの情報をポテンシャル開発者とポテンシャル利用者の双方で適切に共有することができる。例えば、対象原子間ポテンシャルの信頼度や進捗度をポテンシャルユーザ及びシステム管理者が把握しながら、原子間ポテンシャルの作成、管理、使用を行うことができる。
【0122】
本明細書の実施例によれば、学習データセットの構築において高い専門的経験を使用せずに、ポテンシャルユーザが指定する解析対象の分子動力学シミュレーションを実行するために必要な原子間ポテンシャルを作成することが可能となり、高精度のシミュレーションの実行が可能な環境が実現される。
【0123】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明のより良い理解のために詳細に説明したのであり、必ずしも説明の全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることが可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【0124】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によってハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによってソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、不揮発性半導体メモリ、ハードディスクドライブ、SSD(Solid State Drive)等の記憶デバイス、または、ICカード、SDカード、DVD等の計算機読み取り可能な非一時的データ記憶媒体に格納することができる。
【0125】
また、制御線及び情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線及び情報線を示しているとは限らない。実際にはほとんど全ての構成が相互に接続されていると考えてもよい。
【符号の説明】
【0126】
201 1次データベース
203 2次データベース
205 3次データベース
320 処理部
321 プロセッサ
322 主メモリ
323 補助メモリ
481 入力情報セクション
図1
図2
図3
図4
図5
図6
図7
図8
図9