(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-08-04
(45)【発行日】2023-08-15
(54)【発明の名称】反対称ニューラルネットワーク
(51)【国際特許分類】
G06N 3/04 20230101AFI20230807BHJP
G16C 10/00 20190101ALI20230807BHJP
【FI】
G06N3/04
G16C10/00
(21)【出願番号】P 2022511314
(86)(22)【出願日】2020-09-03
(86)【国際出願番号】 EP2020074578
(87)【国際公開番号】W WO2021043893
(87)【国際公開日】2021-03-11
【審査請求日】2022-04-20
(32)【優先日】2019-09-03
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】517030789
【氏名又は名称】ディープマインド テクノロジーズ リミテッド
(74)【代理人】
【識別番号】100108453
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】デイヴィッド・ベンジャミン・プフォー
(72)【発明者】
【氏名】ジェームズ・スペンサー
(72)【発明者】
【氏名】アレクサンダー・グレイム・デ・ガリス・マシューズ
【審査官】武田 広太郎
(56)【参考文献】
【文献】HAN, Jiequn et al.,Solving many-electron Schrodinger equation using deep neural networks,Journal of Computational Physics[online],2018年12月14日,volume 399,https://doi.org/10.1016%2Fj.jcp.2019.108929
【文献】永井 瞭 ほか,ニューラルネットワークによる交換相関ポテンシャルの構成,アンサンブル[online],2019年04月30日,21 巻, 2 号,p. 97-102,https://doi.org/10.11436/mssj.21.97
【文献】大槻 東巳,ニューラルネットワークを使った物性物理学,人工知能[online],2018年07月01日,33 巻, 4 号,p. 429-434,https://doi.org/10.11517/jjsai.33.4_429
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/04
G16C 10/00
(57)【特許請求の範囲】
【請求項1】
複数の電子を持つシステムを特徴付ける入力データであって、前記複数の電子の各々に対する電子特徴および前記複数の電子の複数の対の各々に対する対特徴を備える、入力データを得るステップと、
複数の中間層を有する反対称ニューラルネットワークを使用して前記入力データを処理するステップとを含み、
前記反対称ニューラルネットワークが、前記入力データを処理して前記システムの1つまたは複数の性質の予測値を出力として生成するように構成され、
前記反対称ニューラルネットワークの前記複数の中間層の各々が、それぞれの層入力にそれぞれの置換同変関数を適用することによって、前記中間層への前記それぞれの層入力から前記中間層に対するそれぞれの層出力を生成するように構成される、
方法。
【請求項2】
中間層に対して、
前記それぞれの層入力が、前記電子の各々に対するおよび前記電子の対の各々に対する別々の入力ストリームを備え、
前記層出力が、前記電子の各々に対するおよび前記電子の対の各々に対する別々の出力ストリームを備え、
前記中間層が、対応するストリーム副層で各入力ストリームに作用するように構成される、請求項1に記載の方法。
【請求項3】
前記複数の中間層の第1の中間層に対して、前記電子の各々に対する前記入力ストリームが前記電子に対する電子特徴であり、前記電子の対の各々に対する前記入力ストリームが前記電子の対に対する対特徴である、請求項2に記載の方法。
【請求項4】
前記複数の中間層の各々に対して、前記電子の各々に対応する特定のストリーム副層が、
前記それぞれの層入力から前記対応する電子に対する前記入力ストリームを受け取り、
前記それぞれの層入力からの前記入力ストリームから前記対応する電子に対する複合入力を生成し、
前記特定のストリーム副層によって生成される前記入力ストリームを前記複合入力と連結して、前記対応する電子に対する連結入力ストリームを生成し、
前記連結入力ストリームを処理して、前記対応する電子に対する連結出力ストリームを生成するように構成される、請求項2または3に記載の方法。
【請求項5】
前記連結出力ストリームが、前記対応する電子に対する出力ストリームである、請求項4に記載の方法。
【請求項6】
前記中間層の少なくとも1つに対して、前記対応する電子に対する前記出力ストリームが、前記連結出力ストリームおよび直前の中間層において前記対応する電子に対して前記ストリーム副層によって生成された残余出力ストリームを含む、請求項4に記載の方法。
【請求項7】
前記連結入力ストリームを処理して連結出力ストリームを生成することが、
前記連結入力ストリームに線形変換を適用して変換ストリームを生成することと、
前記変換ストリームに非線形活性化関数を適用して前記連結出力ストリームを生成することとを含む、請求項4から6のいずれか一項に記載の方法。
【請求項8】
前記対応する電子に対する複合入力を生成することが、
複数の電子スピンの各々に対して、前記電子スピンを有する電子に対応する前記入力ストリームの平均を計算することと、
前記複合入力に前記平均を含むこととを含む、請求項4から7のいずれか一項に記載の方法。
【請求項9】
前記対応する電子に対する複合入力を生成することが、
前記複数の電子スピンの各々に対して、前記対応する電子および前記電子スピンを有する電子を含む電子の対に対応する前記入力ストリームの平均を計算することと、
前記複合入力に前記平均を含むこととを含む、請求項8に記載の方法。
【請求項10】
前記複数の中間層の各々に対して、前記対の各々に対応する特定のストリーム副層が、
前記中間層に対する前記それぞれの層入力から前記対応する対に対する前記入力ストリームを受け取り、
前記入力ストリームを処理して初期出力ストリームを生成するように構成される、請求項2から9のいずれか一項に記載の方法。
【請求項11】
前記初期出力ストリームが、前記対応する対に対する出力ストリームである、請求項10に記載の方法。
【請求項12】
前記中間層の少なくとも1つに対して、前記対応する対に対する前記出力ストリームが、前記初期出力ストリームおよび直前の中間層において前記対応する対に対して前記ストリーム副層によって生成された残余出力ストリームを含む、請求項10に記載の方法。
【請求項13】
前記反対称ニューラルネットワークが、複数の層の最後の中間層の前記層出力から前記予測値を生成するように構成される、請求項1から12のいずれか一項に記載の方法。
【請求項14】
前記予測値を生成することが、
前記最後の中間層の前記層出力から、複数の行列式の各々に対するそれぞれの入力を生成することと、
前記行列式に対する前記それぞれの入力から各行列式のそれぞれの出力を決定することと、
前記行列式の各々の前記それぞれの出力から前記予測値を決定することとを含む、請求項13に記載の方法。
【請求項15】
前記電子特徴が、前記システム内の前記電子および原子核の位置の差を測定する差ベクトルを含む、請求項1から14のいずれか一項に記載の方法。
【請求項16】
前記電子特徴が前記差ベクトルのノルムを含む、請求項15に記載の方法。
【請求項17】
前記電子特徴が、前記電子のスピンを識別する特徴を含む、請求項1から16のいずれか一項に記載の方法。
【請求項18】
前記対特徴が、前記システム内の前記対の前記電子間の位置の差を測定する差ベクトルを含む、請求項1から17のいずれか一項に記載の方法。
【請求項19】
前記対特徴が前記差ベクトルのノルムを含む、請求項18に記載の方法。
【請求項20】
前記対特徴が、前記対の前記電子のスピンを識別する特徴を含む、請求項1から19のいずれか一項に記載の方法。
【請求項21】
前記システムの前記1つまたは複数の性質が前記システムの波動関数を備える、請求項1から20のいずれか一項に記載の方法。
【請求項22】
前記システムの前記1つまたは複数の性質が前記システムの基底状態エネルギーを備える、請求項1から21のいずれか一項に記載の方法。
【請求項23】
最後の中間層の前記層出力から、複数の行列式の各々に対するそれぞれの入力を生成することが、
前記最後の中間層の前記層出力に最終スピン依存線形変換を適用して最終変換出力を生成することと、
前記最終変換出力の一部または全てに複数の指数関数的に減衰する包絡線の各々を適用することに基づいて前記複数の行列式の各々に対する前記それぞれの入力を生成することとを含む、請求項14にも従属する、請求項1から22のいずれか一項に記載の方法。
【請求項24】
1つまたは複数のコンピュータ、および命令を記憶した1つまたは複数の記憶デバイスを備えるシステムであって、前記命令が、前記1つまたは複数のコンピュータによって実行されると、前記1つまたは複数のコンピュータに請求項1から23のいずれか一項に記載のそれぞれの方法を行わせる、システム。
【請求項25】
命令を記憶した1つまたは複数のコンピュータ可読記憶媒体であって、前記命令が、1つまたは複数のコンピュータによって実行されると、前記1つまたは複数のコンピュータに請求項1から23のいずれか一項に記載のそれぞれの方法を行わせる、1つまたは複数のコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書は、ニューラルネットワークに関する。
【背景技術】
【0002】
ニューラルネットワークは、非線形ユニットの1つまたは複数の層を利用して、受信した入力に対する出力を予測する機械学習モデルである。一部のニューラルネットワークは、出力層に加えて1つまたは複数の隠れ層を含む。各隠れ層の出力は、ネットワーク内の次の層、すなわち次の隠れ層または出力層への入力として使用される。ネットワークの各層は、それぞれのパラメータの集合の現在値に従って、受信した入力から出力を生成する。
【発明の概要】
【発明が解決しようとする課題】
【0003】
本明細書は、反対称ニューラルネットワークを使用して入力を処理する、1つまたは複数の場所における1つまたは複数のコンピュータ上のコンピュータプログラムとして実装されるシステムについて記載する。概して、反対称ニューラルネットワークは、ニューラルネットワークへの入力に関して反対称であるニューラルネットワークである。すなわち、ネットワーク入力内の任意の2つのベクトルの相対位置が交換されれば、交換後のニューラルネットワークの出力は、交換前のニューラルネットワークの出力に大きさが等しいが符号が逆となる。
【課題を解決するための手段】
【0004】
一態様において、複数の電子を持つシステムを特徴付ける入力データであって、複数の電子の各々に対する電子特徴および複数の電子の複数の対の各々に対する対特徴を備える、入力データを得るステップと、複数の中間層を有する反対称ニューラルネットワークを使用して入力データを処理するステップとを含むコンピュータ実装方法が記載される。反対称ニューラルネットワークは、入力データを処理して、システムの1つまたは複数の性質の予測値を出力として生成するように構成されてよく、かつ反対称ニューラルネットワークの複数の中間層の各々は、それぞれの層入力にそれぞれの置換同変関数を適用することによって、中間層へのそれぞれの層入力から中間層に対するそれぞれの層出力を生成するように構成されてよい。
【0005】
記載されるシステムおよび方法の一応用は、分子などの化学系の波動関数の値を予測することである。この課題作業への一部の公知の手法は、正確であるが、うまく拡大せず、非常に小さな分子以外に適用するには計算的に非実用的である。それらは、実用上重要である非平衡幾何構造に関しても不正確であり得る。変分モンテカルロ法は、計算的にはそれほど集約的でないが、低精度に陥る。一部のニューラルネットワークベースの手法は、教師あり学習で訓練され、既存の計算法によって生成される例から学習する。
【0006】
対照的に、本明細書に記載されるシステムおよび方法の実装例は、各(単一)電子からの特徴を使用することによるだけでなく、電子の対の各々間の対(交換)相互作用を含むことによって正確な結果を生じることができる。原則として、そのような手法は計算的に難しくもある。しかしながら、本明細書に記載されるシステムおよび方法は、反対称ニューラルネットワークを使用することによって計算負荷を軽減でき、同ネットワークが、置換同変関数を実装する中間層を使用することによって達成されることを更に認識している。これは、表現的であるが計算的に実行可能である仮説を与える。
【0007】
一部の実装例において、中間層(より詳細には最終中間層を除く複数の中間層の各々)に対して、それぞれの層入力は、電子の各々に対するおよび電子の対の各々に対する別々の入力ストリームを備え、層出力は、電子の各々に対するおよび電子の対の各々に対する別々の出力ストリームを備え、そして中間層は、対応するストリーム副層で各入力ストリームに作用するように構成される。複数の中間層の第1の中間層に対して、電子の各々に対する入力ストリームは電子に対する電子特徴でよく、そして電子の対の各々に対する入力ストリームは電子の対に対する対特徴でよい。この手法は、電子に対するおよび電子の対に対するストリームにより、上記システムの計算要件を制御することを容易にすることができる。
【0008】
一部の実装例において、複数の中間層の各々に対して、電子の各々に対応する特定のストリーム副層は、それぞれの層入力から対応する電子に対する入力ストリームを受け取り、それぞれの層入力からの入力ストリームから対応する電子に対する複合入力を生成し、特定のストリーム副層によって生成される入力ストリームを複合入力と連結して、対応する電子に対する連結入力ストリームを生成し、そして連結入力ストリームを処理して、対応する電子に対する連結出力ストリームを生成するように構成される。(換言すれば、入力および出力として見られるものによって、特定のストリーム副層は、それぞれの層入力から対応する電子に対する入力ストリームを受け取ってよく、入力ストリームを処理して初期出力ストリームを生成してよく、特定の中間層のストリーム副層によって生成される初期出力ストリームから対応する電子に対する複合出力を生成してよく、そして特定のストリーム副層によって生成される初期出力ストリームを複合出力と連結して、対応する電子に対する連結出力ストリームを生成してよい)。連結出力ストリームは、対応する電子に対する出力ストリームを備えてよく、および/または中間層の少なくとも1つに対して、対応する電子に対する出力ストリームは、連結出力ストリームおよび直前の中間層において対応する電子に対してストリーム副層によって生成された残余出力ストリームを含んでよい。
【0009】
一部の実装例において、(連結)入力ストリームを処理して連結出力ストリームを生成することは、(連結)入力ストリームに線形変換を適用して変換ストリームを生成するステップと、変換ストリームに非線形活性化関数を適用して(連結)出力ストリームを生成するステップとを含む。対応する電子に対する複合信号(入力)を生成することは、複数の電子スピン、例えばスピンアップおよびスピンダウン状態の各々に対して、電子スピンを有する電子に対応する(入力)ストリームの平均を計算するステップと、複合入力に平均を含むステップとを含んでよい。このことは、また、複数の電子スピンの各々に対して、対応する電子と電子スピンを有する電子とを含む電子の対に対応する(入力)ストリームの平均を計算するステップと、複合入力に平均を含むステップとを含んでもよい。
【0010】
反対称ニューラルネットワークは、複数の層の最後の中間層の層出力から予測値を生成するように構成されてよい。予測値を生成することは、最後の中間層の層出力から、複数の行列式の各々に対するそれぞれの(行列)入力を生成することと、行列式に対するそれぞれの入力から各行列式のそれぞれの出力を決定することと、行列式の各々のそれぞれの出力から予測値を決定することとを含んでよい。そのような行列入力は、電子の各々に対する出力ストリームの(全ての)置換の正方行列を備えてよい。実装例において、それぞれの入力(行列式への)を生成することは、また、最後の中間層の層出力に線形変換(特に、スピンアップおよびスピンダウン状態に対して異なる)を適用して最終変換出力を生成することと、最終変換出力の一部または全てに複数の指数関数的に減衰する包絡線の各々を適用することとを含んでよい。これは、波動関数が原子核から遠く離れてゼロになるという境界条件を実施するのを促進できる。
【0011】
実装例において、上記システムは、電子特徴、例えばスピンアップ電子の集合のおよびスピンダウン電子の集合の位置から化学系、例えば分子の波動関数ψの値へのマッピングを提供する。このように、波動関数は、例えば、化学系、例えば分子の基底状態エネルギーなどの関連したエネルギーを決定するためにマッピングされてもまたは特徴付けられてもよい。関連した電子確率密度はψ2によって与えられる。
【0012】
上記システムは、変分エネルギーを最適化する、例えば、基底状態波動関数を決定するエネルギーを最小化するように訓練できる。これは、波動関数からエネルギーを推定する目的関数に確率的勾配降下を使用して反対称ニューラルネットワークのパラメータを最適化することによって行われてよい。
【0013】
化学系、例えば分子の波動関数は多くの方法で使用できる。
【0014】
例えば、波動関数は、例えば、どの構造が他より比較的より安定していそうかを査定するために構造の基底状態波動関数のエネルギーに基づいて複数の化合物構造をスクリーニングすることによって、分子または他の化学系を(インシリコで)設計するために使用されてよい。任意選択で、分子または他の化学系は、次いで比較的より安定しているとして識別される構造に従って合成されてよい。
【0015】
別の例では、波動関数は、分子または他の化学系のための合成経路を選択するために使用されてよい。例えば、2つ以上の可能な合成経路があってよく、そしてどの合成経路がより簡単でありそうかを査定するために各合成経路の1つまたは複数の中間体の基底状態エネルギーが決定および比較されてよい。または、2つ以上の可能な合成経路があってよく、そしてどの合成経路がより簡単でありそうかを査定するために各合成経路における同じ中間体の1つもしくは複数の異なる立体配座のエネルギーが決定および比較されてよい(本明細書に記載される技術は、屈曲もしくはねじれ分子に対する正確な波動関数を決定する際に有用であることができる)。任意選択で、分子または他の化学系は、次いでより簡単な合成経路を使用して合成されてよい。
【0016】
別の例では、分子または他の化学系のための合成経路は既知でよいが、反応機構は未知でよい。想定機構の尤度を評価するために、同機構における1つまたは複数のステップの1つまたは複数のコンポーネントに対して1つまたは複数の波動関数および/または基底状態エネルギーが決定されてよく、そしてこれらを比較することによって反応のための機構が識別されてよい。一旦反応機構が分かると、同機構を適合させることによって反応が改善されてよく、任意選択で、分子または他の化学系は、次いで適合機構を使用して合成されてよい。
【0017】
別の例では、異なる想定立体配座に対する波動関数および/またはそれらのエネルギーを比較することによって分子または他の化学系の立体配座が識別されてよい。分子または他の化学系は、次いで立体配座を変化させるためにまたは所望の立体配座をより起こりやすくするために変更されてよく、任意選択で、分子または他の化学系は、次いで所望の立体配座で合成されてよい。
【0018】
別の例では、波動関数および/または基底状態エネルギーは、配位子およびその標的の一方または両方に対して決定されてよい。標的は生体分子標的でよく、そして配位子は候補薬物でよく、または配位子は触媒でよい。波動関数および/または基底状態エネルギーは、どの配位子が標的と強く相互作用するであろうかを予測するために使用されてよく、配位子の1つまたは複数が、次いで実地評価のために合成されてよい。
【0019】
別の例では、波動関数およびエネルギーは、分子または他の化学系の2つ以上の異なる物理的または電子的立体配座に対して決定されてよく、そして分子/化学系を特徴付けるために、例えば、未知の分子/化学系を識別するためにまたは特定の電磁吸収もしくは放射特性を持つ分子/化学系を設計する(次いで任意選択で作る)ために、エネルギー間の差が使用されてよい。
【発明の効果】
【0020】
本明細書に記載される対象の特定の実施形態は、以下の利点の1つまたは複数を実現するように実装できる。
【0021】
着目した化学系の正確な波動関数は、それらを計算するのがNP困難であるので、計算不可能であるが、例えば多項式的にスケーリングするアルゴリズムを使用して近似を見つけることができる。これらのアルゴリズムの多くに対する課題は、波動関数近似または仮説の選択であり、効率と精度との間でトレードオフしなければならない。
【0022】
ニューラルネットワークが一般に正確な関数近似器として印象的な能力を示してきたが、電子構造の問題により、フェルミディラック統計に従う波動関数が必要とされる。これにより、既存のニューラルネットワークアーキテクチャは化学系の波動関数(または電子構造に関する他の性質)を近似するためには適切でなくなる。
【0023】
本明細書は、フェルミディラック統計に従う方式で多電子系の波動関数(または他の性質)を近似できる反対称ニューラルネットワークを導入する。反対称ニューラルネットワークを使用することによって、本明細書に記載される技術は、原子配置および電荷以外のデータを全く使用しないで各種の原子および小分子に関して他の変分量子モンテカルロ波動関数近似器に勝る精度を達成することができる。記載される技術は、他の非経験的量子化学方法より性能が優れており、以前までは扱いにくかった分子および固体に対する波動関数の正確な直接最適化を可能にする。
【0024】
反対称ニューラルネットワークは、課題となるシステムの高精度量子化学計算を可能にするように構築および最適化できる。例えば、反対称ニューラルネットワークは、単純かつ直接的なVMC方法を、平衡幾何構造に対してはDMC、AFQMCおよびCCSD(T)方法と競合させ、多くの平衡外幾何構造に対してはCCSD(T)より良好にする。
【0025】
有利には、訓練パラメータの1つの集合を持つ1つのネットワークアーキテクチャが、多くの種々の化学系に関して高精度を達成することができた。このように、反対称ニューラルネットワークの使用は、新たな化学系に対して基底系を選ぶことまたは基底系外挿を行うことが必要とされず、計算量子化学における一般的な誤差源を取り除くことを意味する。
【0026】
より一般に、反対称ニューラルネットワーク、すなわちニューラルネットワークへの入力に関して反対称であるニューラルネットワークを使用する結果として、ニューラルネットワークの予測にこの反対称性を有することが必要とされるときに多くの種々のタスクに関して改善された精度に至ることができる。
【0027】
本明細書に記載される対象の1つまたは複数の実施形態の詳細が添付図面および以下の説明に明らかにされる。本対象の他の特徴、態様および利点は、同説明、図面および請求項から明らかになるであろう。
【図面の簡単な説明】
【0028】
【
図1】ニューラルネットワークシステム例を示す図である。
【
図2】反対称ニューラルネットワークのアーキテクチャ例を示す図である。
【
図3】ネットワーク入力に対する出力を生成するためのプロセス例のフロー図である。
【発明を実施するための形態】
【0029】
様々な図面における同様の参照番号および記号は同様の要素を示す。
【0030】
本明細書は、反対称ニューラルネットワークを使用して入力を処理する、1つまたは複数の場所における1つまたは複数のコンピュータ上のコンピュータプログラムとして実装されるシステムについて記載する。概して、反対称ニューラルネットワークは、ニューラルネットワークへの入力に関して反対称であるニューラルネットワークである。すなわち、ネットワーク入力内の任意の2つのベクトルの相対位置が交換されれば、交換後のニューラルネットワークの出力は、交換前のニューラルネットワークの出力に大きさが等しいが符号が逆となる。
【0031】
ニューラルネットワークは、各種のデジタルデータ入力のいずれかを受け取るように、およびデジタルデータ入力に対する各種のスコアのいずれかを生成するように構成できる。
【0032】
特に、後続の説明において、ニューラルネットワークは、化学系、例えば原子、分子、または1つもしくは複数の原子核および複数電子の他の群を特徴付けるデータを入力として受け取るように構成されるとして、かつ化学系の1つまたは複数の性質の予測を出力として生成するように構成されるとして記載される。
【0033】
しかしながら、ニューラルネットワークは、上記した反対称性が有益である種々のコンポーネントを含む他のシステムからの他の種類のデータを処理するようにも構成できる。例えば、ニューラルネットワークへの入力は、ゼロ和ゲームの参加者を特徴付けるデータでよく、そしてニューラルネットワークの出力は、ゼロ和ゲームに対する予測値関数を表すデータでよい。
【0034】
特定の例として、後続の説明は、反対称ニューラルネットワーク内の層の出力がシステム内の電子のスピンに基づくことについて記載するが、異なる文脈では出力はシステムのコンポーネントの異なる性質に基づき得る。
【0035】
図1は、ニューラルネットワークシステム例100を示す。ニューラルネットワークシステム100は、1つまたは複数の場所における1つまたは複数のコンピュータ上のコンピュータプログラムとして実装されるシステムの一例であり、ここに下記するシステム、コンポーネントおよび技術を実装できる。
【0036】
ニューラルネットワークシステム100は、複数のコンポーネントを持つシステム、例えば複数の電子を持つ化学系を特徴付ける入力データ102を得るシステムである。
【0037】
ニューラルネットワークシステム100は、次いで、入力データ102を処理してシステムの1つまたは複数の性質の予測値112を出力として生成するように構成される反対称ニューラルネットワーク110を使用して入力データ102を処理する。システムが化学系であるとき、1つまたは複数の性質は化学系の波動関数を含むことができる。すなわち、反対称ニューラルネットワーク110は、化学系を特徴付ける入力データ102を処理して、化学系の波動関数の推定値である出力112を生成するように構成される。
【0038】
いかなる化学系の波動関数もフェルミディラック統計に従わなければならない、すなわち波動関数が化学系内の任意の2つの電子の位置およびスピン座標の同時交換下で反対称でなければならないので、ニューラルネットワーク110も、波動関数を正確に推定するために反対称でなければならない。
【0039】
別の例として、予測値は化学系の基底状態エネルギーであることができる、またはそれを含むことができる。
【0040】
入力データ102は、複数のコンポーネントの各々に対するコンポーネント特徴、例えば電子特徴および複数のコンポーネントの複数の対の各々に対する対特徴を含む。
【0041】
特定の例として、化学系内の各電子に対して、電子特徴は、化学系の電子および各原子核の相対位置、例えば3次元相対位置に基づく距離ベースの特徴を含むことができる。特に、所与の電子および所与の原子核に対して、電子特徴は、化学系内の所与の電子および所与の原子核の位置の差を測定する差ベクトル、すなわちriを化学系内のi番目の電子の位置を表すベクトルおよびRIを化学系内のI番目の原子核の位置を表すベクトルとして、ri-RIに等しい距離ベクトルを含むことができる。任意選択で、電子特徴は、距離ベクトルに加えて、所与の電子と所与の原子核との間の絶対距離、すなわち距離ベクトルのノルムも含むことができる。
【0042】
更に任意選択で、化学系内の各電子に対して、電子特徴は、電子のスピンを識別する、すなわち電子がスピンアップ電子であるかスピンダウン電子であるかを識別する特徴も含むことができる。
【0043】
別の特定の例として、化学系内の各電子の対に対して、対特徴は、化学系内の対の電子の相対位置に基づく距離ベースの特徴を含むことができる。特に、対特徴は、化学系内の対の電子の位置の差を測定する差ベクトル、すなわちriを化学系内の対の第1の電子iの位置を表すベクトルおよびrjを化学系内の対の第2の電子jの位置を表すベクトルとして、ri-rjに等しい距離ベクトルを含むことができる。任意選択で、対特徴は、距離ベクトルに加えて、対の2つの電子間の絶対距離、すなわち距離ベクトルのノルムも含むことができる。
【0044】
2つの電子間または電子と原子核との間の距離がゼロにおいて非滑らかな関数であるので、ニューラルネットワーク110は、2つの粒子が一致するときの波動関数の非滑らかな挙動、すなわち波動関数尖点を表現することが可能である。これらの尖点を正確にモデル化することが、化学系のエネルギーおよび他の性質を正しく推定するために重要である。このように、入力として距離ベクトルおよび、任意選択で絶対距離を含むことで、ニューラルネットワーク110が化学系の1つまたは複数の出力性質を正確に推定するのを支援できるが、但し波動関数はそれでもこれらなしで近似できる。その上、入力として直接的に粒子間の絶対距離を含むことは、行列式後に別個のジャストロー因子(電子-電子相関を表す)を含む必要性を除去する。
【0045】
更に任意選択で、化学系内の各電子の対に対して、対特徴は、対の電子の各々のスピンを識別する、すなわち対の各電子がスピンアップ電子であるかスピンダウン電子であるかを識別する特徴も含むことができる。
【0046】
上記したように、反対称ニューラルネットワーク110は、入力データ102をシステムの1つまたは複数の性質の予測値112にマッピングする。
【0047】
反対称ニューラルネットワーク110は複数の中間層を有し、そしてニューラルネットワーク110内の最後の中間層の出力から予測値112を生成する。中間層が「中間」と称されるのは、中間層によって生成される出力、すなわち、すなわちニューラルネットワーク110内の最後の中間層の出力が、予測値112を生成するために使用される中間特徴であるからであって、すなわちニューラルネットワーク110の出力である予測値112に直接なるわけではないからである。
【0048】
ニューラルネットワーク110の出力が反対称であることを保証するために、中間層の各々は、中間層へのそれぞれの層入力にそれぞれの置換同変関数を適用することによって中間層へのそれぞれの層入力から中間層に対するそれぞれの層出力を生成するように構成される。
【0049】
置換同変関数は、この文脈では、同じスピンを持つ異なる電子に対応する2つの層入力特徴が置換されれば、対応する異なる層出力電子特徴が同じように置換されることを意味する。言い換えれば、2つのスピンアップ電子に対する入力ストリームが交換されれば、2つのスピンアップ電子に対する出力ストリームも交換される、すなわち入力ストリームが交換されなかったならば生成されるであろう出力ストリームに相対することになる。同様に、2つのスピンダウン電子に対する入力ストリームが交換されれば、2つのスピンダウン電子に対する出力ストリームも交換されることになる。数学的に言えば、関数は、全ての電子置換の群の部分群に関して同変である、すなわち部分群は、置換されている電子のスピンが同じである置換全ての集合である。
【0050】
一旦最後の中間層が層出力を生成したなら、ニューラルネットワーク110は、最後の中間層の層出力から、複数の行列式の各々に対する、すなわち異なる行列の行列式を各々計算する複数の関数の各々へのそれぞれの入力を生成し、行列式に対するそれぞれの入力から各行列式のそれぞれの出力を決定し、そして行列式の各々のそれぞれの出力から予測値を決定する。
【0051】
行列式関数への入力を生成するために使用される各中間層が置換同変であるので、かつニューラルの出力がこれらの置換同変関数の出力から計算される行列式に依存するので、ニューラルネットワーク110の出力、すなわち予測値112は、入力システムの任意の2つのコンポーネントの特徴の交換に関して反対称である。
【0052】
ニューラルネットワーク110のアーキテクチャおよび化学系の特徴から出力を生成することが、
図2および
図3を参照しつつ以下により詳細に記載される。
【0053】
図2は、反対称ニューラルネットワーク110のアーキテクチャ例を示す。
【0054】
特に、
図2の例では、入力データ102が化学系200に対して生成され、そしてニューラルネットワーク110が入力データ102を処理して化学系200の波動関数の予測値212を生成する。
【0055】
例示を容易にするために3つの電子r
1、r
2およびr
iならびに単一の原子核R
1が
図2に示されるが、化学系200が、図に示されるものより多くの電子、多くの原子核または両方を有することができることが理解されるであろう。
【0056】
入力データ102は、化学系200内のn個の電子の各々に対する電子特徴および化学系200内の各(個別)電子の対に対する対特徴を含む。
【0057】
図2において、i番目の電子に対する入力データ102内の電子特徴が
【0058】
【0059】
として示される一方、一対の電子iおよびjに対する対特徴は
【0060】
【0061】
として示される。
【0062】
概して、n個の電子はn↑スピンアップ電子およびn↓スピンダウン電子に分けられる。入力データ102がニューラルネットワーク110によって処理される前に、スピンアップ電子は1からn↑まで順序付けられ、そしてスピンダウン電子は1からn↓まで順序付けられる。
【0063】
上記したように、所与の電子rに対する電子特徴は、化学系内の各原子核Rに対して、距離ベクトルおよび絶対距離を含む。任意の所与の電子の対に対する対特徴も距離ベクトルおよび絶対距離を含む。
【0064】
図2に示されるように、ニューラルネットワーク110は、L個の中間層210を使用して入力データ102を処理する。
【0065】
L個の中間層の各々は層入力を受け取って層出力を生成する。
【0066】
第1のL-1個の中間層の各々に対して、層の層出力は、次の層への層入力を生成するために使用される。
【0067】
最後の中間層、すなわち中間層Lに対して、中間層の層出力は、以下により詳細に記載されることになるように、複数の行列式関数への入力を生成するために使用される。
【0068】
概して、中間層の各層lに対して、中間層に対するそれぞれの層入力は、電子の各々に対する別々の入力ストリーム
【0069】
【0070】
および電子の対の各々に対する別々の入力ストリーム
【0071】
【0072】
を含む。
【0073】
同様に、中間層の各層lに対して、層出力は、電子の各々に対する別々の出力ストリーム
【0074】
【0075】
および電子の対の各々に対する別々の出力ストリーム
【0076】
【0077】
を含む。
【0078】
L個の中間層の第1の中間層、すなわち中間層1に対して、電子の各々に対する入力ストリームは電子に対する電子特徴
【0079】
【0080】
であり、そして電子の対の各々に対する入力ストリームは電子の対に対する対特徴
【0081】
【0082】
である。
【0083】
第1の中間層1の後のL個の中間層の各中間層に対して、電子の各々に対する入力ストリームは、直前の中間層によって生成された電子に対する出力ストリームであり、そして電子の対の各々に対する入力ストリームは、直前の中間層によって生成された対に対する出力ストリームである。
【0084】
中間層の各々は、対応するストリーム副層、すなわち対応する電子または電子の対に対する入力ストリームから対応する電子または電子の対に対する出力ストリームを生成するように構成される副層で各入力ストリームに作用するように構成される。
【0085】
以下の説明から明白であるように、入力ストリームおよび対応するストリーム副層の使用のため、各中間層は、中間層に対するそれぞれの層入力に置換同変関数を適用する。言い換えれば、入力ストリームの順序が変更されても、各中間層は、それでも副層の使用のため同じ層出力を返すことになる。
【0086】
所与の中間層内で発生する動作は、
図2に示され、かつ中間層l+1によって行われる動作を参照しつつ下記される。しかしながら、より一般に、これらの動作は各中間層によって行われる(下記されるように、一部の実装例において、最後の中間層を除く)。
【0087】
中間層l+1内で、電子の1つに対応する(すなわち、電子の対の1つにではない)各副層は、それぞれの層入力から対応する電子に対する入力ストリームを受け取り、それぞれの層入力内の入力ストリームから対応する電子に対する複合入力を生成し、そして電子に対する入力ストリームおよび電子に対する複合入力から対応する電子に対する出力ストリームを生成するように構成される。
【0088】
概して、副層は、対応する電子に対する入力ストリームおよび対応する電子に対する複合入力を連結することによって対応する電子に対する連結入力
【0089】
【0090】
を生成し、次いで連結入力を処理して、対応する電子に対する連結出力ストリームを生成する。
【0091】
特に、副層は、連結入力に線形変換を適用することによって、例えば、連結入力に副層に対する重み行列を乗算し、次いで任意選択で学習したバイアスを加算することによって、または副層に対する重みカーネルと連結入力との間の畳込みを行うことによって、連結入力を処理して、変換ストリームを生成する。副層は、次いで変換ストリームに非線形活性化関数、例えば双曲線正接または正規化線形単位関数を適用して連結出力ストリームを生成できる(双曲線正接非線形性は滑らかであり、数値安定性を促進できる)。
【0092】
一部の実装例において、連結出力ストリームは、対応する電子に対する出力ストリーム
【0093】
【0094】
である。
【0095】
一部の他の実装例において、しかしながら、中間層の少なくとも一部が、連結出力ストリームおよび直前の中間層において対応する電子に対してストリーム副層によって生成された残余出力ストリーム、すなわち直前の中間層からの出力ストリーム
【0096】
【0097】
(または、第1の中間層に対しては、電子に対する電子特徴)を含む所与の電子に対する出力ストリームを生成する。例えば、所与の電子に対する出力ストリームは、連結出力ストリームおよび残余出力ストリームの連結、和または平均であることができる。
【0098】
図2に示されるように、層lの層出力から所与の電子に対する複合入力を生成するために、電子に対応する副層は、各可能な電子スピンに対して、電子スピンを有する電子に対応する入力ストリームのそれぞれの平均を計算する。言い換えれば、副層は、(i)スピンアップ電子に対応する入力ストリーム
【0099】
【0100】
の平均gl↑および(ii)スピンダウン電子に対応する入力ストリーム
【0101】
【0102】
の平均gl↓を計算する。
【0103】
副層は、次いで複合入力に平均を含む。
【0104】
任意選択で、副層は、可能な電子スピンの各々に対して、対応する電子および可能な電子スピンを有する電子の両方を含む電子の対に対応する入力ストリームのそれぞれの平均も計算できる。言い換えれば、副層は、(i)対応する電子およびスピンアップ電子を含む電子の対に対応する入力ストリーム
【0105】
【0106】
の平均
【0107】
【0108】
ならびに(ii)対応する電子およびスピンダウン電子を含む電子の対に対応する入力ストリーム
【0109】
【0110】
の平均
【0111】
【0112】
を計算する。
【0113】
副層は、次いで複合入力に平均を含む。
【0114】
例えば、複合入力は、計算された平均、例えば平均gl↑、gl↓、
【0115】
【0116】
および
【0117】
【0118】
の連結であることができる。
【0119】
個々の電子に対してとは異なり、各電子の対に対しては、対に対応する特定のストリーム副層は、中間層に対するそれぞれの層入力から対応する対に対する入力ストリームを受け取り、そして入力ストリームを処理して初期出力ストリームを、すなわち複合または連結入力を生成することなく、生成するように構成される。
【0120】
一部の実装例において、初期出力ストリームは、対応する対に対する出力ストリームである。
【0121】
一部の他の実装例において、中間層の少なくとも1つに対して、所与の対に対する出力ストリームは、対に対する初期出力ストリームおよび直前の中間層において所与の対に対してストリーム副層によって生成された残余出力ストリームを含む。例えば、所与の対に対する出力ストリームは、連結出力ストリームおよび残余出力ストリームの連結、和または平均であることができる。
【0122】
このように、他方の一電子ストリームからの情報および対ストリームからの情報の両方が一電子ストリームへ供給される。しかしながら、ニューラルネットワーク110の計算オーバーヘッドを削減するために、対ストリーム間では情報は全く転送されない。これらは、次いで並列に動作する多層パーセプトロンとして実装できる。ニューラルネットワーク110のアーキテクチャのため、ニューラルネットワーク110は、それでもこの計算オーバーヘッドの削減下でさえ正確な予測値を生成できる。
【0123】
上記したように、ニューラルネットワーク110は最後の中間層Lの層出力を使用して、ニューラルネットワーク110の出力である予測値を生成する。
【0124】
特に、ニューラルネットワーク110は、最後の中間層の層出力から、複数の行列式の各々に対するそれぞれの入力を生成し、そして行列式に対するそれぞれの入力から各行列式のそれぞれの出力を決定する。
【0125】
概して、各行列式への入力は値の正方行列であり、行列式の出力は正方行列の行列式である。以下の説明から分かるように、各行列式への入力が異なる行列であるので、各行列式は、概して異なるスカラ行列式値を出力することになる。
【0126】
より詳細には、
図2に示されるように、複数の行列式は行列式の複数対を含み、行列式の各対が、スピンアップ電子に対する出力ストリームから生成される行列に作用する1つの行列式およびスピンダウン電子に対する出力ストリームから生成される行列に作用する別の行列式を含む。特に、
図2の例では、各対の一方の行列式がn↑×n↑行列に作用する一方、他方の行列式はn↓×n↓行列に作用する。各行列は、入力データ内の任意の2つの電子の電子特徴を交換することが行列の2つの行または2つの列を交換するという意味で反対称でよい。
【0127】
所与の行列式への入力行列を生成するために、ニューラルネットワーク110は、最後の中間層の層出力に(および、より詳細には、最後の中間層の層出力内の電子に対する出力ストリームに)最終スピン依存線形変換を適用して最終変換出力を生成し、次いで最終変換出力の一部または全てに複数の指数関数的に減衰する包絡線の各々を適用することに基づいて、所与の行列式に対する入力、すなわち行列式に対する入力行列を生成する。指数関数的に減衰する包絡線を適用することは、波動関数(ψ)が原子核から遠く離れてゼロになるという境界条件を実施する。
【0128】
行列式の各対内で、対の行列式への入力を生成するためにスピンアップである電子にスピンダウンである電子とは異なる変換が適用されるので、線形変換はスピン依存変換と称される。
【0129】
言い換えれば、行列式のk番目の対に対して、対の行列式への入力行列内の要素ijを生成するために、システムは、次の通りに要素ijに対する最終変換出力内の要素ijを生成し、
【0130】
【0131】
式中、αはスピンアップまたはスピンダウンを示し、
【0132】
【0133】
および
【0134】
【0135】
は行列式のk番目の対に対する最終線形変換の重みおよびバイアスであり(かつ、αへの依存のため、線形変換がスピンアップ行列に対してであるかスピンダウン行列に対してであるかに応じて異なり)、そして
【0136】
【0137】
はj番目のスピンアップまたはスピンダウン電子に対する出力ストリームである。
【0138】
システムは、次いで
【0139】
【0140】
に指数関数的に減衰する包絡線の加重和を適用して、次の通りに入力行列内の要素ijを生成し、
【0141】
【0142】
式中、和は化学系における半径にわたり、そして
【0143】
【0144】
および
【0145】
【0146】
は、各原子核から遠いゼロへの異方性減衰を制御する学習したパラメータである。
【0147】
ニューラルネットワーク110は、次いで行列式の各々のそれぞれの出力から予測値を決定する。例えば、ニューラルネットワーク110は、行列式の各対に対する、対の行列式の行列式出力の積の重み付き和として予測値を決定できる。
【0148】
以上の説明から分かるように、一部の実装例において、予測値を計算するために、層Lの層出力内の電子の対でなく電子に対応する出力ストリームだけが使用される。したがって、これらの実装例において、最後の中間層Lは、電子の対に対応する副層を含まなくて(かつ化学系内の個々の電子に対応する副層を含むだけで)よく、それゆえに個々の電子に対するがいずれの電子の対に対するものでもない出力ストリームだけを含む層出力を生成してよい。
【0149】
一部の場合には、行列式はログ領域において計算でき、ニューラルネットワークの出力は、それゆえに波動関数の絶対値および波動関数の符号のログであることができる。これは、数値安定性を改善するのを促進できる。この場合、システムが訓練されると(後述)、エネルギーがログ領域において、すなわちlogψの関数として計算される。
【0150】
図3は、予測値を生成するためのプロセス例300のフロー図である。便宜上、プロセス300は、1つまたは複数の場所に設けられる1つまたは複数のコンピュータのシステムによって行われるとして記載されることになる。例えば、ニューラルネットワークシステム、例えば
図1のニューラルネットワークシステム100が適切にプログラムされて、プロセス300を行うことができる。
【0151】
上記システムは、複数の電子を持つ化学系を特徴付ける入力データを得る(ステップ302)。入力データは、複数の電子の各々に対する電子特徴および複数の電子の複数の対の各々に対する対特徴を含む。例えば、入力データは、各可能な電子の対に対するまたは化学系内の複数の電子から選択することによって生成できる可能な電子の対の部分集合の対特徴を含むことができる。
【0152】
上記システムは、反対称ニューラルネットワークを使用して入力データを処理して、システムの性質に対する予測値を生成する(ステップ304)。
【0153】
より詳細には、反対称ニューラルネットワークは、複数の中間層を通じて入力データを処理して最後の中間層に対する層出力を生成し(ステップ306)、次いで最後の中間層の層出力から性質の予測値を生成する(ステップ308)ように構成される。
【0154】
上記システムは、適切な勾配降下ベースの訓練技術を使用して目的関数を最小化する訓練データで対象システムの性質の正確な予測値を生成するように反対称ニューラルネットワークを訓練できる。目的関数は、ニューラルネットワークが行うように訓練されており、かつ概して訓練入力データに対してニューラルネットワークによって生成される予測値と訓練入力データによって特徴付けられるシステムのための性質に対する既知または目標値との間の誤差を測定する、特定のタスクのための任意の適切な目的関数であることができる。
【0155】
特定の例として、性質が化学系の波動関数であるとき、目的関数は、波動関数仮説のエネルギー期待値を測定する損失関数であることができ、すなわち上記システムは、波動関数仮説のエネルギー期待値を最小化する予測波動関数値を生成するようにニューラルネットワークを訓練できる。
【0156】
行列式がログ領域において計算される場合、反対称ニューラルネットワークのパラメータθに関する目的関数(エネルギー)Lの勾配を
∇θL=(EL-Ep(X)[EL])∇θlog|ψ|
として決定でき、式中、Xは全ての電子のための3D座標
【0157】
【0158】
の集合であり、そしてψ(X)に対して評価されるELを
【0159】
【0160】
として決定でき、式中、V(X)は状態Xの位置エネルギーであり、そして添字iがXの各電子のための3次元の各々にわたって続く。
【0161】
ニューラルネットワークを訓練するために使用できる勾配ベースの技術の一例がそのような目的を最適化するので、上記システムは、ニューラルネットワークを訓練するのに適切な自然勾配降下技術に近いものである、クロネッカー因子分解近似曲率(KFAC)のバージョンを使用してニューラルネットワークを訓練できる。
【0162】
単に例示として、一部の実装例において、中間層の数は少なく、例えば10未満または5未満でよい。電子に対するストリームの集合の幅は100隠れユニット未満でよいが、これは電子数に依存してよく、そして一般に多くの隠れユニットを使用することで精度を増してよい。
【0163】
本明細書は、システムおよびコンピュータプログラムコンポーネントに関して用語「構成される」を使用する。1つまたは複数のコンピュータのシステムが特定の動作または行為を行うように構成されることは、動作に際してシステムに同動作または行為を行わせるソフトウェア、ファームウェア、ハードウェアまたはそれらの組合せをシステムが自らにインストールしたことを意味する。1つまたは複数のコンピュータプログラムが特定の動作または行為を行うように構成されることは、データ処理装置によって実行されると、同装置に同動作または行為を行わせる命令を1つまたは複数のプログラムが含むことを意味する。
【0164】
本明細書に記載される対象および機能動作の実施形態は、デジタル電子回路網で、有形に具現化されたコンピュータソフトウェアもしくはファームウェアで、本明細書に開示される構造およびそれらの構造等価物を含むコンピュータハードウェアで、またはそれらの1つもしくは複数の組合せで実装できる。本明細書に記載される対象の実施形態は、1つまたは複数のコンピュータプログラム、すなわち、データ処理装置による実行のために、またはその動作を制御するために有形の非一時的記憶媒体に符号化されたコンピュータプログラム命令の1つまたは複数のモジュールとして実装できる。コンピュータ記憶媒体は、機械可読記憶デバイス、機械可読記憶基板、ランダムもしくはシリアルアクセスメモリデバイス、またはそれらの1つもしくは複数の組合せであることができる。代替的にまたは加えて、プログラム命令は、データ処理装置による実行のために適切な受信器装置に伝送するための情報を符号化するために発生される人工発生伝搬信号、例えば機械発生電気、光または電磁信号上に符号化できる。
【0165】
用語「データ処理装置」は、データ処理ハードウェアを指し、例としてプログラマブルプロセッサ、コンピュータ、またはマルチプロセッサもしくはコンピュータを含め、データを処理するための全ての種類の装置、デバイスおよび機械を包含する。同装置は、専用論理回路網、例えばFPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)でもある、またはそれを更に含むことができる。同装置は、任意選択で、ハードウェアに加えて、コンピュータプログラムのための実行環境を作成するコード、例えばプロセッサファームウェアを構成するコード、プロトコルスタック、データベース管理システム、オペレーティングシステム、またはそれらの1つもしくは複数の組合せを含むことができる。
【0166】
コンピュータプログラムは、プログラム、ソフトウェア、ソフトウェアアプリケーション、アプリ、モジュール、ソフトウェアモジュール、スクリプトまたはコードとも称されてまたは記載されてよく、コンパイラ型もしくはインタープリタ型言語、または宣言型もしくは手続き型言語を含め、任意の形式のプログラミング言語で書くことができ、そしてそれは、スタンドアロンプログラムとして、またはモジュール、コンポーネント、サブルーチンもしくはコンピューティング環境で使用するのに適切な他のユニットとしてを含め、任意の形式に展開できる。プログラムは、ファイルシステムにおけるファイルに相当してよいが、しなくてもよい。プログラムは、他のプログラムもしくはデータ、例えばマークアップ言語文書に記憶される1つもしくは複数のスクリプトを保持するファイルの一部分に、当該プログラムに専用の単一のファイルに、または複数連係ファイル、例えば1つもしくは複数のモジュール、サブプログラムもしくはコードの一部分を記憶するファイルに記憶できる。コンピュータプログラムは、1つのコンピュータ上に、または1つのサイトに設けられるもしくは複数サイトにわたって分散されてデータ通信ネットワークによって相互接続される複数コンピュータ上に展開されて実行できる。
【0167】
本明細書において、用語「データベース」は、任意のデータの集まりを指すために広く使用され、データはいずれかの特定の仕方で構造化される必要がなく、または全く構造化される必要がなく、かつそれは1つまたは複数の場所における記憶デバイス上に記憶できる。このように、例えば、索引データベースは複数のデータの集まりを含むことができ、その各々は異なって系統化およびアクセスされてよい。
【0168】
同様に、本明細書において用語「エンジン」は、1つまたは複数の特定機能を行うようにプログラムされるソフトウェアベースのシステム、サブシステムまたはプロセスを指すために広く使用される。一般に、エンジンは、1つまたは複数のソフトウェアモジュールまたはコンポーネントとして実装されることになり、1つまたは複数の場所における1つまたは複数のコンピュータにインストールされる。一部の場合には、1つまたは複数のコンピュータが特定のエンジンに専用であろうが、他の場合には、同じコンピュータまたは複数のコンピュータに複数エンジンをインストールして実行させることができる。
【0169】
本明細書に記載されるプロセスおよび論理フローは、1つまたは複数のコンピュータプログラムを実行して、入力データを演算して出力を生成することによって機能を行う1つまたは複数のプログラマブルコンピュータによって行うことができる。同プロセスおよび論理フローは、専用論理回路網、例えばFPGAもしくはASICによって、または専用論理回路網および1つもしくは複数のプログラムされたコンピュータの組合せによっても行うことができる。
【0170】
コンピュータプログラムの実行に適切なコンピュータは、汎用もしくは専用マイクロプロセッサもしくは両方、または任意の他の種類の中央処理ユニットに基づくことができる。一般に、中央処理ユニットは、リードオンリメモリまたはランダムアクセスメモリまたは両方から命令およびデータを受け取ることになる。コンピュータの必須要素は、命令を行うまたは実行するための中央処理ユニットならびに命令およびデータを記憶するための1つまたは複数のメモリデバイスである。中央処理ユニットおよびメモリは、専用論理回路網によって補足、またはそれに統合できる。一般に、コンピュータは更に、データを記憶するための1つまたは複数の大容量記憶デバイス、例えば磁気、光磁気ディスクまたは光ディスクを含む、または作動的に結合されてそれらからデータを受け取るもしくはそれらにデータを転送するもしくはその両方を行うことになる。しかしながら、コンピュータは、そのようなデバイスを有する必要はない。その上、コンピュータは、別のデバイス、例えば、いくつか挙げると、携帯電話、携帯情報端末(PDA)、モバイルオーディオもしくはビデオプレーヤ、ゲーム機、全地球測位システム(GPS)受信器、またはポータブル記憶デバイス、例えばユニバーサルシリアルバス(USB)フラッシュドライブに組み込むことができる。
【0171】
コンピュータプログラム命令およびデータを記憶するのに適切なコンピュータ可読媒体には、例として、半導体メモリデバイス、例えばEPROM、EEPROMおよびフラッシュメモリデバイス、磁気ディスク、例えば内部ハードディスクまたはリムーバブルディスク、光磁気ディスク、ならびにCD-ROMおよびDVD-ROMディスクを含め、全ての形態の不揮発性メモリ、媒体およびメモリデバイスを含む。
【0172】
ユーザとの対話を提供するために、本明細書に記載される対象の実施形態は、ユーザに情報を表示するためのディスプレイデバイス、例えばCRT(陰極線管)またはLCD(液晶ディスプレイ)モニタ、ならびにユーザがコンピュータに入力を提供できるキーボードおよびポインティングデバイス、例えばマウスまたはトラックボールを有するコンピュータ上に実装できる。ユーザとの対話を提供するために他の種類のデバイスも使用でき、例えばユーザに提供されるフィードバックが任意の形態の感覚フィードバック、例えば視覚フィードバック、聴覚フィードバックまたは触覚フィードバックであることができ、そしてユーザからの入力を、音響、音声または触覚入力を含め、任意の形態で受け取ることができる。加えて、コンピュータは、ユーザによって使用されるデバイスに文書を送信し、それから文書を受信することによって、例えば、ユーザのデバイス上のウェブブラウザから受信される要求に応答してウェブブラウザにウェブページを送信することによって、ユーザと対話できる。また、コンピュータは、パーソナルデバイス、例えばメッセージングアプリケーションを実行しているスマートフォンにテキストメッセージまたは他の形式のメッセージを送信し、折り返しユーザから応答メッセージを受信することによって、ユーザと対話できる。
【0173】
機械学習モデルを実装するためのデータ処理装置は、例えば、機械学習の訓練または生成、すなわち推論、作業負荷の共通部分および計算集約的部分を処理するための専用ハードウェアアクセラレータユニットも含むことができる。
【0174】
機械学習モデルは、機械学習フレームワーク、例えばTensorFlowフレームワーク、Microsoft Cognitive Toolkitフレームワーク、Apache SingaフレームワークまたはApache MXNetフレームワークを使用して実装および展開できる。
【0175】
本明細書に記載される対象の実施形態は、バックエンドコンポーネントを、例えばデータサーバとして含む、またはミドルウェアコンポーネント、例えばアプリケーションサーバを含む、またはフロントエンドコンポーネント、例えばユーザが本明細書に記載される対象の実装例と対話できるようにするグラフィカルユーザインタフェース、ウェブブラウザもしくはアプリを有するクライアントコンピュータを含む、コンピューティングシステム、あるいは1つまたは複数のそのようなバックエンド、ミドルウェアまたはフロントエンドコンポーネントの任意の組合せで実装できる。システムのコンポーネントは、デジタルデータ通信の任意の形態または媒体、例えば通信ネットワークによって相互接続できる。通信ネットワークの例には、ローカルエリアネットワーク(LAN)およびワイドエリアネットワーク(WAN)、例えばインターネットを含む。
【0176】
コンピューティングシステムはクライアントおよびサーバを含むことができる。クライアントおよびサーバは、一般に互いから離れており、典型的に通信ネットワークを通じて対話する。クライアントおよびサーバの関係は、それぞれのコンピュータ上で実行されており、互いにクライアント-サーバ関係を有するコンピュータプログラムによって生じる。一部の実施形態において、サーバは、例えば、クライアントとして作用するユーザデバイスと対話するユーザにデータを表示し、ユーザからユーザ入力を受信する目的で、ユーザデバイスにデータ、例えばHTMLページを送信する。ユーザデバイスにおいて生成されるデータ、例えばユーザ対話の結果は、サーバにおいてデバイスから受信できる。
【0177】
本明細書が多くの具体的な実装詳細を含むが、これらは、いずれの発明の範囲へもまたは特許請求され得るものの範囲へも限定としてではなく、むしろ特定の発明の特定の実施形態 に固有であり得る特徴の記述として解釈されるべきである。別々の実施形態の文脈で本明細書に記載される或る特徴を、組み合わせて単一の実施形態でも実装できる。反対に、単一の実施形態の文脈で記載される様々な特徴が、別々に複数実施形態でも、または任意の適切な下位組合せでも実装できる。その上、特徴が或る組合せで作用すると上記され、しかも当初そのように特許請求され得るが、特許請求された組合せからの1つまたは複数の特徴が一部の場合に同組合せから削除でき、特許請求された組合せは下位組合せまたは下位組合せの変形とされ得る。
【0178】
同様に、動作が特定の順に図面に描かれかつ請求項に列挙されるが、これは、望ましい結果を達成するために、そのような動作が、示される特定の順にもしくは順番に行われること、または全ての例示された動作が行われることを必要とすると理解されるべきでない。或る状況では、マルチタスキングおよび並列処理が有利であり得る。その上、上記した実施形態における様々なシステムモジュールおよびコンポーネントの分離は、全ての実施形態においてそのような分離を必要とすると理解されるべきでなく、記載されたプログラムコンポーネントおよびシステムが一般に単一のソフトウェア製品に共に統合できるまたは複数ソフトウェア製品へ実装できることが理解されるべきである。
【0179】
本対象の特定の実施形態が記載された。他の実施形態は以下の請求項の範囲内である。例えば、請求項に列挙される行為は異なる順に行え、それでも望ましい結果を達成できる。一例として、添付図に描かれるプロセスは、望ましい結果を達成するために、必ずしも示される特定の順序または順番通りを必要とするわけではない。一部の場合には、マルチタスキングおよび並列処理が有利であり得る。
【符号の説明】
【0180】
100 ニューラルネットワークシステム
102 入力データ
110 反対称ニューラルネットワーク、ニューラルネットワーク
112 予測値
200 化学系
210 中間層
212 予測値