(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-11-27
(45)【発行日】2023-12-05
(54)【発明の名称】訓練装置、訓練方法、プログラム及び推論装置
(51)【国際特許分類】
G16C 20/70 20190101AFI20231128BHJP
【FI】
G16C20/70
(21)【出願番号】P 2023524992
(86)(22)【出願日】2022-06-10
(86)【国際出願番号】 JP2022023523
(87)【国際公開番号】W WO2022260179
(87)【国際公開日】2022-12-15
【審査請求日】2023-04-20
(31)【優先権主張番号】P 2021098304
(32)【優先日】2021-06-11
(33)【優先権主張国・地域又は機関】JP
【早期審査対象出願】
(73)【特許権者】
【識別番号】515130201
【氏名又は名称】株式会社Preferred Networks
(74)【代理人】
【識別番号】100120031
【氏名又は名称】宮嶋 学
(74)【代理人】
【識別番号】100118876
【氏名又は名称】鈴木 順生
(74)【代理人】
【識別番号】100202429
【氏名又は名称】石原 信人
(72)【発明者】
【氏名】品川 幾
(72)【発明者】
【氏名】高本 聡
(72)【発明者】
【氏名】倉田 伊織
【審査官】塩田 徳彦
(56)【参考文献】
【文献】国際公開第2021/054402(WO,A1)
【文献】特開平05-089074(JP,A)
【文献】特開2003-303313(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G16C 10/00-99/00
(57)【特許請求の範囲】
【請求項1】
1又は複数のメモリと、
1又は複数のプロセッサと、
を備え、
前記1又は複数のプロセッサは、
表面及び当該表面に近接した吸着分子を含む第1原子構造を訓練対象モデルに入力して当該訓練対象モデルから出力される前記第1原子構造のエネルギーと、前記第1原子構造のエネルギーの正解値と、に基づいて第1誤差を取得し、
クラスタ及び当該クラスタに近接した吸着分子を含む第4原子構造を前記訓練対象モデルに入力して当該訓練対象モデルから出力される前記第4原子構造のエネルギーと、前記第4原子構造のエネルギーの正解値と、に基づいて第4誤差を取得し、
少なくとも前記第1誤差及び前記第4誤差に基づいて、
当該第1誤差及び当該第4誤差のそれぞれを減らすように前記訓練対象モデルのパラメータを更新し
て前記訓練対象モデルを訓練し、
前記表面および前記クラスタは、同一原子を含む、
訓練装置。
【請求項2】
前記クラスタの原子構造の有する原子数は、前記表面の原子構造の有する原子数よりも少ない、
請求項1に記載の訓練装置。
【請求項3】
前記1又は複数のプロセッサは、さらに、
吸着分子の第2原子構造を前記訓練対象モデルに入力して当該訓練対象モデルから出力される前記第2原子構造のエネルギーと、前記第2原子構造のエネルギーの正解値と、に基づいて第2誤差を取得し、
前記第2誤差に基づいて、前記訓練対象モデルのパラメータを更新する、
請求項1に記載の訓練装置。
【請求項4】
前記1又は複数のプロセッサは、さらに、
前記表面の第3原子構造を前記訓練対象モデルに入力して当該訓練対象モデルから出力される前記第3原子構造のエネルギーと、前記第3原子構造のエネルギーの正解値と、に基づいて第3誤差を取得し、
前記第3誤差に基づいて、前記訓練対象モデルのパラメータを更新する、
請求項1に記載の訓練装置。
【請求項5】
前記1又は複数のプロセッサは、さらに、
前記クラスタに関する第5原子構造を前記訓練対象モデルに入力して当該訓練対象モデルから出力されるエネルギーと、前記第5原子構造のエネルギーの正解値と、に基づいて第5誤差を取得し、
前記第5誤差に基づいて、前記訓練対象モデルのパラメータを更新する、
請求項1に記載の訓練装置。
【請求項6】
前記1又は複数のプロセッサは、
原子構造について、前記訓練対象モデルから出力された当該原子構造のエネルギーと、当該原子構造のエネルギーの正解値と、の差を、当該原子構造に含まれる原子数又は原子数の2乗で除算して誤差を算出する、
請求項1に記載の訓練装置。
【請求項7】
原子構造のエネルギーの正解値は、当該原子構造について量子化学計算を実行して取得される、
請求項1に記載の訓練装置。
【請求項8】
前記量子化学計算は、第一原理計算である、
請求項7に記載の訓練装置。
【請求項9】
前記第一原理計算は、密度汎関数法、ハートリーフォック法又はメラープレセット法を使った計算である、
請求項8に記載の訓練装置。
【請求項10】
前記訓練対象モデルは、原子間ポテンシャルを表すためのニューラルネットワークモデルである、
請求項1に記載の訓練装置。
【請求項11】
前記第1原子構造に含まれる吸着分子と前記第4原子構造に含まれる吸着分子とは同一である、請求項1に記載の訓練装置。
【請求項12】
前記表面および前記クラスタに含まれる前記同一原子とは、同一の元素記号の原子のことである、請求項1に記載の訓練装置。
【請求項13】
請求項1から請求項12のいずれかに記載の訓練装置を用いて前記訓練対象モデルを訓練することで訓練済みモデルを生成する方法。
【請求項14】
訓練対象モデルのパラメータを更新して訓練済みモデルを生成する方法であって、
1又は複数のプロセッサにより、
表面及び当該表面に近接した吸着分子を含む第1原子構造を前記訓練対象モデルに入力して当該訓練対象モデルから出力される前記第1原子構造のエネルギーと、前記第1原子構造のエネルギーの正解値と、に基づいて第1誤差を取得する工程と、
クラスタ及び当該クラスタに近接した吸着分子を含む第4原子構造を前記訓練対象モデルに入力して当該訓練対象モデルから出力される前記第4原子構造のエネルギーと、前記第4原子構造のエネルギーの正解値と、に基づいて第4誤差を取得する工程と、
少なくとも前記第1誤差及び前記第4誤差に基づいて、
当該第1誤差及び当該第4誤差のそれぞれを減らすように前記訓練対象モデルのパラメータを更新
して前記訓練対象モデルを訓練する工程と、
を有し、
前記表面および前記クラスタは、同一原子を含む、
方法。
【請求項15】
表面及び当該表面に近接した吸着分子を含む第1原子構造を訓練対象モデルに入力して当該訓練対象モデルから出力される前記第1原子構造のエネルギーと、前記第1原子構造のエネルギーの正解値と、に基づいて第1誤差を取得する工程と、
クラスタ及び当該クラスタに近接した吸着分子を含む第4原子構造を前記訓練対象モデルに入力して当該訓練対象モデルから出力される前記第4原子構造のエネルギーと、前記第4原子構造のエネルギーの正解値と、に基づいて第4誤差を取得する工程と、
少なくとも前記第1誤差及び前記第4誤差に基づいて、
当該第1誤差及び当該第4誤差のそれぞれを減らすように前記訓練対象モデルのパラメータを更新
して前記訓練対象モデルを訓練する工程と、
を有する方法であって、
前記表面および前記クラスタは、同一原子を含む、前記方法を、1又は複数のプロセッサに実行させるためのプログラム。
【請求項16】
1又は複数のメモリと、
1又は複数のプロセッサと、
を備え、
前記1又は複数のプロセッサは、
入力された原子構造のエネルギーを出力する訓練済みモデルに、表面及び当該表面に近接した吸着分子を含む第1原子構造、前記吸着分子の第2原子構造、前記表面の第3原子構造のそれぞれを入力し、
前記吸着分子の前記表面に対する吸着エネルギーは、前記訓練済みモデルから出力される、前記第1原子構造、前記第2原子構造、前記第3原子構造のそれぞれのエネルギーに基づいて計算され、
前記訓練済みモデルは、
表面及び当該表面に近接した吸着分子を含む原子構造を訓練対象モデルに入力して当該訓練対象モデルから出力される当該原子構造のエネルギーと、当該原子構造のエネルギーの正解値と、に基づいて誤差を取得する工程と、クラスタ及び当該クラスタに近接した吸着分子を含む原子構造を前記訓練対象モデルに入力して当該訓練対象モデルから出力される当該原子構造のエネルギーと、当該原子構造のエネルギーの正解値と、に基づいて誤差を取得する工程と、
少なくとも当該2つの誤差に基づいて、
当該2つの誤差のそれぞれを減らすように前記訓練対象モデルのパラメータを更新
して前記訓練対象モデルを訓練する工程と、を有し、当該表面および当該クラスタは、同一原子を含む、方法によって訓練された当該訓練対象モデルである、
推論装置。
【請求項17】
前記訓練対象モデルの訓練において、前記クラスタの原子構造の有する原子数は、前記表面の原子構造の有する原子数よりも少ない、
請求項16に記載の推論装置。
【請求項18】
前記訓練済みモデルは、入力された原子構造を構成する各原子に働く力を計算可能であり、
前記1又は複数のプロセッサは、
前記訓練済みモデルに、前記第1原子構造を入力して計算した力に基づいて、前記第1原子構造を最適化し、
前記吸着エネルギーの計算のために、前記訓練済みモデルに、最適化した前記第1原子構造を入力する、
請求項16に記載の推論装置。
【請求項19】
前記1又は複数のプロセッサは、
前記第1原子構造の最適化を繰り返し実行する、
請求項18に記載の推論装置。
【請求項20】
前記吸着エネルギーは、前記訓練済みモデルから出力された前記第2原子構造のエネルギー及び前記第3原子構造のエネルギーの和から、前記訓練済みモデルから出力された前記第1原子構造のエネルギーを減算することで計算される、
請求項16に記載の推論装置。
【請求項21】
前記訓練済みモデルは、原子間ポテンシャルを表すためのニューラルネットワークモデルである、
請求項16に記載の推論装置。
【請求項22】
前記表面および前記クラスタに含まれる前記同一原子は、同一の元素記号の原子のことである、請求項16から請求項21のいずれかに記載の推論装置。
【請求項23】
前記訓練対象モデルのパラメータの前記更新は、誤差逆伝播法を用いて行われる、請求項1に記載の訓練装置、請求項14に記載の方法、請求項15に記載のプログラム、又は、請求項16に記載の推論装置。
【請求項24】
前記第1原子構造及び前記第4原子構造は、所定の境界条件を用いて記述される、請求項1に記載の訓練装置、請求項14に記載の方法、請求項15に記載のプログラム、又は、請求項16に記載の推論装置。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、訓練装置、訓練方法、プログラム及び推論装置に関する。
【背景技術】
【0002】
吸着エネルギーは、分子が表面に吸着することにより安定化するエネルギーの量である。具体的には、 (表面 + 分子)のエネルギーE(slab + molecule) と、 (表面)のエネルギーE(slab) + (分子単体)のエネルギーE(molecule) との差により吸着エネルギーが算出される。吸着エネルギーを再現できるNNP(Neural Network Potential)を生成するための手法があり、この手法では、表面 + 分子に対してDFT(Density Functional Theory)計算を行ったデータセットとモデルを公開している。吸着エネルギーは、表面だけではなく、クラスタに対しても定義でき、これを再現できるNNPを生成する取り組みも行われている。
【0003】
しかしながら、吸着エネルギーは、1[eV]といった小さい値である。NNPをはじめとした機械学習で学習しようとする場合、系全体のエネルギーの予測誤差に対してこの吸着エネルギーの値が小さい。このため、誤差逆伝播において、吸着エネルギーを誤差と判別すること、ひいては、この吸着エネルギーに対する学習を行うことは、困難な場合がある。
【先行技術文献】
【非特許文献】
【0004】
【文献】L. Chanussot, et. al., “Open Catalyst 2020 (OC20) Dataset and Community Challenges,” ACS Catal., 2021, 11, 10, 6059-6072, https://pubs.acs.org/doi/10.1021/acscatal.0c04525
【文献】L. Chanussot, et. al., “Open Catalyst 2020 (OC20) Dataset and Community Challenges,” arXiv:2010.09990, March 16, 2021, https://arXiv.org/abs/20210.09990v3
【発明の概要】
【発明が解決しようとする課題】
【0005】
本開示によれば、エネルギーを推論する推論装置、そして、この推論装置に用いるNNPのモデルを訓練する訓練装置が提供される。
【課題を解決するための手段】
【0006】
一実施形態によれば、訓練装置は、1又は複数のメモリと、1又は複数のプロセッサと、を備える。前記1又は複数のプロセッサは、表面及び当該表面に近接した吸着分子の第1原子構造を訓練対象モデルに入力して当該訓練対象モデルから出力される前記第1原子構造のエネルギーと、前記第1原子構造のエネルギーの正解値と、に基づいて第1誤差を取得し、クラスタ及び当該クラスタに近接した吸着分子の第4原子構造を前記訓練対象モデルに入力して当該訓練対象モデルから出力される前記第4原子構造のエネルギーと、前記第4原子構造のエネルギーの正解値と、に基づいて第4誤差を取得し、前記第1誤差及び前記第4誤差に基づいて、前記訓練対象モデルのパラメータを更新する。前記表面および前記クラスタは、同一原子を含む。
【図面の簡単な説明】
【0007】
【
図1】原子構造を表現するユニットセルの一例を示す図。
【
図5】一実施形態に係る推論装置を模式的に示す図。
【
図6】一実施形態に係る推論装置の処理を示すフローチャート。
【
図7】一実施形態に係る訓練装置を模式的に示す図。
【
図10】分子とクラスタの原子構造の一例を示す図。
【
図11】一実施形態に係る訓練装置の処理を示すフローチャート。
【
図14】一実施形態に係るハードウェア実装例を示す図。
【発明を実施するための形態】
【0008】
実施形態の説明前に前提となる知識等の説明をする。
【0009】
エネルギーは示量性であり、例えば、H2Oの2分子のエネルギーは、H2Oの1分子のエネルギーの2倍である。また、エネルギーは、概ね原子数に比例する。系全体のエネルギーが低い方が安定状態であり、原則的にエネルギーが低くなるように、原子は動く。このため、エネルギーがより高い状態は、低い状態と比較して発生しづらくなる。
【0010】
エネルギーの座標微分は、力である。このため、エネルギーが求められると、各原子に働く力を取得することができる。
【0011】
上記より、原子構造を定義し、当該原子構造に対するエネルギーが取得できると、各原子における力を取得することが可能であり、この力に基づいて原子の位置を調整することで、安定状態(又は準安定状態)である原子構造を取得することができる。
【0012】
原子間ポテンシャル(原子間の相互作用ポテンシャルエネルギー)は、原子の配置からエネルギーを求める関数であり、力場とも呼ばれる。この関数は、一般的に人工的な関数である。MD(分子動力学: Molecular Dynamics)シミュレーションをする上での支配方程式に相当する関数である。計算科学手法と組み合わせることで、種々の物性を計算することができる。原子数がN個の場合、N個の3次元座標とN個の元素情報により指定される原子構造から、エネルギー値を取得することができる。このエネルギーを3次元座標で微分すれば、原子に働く力がN個の3次元座標として取得できる。
【0013】
NNP(Neural Network Potential)は、原子間ポテンシャルをニューラルネットワークモデルにより近似的に表したものである。ニューラルネットワークモデルは、グラフ情報を扱うことができるグラフニューラルネットワーク、グラフ畳み込みニューラルネットワークであってもよいが、これに限定されるものではない。上記の原子構造からエネルギーを求める関数を機械学習により形成するため、回帰問題となる。このNNPのニューラルネットワークモデルについて、原子構造を順伝播した後にエネルギーを逆伝播することで、各原子についての力を取得することができる。
【0014】
DFT(Density Functional Theory: 密度汎関数理論)とは、原子の配置(原子構造)から波動関数ψ(x)で示される電子の状態を求める手法の1つである。電子の状態から、エネルギー(又は力)を取得することもできる。DFTに基づく計算(DFT計算、密度汎関数法を使った計算ともいう)をすることにより、N個の3次元座標及びN個の元素情報を電子状態に変換し、この電子状態からエネルギー、力を取得することができる。原子間ポテンシャルの作成に用いられるが、計算コストが大きい。計算コストを無視するのであれば、原子間ポテンシャルの代わりに、このDFTを用いることができる。このため、DFT計算によりNNPにおけるニューラルネットワークモデルの教師データを生成することができる。
【0015】
吸着エネルギーは、固体表面に分子等が吸着する際のエネルギーの変化のことであり、固体表面と分子等との相互作用の大きさに相当する量である。本開示においては、E(molecule)を分子のエネルギー、E(slab)を表面のエネルギー、E(molecule + slab)を分子及び表面のエネルギーとして、以下の式により吸着エネルギーΔE
adsorpを表す。
【数1】
吸着エネルギーには、文献により負で表されたり、絶対値で表されたりするが、本開示においては、式(1)で吸着エネルギーを定義し、吸着エネルギーは、原則的に正の値をとるものとする。負の値である場合には、より安定した吸着状態があると考えられるため、原子構造を最適化した後に訓練に反映したり、推論し直したりしてもよい。
【0016】
DFTに用いる原子構造、例えば、NNPに入力する原子構造は、周期境界条件により記述されることがある。例えば、結晶の構造は、繰り返しの単位となるユニットセルの原子構造に対して、周期境界条件を付与することにより記述される。
【0017】
図1は、一例としてPt(白金)のユニットセルを模式的に示す図である。点線で示す立方体がユニットセルの領域を示し、実線で示す球がPt原子を示す。Ptは、面心立方格子の構造を有するため、安定構造ではこの
図1に示すような配置となる。なお、図においては、原子を示す領域の一部がセルの領域を飛び出しているが、実際にはPt原子の位置を示せばよいため、演算に影響を与えることはない。
【0018】
sx、sy、szは、ユニットセルの各軸の長さを示す。
図1の状態であれば、sx、sy、szは、Ptの単位格子の大きさと一致しているが、これに限定されるものではなく、後述するように、種々の状況を定義してDFT演算及びNNPによるDFT演算の推論を実行するために、適切に定義される。
【0019】
図2は、
図1のユニットセルを、例えば、3 × 3 × 3組み合わせた原子構造を示す。この図は、ユニットセルを周期境界条件で並べたPt原子の一部を切り出したものとなる。
【0020】
ユニットセルの大きさと形状は、各軸の長さと、各軸同士のなす角度で表現することができる。
図1のユニットセルの各軸の長さは(sx, sy, sz)と3次元の量により表現される。同様に、
図1のユニットセルは、立方晶であることから、各軸のなす角度は(π/2, π/2, π/2)と3次元の量により表現される。表現したい結晶構造に応じてユニットセルの各軸の長さおよび各軸同士のなす角度が決定される。
【0021】
原子構造は、周期境界条件を用いると、原子構造に含まれる原子の個数nに対して、n × (座標(3次元), 元素(1次元))と、周期境界条件を記述する(角度(3次元), 長さ(3次元))を用いて記述される。周期境界条件を指定すると、例えば、
図1のユニットセルが無限回繰り返される原子構造を定義することができる。
【0022】
一方で、自由境界条件として、繰り返しがない状態を記述することができる。後述のクラスタに関する原子構造の記述は、この自由境界条件として設定してもよいし、NNPにおける演算の複雑度を削減するために、十分に他の分子等からの影響を排除できる程度の大きさのユニットセルを定義した周期境界条件としてもよい。本開示においては、原則的に、周期境界条件を設定した訓練及び推論を行うが、上述したように、この境界条件は限定されるものではなく、適切にそれぞれの状態が記述できるのであれば、いずれの境界条件を設定してもよい。
【0023】
図3は、表面を周期境界条件として表現する一手法(slabモデル)を示す図である。ユニットセルとして、例えば、下方に上述したような単位格子の集まりから構成される構造を設定し、上方を真空状態とする。このように設定すると、金属、結晶等の表面形状を適切に表現することが可能なモデルを生成することができる。
【0024】
図4は、
図3の構造を2 × 2繰り返した原子構造を示す図である。この
図4に示されるように、
図3の構造について周期境界条件を用いて記述することで、表面を有する物質と、真空層とが交互に繰り返される原子構造を表現することができる。真空の層の厚さを十分に大きく(例えば15Å~)とすることで、表面の近傍(例えば5Å以下)に配置される分子が、他の表面構造に影響を受けない程度の原子構造を記述することができる。
【0025】
以上の表現等を用いて、図面を参照して本開示における実施形態について説明する。図面及び実施形態の説明は一例として示すものであり、本発明を限定するものではない。
【0026】
(推論装置)
図5は、一実施形態に係る推論装置1を模式的に示すブロック図である。推論装置1は、入力部100と、記憶部102と、構造最適化部104と、推論部106と、エネルギー演算部108と、出力部110と、を備える。推論装置1は、訓練済みモデルNN1をもちいて、例えば吸着エネルギーを推論する。
【0027】
訓練済みモデルNN1は、上述のNNPに用いるニューラルネットワークモデルであり、原子構造を入力すると、エネルギーを出力するモデルである。入力は、上述したように、例えば、原子構造に含まれる原子数 × (元素(1) + 座標(3)) + 周期境界条件(角度(3) + 長さ(3))次元のデータである。例えば、この訓練済みモデルNN1は、グラフの処理が可能なグラフニューラルネットワークモデルの一種であってもよいし、この他の任意のニューラルネットワークモデルであってもよい。なお、訓練済みモデルNN1は、境界条件を周期境界条件であると固定した上での推論を実行するモデルであってもよい。
【0028】
一例として、訓練済みモデルNN1は、量子化学計算により、原子構造から物性値を取得するニューラルネットワークモデルとして形成されたモデルである。この訓練済みモデルNN1は、量子化学計算として第一原理計算による結果を出力するモデルであってもよい。また、この訓練済みモデルNN1は、第一原理計算としてDFT計算による結果を取得するモデルであってもよい。なお本実施形態では第一原理計算はDFT計算によって行われるものと説明するが、この他、第一原理計算は、ハートリーフォック法やメラープレセット法等を使った計算であってもよい。この場合、訓練済みモデルNN1は、原子構造が入力されるとポテンシャルエネルギーを出力するNNPを構成するモデルであってもよい。以下においては、訓練済みモデルNN1は、原子構造からDFT計算によるエネルギーを推論するモデルであるとして説明する。
【0029】
入力部100は、推論装置1における吸着エネルギーの推論に必要となるデータ等の入力を受け付けるインタフェースを備える。推論装置1は、入力部100を介して、例えば、吸着エネルギーを取得したい金属、結晶等の表面構造及び吸着分子の原子構造に関するデータを受信する。原子構造は、上述において説明したように記述される。推論装置1には、表面構造のデータ及び分子構造のデータが入力されてもよいし、表面構造のデータ、分子構造のデータ及び表面構造と分子構造を含むデータが入力されてもよい。
【0030】
記憶部102は、推論装置1の動作に必要となるデータが格納される。例えば、入力部100を介して推論装置1に入力されたデータは、この記憶部102に格納されてもよい。記憶部102は、
図5においては推論装置1に含まれているが、記憶部102の少なくとも一部が外部のストレージ、ファイルサーバ等に実装されていてもよい。この場合、データ等が必要となるタイミングにおいて、入力部100を介してデータが入力される系としてもよい。
【0031】
以下、吸着分子に関する原子構造及び表面に関する原子構造の双方を含む原子構造を、第1原子構造、吸着分子に関する原子構造を第2原子構造、表面に関する原子構造を第3原子構造と記載する。
【0032】
構造最適化部104は、入力された表面構造及び分子構造のデータから、第1原子構造である表面構造に分子が吸着している適切な原子構造を最適化する。例えば、入力データに表面構造と分子構造とが共存している第1原子構造のデータが入力される場合には、この原子構造のデータを最適化することにより分子が表面に吸着した状態、すなわち、安定状態の原子構造データを取得する。
【0033】
推論装置1に第1原子構造に関するデータが入力されず、第2原子構造である吸着分子の原子構造及び第3原子構造である表面の原子構造に関するデータが入力される場合には、この第2原子構造及び第3原子構造に関するデータから、第1原子構造を生成し、最適化する。この場合、構造最適化部104は、吸着分子が表面に近接している第1原子構造のデータを生成し、この第1原子構造のデータを最適化する。ここで、近接しているとは、例えば、吸着分子と表面の双方の最近接原子が所定距離(例えば5Å)以下となる状態を表してもよいし、さらに近い距離を表してもよい。
【0034】
構造最適化部104は、第1原子構造に関するデータを訓練済みモデルNN1に入力して、ポテンシャルエネルギーを取得した後に、取得したエネルギー値を訓練済みモデルNN1に逆伝播することで、それぞれの原子に掛かる力を取得する。構造最適化部104は、この力に基づいて、吸着分子を移動させた原子構造を、第1原子構造として更新する。
【0035】
必要であれば、構造最適化部104は、この第1原子構造の更新を繰り返し実行してもよい。この更新は、吸着分子の位置が変化しなくなるまで、吸着分子の位置の変化が所定しきい値以下となるまで、力が所定しきい値以下となるまで、所定回数の更新が終了するまで、等の適切な終了条件を満たすまで繰り返されてもよい。
【0036】
構造最適化部104により更新がされて最適化された第1原子構造は、安定状態、又は、準安定状態の原子構造とすることができる。この第1原子構造に基づいて、推論装置は、吸着エネルギーを推論する。
【0037】
なお、吸着分子が適切に表面に吸着していること、すなわち、安定状態又は準安定状態であると保証されている第1原子構造に関するデータが入力される場合には、構造最適化部104は、必須の構成ではない。
【0038】
推論部106は、訓練済みモデルNN1を用いて、第2原子構造、第3原子構造、及び、最適化された第1原子構造に対するエネルギーを推論する。式(1)におけるE(molecule)が第2原子構造を訓練済みモデルNN1に入力した出力、E(slab)が第3原子構造を訓練済みモデルNN1に入力した出力、E(molecule + slab)が第1原子構造を訓練済みモデルNN1に入力した出力にそれぞれ対応する。推論部106は、第1原子構造、第2原子構造及び第3原子構造を訓練済みモデルNN1に入力し、これらのエネルギーをそれぞれ取得する。
【0039】
エネルギー演算部108は、推論部106が取得したエネルギー値に基づいて式(1)を用いて吸着エネルギーを算出する。エネルギー演算部108は、計算過程の条件をそろえるために、第1原子構造、第2原子構造、第3原子構造のそれぞれについて訓練済みモデルNN1を用いてエネルギーを取得することが望ましい。
【0040】
一方で、第2原子構造及び第3原子構造においては、データベース等に格納されているエネルギーの値の信頼性が高い場合には、データベース等の値を用いて演算することもできる。この場合、推論部106は、少なくとも第1原子構造についてのエネルギーを推論すればよい。
【0041】
出力部110は、エネルギー演算部108が取得した吸着エネルギーを外部又は記憶部102に適切に出力する。
【0042】
図6は、推論装置1の処理の一例を示すフローチャートである。
【0043】
推論装置1は、入力部100を介して、吸着エネルギーを取得したい分子等及び表面等に関する原子構造の入力データを取得する(S100)。上述したように、推論装置1は、入力部100を介して第2原子構造及び第3原子構造に関するデータを取得してもよいし、これらに加えて第1原子構造に関するデータを取得してもよい。また、これらの原子構造は、周期境界条件を除き、グラフの形式で入力されてもよい。
【0044】
構造最適化部104は、入力された第2原子構造及び第3原子構造に基づいて、第1原子構造を最適化する(S102)。より具体的には、第2原子構造で記述される分子等が第3原子構造で記述される表面等に近接した状態である第1原子構造を定義し、この定義された第1原子構造を、訓練済みモデルNN1を用いて最適化する。なお、第1原子構造がS100において取得されている場合には、当該第1原子構造の最適化を、訓練済みモデルNN1を用いて実行してもよい。また、安定状態であることが保証されている第1原子構造が入力される場合には、S102の処理は、省略することが可能である。
【0045】
推論部106は、更新された第1原子構造、及び、第2原子構造、第3元原子構造をそれぞれ訓練済みモデルNN1に入力し、E(molecule + slab)、E(molecule)、E(slab)の推論値を取得する(S104)。
【0046】
エネルギー演算部108は、S104において取得された各構造におけるエネルギーから、式(1)に基づいて吸着エネルギーを取得する(S106)。
【0047】
推論装置1は、出力部110から吸着エネルギーを出力して、処理を終了する(S108)。
【0048】
第2原子構造及び第3原子構造のエネルギーについてデータベース等を参照する場合には、S104において、推論部106は、少なくとも第1原子構造に関するエネルギーを推論する。そして、S106において、エネルギー演算部108は、推論部106が取得した第1原子構造のエネルギーと、データベース等を参照した第2原子構造及び第3原子構造のエネルギーと、を用いて吸着エネルギーを算出してもよい。
【0049】
(訓練装置)
次に、上記の推論装置1においてエネルギーの推論に用いられる訓練済みモデルNN1を訓練するための訓練装置について説明する。
【0050】
図7は、一実施形態に係る訓練装置を模式的に示すブロック図である。訓練装置2は、入力部200と、記憶部202と、訓練部204と、出力部206と、を備える。訓練装置2は、前述の推論装置1において用いる訓練済みモデルNN1を訓練するための装置であり、機械学習手法を用いて訓練対象モデルNN2を訓練する。
【0051】
訓練対象モデルNN2は、NNPで用いられるニューラルネットワークモデルである。基本的な構成は、前述の訓練済みモデルNN1と同様であるので詳細は省略する。
【0052】
入力部200は、訓練装置2におけるデータの入力を受け付ける。訓練装置2は、入力部200を介して訓練に必要となるデータ等を取得する。
【0053】
記憶部202は、訓練装置2の動作に必要なデータ等を格納する。入力部200から入力されたデータは、この記憶部202に格納されてもよい。
【0054】
訓練部204は、訓練対象モデルNN2の訓練を実行する。訓練対象モデルNN2は、主に、第1原子構造を入力すると、吸着エネルギーを含む原子構造全体のエネルギーを推論するモデルとして訓練される。
【0055】
出力部206は、訓練部204が訓練した訓練対象モデルNN2のパラメータ等を外部又は記憶部202に出力する。
【0056】
訓練部204は、上記のように原子構造を入力すると、当該原子構造に対して量子化学計算、例えば、第一原理計算、特に、DFT計算の結果を推論するように訓練対象モデルNN2を訓練する。訓練部204は、例えば、教師あり学習により、訓練対象モデルNN2のパラメータを最適化する。
【0057】
吸着エネルギーは、分子の原子構造及び表面の原子構造におけるDFT計算(量子化学計算、第一原理計算)を用いると、訓練における逆伝播処理に用いる誤差と同等又は誤差より低い値となり、機械学習により適切に訓練される可能性が低い。本実施形態では、この吸着エネルギーを学習に適切に組み込むべく、表面の原子構造を構成する原子数よりも少ない原子数個~数十個で構成されるクラスタの原子構造を訓練データとして用いる。なお、クラスタは、表面の原子構造のうち、エネルギーが安定した一部分を切り出したものであってもよい。
【0058】
この訓練部204が訓練に用いるデータについて説明する。データは、データ生成装置により取得するものであってもよいし、データベース等から取得するものであってもよい。データ生成装置で生成する場合には、原子構造についてDFT計算を実行し、エネルギーを算出して、この原子構造とエネルギーの組み合わせをデータセットとする。さらに、データ生成装置において力を算出し、これを教師データとして用いてもよい。以下においては、エネルギーを用いる場合について説明するが、さらに力を用いる場合であっても、特に記載の無い限り同様である。
【0059】
図8は、本実施形態において訓練に用いるデータの一種類を示す図である。点線はユニットセルを示す。この
図8は、Ptの表面にH
2分子が吸着(近接)している状態を示す。大きな球がPt原子を示し、小さい球がH原子を示す。まず、このように示されるH
2分子とPt表面の原子構造である第1原子構造を定義する。
【0060】
例えば、
図2で示すユニットセルにおいて表面構造に対して、分子構造を追加した原子構造を定義し、第1原子構造とする。H
2分子のH原子と、Pt表面のPt分子の最近接の距離を、4Å以上5Å以下等としてもよい。上述したように、ユニットセルの大きさは、十分に大きくとることが望ましい。例えば、H
2原子の配置をそのままにして、Pt原子を表面方向にさらに増やしてもよい。
【0061】
この第1原子構造に対してDFT計算をすることにより、エネルギー値を取得する。この第1原子構造は、安定状態に最適化されたものでなくてもよい。好ましくは、安定状態又は準安定状態に最適化された第1原子構造に対するデータセットを準備する。さらに好ましくは、Pt表面に対するH2の位置、姿勢を種々に変えた第1原子構造に対するデータセットを準備する。
【0062】
また、PtとHの組み合わせだけではなく、多くの組み合わせについてデータを準備することにより、推論の精度(例えば、内挿の状態の精度)を高めることが可能となる。また、分子の元素及び表面の元素を1つにする必要は無く、複数の元素から構成される分子及び複数の元素から構成される表面についてもデータセットを準備することが望ましい。
【0063】
図9は、本実施形態において訓練に用いるデータの異なる種類を示す図である。この
図9には、互いに近接しているクラスタと分子とが示される。そして、このH
2分子と、Ptクラスタから構成される原子構造である、第4原子構造について、DFT計算を実行し、エネルギー値を取得する。表面の場合と同様に、H
2分子のH原子と、Pt表面のPt分子の最近接の距離を、5Å以下等としてもよい。
【0064】
この第4原子構造とエネルギー値のデータセットを訓練データとして用いる。この図では、4つのPt原子と、1つのH2原子とを備えるユニットセルについて、周期境界条件を用いてDFT計算を実行する。なお、自由境界条件としてDFT計算をしてもよいが、NNPに用いる訓練対象モデルNN2の入力を周期境界条件に固定する場合には、周期境界条件で計算することが望ましい。
【0065】
図9の場合も、
図8と同様に、クラスタに対する分子の位置、姿勢を種々に変えたデータセットを準備するのが好ましい。さらに、吸着した状態についてもデータセットを準備するのが好ましい。
【0066】
元素の組み合わせについても同様であり、Pt原子とH原子の組み合わせだけではなく、さらに多くの組み合わせについてデータセットを準備することで、内挿性能を向上させることが可能となる。
【0067】
図10は、クラスタと分子の組み合わせの異なる例を示す。この例に示すように、例えば、面心立方構造を切り出した14のPtに対して、H
2分子が近接して存在するようなものを定義してもよい。このように、第4原子構造としては、クラスタを形成する原子の数、及び、クラスタを形成する原子の配置を種々に変更したデータセットを準備することが望ましい。
【0068】
以上から理解されるように、第1原子構造は、吸着分子(例えばH2分子)が固体表面(例えばPt固体表面)に近接している状態(吸着している状態、或いは、吸着しているとみなせる状態を含む)の原子構造であり、第4原子構造は、吸着分子がクラスタ(例えばPtクラスタ)に近接している状態(吸着している状態、或いは、吸着しているとみなせる状態を含む)の原子構造である。そして第1原子構造の固体表面と第4原子構造のクラスタは、同一原子(例えばPt原子)を含む。
【0069】
訓練部204は、第1原子構造を訓練対象モデルNN2に入力した結果と、DFT計算による結果と、の差を第1誤差として算出する。訓練部204は、この第1誤差を逆伝播して、訓練対象モデルNN2のパラメータを更新する。これと並行して、訓練部204は、第4原子構造を訓練対象モデルNN2に入力した結果と、DFT計算による結果と、の差である第4誤差を算出する。訓練部204は、この第4誤差を逆伝播して、訓練対象モデルNN2のパラメータを更新する。
【0070】
第1原子構造に関する訓練データセットと、第4原子構造に関する訓練データセットと、を区別することなく訓練データとして用いることで、第1原子構造及び第4原子構造に関する推論が実現できるニューラルネットワークモデルの訓練をすることができる。
【0071】
第1原子構造における分子と表面の相互作用の大きさと、第4原子構造から計算される分子とクラスタの相互作用の大きさは、局所的な構造が同一であることからさほど変わらない。第1原子構造と、第4原子構造と、においては、原子数が大きく異なるため、原子あたりの相互作用の大きさは、大きく異なる。ニューラルネットワークモデルは、この相互作用をエネルギーから学習するが、原子あたりの相互作用の大きさが大きいことから、第4原子構造の結果を用いて学習することにより、吸着エネルギーが訓練に用いる誤差に埋もれてしまうのを抑制することが可能となる。
【0072】
本実施形態においては、訓練装置2は、複数の第1原子構造に対するデータセットと、複数の第4原子構造に対するデータセットと、を用いて訓練対象モデルNN2を訓練する。このように訓練することで、表面と分子についてのエネルギー値の取得を適切に学習するとともに、クラスタと分子のデータを訓練データとすることで、吸着エネルギーをより精度よく再現できる。
【0073】
より原子あたりのエネルギーについて精度よく訓練を実行するために、第1誤差と第4誤差を上記とは異なるものとすることができる。例えば、訓練部204は、第1原子構造を訓練対象モデルNN2に入力した結果と、DFT計算結果との差を当該原子構造に含まれる原子数で除算し、この値を第1誤差としてもよい。同様に、訓練部204は、第4原子構造を訓練対象モデルNN2に入力した結果と、DFT計算結果との差を当該原子構造に含まれる原子数で除算し、この値を第4誤差としてもよい。
【0074】
このように原子あたりのエネルギーに対する誤差を逆伝播することにより、訓練部204は、表面においては、表面の影響に対するエネルギーを推論し、かつ、分子と近接している表面又はクラスタの原子においては、吸着エネルギーの影響を反映したエネルギーを推論することが可能となる。
【0075】
さらに原子数による影響による誤差と吸着エネルギーの区別をするために、訓練対象モデルNN2の出力とDFT計算結果との差を原子構造に含まれる原子数の2乗で除算してもよい。
【0076】
図11は、本実施形態に係る訓練装置2の処理を示すフローチャートである。
【0077】
まず、訓練装置2は、入力部200を介して訓練データセットを取得する(S200)。訓練データセットは、上述したように、第1原子構造に関するデータセットと、第4原子構造に関するデータセットと、を備える。
【0078】
訓練部204は、取得した訓練データセットを用いて訓練対象モデルNN2を適切な任意の機械学習手法に基づいて訓練する(S202)。
【0079】
訓練装置2は、訓練が終了した訓練対象モデルNN2に関するパラメータ等必要なデータを出力して、処理を終了する(S204)。
【0080】
以上のように、本実施形態によれば、訓練装置によって吸着エネルギーを適切に反映した訓練対象モデルNN2の訓練を実行することが可能となる。そして、訓練が完了した訓練済みモデルNN1を用いたNNP計算を実行することにより、推論装置によって精度の高い吸着エネルギーを推論することが可能となる。
【0081】
(変形例)
上記のように訓練された訓練済みモデルNN1によれば、精度の高い吸着エネルギーを推論することができるが、この精度をさらに向上させることも可能である。
【0082】
訓練装置2は、第1原子構造及び第4原子構造に関するデータセットの他に、吸着分子のみに関する第2原子構造に関するデータセットを用いることもできる。
【0083】
図12は、分子のみを有する原子構造の一例を示す図である。このように、ユニットセル中に分子だけを設定した原子構造を第2原子構造として定義する。そして、この第2原子構造のエネルギーをDFT計算により取得して、データセットに加える。
【0084】
訓練部204は、この第2原子構造と、DFT計算結果のデータセットを用いて、上記と同様に第2誤差を算出し、この第2誤差に基づいて訓練対象モデルNN2の訓練を実行する。この第2原子構造に関するデータセットも、第1原子構造に関するデータセット及び第4原子構造に関するデータセットと区別することなく訓練を実行することが望ましい。
【0085】
このように、第2原子構造に基づいて訓練を実行することにより、分子により構成される第2原子構造についてのエネルギー値をより精度よく取得することが可能となり、推論における吸着エネルギーの精度を向上させることができる。
【0086】
また、第2原子構造についてのデータセットを訓練として用いることにより、第1原子構造及び第4原子構造について、吸着エネルギーとは別に分子のエネルギーを考慮した学習をすることが期待される。このため、E(molecule)の精度向上だけにとどまらず、E(molecule + slab)の精度の向上をも図ることができる。
【0087】
すなわち、第2原子構造を考慮した訓練を実行することで、第2原子構造のエネルギー推論の向上とともに、第1原子構造のエネルギー推論の向上をすることが可能となり、これらの2つの側面から、吸着エネルギーの精度の向上をすることができる。
【0088】
上記では分子の情報を取り込むとしたが、表面についてのデータを用いて訓練の精度を向上することもできる。例えば、
図2に示すような原子構造を表面に関する第3原子構造として、データセットを準備してもよい。データセットの準備については、上記と同様であるので詳細は省略する。
【0089】
訓練部204は、この第3原子構造に関するデータセットを用いて、第3原子構造を訓練対象モデルNN2に入力した結果と、DFT計算した結果とを比較することで第3誤差を算出し、第1誤差及び第4誤差とともに、第3誤差に基づいた訓練対象モデルNN2の訓練をしてもよい。
【0090】
このように訓練することで、表面(又は金属、結晶等単体)についてのエネルギー値の推論精度を向上させることが可能となる。
【0091】
図13は、クラスタの原子構造の一例を示す図である。訓練部204は、第1原子構造及び第4原子構造に加えて、クラスタの原子構造である第5原子構造に基づいて、訓練を実行してもよい。このために、第5原子構造に関するデータセットを準備してもよい。
【0092】
訓練部204は、第5原子構造に関するデータセットを用いて、第5原子構造を訓練対象モデルNN2に入力した結果と、DFT計算した結果とを比較することで第5誤差を算出し、第1誤差及び第4誤差とともに、第5誤差に基づいた訓練対象モデルNN2の訓練をしてもよい。
【0093】
このように訓練することで、クラスタについてのエネルギー値の推論精度を向上させることが可能となり、この結果、第4原子構造に対する吸着エネルギーの訓練における精度を向上させることができる。
【0094】
訓練装置2は、少なくとも第1原子構造及び第4原子構造のデータセットに基づいて訓練を実行するが、さらに、上述した第2原子構造、第3原子構造、又は、第5原子構造の少なくとも1つに関するデータセットを、第1原子構造及び第4原子構造のデータセットに加えて、訓練を実行してもよい。第2原子構造、第3原子構造、又は、第5原子構造は、任意の組み合わせにおいて、訓練に組み込むことができる。もちろん、第1~第5原子構造の全てに関するデータセットを準備し、このデータセットを用いて、訓練装置2は、訓練対象モデルNN2の訓練を実行してもよい。
【0095】
なお、上記と同様の効果を得る手法として、表面と分子との距離を十分に離した原子構造と、クラスタと分子の距離を十分に離した原子構造と、に関するデータセットを第1原子構造及び第4原子構造とともに訓練データセットとして用いてもよい。距離を十分に離すとは、例えば、表面又はクラスタの原子と、分子の原子の最近接距離を10Å~としてもよい。この場合、表面又はクラスタが存在するユニットセルの逆側の面からも十分離れて分子が配置されていることに留意されたい。
【0096】
このようなデータセットを訓練データとして組み込むことで、訓練装置2は、十分に離れた表面と分子、又は、クラスタと分子の状態を訓練することができる。これらの場合、吸着エネルギーがない状態であるので、表面と分子、又は、クラスタと分子が有意な吸着エネルギーを有する程に近くに配置される場合と明確に区別して訓練をすることができる。このため、単純に原子構造にこれらの状況が含まれる場合と、吸着エネルギーにより安定している状況と、について、精度のよい推論ができる訓練済みモデルNN1を形成することが可能となる。
【0097】
上述の本実施形態において説明した表面の原子構造は、固体表面の原子構造を前提として説明したが、「表面」は固体表面に限定されない。例えば「表面」は、ある均一な固体や液体の相が、他の均一な気体の相あるいは真空と接している境界であり、高温状態をシミュレーションして生成した液体金属の表面などの液体表面も概念的に含む。そして、そのような液体金属の表面と吸着分子とが互いに近接している状態の原子構造を第1原子構造として訓練対象モデルを訓練してもよい。
【0098】
上記の全ての訓練済モデルは、例えば、説明したように訓練した上で、さらに、一般的な手法により蒸留されたモデルを含む概念であってもよい。
【0099】
前述した実施形態における各装置(推論装置1又は訓練装置2)の一部又は全部は、ハードウェアで構成されていてもよいし、CPU(Central Processing Unit)、又はGPU(Graphics Processing Unit)等が実行するソフトウェア(プログラム)の情報処理で構成されてもよい。ソフトウェアの情報処理で構成される場合には、前述した実施形態における各装置の少なくとも一部の機能を実現するソフトウェアを、フレキシブルディスク、CD-ROM(Compact Disc-Read Only Memory)又はUSB(Universal Serial Bus)メモリ等の非一時的な記憶媒体(非一時的なコンピュータ可読媒体)に収納し、コンピュータに読み込ませることにより、ソフトウェアの情報処理を実行してもよい。また、通信ネットワークを介して当該ソフトウェアがダウンロードされてもよい。さらに、ソフトウェアがASIC(Application Specific Integrated Circuit)又はFPGA(Field Programmable Gate Array)等の回路に実装されることにより、情報処理がハードウェアにより実行されてもよい。
【0100】
ソフトウェアを収納する記憶媒体の種類は限定されるものではない。記憶媒体は、磁気ディスク、又は光ディスク等の着脱可能なものに限定されず、ハードディスク、又はメモリ等の固定型の記憶媒体であってもよい。また、記憶媒体は、コンピュータ内部に備えられてもよいし、コンピュータ外部に備えられてもよい。
【0101】
図14は、前述した実施形態における各装置(推論装置1又は訓練装置2)のハードウェア構成の一例を示すブロック図である。各装置は、一例として、プロセッサ71と、主記憶装置72(メモリ)と、補助記憶装置73(メモリ)と、ネットワークインタフェース74と、デバイスインタフェース75と、を備え、これらがバス76を介して接続されたコンピュータ7として実現されてもよい。
【0102】
図14のコンピュータ7は、各構成要素を一つ備えているが、同じ構成要素を複数備えていてもよい。また、
図14では、1台のコンピュータ7が示されているが、ソフトウェアが複数台のコンピュータにインストールされて、当該複数台のコンピュータそれぞれがソフトウェアの同一の又は異なる一部の処理を実行してもよい。この場合、コンピュータそれぞれがネットワークインタフェース74等を介して通信して処理を実行する分散コンピューティングの形態であってもよい。つまり、前述した実施形態における各装置(推論装置1又は訓練装置2)は、7又は複数の記憶装置に記憶された命令を7台又は複数台のコンピュータが実行することで機能を実現するシステムとして構成されてもよい。また、端末から送信された情報をクラウド上に設けられた1台又は複数台のコンピュータで処理し、この処理結果を端末に送信するような構成であってもよい。
【0103】
前述した実施形態における各装置(推論装置1又は訓練装置2)の各種演算は、1又は複数のプロセッサを用いて、又は、ネットワークを介した複数台のコンピュータを用いて、並列処理で実行されてもよい。また、各種演算が、プロセッサ内に複数ある演算コアに振り分けられて、並列処理で実行されてもよい。また、本開示の処理、手段等の一部又は全部は、ネットワークを介してコンピュータ7と通信可能なクラウド上に設けられたプロセッサ及び記憶装置の少なくとも一方により実行されてもよい。このように、前述した実施形態における各装置は、1台又は複数台のコンピュータによる並列コンピューティングの形態であってもよい。
【0104】
プロセッサ71は、コンピュータの制御装置及び演算装置を含む電子回路(処理回路、Processing circuit、Processing circuitry、CPU、GPU、FPGA又はASIC等)であってもよい。また、プロセッサ71は、専用の処理回路を含む半導体装置等であってもよい。プロセッサ71は、電子論理素子を用いた電子回路に限定されるものではなく、光論理素子を用いた光回路により実現されてもよい。また、プロセッサ71は、量子コンピューティングに基づく演算機能を含むものであってもよい。
【0105】
プロセッサ71は、コンピュータ7の内部構成の各装置等から入力されたデータやソフトウェア(プログラム)に基づいて演算処理を行い、演算結果や制御信号を各装置等に出力することができる。プロセッサ71は、コンピュータ7のOS(Operating System)や、アプリケーション等を実行することにより、コンピュータ7を構成する各構成要素を制御してもよい。
【0106】
前述した実施形態における各装置(推論装置1又は訓練装置2)は、1又は複数のプロセッサ71により実現されてもよい。ここで、プロセッサ71は、1チップ上に配置された1又は複数の電子回路を指してもよいし、2つ以上のチップ或いは2つ以上のデバイス上に配置された1又は複数の電子回路を指してもよい。複数の電子回路を用いる場合、各電子回路は有線又は無線により通信してもよい。
【0107】
主記憶装置72は、プロセッサ71が実行する命令及び各種データ等を記憶する記憶装置であり、主記憶装置72に記憶された情報がプロセッサ71により読み出される。補助記憶装置73は、主記憶装置72以外の記憶装置である。なお、これらの記憶装置は、電子情報を格納可能な任意の電子部品を意味するものとし、半導体のメモリでもよい。半導体のメモリは、揮発性メモリ、不揮発性メモリのいずれでもよい。前述した実施形態における各装置(推論装置1又は訓練装置2)において各種データを保存するための記憶装置は、主記憶装置72又は補助記憶装置73により実現されてもよく、プロセッサ71に内蔵される内蔵メモリにより実現されてもよい。例えば、前述した実施形態における記憶部102は、主記憶装置72又は補助記憶装置73により実現されてもよい。
【0108】
記憶装置(メモリ)1つに対して、複数のプロセッサが接続(結合)されてもよいし、単数のプロセッサが接続されてもよい。プロセッサ1つに対して、複数の記憶装置(メモリ)が接続(結合)されてもよい。前述した実施形態における各装置(推論装置1又は訓練装置2)が、少なくとも1つの記憶装置(メモリ)とこの少なくとも1つの記憶装置(メモリ)に接続(結合)される複数のプロセッサで構成される場合、複数のプロセッサのうち少なくとも1つのプロセッサが、少なくとも1つの記憶装置(メモリ)に接続(結合)される構成を含んでもよい。また、複数台のコンピュータに含まれる記憶装置(メモリ))とプロセッサによって、この構成が実現されてもよい。さらに、記憶装置(メモリ)がプロセッサと一体になっている構成(例えば、L1キャッシュ、L2キャッシュを含むキャッシュメモリ)を含んでもよい。
【0109】
ネットワークインタフェース74は、無線又は有線により、通信ネットワーク8に接続するためのインタフェースである。ネットワークインタフェース74は、既存の通信規格に適合したもの等、適切なインタフェースを用いればよい。ネットワークインタフェース74により、通信ネットワーク8を介して接続された外部装置9Aと情報のやり取りが行われてもよい。なお、通信ネットワーク8は、WAN(Wide Area Network)、LAN(Local Area Network)、PAN(Personal Area Network)等のいずれか、又は、それらの組み合わせであってよく、コンピュータ7と外部装置9Aとの間で情報のやりとりが行われるものであればよい。WANの一例としてインターネット等があり、LANの一例としてIEEE802.11やイーサネット(登録商標)等があり、PANの一例としてBluetooth(登録商標)やNFC(Near Field Communication)等がある。
【0110】
デバイスインタフェース75は、外部装置9Bと直接接続するUSB等のインタフェースである。
【0111】
外部装置9Aは、コンピュータ7とネットワークを介して接続されている装置である。外部装置9Bは、コンピュータ7と直接接続されている装置である。
【0112】
外部装置9A又は外部装置9Bは、一例として、入力装置であってもよい。入力装置は、例えば、カメラ、マイクロフォン、モーションキャプチャ、各種センサ等、キーボード、マウス、又は、タッチパネル等のデバイスであり、取得した情報をコンピュータ7に与える。また、パーソナルコンピュータ、タブレット端末、又は、スマートフォン等の入力部とメモリとプロセッサを備えるデバイスであってもよい。
【0113】
また、外部装置9A又は外部装置9Bは、一例として、出力装置でもよい。出力装置は、例えば、LCD(Liquid Crystal Display)、CRT(Cathode Ray Tube)、PDP(Plasma Display Panel)、又は、有機EL(Electro Luminescence)パネル等の表示装置であってもよいし、音声等を出力するスピーカ等であってもよい。また、パーソナルコンピュータ、タブレット端末、又は、スマートフォン等の出力部とメモリとプロセッサを備えるデバイスであってもよい。
【0114】
また、外部装置9A又は外部装置9Bは、記憶装置(メモリ)であってもよい。例えば、外部装置9Aは、ネットワークストレージ等であってもよく、外部装置9Bは、HDD等のストレージであってもよい。
【0115】
また、外部装置9A又は外部装置9Bは、前述した実施形態における各装置(推論装置1又は訓練装置2)の構成要素の一部の機能を有する装置でもよい。つまり、コンピュータ7は、外部装置9A又は外部装置9Bの処理結果の一部又は全部を送信又は受信してもよい。
【0116】
本明細書(請求項含む)において、「第1」または「第2」などのように序数を含む用語は、多様な構成要素を説明するのに使用できるが、前記構成要素は前記用語によって限定されない。前記用語は、1つの構成要素を他の構成要素から区別する目的でのみ使用される。例えば、本発明の概念的な思想と趣旨を逸脱しない範囲において、第1構成要素は第2構成要素として名づけられてもよく、同様に、第2構成要素も第1構成要素として名づけられてもよい。
【0117】
本明細書(請求項を含む)において、「a、b及びcの少なくとも1つ(一方)」又は「a、b又はcの少なくとも1つ(一方)」の表現(同様な表現を含む)が用いられる場合は、a、b、c、a-b、a-c、b-c、又は、a-b-cのいずれかを含む。また、a-a、a-b-b、a-a-b-b-c-c等のように、いずれかの要素について複数のインスタンスを含んでもよい。さらに、a-b-c-dのようにdを有する等、列挙された要素(a、b及びc)以外の他の要素を加えることも含む。
【0118】
本明細書(請求項を含む)において、「データを入力として/データに基づいて/に従って/に応じて」等の表現(同様な表現を含む)が用いられる場合は、特に断りがない場合、各種データそのものを入力として用いる場合や、各種データに何らかの処理を行ったもの(例えば、ノイズ加算したもの、正規化したもの、各種データの中間表現等)を入力として用いる場合を含む。また「データに基づいて/に従って/に応じて」何らかの結果が得られる旨が記載されている場合、当該データのみに基づいて当該結果が得られる場合を含むとともに、当該データ以外の他のデータ、要因、条件、及び/又は状態等にも影響を受けて当該結果が得られる場合をも含み得る。また、「データを出力する」旨が記載されている場合、特に断りがない場合、各種データそのものを出力として用いる場合や、各種データに何らかの処理を行ったもの(例えば、ノイズ加算したもの、正規化したもの、各種データの中間表現等)を出力とする場合も含む。
【0119】
本明細書(請求項を含む)において、「接続される(connected)」及び「結合される(coupled)」との用語が用いられる場合は、直接的な接続/結合、間接的な接続/結合、電気的(electrically)な接続/結合、通信的(communicatively)な接続/結合、機能的(operatively)な接続/結合、物理的(physically)な接続/結合等のいずれをも含む非限定的な用語として意図される。当該用語は、当該用語が用いられた文脈に応じて適宜解釈されるべきであるが、意図的に或いは当然に排除されるのではない接続/結合形態は、当該用語に含まれるものして非限定的に解釈されるべきである。
【0120】
本明細書(請求項を含む)において、「AがBするよう構成される(A configured to B)」との表現が用いられる場合は、要素Aの物理的構造が、動作Bを実行可能な構成を有するとともに、要素Aの恒常的(permanent)又は一時的(temporary)な設定(setting/configuration)が、動作Bを実際に実行するように設定(configured/set)されていることを含んでよい。例えば、要素Aが汎用プロセッサである場合、当該プロセッサが動作Bを実行可能なハードウェア構成を有するとともに、恒常的(permanent)又は一時的(temporary)なプログラム(命令)の設定により、動作Bを実際に実行するように設定(configured)されていればよい。また、要素Aが専用プロセッサ又は専用演算回路等である場合、制御用命令及びデータが実際に付属しているか否かとは無関係に、当該プロセッサの回路的構造が動作Bを実際に実行するように構築(implemented)されていればよい。
【0121】
本明細書(請求項を含む)において、含有又は所有を意味する用語(例えば、「含む(comprising/including)」及び有する「(having)等)」が用いられる場合は、当該用語の目的語により示される対象物以外の物を含有又は所有する場合を含む、open-endedな用語として意図される。これらの含有又は所有を意味する用語の目的語が数量を指定しない又は単数を示唆する表現(a又はanを冠詞とする表現)である場合は、当該表現は特定の数に限定されないものとして解釈されるべきである。
【0122】
本明細書(請求項を含む)において、ある箇所において「1つ又は複数(one or more)」又は「少なくとも1つ(at least one)」等の表現が用いられ、他の箇所において数量を指定しない又は単数を示唆する表現(a又はanを冠詞とする表現)が用いられているとしても、後者の表現が「1つ」を意味することを意図しない。一般に、数量を指定しない又は単数を示唆する表現(a又はanを冠詞とする表現)は、必ずしも特定の数に限定されないものとして解釈されるべきである。
【0123】
本明細書において、ある実施例の有する特定の構成について特定の効果(advantage/result)が得られる旨が記載されている場合、別段の理由がない限り、当該構成を有する他の1つ又は複数の実施例についても当該効果が得られると理解されるべきである。但し当該効果の有無は、一般に種々の要因、条件、及び/又は状態等に依存し、当該構成により必ず当該効果が得られるものではないと理解されるべきである。当該効果は、種々の要因、条件、及び/又は状態等が満たされたときに実施例に記載の当該構成により得られるものに過ぎず、当該構成又は類似の構成を規定したクレームに係る発明において、当該効果が必ずしも得られるものではない。
【0124】
本明細書(請求項を含む)において、「最大化(maximize)」等の用語が用いられる場合は、グローバルな最大値を求めること、グローバルな最大値の近似値を求めること、ローカルな最大値を求めること、及びローカルな最大値の近似値を求めることを含み、当該用語が用いられた文脈に応じて適宜解釈されるべきである。また、これら最大値の近似値を確率的又はヒューリスティックに求めることを含む。同様に、「最小化(minimize)」等の用語が用いられる場合は、グローバルな最小値を求めること、グローバルな最小値の近似値を求めること、ローカルな最小値を求めること、及びローカルな最小値の近似値を求めることを含み、当該用語が用いられた文脈に応じて適宜解釈されるべきである。また、これら最小値の近似値を確率的又はヒューリスティックに求めることを含む。同様に、「最適化(optimize)」等の用語が用いられる場合は、グローバルな最適値を求めること、グローバルな最適値の近似値を求めること、ローカルな最適値を求めること、及びローカルな最適値の近似値を求めることを含み、当該用語が用いられた文脈に応じて適宜解釈されるべきである。また、これら最適値の近似値を確率的又はヒューリスティックに求めることを含む。
【0125】
本明細書(請求項を含む)において、複数のハードウェアが所定の処理を行う場合、各ハードウェアが協働して所定の処理を行ってもよいし、一部のハードウェアが所定の処理の全てを行ってもよい。また、一部のハードウェアが所定の処理の一部を行い、別のハードウェアが所定の処理の残りを行ってもよい。本明細書(請求項を含む)において、「1又は複数のハードウェアが第1の処理を行い、前記1又は複数のハードウェアが第2の処理を行う」等の表現が用いられている場合、第1の処理を行うハードウェアと第2の処理を行うハードウェアは同じものであってもよいし、異なるものであってもよい。つまり、第1の処理を行うハードウェア及び第2の処理を行うハードウェアが、前記1又は複数のハードウェアに含まれていればよい。なお、ハードウェアは、電子回路、又は、電子回路を含む装置等を含んでもよい。
【0126】
以上、本開示の実施形態について詳述したが、本開示は上記した個々の実施形態に限定されるものではない。特許請求の範囲に規定された内容及びその均等物から導き出される本発明の概念的な思想と趣旨を逸脱しない範囲において種々の追加、変更、置き換え及び部分的削除等が可能である。例えば、前述した全ての実施形態において、数値又は数式を説明に用いている場合は、一例として示したものであり、これらに限られるものではない。また、実施形態における各動作の順序は、一例として示したものであり、これらに限られるものではない。