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

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

▶ ディープマインド テクノロジーズ リミテッドの特許一覧

特表2024-522049ノイズ除去目的を使用するグラフニューラルネットワークのトレーニング
<>
  • 特表-ノイズ除去目的を使用するグラフニューラルネットワークのトレーニング 図1
  • 特表-ノイズ除去目的を使用するグラフニューラルネットワークのトレーニング 図2
  • 特表-ノイズ除去目的を使用するグラフニューラルネットワークのトレーニング 図3
  • 特表-ノイズ除去目的を使用するグラフニューラルネットワークのトレーニング 図4
  • 特表-ノイズ除去目的を使用するグラフニューラルネットワークのトレーニング 図5
  • 特表-ノイズ除去目的を使用するグラフニューラルネットワークのトレーニング 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-06-11
(54)【発明の名称】ノイズ除去目的を使用するグラフニューラルネットワークのトレーニング
(51)【国際特許分類】
   G06N 3/04 20230101AFI20240604BHJP
【FI】
G06N3/04 100
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023564193
(86)(22)【出願日】2022-05-30
(85)【翻訳文提出日】2023-11-28
(86)【国際出願番号】 EP2022064565
(87)【国際公開番号】W WO2022248735
(87)【国際公開日】2022-12-01
(31)【優先権主張番号】63/194,851
(32)【優先日】2021-05-28
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.TENSORFLOW
(71)【出願人】
【識別番号】517030789
【氏名又は名称】ディープマインド テクノロジーズ リミテッド
(74)【代理人】
【識別番号】100108453
【弁理士】
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【弁理士】
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【弁理士】
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】ジョナサン・ウィリアム・ゴドウィン
(72)【発明者】
【氏名】ピーター・ウィリアム・バッタリア
(72)【発明者】
【氏名】ケヴィン・マイケル・シャールシュミット
(72)【発明者】
【氏名】アルヴァロ・サンチェス
(57)【要約】
1つまたは複数のグラフニューラルネットワーク層を含むニューラルネットワークをトレーニングするための、コンピュータ記憶媒体上で符号化されたコンピュータプログラムを含む方法、システム、および装置。一態様では、方法は、各ノードに対するそれぞれの最終特徴表現を生成することを含む、グラフを規定するデータを生成するステップであって、ノードのうちの1つまたは複数の各々に対して、それぞれの最終特徴表現が、それぞれのノイズを使用してノードに対するそれぞれの特徴表現から生成される、修正された特徴表現である、ステップと、各ノードのそれぞれの更新されたノード埋め込みを生成するために、ニューラルネットワークのグラフニューラルネットワーク層のうちの1つまたは複数を使用して、グラフを規定するデータを処理するステップと、修正された特徴表現を有するノードのうちの1つまたは複数の各々に対して、ノードに対するそれぞれのノイズ除去予測を生成するために、ノードの更新されたノード埋め込みを処理するステップとを含む。
【特許請求の範囲】
【請求項1】
1つまたは複数のグラフニューラルネットワーク層を含むニューラルネットワークをトレーニングするための方法であって、
(i)ノードのセット、(ii)各ノードに対するノード埋め込み、および(iii)ノードのそれぞれのペアを各々が結合するエッジのセットを備えるグラフを規定するデータを生成するステップであって、
各ノードに対するそれぞれの初期特徴表現を取得するステップ、
各ノードに対するそれぞれの最終特徴表現を生成するステップであって、前記ノードのうちの1つまたは複数の各々に対して、前記それぞれの最終特徴表現が、それぞれのノイズを使用して前記ノードに対する前記それぞれの初期特徴表現から生成される、修正された特徴表現である、ステップ、および
前記ノードの前記それぞれの最終特徴表現を使用して、前記グラフを規定する前記データを生成するステップ
を備える、ステップと、
各ノードのそれぞれの更新されたノード埋め込みを生成するために、前記ニューラルネットワークの前記グラフニューラルネットワーク層のうちの1つまたは複数を使用して、前記グラフを規定する前記データを処理するステップと、
修正された特徴表現を有する前記ノードのうちの1つまたは複数の各々に対して、前記ノードの前記修正された特徴表現を生成するために使用された前記ノイズを含まない、前記ノードに対するノイズ除去された特徴表現を特徴づける、前記ノードに対するそれぞれのノイズ除去予測を生成するために、前記ノードの前記更新されたノード埋め込みを処理するステップと、
前記ノードに対する前記ノイズ除去予測における誤差を測定する目的関数を最適化するために、前記ニューラルネットワークのニューラルネットワークパラメータの現在の値への更新を決定するステップと
を含む、方法。
【請求項2】
修正された特徴表現を有する前記ノードのうちの1つまたは複数の各々に対して、前記ノードに対する前記それぞれのノイズ除去予測が、前記ノードの前記修正された特徴表現を生成するために使用された前記ノイズを予測する、請求項1に記載の方法。
【請求項3】
修正された特徴表現を有する前記ノードのうちの1つまたは複数の各々に対して、前記ノードに対する前記それぞれのノイズ除去予測が、前記ノードの前記それぞれの初期特徴表現を予測する、請求項1に記載の方法。
【請求項4】
修正された特徴表現を有する前記ノードのうちの1つまたは複数の各々に対して、前記ノードに対する前記それぞれのノイズ除去予測が、前記ノードのターゲット特徴表現を特徴づける、請求項1に記載の方法。
【請求項5】
修正された特徴表現を有する前記ノードのうちの1つまたは複数の各々に対して、前記ノードに対する前記それぞれのノイズ除去予測が、前記ノードに対する前記修正された特徴表現に加算された場合に前記ノードの前記ターゲット特徴表現をもたらす、前記ノードに対する増分特徴表現を予測する、請求項4に記載の方法。
【請求項6】
タスク予測を生成するために、前記ノードの前記更新されたノード埋め込みを処理するステップをさらに含み、
前記目的関数が、前記タスク予測における誤差も測定する、請求項1から5のいずれか一項に記載の方法。
【請求項7】
(i)前記ノードの前記更新されたノード埋め込みと、(ii)前記グラフニューラルネットワーク層を使用して更新される前の、前記ノードの元のノード埋め込みとの両方が、前記タスク予測を生成するために処理される、請求項6に記載の方法。
【請求項8】
前記グラフが分子を表し、
前記タスク予測が前記分子の平衡エネルギーの予測である、請求項6または7に記載の方法。
【請求項9】
前記目的関数が、前記ニューラルネットワークの複数のグラフニューラルネットワーク層の各々に対して、前記グラフニューラルネットワーク層によって生成される更新されたノード埋め込みに基づいている前記ノードに対するノイズ除去予測におけるそれぞれの誤差を測定する、請求項1から8のいずれか一項に記載の方法。
【請求項10】
修正された特徴表現を有する前記ノードのうちの1つまたは複数の各々に対して、前記ノードに対する前記それぞれのノイズ除去予測を生成するために、前記ノードの前記更新されたノード埋め込みを処理するステップが、
前記ノードに対する前記それぞれのノイズ除去予測を生成するために、1つまたは複数のニューラルネットワーク層を使用して前記ノードの前記更新されたノード埋め込みを処理するステップを含む、請求項1から9のいずれか一項に記載の方法。
【請求項11】
前記目的関数を最適化するために、前記ニューラルネットワークの前記ニューラルネットワークパラメータの前記現在の値への前記更新を決定するステップが、
前記グラフニューラルネットワーク層のニューラルネットワークパラメータを通じて前記目的関数の勾配を逆伝播させるステップ
を含む、請求項1から10のいずれか一項に記載の方法。
【請求項12】
前記ノードのうちの1つまたは複数の各々に対して、前記ノードに対する前記それぞれの最終特徴表現が、前記ノードに対する前記それぞれの初期特徴表現に前記それぞれのノイズを付加することによって生成される、請求項1から11のいずれか一項に記載の方法。
【請求項13】
前記ノードの前記それぞれの最終特徴表現を使用して、前記グラフを規定する前記データを生成するステップが、
第1のノードおよび第2のノードを備えるノードの各ペアに対して、前記第1のノードに対する前記最終特徴表現と前記第2のノードに対する前記最終特徴表現との間のそれぞれの距離を決定するステップと、
既定のしきい値よりも小さい距離に対応するノードの各ペアが前記グラフの中のエッジによって結合されていると決定するステップと
を含む、請求項1から12のいずれか一項に記載の方法。
【請求項14】
前記グラフが、各エッジに対するそれぞれのエッジ埋め込みをさらに備える、請求項1から13のいずれか一項に記載の方法。
【請求項15】
前記グラフを規定する前記データを生成するステップが、
前記エッジによって結合された前記ノードの前記それぞれの最終特徴表現の間の差分に少なくとも部分的に基づいて、前記グラフの中の各エッジに対するエッジ埋め込みを生成するステップ
を含む、請求項14に記載の方法。
【請求項16】
前記グラフが分子を表し、
前記グラフの中の各ノードが前記分子の中のそれぞれの原子を表し、
前記グラフを規定する前記データを生成するステップが、
前記ノードによって表される原子のタイプに基づいて、各ノードに対するノード埋め込みを生成するステップ
を含む、請求項1から15のいずれか一項に記載の方法。
【請求項17】
前記ニューラルネットワークが、少なくとも10層のグラフニューラルネットワーク層を含む、請求項1から16のいずれか一項に記載の方法。
【請求項18】
前記グラフニューラルネットワーク層の各グラフニューラルネットワーク層が、
現在のグラフを受信することと、
前記グラフニューラルネットワーク層の現在のニューラルネットワークパラメータ値に従って、前記現在のグラフを更新することであって、
(i)前記ノードの現在のノード埋め込み、および(ii)前記グラフの中の前記ノードの1つまたは複数のネイバーの各々のそれぞれの現在のノード埋め込みに基づいて、前記グラフの中の1つまたは複数のノードの各々の前記現在のノード埋め込みを更新すること
を含む、更新することと
を行うように構成される、請求項1から17のいずれか一項に記載の方法。
【請求項19】
前記現在のグラフが、各エッジに対するエッジ埋め込みを備え、
前記グラフの中の1つまたは複数のノードの各々の前記現在のノード埋め込みを更新することが、
前記ノードに結合された1つまたは複数のエッジの各々のそれぞれのエッジ埋め込みに少なくとも部分的に基づいて、前記ノードの前記ノード埋め込みを更新すること
をさらに含む、請求項18に記載の方法。
【請求項20】
前記グラフが分子を表し、
前記グラフの中の各ノードが前記分子の中のそれぞれの原子を表し、
各ノードに対する前記初期特徴表現が、前記分子の中の対応する原子の初期空間位置を表し、
修正された特徴表現を有する前記ノードのうちの1つまたは複数の各々に対して、前記ノードに対する前記ターゲット特徴表現が、原子緩和後の前記対応する原子の最終空間位置を表す、請求項4に従属するときの請求項5から16のいずれか一項に記載の方法。
【請求項21】
命令を記憶した1つまたは複数の非一時的コンピュータ記憶媒体であって、前記命令は、1つまたは複数のコンピュータによって実行されると、請求項1から20のいずれか一項に記載のそれぞれの方法の動作を前記1つまたは複数のコンピュータに実行させる、1つまたは複数の非一時的コンピュータ記憶媒体。
【請求項22】
システムであって、
1つまたは複数のコンピュータと、
前記1つまたは複数のコンピュータに通信可能に結合された1つまたは複数の記憶デバイスと
を備え、前記1つまたは複数の記憶デバイスが、命令を記憶し、前記命令は、前記1つまたは複数のコンピュータによって実行されると、請求項1から20のいずれか一項に記載のそれぞれの方法の動作を前記1つまたは複数のコンピュータに実行させる、システム。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、2021年5月28日に出願された「TRAINING GRAPH NEURAL NETWORKS USING A DE-NOISING OBJECTIVE」と題する米国仮特許出願第63/194,851号の出願日の利益を主張し、この米国仮特許出願は、その全体が参照により本明細書に組み込まれている。
【0002】
本明細書は、機械学習モデルを使用してデータを処理することに関する。
【背景技術】
【0003】
機械学習モデルは、入力を受信し、受信された入力に基づいて、出力を、たとえば、予測される出力を生成する。いくつかの機械学習モデルは、パラメトリックモデルであり、受信された入力およびモデルのパラメータの値に基づいて、出力を生成する。
【0004】
いくつかの機械学習モデルは、受信された入力に対する出力を生成するためにモデルの複数の層を採用する深層モデルである。たとえば、深層ニューラルネットワークは、出力層、および受信された入力に各々が非線形変換を適用して出力を生成する1つまたは複数の隠れ層を含む、深層機械学習モデルである。
【先行技術文献】
【非特許文献】
【0005】
【非特許文献1】Chanussotら、「The Open Catalyst 2020 (OC20) Dataset and Community Challenges」、ACS Catalysis、6059~6072、2020、arXiv:2010.09990)
【非特許文献2】Ramakrishnanら、「Quantum chemistry structures and properties of 134 kilo molecules」、Sci Data 1、140022 (2014)
【非特許文献3】Huら、「Open Graph Benchmark: Datasets for Machine Learning on Graphs」、arXiv:2005.00687
【発明の概要】
【課題を解決するための手段】
【0006】
本明細書は、概して、1つまたは複数のグラフニューラルネットワーク層を含むニューラルネットワークをトレーニングする、1つまたは複数のロケーションにおける1つまたは複数のコンピュータ上のコンピュータプログラムとして実施される、トレーニングシステムを説明する。
【0007】
本明細書全体にわたって使用する「グラフ」とは、少なくとも(i)ノードのセットおよび(ii)エッジのセットを含む、データ構造を指す。グラフの中の各エッジは、グラフの中のノードのそれぞれのペアを結合することができる。グラフは、すなわち、ノードのペアを結合する各エッジが第1のノードから第2のノードへもしくはその逆に指し示すように規定されるような、「有向」グラフ、または、すなわち、エッジ(または、逆方向に向けられたエッジのペア)が方向に関連付けられないような、「無向」グラフであり得る。
【0008】
一般に、グラフを規定するデータは、グラフのノードおよびエッジを規定するデータを含むことができ、任意の適切な数値フォーマットで表すことができる。たとえば、グラフは、タプル{(i,j)}のリスティングを含むデータによって規定することができ、ただし、各タプル(i,j)は、ノードiとノードjとを結合する、グラフの中のエッジを表す。その上、グラフの中の各エッジは、1つまたは複数のエッジ特徴のセットに関連付けることができ、グラフの中の各ノードは、1つまたは複数のノード特徴のセットに関連付けることができる。
【0009】
一態様では、1つまたは複数のグラフニューラルネットワーク層を含むニューラルネットワークをトレーニングするための方法が説明される。方法は、(i)ノードのセット、(ii)各ノードに対するノード埋め込み、および(iii)ノードのそれぞれのペアを各々が結合するエッジのセットを備えるグラフを規定するデータを生成するステップを含む。実装形態では、これは、各ノードに対するそれぞれの初期特徴表現を取得するステップと、各ノードに対するそれぞれの最終特徴表現を生成するステップであって、ノードのうちの1つまたは複数の各々に対して、それぞれの最終特徴表現が、それぞれのノイズを使用してノードに対するそれぞれの特徴表現から生成される、修正された特徴表現である、ステップと、ノードのそれぞれの最終特徴表現を使用して、グラフを規定するデータを生成するステップとを含む。実装形態では、各ノードに対するノード埋め込みは、ノードのそれぞれの最終特徴表現から生成される。
【0010】
方法は、各ノードのそれぞれの更新されたノード埋め込みを生成するために、ニューラルネットワークのグラフニューラルネットワーク層のうちの1つまたは複数を使用して、グラフを規定するデータを処理する。方法は、修正された特徴表現を有するノードのうちの1つまたは複数の各々に対して、ノードの修正された特徴表現を生成するために使用されたノイズを含まない、ノードに対するノイズ除去された特徴表現を特徴づける、ノードに対するそれぞれのノイズ除去予測を生成するために、ノードの更新されたノード埋め込みを処理する。方法は、ノードに対するノイズ除去予測における誤差を測定する目的関数を最適化するために、詳細には、ノードに対するそれぞれのノイズ除去予測を最適化するために、ニューラルネットワークのニューラルネットワークパラメータの現在の値への更新を決定する。
【0011】
いくつかの実装形態では、修正された特徴表現を有するノードのうちの1つまたは複数の各々に対して、ノードに対するそれぞれのノイズ除去予測は、ノードの修正された特徴表現を生成するために使用されたノイズを予測する。
【0012】
いくつかの実装形態では、修正された特徴表現を有するノードのうちの1つまたは複数の各々に対して、ノードに対するそれぞれのノイズ除去予測は、ノードのそれぞれの初期特徴表現を予測する。
【0013】
いくつかの実装形態では、修正された特徴表現を有するノードのうちの1つまたは複数の各々に対して、ノードに対するそれぞれのノイズ除去予測は、ノードのターゲット特徴表現を特徴づける。
【0014】
いくつかの実装形態では、修正された特徴表現を有するノードのうちの1つまたは複数の各々に対して、ノードに対するそれぞれのノイズ除去予測は、ノードに対する修正された特徴表現に加算された場合にノードのターゲット特徴表現をもたらす、ノードに対する増分特徴表現を予測する。
【0015】
いくつかの実装形態では、方法は、タスク予測を生成するために、ノードの更新されたノード埋め込みを処理することをさらに備え、目的関数がタスク予測における誤差も測定する。
【0016】
いくつかの実装形態では、(i)ノードの更新されたノード埋め込みと、(ii)グラフニューラルネットワーク層を使用して更新される前の、ノードの元のノード埋め込みの両方が、タスク予測を生成するために処理される。
【0017】
いくつかの実装形態では、グラフは分子を表し、タスク予測は分子の平衡エネルギーの予測である。
【0018】
いくつかの実装形態では、目的関数は、ニューラルネットワークの複数のグラフニューラルネットワーク層の各々に対して、グラフニューラルネットワーク層によって生成される更新されたノード埋め込みに基づく、ノードに対するノイズ除去予測におけるそれぞれの誤差を測定する。
【0019】
いくつかの実装形態では、修正された特徴表現を有するノードのうちの1つまたは複数の各々に対して、ノードに対するそれぞれのノイズ除去予測を生成するために、ノードの更新されたノード埋め込みを処理することは、ノードに対するそれぞれのノイズ除去予測を生成するために、1つまたは複数のニューラルネットワーク層を使用してノードの更新されたノード埋め込みを処理することを含む。
【0020】
いくつかの実装形態では、目的関数を最適化するために、ニューラルネットワークのニューラルネットワークパラメータの現在の値への更新を決定することは、グラフニューラルネットワーク層のニューラルネットワークパラメータを通じて目的関数の勾配を逆伝播させることを含む。
【0021】
いくつかの実装形態では、ノードのうちの1つまたは複数の各々に対して、ノードに対するそれぞれの最終特徴表現は、ノードに対するそれぞれの特徴表現にそれぞれのノイズを付加することによって生成される。
【0022】
いくつかの実装形態では、ノードのそれぞれの最終特徴表現を使用して、グラフを規定するデータを生成するステップは、第1のノードおよび第2のノードを備えるノードの各ペアに対して、第1のノードに対する最終特徴表現と第2のノードに対する最終特徴表現との間のそれぞれの距離を決定するステップと、既定のしきい値よりも小さい距離に対応するノードの各ペアがグラフの中のエッジによって結合されることを決定するステップとを含む。
【0023】
いくつかの実装形態では、グラフは、各エッジに対するそれぞれのエッジ埋め込みをさらに備える。
【0024】
いくつかの実装形態では、グラフを規定するデータを生成することは、エッジによって結合されたノードのそれぞれの最終特徴表現の間の差分に少なくとも部分的に基づいて、グラフの中の各エッジに対するエッジ埋め込みを生成することを含む。
【0025】
いくつかの実装形態では、グラフは分子を表し、グラフの中の各ノードは分子の中のそれぞれの原子を表し、グラフを規定するデータを生成することは、ノードによって表される原子のタイプに基づいて、各ノードに対するノード埋め込みを生成することを含む。
【0026】
いくつかの実装形態では、ニューラルネットワークは、少なくとも10層のグラフニューラルネットワーク層を含む。
【0027】
いくつかの実装形態では、グラフニューラルネットワークの各グラフニューラルネットワーク層は、現在のグラフを受信することと、グラフニューラルネットワーク層の現在のニューラルネットワークパラメータ値に従って現在のグラフを更新することであって、(i)ノードの現在のノード埋め込み、および(ii)グラフの中のノードの1つまたは複数のネイバー(neighbor)の各々のそれぞれの現在のノード埋め込みに基づいて、グラフの中の1つまたは複数のノードの各々の現在のノード埋め込みを更新することを含む、更新することとを行うように構成される。
【0028】
いくつかの実装形態では、現在のグラフは、各エッジに対するエッジ埋め込みを備え、グラフの中の1つまたは複数のノードの各々の現在のノード埋め込みを更新することは、ノードに結合された1つまたは複数のエッジの各々のそれぞれのエッジ埋め込みに少なくとも部分的に基づいて、ノードのノード埋め込みを更新することをさらに含む。
【0029】
いくつかの実装形態では、グラフは分子を表し、グラフの中の各ノードは分子の中のそれぞれの原子を表し、各ノードに対する初期特徴表現は、分子の中の対応する原子の初期空間位置を表し、修正された特徴表現を有するノードのうちの1つまたは複数の各々に対して、ノードに対するターゲット特徴表現は、原子緩和後の対応する原子の最終空間位置を表す。
【0030】
別の態様によれば、命令を記憶する、1つまたは複数の非一時的コンピュータ記憶媒体であって、1つまたは複数のコンピュータによって実行されたときに、本明細書で説明する方法の動作を1つまたは複数のコンピュータに実行させる、1つまたは複数の非一時的コンピュータ記憶媒体が提供される。
【0031】
別の態様によれば、1つまたは複数のコンピュータと、1つまたは複数のコンピュータに通信可能に結合された1つまたは複数の記憶デバイスとを備える、システムであって、1つまたは複数の記憶デバイスは、命令を記憶し、命令は、1つまたは複数のコンピュータによって実行されたときに、本明細書で説明する方法の動作を1つまたは複数のコンピュータに実行させる、システムが提供される。
【0032】
本明細書全体にわたって使用する「埋め込み」とは、数値の順序付き集合、たとえば、数値のベクトル、行列、または他のテンソルを指す。
【0033】
本明細書で説明する主題は、以下の利点のうちの1つまたは複数を実現するように特定の実施形態において実施され得る。
【0034】
本明細書で説明するシステムは、グラフの中のノードに対するノイズ除去予測を生成するために、グラフニューラルネットワーク(すなわち、1つまたは複数のグラフニューラルネットワーク層を含むニューラルネットワーク)をトレーニングすることができる。詳細には、グラフに対してグラフニューラルネットワークをトレーニングする前に、システムは、ノイズを使用して、たとえば、ノードの特徴表現にノイズを付加することによって、グラフの中のノードの特徴表現を修正することができる。ノイズ除去予測は、たとえば、ノードの特徴表現を修正したノイズの値を予測することができ、またはグラフの中のノードの元の(すなわち、ノイズを使用して特徴表現が修正される前の)特徴表現の再構成を予測することができる。
【0035】
ノイズ除去予測を生成するためにグラフニューラルネットワークをトレーニングすることは、グラフニューラルネットワークのトレーニングを正規化することができ、詳細には、多数のグラフニューラルネットワーク層、たとえば、100層を超えるグラフニューラルネットワーク層を伴う、グラフニューラルネットワークの効果的なトレーニングを可能にすることができる。対照的に、多くの従来システムは、より多くのグラフニューラルネットワーク層の追加とともにグラフニューラルネットワークの性能が飽和するかまたは低下さえする前に、はるかに少数の(たとえば、10層よりも少ない)グラフニューラルネットワーク層しか有しないグラフニューラルネットワークをトレーニングすることに限定される。より深い(すなわち、より多くのグラフニューラルネットワーク層を有する)グラフニューラルネットワークは、本明細書で説明するシステムによってトレーニングされると、より複雑な予測タスクに対して、より浅い(すなわち、より少ないグラフニューラルネットワーク層を有する)グラフニューラルネットワークを使用して達成可能であることになるよりも高い予測確度を達成することができる。
【0036】
ノイズ除去予測を生成することは、ノードの特徴表現をノイズ除去するために各ノード埋め込みが固有の情報を符号化することを必要とし、そのことは、たとえば、いくつかのグラフニューラルネットワーク層を通じて処理された後にノード埋め込みがほぼ同一になる、「過剰平滑化(over-smoothing)」の影響を軽減することができる。その上、たとえば、グラフの中のノードの特徴表現に付加されるノイズは、グラフニューラルネットワークが元のノード特徴表現を記憶することを防止するので、ノイズ除去予測を生成するためにグラフニューラルネットワークをトレーニングすることは「過剰適合(over-fitting)」の可能性を低減することができる。ノイズ除去予測を生成するためにグラフニューラルネットワークをトレーニングすることはまた、「現実の」、すなわち、ノード特徴表現が修正されていないグラフの分布をグラフニューラルネットワークが暗黙的に学習することを促進し、グラフニューラルネットワークは、「タスク」予測においてより高い確度を達成するためにこの暗黙的な知識を活用することができる。説明する技法は、ノード特徴またはエッジ特徴を欠落させることを伴う他の技法とは異なって動作するので、これらの他の技法と組み合わせられ得る。本明細書で説明するシステムは、過剰平滑化および過剰適合の影響を軽減しながらより高い確度を達成する、より深いグラフニューラルネットワークの効果的なトレーニングを可能にすることによって、計算リソース(たとえば、メモリおよび計算能力)のより効率的な使用をこのようにして可能にする。
【0037】
本明細書の主題の1つまたは複数の実施形態の詳細が、添付図面および以下の説明に記載される。本主題の他の特徴、態様、および利点は、説明、図面、および特許請求の範囲から明らかになろう。
【図面の簡単な説明】
【0038】
図1】グラフニューラルネットワークをトレーニングするための例示的なトレーニングシステムのブロック図である。
図2】トレーニングシステムによって実行され得る動作の一例を示す図である。
図3】トレーニングシステムを使用してグラフニューラルネットワークをトレーニングするための例示的なプロセスのフロー図である。
図4】例示的な実験結果を示す図である。
図5】例示的な実験結果を示す図である。
図6】例示的な実験結果を示す図である。
【発明を実施するための形態】
【0039】
様々な図面における同様の参照番号および指定は、同様の要素を示す。
【0040】
図1は、グラフニューラルネットワーク150、たとえば、1つまたは複数のグラフニューラルネットワーク層を含むニューラルネットワークをトレーニングするための例示的なトレーニングシステム100のブロック図である。システム100は、以下で説明するシステム、構成要素、および技法が実施される、1つもしくは複数のロケーションにおける1つまたは複数のコンピュータ上のコンピュータプログラムとして実装されるシステムの一例である。
【0041】
システム100は、グラフ104の中のノードに対するノイズ除去予測108を生成するために、グラフニューラルネットワーク150を使用することによってグラフニューラルネットワーク150をトレーニングすることができる。一般に、「グラフ」とは、少なくとも(i)ノードのセットおよび(ii)エッジのセットを含む、データ構造を指す。たとえば、グラフは、たとえば、G=(V,E)として表すことができ、ただし、Vはノードのセットであり、Eはエッジのセットである。グラフの中の各エッジは、グラフの中のノードのペアを結合することができる。いくつかの実装形態では、グラフGは、追加として、グラフレベル特性g、たとえば、G=(V,E,g)を使用して表すことができ、ここで、グラフレベル特性gは、グラフ104によって表される全体的なシステムの任意の適切な態様を含むことができる。特定の例として、グラフ104は、物理系、たとえば、分子を表すことができ、グラフ104の中の各ノードは、たとえば、分子の中の原子を表すことができ、グラフレベル特性は、たとえば、分子のエネルギーを含むことができる。概して、グラフ104は、任意の適切なタイプのシステム、たとえば、粒子の集合、点群、またはソーシャルネットワークを表すことができる。グラフ104によって表すことができるシステムの例が、以下でより詳細に説明される。
【0042】
トレーニングシステム100は、グラフ104の中の各ノードに対する初期特徴表現102を処理するとともに、グラフ104の中の各ノードに対するそれぞれの最終特徴表現112を生成するように構成され得る、ノイズエンジン160を含むことができる。概して、ノードに対する「特徴表現」は、ノードによって表される要素の任意の適切な態様を特徴づけることができる。たとえば、分子を表すグラフの場合、ノードに対する初期特徴表現102は、たとえば、ノードによって表される分子の中の原子の空間位置(たとえば、x、y、およびz座標)を含むことができる。いくつかの実装形態では、ノードに対する初期特徴表現102は、ノードによって表される要素の特徴の順序付き集合を含むことができる。たとえば、ノードに対する初期特徴表現は、ノードによって表される(たとえば、
【0043】
【数1】
【0044】
の中のベクトルとして表される)分子の中の原子の空間位置、および(たとえば、炭素、酸素、窒素などのうちの1つまたは複数を含む)可能な原子タイプのセットからの、ノードによって表される原子のタイプを含むことができる。
【0045】
ノードのうちの1つまたは複数に対して、ノイズエンジン160は、それぞれのノイズ、たとえば、ガウスノイズを使用して初期特徴表現102(の少なくとも一部分)を修正することによって、最終特徴表現112を生成することができる。いくつかの実装形態では、ノイズエンジン160は、ある分布、たとえば、ガウス分布からの、1つまたは複数のノードの各々に対するそれぞれのノイズ値を、ランダムにサンプリングすることができ、ノードに対するそれぞれの初期特徴表現102にそれぞれのノイズ値を加算して最終特徴表現112を生成することができる。グラフ104の中の残りのノードに対して、最終特徴表現は初期特徴表現と同じであり得る。特定の例として、ノイズエンジン160は、グラフ104の中のノードの一部または全部に対する初期特徴表現102を次のように修正することができる。
【0046】
【数2】
【0047】
ただし、viはノードiに対する初期特徴表現であり、σiはノードiに対するノイズであり、
【0048】
【数3】
【0049】
は、ノードiに対する最終特徴表現である。特定の例として、グラフ104が分子を表し、グラフ104の中の各ノードが分子の中の原子を表し、かつグラフ104の中のノードに対する初期特徴表現102が、(i)ノードによって表される原子の空間位置、および(ii)ノードによって表される原子のタイプを含む場合、ノイズエンジン160は、ノードによって表される原子の空間位置を表す特徴を有するノイズを付加すること(または、別のやり方で合成すること)によって、ノードに対する最終特徴表現112を生成することができる。すなわち、グラフの中の各ノードに対して、ノイズエンジン160は、ノイズを使用して、対応する原子の空間位置を表す特徴を摂動させることができ、その結果、ノードに対する最終特徴表現は、対応する原子に対する摂動させられた空間位置を規定する。各ノードに対するそれぞれの初期特徴表現は、たとえば、ノードによって表される原子のタイプを規定する特徴をさらに含むことができ、ノイズエンジン160は、原子タイプを表す特徴にノイズを合成すること(たとえば、付加すること)を随意に控えることができる。
【0050】
いくつかの実装形態では、ノイズエンジン160は、それぞれのノイズ、たとえば、ガウス分布からサンプリングされたノイズ値を使用して、ノードに対する初期特徴表現102をスケーリングすることによって、ノードに対する最終特徴表現112を生成することができる。いくつかの実装形態では、ノイズエンジン160は、初期特徴表現102と同じ次元数を有するノイズを使用して、ノードに対する初期特徴表現102を修正することができる。たとえば、初期特徴表現がN次元ベクトルである場合、ノイズもN次元ベクトルであり得る。概して、ノイズエンジン160は、任意の適切な方式でそれぞれのノイズを使用して、グラフ104の中のノードに対する最終特徴表現112を生成することができる。
【0051】
(たとえば、グラフ104の中のすべてのノードでなく)グラフ104の中のノードのうちの一部に対してしか初期特徴表現102が修正されない実装形態では、ノイズエンジン160は、初期特徴表現102がそれに対して修正される、グラフ104の中のノードをランダムに選択することができる。
【0052】
グラフニューラルネットワーク150は、(i)エンコーダ110、(ii)アップデータ(updater)120、および(iii)デコーダ130を含むことができ、それらの各々が、より詳細に次に説明される。
【0053】
ノイズエンジン160は、グラフ104の中のノードに対する最終特徴表現112をエンコーダ110に提供することができる。エンコーダ110は、ノードに対するそれぞれの最終特徴表現112を使用して、グラフ104を規定するデータを生成するように構成され得る。たとえば、エンコーダ110は、グラフ104によって表されるシステムの中の各要素に対して、グラフ104の中のそれぞれのノードを割り当てることができる。次いで、エンコーダ110は、グラフ104の中のノードのペア間のエッジをインスタンス化することができる。概して、エンコーダ110は、任意の適切な方式でグラフ104の中のノードのペア間のエッジをインスタンス化することができる。
【0054】
いくつかの実装形態では、エンコーダ110は、ノードの各ペアに対して、これらのノードの最終特徴表現の間のそれぞれの距離を決定することによって、グラフ104の中のノードのペア間のエッジをインスタンス化することができる。次いで、エンコーダ110は、既定のしきい値よりも小さい距離に対応するノードの各ペアがグラフ104の中のエッジによって結合されることを決定することができる。しきい値距離は任意の適切な数値であり得る。いくつかの実装形態では、エンコーダ110は、グラフ104によって表されているシステムのタイプに基づいて、グラフ104の中のノードのペア間のエッジをインスタンス化することができる。
【0055】
特定の例として、グラフ104が分子を表し、かつグラフ104の中の各ノードが分子の中の原子を表す場合、エンコーダ110は、ノードのペアによって表される分子の中の原子の間の結合に対応する、ノードのペア間に、グラフ104の中のエッジを割り当てることができる。いくつかの実装形態では、最終特徴表現の間の距離は、ノードによって表される原子の間の局所的な相互作用を特徴づけることができる。たとえば、しきい値距離は、接続性半径内のノードのペアを結合するエッジが、分子の中の隣接原子の局所的な相互作用を表すような、接続性半径(R)を表すことができる。グラフ104の中の隣接ノードを求める探索は、任意の適切な探索アルゴリズム、たとえば、kd木アルゴリズムを介して実行され得る。
【0056】
ノードを割り当てること、およびエッジをインスタンス化することに加えて、エンコーダ110は、グラフ104の中の各ノードに対するそれぞれのノード埋め込みを生成することができる。概して、エンティティの「埋め込み」とは、数値の順序付き集合、たとえば、数値のベクトルまたは行列としてのエンティティの表現を指すことができる。
【0057】
エンコーダ110は、ノード埋め込みサブネットワークを使用することによって、各ノードに対するノード埋め込みを生成することができる。エンコーダ110のノード埋め込みサブネットワークは、グラフ104の中の各ノードに対する最終特徴表現112を処理することができ、グラフ104の中の各ノードに対するノード埋め込みを生成することができる。特定の例として、グラフ104が分子を表す場合、ノード埋め込みサブネットワークは、たとえば、ノードによって表される原子のタイプに基づいて、ノードに対するノード埋め込みを生成することができる。別の特定の例として、ノード埋め込みサブネットワークは、原子が吸着質の一部であるのかそれとも触媒の一部であるのかに基づいてノード埋め込みを生成することができ、たとえば、ノード埋め込みは、吸着質に対して1および触媒に対して0を含むことができる。
【0058】
いくつかの実装形態では、グラフ104の中の各ノードに対するノード埋め込みを生成することに加えて、エンコーダ110は、エンコーダ110のエッジ埋め込みサブネットワークを使用して、グラフ104の中の各エッジに対するエッジ埋め込みを生成することができる。たとえば、エンコーダ110のエッジ埋め込みサブネットワークは、グラフ104の中のノードに対する最終特徴表現112を処理することができ、エッジによって結合されたノードに対するそれぞれの最終特徴表現112の間の差分に少なくとも部分的に基づいて、グラフ104の中の各エッジに対するエッジ埋め込みを生成することができる。特定の例として、ノードのペアを結合するエッジkに対する埋め込みekは、次のように表すことができる。
【0059】
【数4】
【0060】
ただし、dは、ノードのペアを結合するエッジにとってのベクトル変位であり、|d|は距離であり、
【0061】
【数5】
【0062】
は、式(3)によって以下で定義される放射ベッセル基底関数であり、concatは、連結演算を表す。
【0063】
【数6】
【0064】
このようにして、エンコーダ110は、(i)ノードのセット、(ii)ノードのそれぞれのペアを各々が結合するエッジのセット、(iii)各ノードに対するノード埋め込み、および随意に(iv)各エッジに対するエッジ埋め込みを含むグラフ104を規定するデータを生成することができる。
【0065】
グラフ104を規定するデータを生成した後、エンコーダ110は、そのデータをアップデータ120に提供することができる。アップデータ120は、最終グラフ106を生成するために、複数回の内部更新反復にわたってグラフ104を更新することができる。グラフを「更新すること」とは、たとえば、グラフの中の隣接ノードのノード埋め込みおよび/またはエッジ埋め込みに基づいてグラフの中の一部または全部のノードおよびエッジに対するノード埋め込みおよび/またはエッジ埋め込みを更新することによって、グラフの中に含まれるノードとエッジとの間のメッセージパッシングのステップ(たとえば、情報の伝播のステップ)を実行することを指す。アップデータ120は、1つまたは複数のグラフニューラルネットワーク層を含むことができ、各グラフニューラルネットワーク層は、現在のグラフを受信するとともにグラフニューラルネットワーク層の現在のパラメータに従って現在のグラフを更新するように構成され得る。アップデータ120は、任意の数のグラフニューラルネットワーク層、たとえば、1層、10層、100層、または任意の他の適切な数のグラフニューラルネットワーク層を含むことができる。いくつかの実装形態では、アップデータ120は少なくとも10層のグラフニューラルネットワーク層を含む。
【0066】
詳細には、各グラフニューラルネットワーク層は、(i)ノードの現在のノード埋め込み、および(ii)グラフ104の中のノードの1つまたは複数のネイバーの各々のそれぞれの現在のノード埋め込みに基づいて、グラフ104の中の各ノードの現在のノード埋め込みを更新するように構成され得る。グラフ104の中のノードのペアは、エッジによって互いに結合される場合、「隣接」ノードである。グラフ104が、追加として、各エッジに対するエッジ埋め込みを含む実装形態では、各グラフニューラルネットワーク層は、同じくグラフ104の中のノードに結合された1つまたは複数のエッジの各々のそれぞれのエッジ埋め込みに基づいて、ノードのノード埋め込みを更新することができる。
【0067】
特定の例として、各更新反復において、各グラフニューラルネットワーク層は、ノードuをノードvに結合するエッジに対する現在のメッセージベクトル
【0068】
【数7】
【0069】
を、次のように決定するように構成され得る。
【0070】
【数8】
【0071】
ただし、
【0072】
【数9】
【0073】
は、前の更新反復におけるノードuのノード埋め込みであり、
【0074】
【数10】
【0075】
は、前の更新反復におけるノードvのノード埋め込みであり、
【0076】
【数11】
【0077】
および
【0078】
【数12】
【0079】
は、前のそれぞれの更新反復において各々が決定したエッジに対するメッセージベクトルであり、ψt+1は、たとえば、(たとえば、各エッジにとって同じ)全結合ニューラルネットワーク層として、グラフニューラルネットワーク層によって実装されるメッセージ関数である。メッセージベクトルを決定した後、各更新反復において、グラフニューラルネットワーク層は、エッジによってノードvに結合されたノードuに対する現在のノード埋め込み
【0080】
【数13】
【0081】
を、次のように更新することができる。
【0082】
【数14】
【0083】
ただし、
【0084】
【数15】
【0085】
は、更新反復に対する更新されたノード埋め込みであり、更新関数φt+1は、たとえば、(たとえば、各ノードにとって同じ)全結合ニューラルネットワーク層として、グラフニューラルネットワーク層によって実装され、第1の合計はノードvの隣接ノードNvの総数にわたり、第2の合計はノードuの隣接ノードNuの総数にわたる。
【0086】
アップデータ120の最終更新反復は、最終グラフ106を規定するデータを生成する。最終グラフ106は、初期グラフ104と同じ構造を、ただし異なるノード埋め込みを有することができる(たとえば、最終グラフ106は、初期グラフ104と同じ個数のノードおよび同じ個数のエッジを有することができる)。いくつかの実装形態では、最終グラフ106は、追加として、異なるエッジ埋め込みを含むことができる。
【0087】
アップデータ120は、最終グラフ106を規定するデータをデコーダ130に提供することができる。デコーダ130は、修正された特徴表現を有する1つまたは複数のノードの各々に対するノイズ除去予測108を生成するために、最終グラフ106を規定するデータを処理するように構成され得る。詳細には、修正された特徴表現を有する1つまたは複数のノードの各々に対して、デコーダ130は、ノードに対するそれぞれのノイズ除去予測108を生成するために、1つまたは複数のニューラルネットワーク層を使用して、ノードに対する更新されたノード埋め込みを処理することができる。ノイズ除去予測108は、ノードに対する修正された特徴表現を生成するために使用されたノイズを含まない、ノードに対するノイズ除去された特徴表現を特徴づけることができる。
【0088】
いくつかの実装形態では、ノードに対するノイズ除去予測108は、ノードに対する修正された特徴表現を生成するために使用されたノイズを予測することができる。
【0089】
いくつかの実装形態では、ノードに対するノイズ除去予測108は、ノードに対する初期特徴表現を予測することができる。たとえば、グラフ104が分子を表す場合、ノードに対するノイズ除去予測108は、ノイズを使用することによって初期空間位置が修正される前の、ノードによって表される分子の中の原子の初期空間位置を予測することができる。
【0090】
いくつかの実装形態では、ノードに対するノイズ除去予測108は、ノードに対するターゲット特徴表現を特徴づけることができる。ノードに対する「ターゲット特徴表現」は、グラフ104の中のノードによって表される要素の任意の適切な態様を特徴づけることができる。特定の例として、ノードに対する初期特徴表現102が分子の中の原子の空間位置を含む場合、ノードに対するターゲット特徴表現は、分子の中の原子の異なる空間位置、たとえば、分子の原子緩和後の原子の空間位置を含むことができる。別の例として、グラフがソーシャルネットワークを表し、かつグラフの中の各ノードがソーシャルネットワークにおけるそれぞれのユーザを表す場合、各ノードに対するターゲット埋め込みは、たとえば、対応するユーザが、指定された時間期間(たとえば、1日間)にわたってソーシャルネットワークと対話する(たとえば、分単位の)時間量を特徴づけることができる。一例では、各ノードに対するノイズ除去予測108は、ノードに対するターゲット特徴表現の推定値である出力特徴表現を含むことができる。別の例では、各ノードに対するノイズ除去予測108は、ノードに対する修正された特徴表現に加算された場合にノードのターゲット特徴表現をもたらす、ノードに対する増分特徴表現に対する予測を含むことができる。
【0091】
ノイズ除去予測108を生成することが、ノードの特徴表現をノイズ除去するために各ノード埋め込みが固有の情報を符号化することを必要とするので、このことは、たとえば、いくつかのグラフニューラルネットワーク層を通じて処理された後にノード埋め込みがほぼ同一になる、「過剰平滑化」の影響を軽減することができる。
【0092】
いくつかの実装形態では、デコーダ130は、タスク予測109を生成するために、ノードの更新されたノード埋め込みを処理することができる。タスク予測は、たとえば、入力グラフ104のための単一の出力、または入力グラフ104の中の各ノードのためのそれぞれの出力であり得る。概して、タスク予測109は、グラフ104の中のノードによって表される要素のうちの1つまたは複数を特徴づける任意の適切な予測であり得る。タスク予測109は、たとえば、分類予測または回帰予測であり得る。分類予測は、可能なクラスのセットの中の各クラスにとってのそれぞれのスコアを含むことができ、ここで、クラスにとってのスコアは、グラフ104によって表される要素のセットがそのクラスの中に含まれる可能性を規定することができる。回帰予測は、グラフ104によって表される要素のセットを特徴づける、継続的な範囲の値から各々が引き出される1つまたは複数の数値を含むことができる。
【0093】
一例では、タスク予測を生成するために、デコーダ130は、(i)ノードの更新されたノード埋め込み、および(ii)グラフニューラルネットワーク層を使用して更新される前の、ノードの元のノード埋め込みを処理することができる。特定の例として、デコーダ130は、タスク予測yを次のように生成することができる。
【0094】
【数16】
【0095】
ただし、
【0096】
【数17】
【0097】
は、ノードiの更新されたノード埋め込みであり、
【0098】
【数18】
【0099】
は、ノードiの元のノード埋め込みであり、|V|は、グラフの中のノードの総数であり、MLPUpdateおよびMLPEncは、たとえば、それぞれ、アップデータおよびエンコーダの全結合ニューラルネットワーク層であり、bUpdateは、アップデータのバイアス項であり、bEncは、エンコーダのバイアス項であり、WUpdateは、アップデータの線形ニューラルネットワーク層であり、WEncは、エンコーダの線形ニューラルネットワーク層である。
【0100】
特定の例として、グラフ104が分子を表す場合、タスク予測109は、グラフ104によって表される分子の平衡エネルギー、内部エネルギー、または最高占有分子軌道(HOMO:highest occupied molecular orbital)エネルギーのうちの1つまたは複数の予測であり得る。いくつかの実装形態では、デコーダ130は、タスク予測109を生成するために、全部ではないノードの更新されたノード埋め込みを処理することができ、たとえば、場合によっては、デコーダ130は、グラフ104の中の単一のノードの更新されたノード埋め込みを処理することによって、タスク予測109を生成することができる。タスク予測の例が、以下でより詳細に説明される。
【0101】
エンコーダ110、アップデータ120、およびデコーダ130は、それらの規定された関数をそれらが実行することを可能にする任意の適切なニューラルネットワークアーキテクチャを有することができる。たとえば、エンコーダ110、アップデータ120、およびデコーダ130は、任意の適切な層数(たとえば、2層、5層、または10層)をなし、かつ任意の適切な構成(たとえば、層の直線状の配列として)で結合された、任意の適切なニューラルネットワーク層(たとえば、畳み込み層、全結合層、回帰層、アテンション層、グラフニューラルネットワーク層など)を有することができる。
【0102】
システム100は、ノイズ除去予測108を使用してニューラルネットワーク150をトレーニングできるトレーニングエンジン140をさらに含むことができる。トレーニングエンジン150は、ニューラルネットワーク150のグラフニューラルネットワーク層のうちの1つまたは複数に対して、グラフニューラルネットワーク層によって生成される更新されたノード埋め込みに基づく、ノードに対するノイズ除去予測108におけるそれぞれの誤差を測定する、目的関数を評価することができる。より詳細には、グラフニューラルネットワーク150は、1つまたは複数のグラフニューラルネットワーク層の各々において、すなわち、グラフニューラルネットワーク層によって生成される更新されたノード埋め込みに基づいて、グラフ104の中のノードに対するそれぞれのノイズ除去予測を生成することができる。いくつかの実装形態では、目的関数は、追加として、たとえば、交差エントロピー誤差測度、2乗誤差測度、または任意の他の適切な誤差測度を使用して、タスク予測109における誤差を測定することができる。特定の例として、目的関数Lは次のように表すことができる。
L=λLde-noising+Ltask (7)
ただし、Lde-noisingは、ノードに対するノイズ除去予測におけるそれぞれの誤差を測定し、Ltaskは、タスク予測における誤差を測定し、λは重み係数である。重み係数およびノイズは適用例に従って変わり、ハイパーパラメータスイープを用いて最適化することができ、単に一例として、重み係数は次数が0.1であってよく、ノイズ標準偏差は次数が0.01であってよい。
【0103】
目的関数を最適化するために、トレーニングエンジン140は、たとえば、逆伝播技法を使用して、ニューラルネットワークパラメータの現在の値に対して目的関数の勾配を決定することができる。トレーニングエンジン140は、次いで、たとえば、任意の適切な勾配降下最適化技法、たとえば、RMSpropまたはAdam勾配降下最適化技法を使用して、勾配を使用してニューラルネットワークパラメータの現在の値を更新することができる。詳細には、トレーニングエンジン140は、グラフニューラルネットワーク層のニューラルネットワークパラメータを通じて目的関数の勾配を逆伝播させることができる。
【0104】
いくつかの実装形態では、トレーニングエンジン140は最初に、ノイズ除去予測(たとえば、Lde-noising)のみに基づいて目的関数を最適化するようにニューラルネットワーク150を事前トレーニングすることができ、次いで、ノイズ除去予測とタスク予測(たとえば、式(7)において定義されるようなL)の両方に基づいて目的関数を最適化するようにニューラルネットワーク150をトレーニングすることができる。たとえば、グラフ104の中のノードの特徴表現に付加されたノイズはニューラルネットワーク150が初期ノード特徴表現を記憶することを防止するので、ノイズ除去予測108を生成するためにニューラルネットワーク150をトレーニングすることは「過剰適合」の可能性を低減することができる。
【0105】
いくつかの実装形態では、トレーニングエンジン140は、ノイズ除去予測のみに基づいて目的関数を最適化するようにニューラルネットワーク150を事前トレーニングすることができ、次いで、タスク予測のみに基づいて目的関数を最適化するようにニューラルネットワーク150をトレーニングすることができる。
【0106】
いくつかの実装形態では、トレーニングエンジン140は、ノイズ除去予測および第1のタスク予測に基づいて目的関数を最適化するようにニューラルネットワーク150を事前トレーニングすることができ、次いで、第2のタスク予測のみに基づいて目的関数を最適化するようにニューラルネットワーク150をトレーニングすることができる。第2のタスク予測は第1のタスク予測とは異なる場合がある。たとえば、第1のタスク予測は、分子のHOMOエネルギーを予測することを含むことができるが、第2のタスク予測は、分子の平衡エネルギーを予測することを含むことができる。
【0107】
随意に、ノイズ除去予測に基づいて目的関数を最適化するようにニューラルネットワーク150を事前トレーニングした後、トレーニングエンジン140は、ニューラルネットワークのパラメータのうちのいくつかを「凍結させる(freeze)」ことができ、次いで、タスク予測に基づいて目的関数に対してニューラルネットワークの凍結されていないパラメータのみをトレーニングすることができる。(ニューラルネットワークのパラメータを凍結させることとは、トレーニング中にそれ以上は修正されない固定された静的な値として、パラメータの現在の値を指定することを指すことができる)。たとえば、トレーニングエンジン140は、ノイズ除去予測に基づいて目的関数を最適化するようにニューラルネットワークを事前トレーニングすることができ、エンコーダ110およびアップデータ120のパラメータを凍結させることができ、次いで、タスク予測に基づいて目的関数に対してデコーダのパラメータのみをトレーニングすることができる。
【0108】
システム100、およびトレーニングされたグラフニューラルネットワーク150の例示的な適用例が、より詳細に次に説明される。概して、トレーニングされたグラフニューラルネットワーク150を使用することは、ノードに対する特徴表現を取得することと、ノードに対する特徴表現を使用して、グラフ104を規定するデータを生成することと、各ノードに対するそれぞれの更新されたノード埋め込みを生成するために、グラフニューラルネットワーク150を使用して、グラフ104を規定するデータを処理することとを伴う。グラフニューラルネットワークからの出力は、次いで、適用例に応じて、グラフ104の更新されたノード埋め込みから復号された特徴、ノイズ除去予測108、およびタスク予測109のうちの1つまたは複数を備えてよい。
【0109】
いくつかの実装形態では、グラフ104は、1つまたは複数の分子を表すことができ、ここで、「分子」は、たとえば、触媒の表面のような、原子の大型のスラブを含む。次いで、グラフ104の中の各ノードは、分子の中のそれぞれの原子を表すことができる。概して、ノードの特徴表現は、ノードによって表される原子のタイプを規定する。それは、原子番号、原子が電子または陽子のドナーまたはアクセプタであるかどうか、原子が芳香族系の一部であるかどうか、たとえば、炭素原子にとっての、ハイブリダイゼーションの程度、また水素原子が明示的には表されない場合には、その原子に結合された水素の個数などの、他の特徴を含んでよい。いくつかの実装形態では、ノードの特徴表現は、分子の中の原子の(3D)空間位置を含んでよい。いくつかの実装形態では、ノードの特徴表現は、分子の中の原子の(3D)空間位置を含まず、すなわち、分子は結合および原子タイプによって規定されてよい。表現が空間位置を含まない場合、ノードの1つまたは複数の特徴(および随意に、同じくエッジの1つまたは複数の特徴)をランダムに変更することによってノイズが付加されてよく、ノイズ除去予測は、次いで、特徴の再構成を備えてよい。いくつかの実装形態では、たとえば、相互作用する2つ以上のエンティティがモデル化される場合、ノード特徴は、原子がエンティティのうちのどれに属するのかを示してよい。したがって、概して、ノードの特徴表現は、分子の構造および性質(たとえば、原子のタイプ)を規定する。
【0110】
いくつかの実装形態では、ニューラルネットワークは、分子の中の原子の初期構造からの、原子の得られた構造を識別するようにトレーニングされる。構造は、たとえば、ノード埋め込みから復号される原子の(3D)空間位置として、または結合および原子タイプとして、ノード埋め込みから復号されてよく、たとえば、いくつかの実装形態では、ノードに対するそれぞれのノイズ除去予測から導出されてよい。同じくまたは代わりに、ニューラルネットワークは、タスク予測を生成するようにトレーニングされ、ここで、タスク予測は、分子の予測される1つまたは複数の特性、たとえば、分子の平衡エネルギー、分子を分解するために必要とされるエネルギー、または分子の電荷を特徴づけることができる。たとえば、タスクとは、結合状態予測、たとえば、分子のうちの1つもしくは複数を分裂させるために必要とされるエネルギーの測度、または結合角もしくは結合長の測度などの、どのくらい密に原子が結合されているのかという測度、あるいは分子のうちの1つまたは複数のHOMOまたはLUMOエネルギー、あるいはサイズ、電荷、双極子モーメント、または静的分極率などの、分子の中の電子の分布の特性などの、分子の1つまたは複数の特性を予測することである。
【0111】
局所エネルギー最小値における1つまたは複数の分子の幾何形状の局所的なランダムひずみは、より大きいエネルギー構成をほぼ確実に有する。したがって、ノードに対するノイズ除去予測が、ノイズを使用することによって原子が修正される前の、原子の初期空間位置を予測する実装形態では、ニューラルネットワークは、平衡構造または緩和された構造を初期構造から決定するように、暗黙的にトレーニングされる。
【0112】
前述のように、適用例に応じて、グラフ104のノード埋め込みから復号された特徴、またはノイズ除去予測、もしくはタスク予測を使用することによって、トレーニングされたグラフニューラルネットワーク150が使用され得る。
【0113】
1つの例示的な適用例は、触媒分子または触媒と相互作用する分子を取得するために、トレーニングされたグラフニューラルネットワーク150を使用することを伴う。本出願では、ノードに対する特徴表現は、触媒分子または触媒と相互作用する分子の構造および性質を規定する特徴を備える。グラフニューラルネットワークからの出力は、次いで、たとえば、グラフの更新されたノード埋め込みからまたは分子が相互作用するときの得られる構造を表すノイズ除去予測から復号された特徴、および/あるいは分子の得られる状態、たとえば、分子の平衡エネルギー、または相互作用から得られたエネルギーの変化、または分子を分裂させるために必要とされるエネルギーを特徴づけるタスク予測を備えてよい。得られた構造、または分子の得られた状態を特徴づける予測は、たとえば、複数の候補分子をスクリーニングすることによって、触媒分子または触媒と相互作用する分子を取得するために使用され得る。スクリーニングとは、望ましい方式で、たとえば、特に強く相互作用する分子を識別すること、または適していない分子をふるい落とすこと、または複数の他の分子と相互作用する触媒分子、もしくは複数の異なる触媒分子と相互作用する(有用または不要のいずれかであり得る)分子を識別することであってよい。
【0114】
スクリーニングプロセスは、たとえば、グラフニューラルネットワークからの出力を使用して、複数の候補触媒分子および/または触媒と相互作用する候補分子の各々にとってのスコアを決定することと、そのスコアを使用して候補のうちの1つまたは複数を選択することとを伴ってよい。本方法は、本方法によって取得される触媒分子または触媒と相互作用する分子を作成することと、実世界における相互作用を随意にテストすることとをさらに伴ってよい。
【0115】
本出願の特定の例では、触媒分子は、酵素または酵素の受容体部分を備え、触媒と相互作用する分子は、酵素の配位子、たとえば、受容体もしくは酵素の作動体または拮抗剤である。配位子は、たとえば、薬物、または工業用酵素の配位子であってよい。分子のうちの一方または両方は、タンパク質分子を備えてよい。
【0116】
関連するさらなる適用例は、病原体の複製を抑制する薬物分子を識別するために、すなわち、病原体分子と相互作用する薬物分子を取得するために、トレーニングされたグラフニューラルネットワーク150を使用することを伴う。病原体分子は、病原体に関連する分子であり、ここで、病原体の複製は、薬物分子が病原体分子と相互作用すると抑制される。したがって、上記で説明した方法では、触媒分子の代わりに病原体分子が使用される。したがって、ノードに対する特徴表現は、次いで、分子を規定する特徴を備えてよく、グラフニューラルネットワークからの出力は、薬物分子を取得するために候補薬物分子および/または病原体分子をスクリーニングするために使用される。本方法はまた、薬物分子を作成することと、実世界において病原体に対して薬物分子を随意にテストすることとを伴ってよい。
【0117】
別の例示的な適用例は、相互作用する2つ以上の分子を伴う生成物を作成するための化学反応の反応メカニズムを決定するために、トレーニングされたグラフニューラルネットワーク150を使用することを伴う。分子のうちの1つまたは複数は、次いで、反応メカニズムを修正するように、たとえば、反応の速度または生成物収率を増大させるように、修正されてよい。反応メカニズムは、次いで、生成物を作成するために使用されてよい。ノードに対する特徴表現は、次いで、分子を規定する特徴を備えてよい。グラフニューラルネットワークからの出力は、たとえば、グラフの更新されたノード埋め込みからもしくは分子が相互作用するときの得られた構造を表すノイズ除去予測から復号された特徴、および/または分子の得られた状態を特徴づけるタスク予測を備えてよい。たとえば、出力は、エネルギー状態、結合状態、および反応座標に沿った分子の1つもしくは複数の遷移状態の適合のうちの、1つまたは複数を予測してよい。
【0118】
上記の適用例では、ノードに対する特徴表現は、次いで、分子の構造または性質を特徴づけるために、たとえば、電子顕微鏡検査を使用して実世界の分子において行われた、1つまたは複数の測定から決定される特徴を備えてよい。このようにして取得された特徴は、次いで、グラフニューラルネットワーク出力、たとえば、分子の1つまたは複数の特性、たとえば、平衡エネルギー、結合状態、結合角もしくは結合長の測度、HOMOもしくはLUMOエネルギー、またはサイズ、電荷、双極子モーメント、もしくは静的分極率を特徴づけるためのタスク予測出力を取得するために、トレーニングされたグラフニューラルネットワークによって処理されてよい。
【0119】
上記のタスクを実行するようにグラフニューラルネットワーク150をトレーニングするために使用され得るいくつかの例示的なトレーニングデータセットは、OC20データセット(Chanussotら、「The Open Catalyst 2020 (OC20) Dataset and Community Challenges」、ACS Catalysis、6059~6072、2020、arXiv:2010.09990)、QM9データセット、Ramakrishnanら、「Quantum chemistry structures and properties of 134 kilo molecules」、Sci Data 1、140022 (2014)、オープングラフベンチマークからのOGBG-PCQM4Mデータセット、Huら、「Open Graph Benchmark: Datasets for Machine Learning on Graphs」、arXiv:2005.00687、および同じくオープングラフベンチマークからのOGBG-MOLPCBAである。
【0120】
いくつかの実装形態では、グラフ104は、物理系を表すことができ、グラフ104の中の各ノードは、物理系の中のそれぞれの物体を表すことができ、タスク予測は、物理系の中の1つまたは複数の物体の予測されるそれぞれの将来の状態、たとえば、将来の時点における物理系の中の1つもしくは複数の物体の各々のそれぞれの位置および/または速度を特徴づけることができる。
【0121】
1つの例示的な適用例は、物理系の状態を予測するかまたは物理系を制御するために、トレーニングされたグラフニューラルネットワーク150を使用することを伴う。ノードに対する特徴表現は、物体から決定される特徴を備えてよい。そのような特徴は、物体の質量もしくは慣性モーメント、位置、方位、線速度もしくは角速度、または加速度を備えてよく、エッジは、連結されているかまたは相互作用する物体、たとえば、ジョイントによって連結された物体を表してよい。グラフニューラルネットワークからの出力、たとえば、更新されたノード埋め込み、ノイズ除去予測108、またはタスク予測から復号される特徴は、たとえば、単一の時間ステップにとっての、または複数の時間ステップにわたるロールアウトにとっての、物理系の中の物体の将来の状態の予測を規定してよい。出力は、将来の状態に依存する物体を制御するためのアクション制御信号を提供するために使用され得る。たとえば、トレーニングされたグラフニューラルネットワーク150は、たとえば、将来の状態から予測される報酬を最大化するかまたはコストを最小化するように、物理系を制御する際に制御アルゴリズムが使用するための、物理系の状態または軌跡を予測するためのモデル予測制御(MPC:Model Predictive Control)システムの中に含まれてよい。
【0122】
いくつかの実装形態では、グラフ104は、(たとえば、ライダーまたはレーダーセンサによって生成される)点群を表すことができ、グラフ104の中の各ノードは、点群の中のそれぞれの点を表すことができ、タスク予測は、点群によって表される物体のクラスを予測することができる。
【0123】
いくつかの実装形態では、グラフ104は、テキストの一部分を表すことができ、グラフ104の中の各ノードは、テキストのその部分の中のそれぞれの語を表すことができ、タスク予測は、たとえば、テキストのその部分の中で表現される感情、たとえば、肯定的、否定的、または中立を予測することができる。
【0124】
いくつかの実装形態では、グラフ104は、画像を表すことができ、グラフ104の中の各ノードは、その画像のそれぞれの部分(たとえば、画像の画素または領域)を表すことができ、タスク予測は、たとえば、その画像の中に描かれる物体のクラスを特徴づけることができる。
【0125】
いくつかの実装形態では、グラフ104は、部分的または完全な自律車両の近傍にある環境を表すことができ、グラフの中の各ノードは、環境の中のそれぞれのエージェント(たとえば、歩行者、自転車に乗っている人、車両など)、または環境の要素(たとえば、交通信号灯、交通標識、道路車線など)を表すことができ、タスク予測は、たとえば、グラフの中のノードによって表されるエージェントのうちの1つまたは複数の将来のそれぞれの軌跡を予測することができる。たとえば、予測出力は、グラフの中のノードによって表される車両エージェントが、1つまたは複数の可能な運転決定、たとえば、直進、車線変更、左折、または右折を行う、それぞれの可能性を特徴づけることができる。この例では、グラフの中のノードによって表されるエージェントの将来の軌跡を予測するために、システムは、エージェントを表すノードのみに対して、すなわち、グラフの中の他のノードに対する更新されたノード埋め込みを処理することなく、更新ノード埋め込みを処理することができる。グラフのエッジは、たとえば、エージェントまたは要素の物理的な近接度または接続性を表してよく、接続性は、エージェントまたは要素を接続する道路または経路などのルートの存在として規定されてよい。たとえば、トレーニングされたグラフニューラルネットワークが、実世界環境の中の機械的なエージェントを制御するために使用されてよい。トレーニングされたグラフニューラルネットワークは、エージェントを制御するためのグラフニューラルネットワーク出力を生成するために、たとえば、他のエージェントまたは要素のエージェントタイプもしくは要素タイプ、および他のエージェントまたは要素の位置、構成、方位、線速度もしくは角速度、または加速度ごとに、環境の他のエージェントまたは要素を表す特徴を備える、ノードに対する特徴表現を処理してよい。
【0126】
いくつかの実装形態では、グラフ104は、(たとえば、ソーシャルメディアプラットフォーム上の)ソーシャルネットワークを表すことができ、グラフの中の各ノードは、ソーシャルネットワークの中のそれぞれの人物を表すことができ、グラフの中の各エッジは、たとえば、ソーシャルネットワークの中の対応する2人の人間の間の関係(たとえば、「フォロワ」または「友達」関係)を表すことができ、タスク予測は、たとえば、ソーシャルネットワークの中のどの人が、将来において特定のアクションを実行する(たとえば、製品を購入するかまたはイベントに参加する)可能性があるのかを、予測することができる。
【0127】
いくつかの実装形態では、グラフ104は、道路網を表すことができ、グラフの中の各ノードは、道路網の中のルートセグメントを表すことができ、グラフの中の各エッジは、対応する2つのルートセグメントが道路網の中で接続されることを表すことができ、タスク予測は、たとえば、道路網を通る指定された経路を辿るために必要とされる時間、または道路網を通る指定された経路における交通量を予測することができる。
【0128】
いくつかの実装形態では、グラフ104は、たとえば、ニューラルネットワークモデルによって実行される計算動作を表す計算グラフであり得、グラフの中の各ノードは、関連する1つまたは複数の計算のグループ(たとえば、1つまたは複数のニューラルネットワーク層のグループによって実行される動作)を表すことができ、グラフの中の各エッジは、計算のあるグループの出力が計算の別のグループに入力として提供されることを表すことができる。これらの実装形態では、タスク予測は、たとえば、グラフによって規定された動作を実行するために必要とされる時間を最小化するために、たとえば、グラフの中の各ノードに対応する動作を実行すべきそれぞれの(すなわち、利用可能な計算ユニットのセットからの)計算ユニットを予測することができる。各計算ユニットは、たとえば、それぞれのスレッド、中央処理ユニット(CPU)、またはグラフィックス処理ユニット(GPU)であり得る。したがって、トレーニングされたグラフニューラルネットワークは、物理的または論理的な計算ユニットに計算動作を割り当てるタスクを実行するために使用され得る。トレーニングされたグラフニューラルネットワークは、グラフの中の各ノードに対応する動作を実行すべきそれぞれの計算ユニットを識別するためのグラフニューラルネットワーク出力(たとえば、更新されたノード埋め込み、ノイズ除去予測、またはタスク予測から復号される特徴)を生成するために、計算のグループを表す特徴を備える、ノードに対する特徴表現を処理してよい。
【0129】
いくつかの実装形態では、上記で説明したように、グラフ104は、タンパク質を表すことができ、グラフの中の各ノードは、タンパク質のアミノ酸配列の中のそれぞれのアミノ酸を表すことができ、グラフの中の各エッジは、タンパク質の中の対応する2つのアミノ酸がタンパク質の構造の中でしきい値距離(たとえば、8オングストローム)よりも短く分離されていることを表すことができる。これらの実装形態では、タスク予測は、たとえば、タンパク質の安定性またはタンパク質の機能を予測することができる。
【0130】
いくつかの実装形態では、グラフ104は、知識ベースを表すことができ、グラフの中の各ノードは、知識ベースの中のそれぞれのエンティティを表すことができ、グラフの中の各エッジは、知識ベースの中の対応する2つのエンティティの間の関係を表すことができる。これらの実装形態では、タスク予測は、たとえば、知識ベースの中の1つまたは複数のエンティティに関連する消失特徴を予測することができる。
【0131】
図2は、図1の中のトレーニングシステム100によって実行され得る動作の一例を示す。システム100は、ニューラルネットワーク150を使用してノイズ除去予測234を生成することによって、グラフニューラルネットワーク150をトレーニングすることができる。いくつかの実装形態では、システム100は、追加として、ニューラルネットワーク150を使用してタスク予測232を生成することによって、ニューラルネットワーク150をトレーニングすることができる。
【0132】
図1を参照しながら上記で説明したように、システム100は、式(7)において定義された目的関数を使用することによってニューラルネットワークをトレーニングすることができる。任意のトレーニング反復において、目的関数は、(i)ノイズ除去予測(たとえば、Lde-noising)、(ii)タスク予測(たとえば、Ltask)、または(iii)その両方における誤差を測定する項を含むことができる。いくつかの実装形態では、システム100は最初に、ノイズ除去予測(たとえば、Lde-noising)のみに基づいて目的関数を最適化するようにニューラルネットワーク150を事前トレーニングすることができ、次いで、ノイズ除去予測とタスク予測の両方に基づいて目的関数を最適化するようにニューラルネットワーク150をトレーニングすることができる。
【0133】
システムは、グラフの中のノードに対する最終特徴表現を生成するように構成され得るノイズエンジンを含むことができる。いくつかの実装形態では、グラフは分子202を表すことができ、グラフの中の各ノードは、分子202の中のそれぞれの原子を表すことができる。そのような場合、ノイズエンジンは、グラフの中の各ノードに対する初期特徴表現を処理することができ、ここで、ノードに対する初期特徴表現は、分子202の中の対応する原子の初期空間位置を表す。ノイズエンジンは、ノードに対する最終特徴表現を生成することができ、ここで、ノードのうちの一部または全部に対する最終特徴表現は、それぞれのノイズを使用して生成している修正された特徴表現である。たとえば、ノイズエンジンは、ノードによって表される分子202の中の原子の初期空間位置にノイズを付加することによって、ノードに対する最終特徴表現を生成することができる。
【0134】
ニューラルネットワーク150は、(i)エンコーダ210、(ii)アップデータ220、および(iii)デコーダ230を含むことができる。
【0135】
ノイズエンジンは、グラフの中のノードに対する最終特徴表現をエンコーダ210に提供することができる。エンコーダ210は、グラフを規定するデータを生成するように構成され得る。たとえば、エンコーダ210は、たとえば、各ノードに対する最終特徴表現に基づいて、各ノードに対するノード埋め込みを生成できるノード埋め込みサブネットワークを含む。
【0136】
グラフを規定するデータを生成した後、エンコーダ210は、グラフを規定するデータをアップデータ220に提供することができる。アップデータは、1つまたは複数のグラフニューラルネットワーク層、たとえば、N層のグラフニューラルネットワーク層を含むことができる。各グラフニューラルネットワーク層は、ノードの現在のノード埋め込み、およびグラフの中のノードの1つまたは複数のネイバーの各々のそれぞれの現在のノード埋め込みに基づいて、グラフの中の1つまたは複数のノードの現在のノード埋め込みを更新するように構成され得る。たとえば、図2に示すように、グラフニューラルネットワーク層215は、隣接ノードの現在のノード埋め込みに基づいて、塗りつぶされた円によって示すノードのノード埋め込みを更新することができる。
【0137】
デコーダ230は、ノードに対するそれぞれのノイズ除去予測234を生成するために、修正された特徴表現を有するノードのうちの1つまたは複数の各々に対して、ノードの更新されたノード埋め込みを処理するように構成され得る。ノイズ除去予測234は、ノードの修正された特徴表現を生成するために使用されたノイズを含まない、ノードに対するノイズ除去された特徴表現を特徴づけることができる。図1を参照しながら上記で説明したように、ノイズ除去予測234は、ノードに対する修正された特徴表現を生成するために使用されたノイズを予測することができる。いくつかの実装形態では、ノイズ除去予測234は、それがノイズで乱される前の、ノードに対する初期特徴表現、たとえば、ノードによって表される分子202の中の原子の初期空間位置を予測することができる。
【0138】
いくつかの実装形態では、ノードに対するノイズ除去予測234は、ノードのターゲット特徴表現を特徴づけることができる。たとえば、図2に示すように、ターゲット特徴表現は、原子緩和後の、ノードによって表される分子202の中の原子の最終空間位置を指定することができる。このようにして、システム100は、(たとえば、ノードに対する初期特徴表現によって指定される)分子202の中の原子の初期空間位置を分子202の中の原子の最終空間位置にマッピングすることができる。
【0139】
いくつかの実装形態では、デコーダ230はタスク予測232を生成することができる。概して、タスク予測232は、グラフの中のノードによって表される要素のうちの1つまたは複数を特徴づける任意の適切な予測であり得る。図2に示すように、タスク予測232は、たとえば、原子緩和後の分子202の平衡エネルギーであり得る。
【0140】
ノイズ除去予測234を生成するためにニューラルネットワーク150をトレーニングすることは、「現実の」、すなわち、ノード特徴表現が修正されていない、グラフの分布をニューラルネットワーク150が暗黙的に学習することを促進することができ、ニューラルネットワーク150は、タスク予測232においてより高い確度を達成するためにこの暗黙的な知識を活用することができる。
【0141】
トレーニングシステム100を使用してニューラルネットワーク150をトレーニングするための例示的なプロセスが、より詳細に次に説明される。
【0142】
図3は、トレーニングシステムを使用してグラフニューラルネットワークをトレーニングするための例示的なプロセス300のフロー図である。便宜上、プロセス300は、1つもしくは複数のロケーションに位置する1つまたは複数のコンピュータのシステムによって実行されるものとして説明される。たとえば、本明細書に従って適切にプログラムされたトレーニングシステム、たとえば、図1のトレーニングシステム100が、プロセス300を実行することができる。
【0143】
システムは、(i)ノードのセット、(ii)各ノードに対するノード埋め込み、および(iii)ノードのそれぞれのペアを各々が結合するエッジのセットを含むグラフを規定するデータを生成する(302)。図1を参照しながら上記で説明したように、システムは、各ノードに対する特徴表現に基づいて、グラフを規定するデータを生成することができる。たとえば、システムは、各ノードに対するそれぞれの初期特徴表現を取得することができ、各ノードに対するそれぞれの最終特徴表現を生成することができる。ノードのうちの1つまたは複数の各々に対して、それぞれの最終特徴表現は、たとえば、式(1)によって定義されるように、ノードに対するそれぞれの特徴表現にそれぞれのノイズを付加することによって、それぞれのノイズを使用してノードに対するそれぞれの特徴表現から生成される、修正された特徴表現であり得る。
【0144】
システムは、ノードのそれぞれの最終特徴表現を使用して、グラフを規定するデータを生成することができる。たとえば、システムは、第1のノードおよび第2のノードを含むノードの各ペアに対して、第1のノードに対する最終特徴表現と第2のノードに対する最終特徴表現との間のそれぞれの距離を決定することができる。次いで、システムは、既定のしきい値よりも小さい距離に対応するノードの各ペアがグラフの中のエッジによって結合されることを決定することができる。図2に示すように、グラフは分子を表すことができ、グラフの中の各ノードは、分子の中のそれぞれの原子を表すことができる。この場合、各ノードに対する初期特徴表現は、たとえば、分子の中の対応する原子の初期空間位置を表すことができる。システムは、ノードによって表される原子のタイプに基づいて各ノードに対するノード埋め込みを生成することによって、グラフを規定するデータを生成することができる。概して、グラフは、任意の適切な物理系を表すことができる。
【0145】
いくつかの実装形態では、グラフは、各エッジに対するそれぞれのエッジ埋め込みをさらに含むことができる。そのような場合、システムは、たとえば、上の式(2)および式(3)によって定義されるように、エッジによって結合されたノードのそれぞれの最終特徴表現の間の差分に少なくとも部分的に基づいて、グラフの中の各エッジに対するエッジ埋め込みを生成することによって、グラフを生成することができる。
【0146】
システムは、各ノードのそれぞれの更新されたノード埋め込みを生成するために、ニューラルネットワークの1つまたは複数のグラフニューラルネットワーク層を使用して、グラフを規定するデータを処理する(304)。いくつかの実装形態では、ニューラルネットワークは、少なくとも10層のグラフニューラルネットワーク層を含む。各グラフニューラルネットワーク層は、現在のグラフを更新するように構成され得る。
【0147】
たとえば、図1を参照しながら上記で説明したように、各ニューラルネットワーク層は、現在のグラフを受信することができ、グラフニューラルネットワーク層の現在のニューラルネットワークパラメータ値に従って現在のグラフを更新することができる。このことは、たとえば、上の式(4)および式(5)によって定義されるように、たとえば、(i)ノードの現在のノード埋め込み、および(ii)グラフの中のノードの1つまたは複数のネイバーの各々のそれぞれの現在のノード埋め込みに基づいて、グラフの中の1つまたは複数のノードの各々の現在のノード埋め込みを更新することを含むことができる。いくつかの実装形態では、現在のグラフは、各エッジに対するエッジ埋め込みをさらに含むことができる。そのような場合、各ニューラルネットワーク層は、ノードに結合された1つまたは複数のエッジの各々のそれぞれのエッジ埋め込みに少なくとも部分的に基づいて、ノードのノード埋め込みを更新することができる。
【0148】
システムは、修正された特徴表現を有するノードのうちの1つまたは複数の各々に対して、ノードに対するそれぞれのノイズ除去予測を生成するために、ノードの更新されたノード埋め込みを処理する(306)。たとえば、システムは、ノードに対するそれぞれのノイズ除去予測を生成するために、1つまたは複数のニューラルネットワーク層を使用して、ノードの更新されたノード埋め込みを処理することができる。ノイズ除去予測は、ノードの修正された特徴表現を生成するために使用されたノイズを含まない、ノードに対するノイズ除去された特徴表現を特徴づけることができる。
【0149】
一例では、ノイズ除去予測は、ノードの修正された特徴表現を生成するために使用されたノイズを予測することができる。別の例では、ノイズ除去予測は、ノードの初期特徴表現、たとえば、ノイズを使用することによって修正される前の分子の中の原子の初期空間位置を予測することができる。また別の例では、ノイズ除去予測は、ノードのターゲット特徴表現、たとえば、原子緩和後の分子の中の原子の新たな位置を特徴づけることができる。いくつかの実装形態では、ノードに対するターゲット特徴表現は、ノードに対する修正された特徴表現に加算された場合にノードのターゲット特徴表現をもたらす、ノードに対する増分特徴表現であり得る。
【0150】
システムは、ノードに対するノイズ除去予測における誤差を測定する目的関数を最適化するために、ニューラルネットワークのニューラルネットワークパラメータの現在の値への更新を決定する(308)。たとえば、システムは、グラフニューラルネットワーク層のニューラルネットワークパラメータを通じて目的関数の勾配を逆伝播させることができる。目的関数は、ニューラルネットワークの複数のグラフニューラルネットワーク層の各々に対して、グラフニューラルネットワーク層によって生成される更新されたノード埋め込みに基づく、ノードに対するノイズ除去予測におけるそれぞれの誤差を測定することができる。
【0151】
いくつかの実装形態では、システムは、タスク予測を生成するために、ノードの更新されたノード埋め込みを処理することができ、ここで、たとえば、式(7)において定義されるように、目的関数がタスク予測における誤差も測定する。概して、タスク予測における誤差は、タスクにとって適切なトレーニングデータのセットを使用して決定されてよく、すなわち、システムは教師あり学習を使用してトレーニングされてよい。そのような場合、システムは、タスク予測を生成するために、(i)ノードの更新されたノード埋め込みと、(ii)グラフニューラルネットワーク層を使用して更新される前の、ノードの元のノード埋め込みの両方を処理することができる。特定の例として、たとえば、図2に示すように、グラフは分子を表すことができ、タスク予測は分子の平衡エネルギーの予測であり得る。
【0152】
ニューラルネットワークをトレーニングするためのシステムを使用して達成される例示的な実験結果が、より詳細に次に説明される。
【0153】
図4は、図1および図2を参照しながら上記で説明した、ニューラルネットワークをトレーニングするためのシステム100を使用して達成される、例示的な実験結果400を示す。
【0154】
システム100は、ニューラルネットワークを使用してノイズ除去予測を生成することによって、ニューラルネットワークをトレーニングすることができる。上記で説明したように、ノイズ除去予測を生成することは、ノードの特徴表現をノイズ除去するために各ノード埋め込みが固有の情報を符号化することを必要とし、そのことは、たとえば、いくつかのグラフニューラルネットワーク層を通じて処理された後にノード埋め込みがほぼ同一になる、「過剰平滑化」の影響を軽減することができる。図4では、「MAD」とは、「過剰平滑化」を定量化できるノード埋め込みの多様性の測度であり、ここで、より大きい数がノード埋め込みのより高いレベルの多様性を示す。図4に示すように、本明細書で説明するシステムは、利用可能な他の技法(たとえば、「DropEdge」および「DropNode」)と比較すると、ニューラルネットワーク全体にわたってより高いレベルのノード埋め込み多様性を維持することができる。このことは、特に、本明細書で説明するシステムのノード埋め込みの多様性の測度がはるかに大きいニューラルネットワーク層15において明らかである。したがって、本明細書で説明するシステムは、「過剰平滑化」の影響を軽減することにおいて、利用可能な他のシステムよりもまさる場合がある。
【0155】
図5は、図1および図2を参照しながら上記で説明した、ニューラルネットワークをトレーニングするためのシステム100を使用して達成される、例示的な実験結果500を示す。図5において、「以前のSOTA」は、利用可能な他のシステムを使用して達成される現況技術の性能を指し、「ev MAE」は、タスク予測における予測誤差を指す。
【0156】
左側のグラフは、(たとえば、ニューラルネットワークの中の3層のグラフニューラルネットワーク層を伴う)3回のメッセージパッシングステップの後でさえ、本明細書で説明するシステムが、利用可能な他のシステムを使用して達成される現況技術の性能を超えることを示す。右側のグラフは、(たとえば、共有された重みをグラフニューラルネットワーク層の間に有する)より少数のニューラルネットワークパラメータしか伴わない場合でも、現況技術の性能が、本明細書で説明するシステムによって超えられ得ることを示す。
【0157】
図6は、分子のHOMOエネルギーを予測するタスクにおける、様々なニューラルネットワークの性能を比較する、例示的な実験結果を示す。詳細には、グラフ600の水平軸は、各ニューラルネットワークをトレーニングするために使用された勾配ステップの数を表し、グラフ600の垂直軸は、各ニューラルネットワークの予測確度を表す。最良に実行するニューラルネットワーク(図6の中で「事前トレーニングされたGNS-TAT」とラベル付けされる)は、HOMOエネルギー予測タスクを実行するようにトレーニングされる前に、(本明細書で説明するように)ノイズ除去予測に基づいて目的関数を最適化するように事前トレーニングされる、グラフニューラルネットワークである。したがって、これらの実験結果は、ノイズ除去予測に基づいて目的関数を最適化するようにグラフニューラルネットワークを事前トレーニングすることによって達成され得る利点を示す。
【0158】
本明細書は、システムおよびコンピュータプログラム構成要素に関して「構成される」という用語を使用する。1つまたは複数のコンピュータのシステムが特定の動作またはアクションを実行するように構成されることとは、動作時にシステムに動作またはアクションを実行させる、その上にインストールされたソフトウェア、ファームウェア、ハードウェア、またはそれらの組合せを、システムが有することを意味する。1つまたは複数のコンピュータプログラムが特定の動作またはアクションを実行するように構成されることとは、データ処理装置によって実行されたとき、その装置に動作またはアクションを実行させる命令を、1つまたは複数のプログラムが含むことを意味する。
【0159】
本明細書で説明する主題および機能的動作の実施形態は、本明細書において開示する構造およびそれらの構造的均等物を含む、デジタル電子回路構成で、有形に具現されたコンピュータソフトウェアもしくはファームウェアで、コンピュータハードウェアで、またはそれらのうちの1つもしくは複数の組合せで実装され得る。本明細書で説明する主題の実施形態は、データ処理装置が実行するための、またはデータ処理装置の動作を制御するための、1つまたは複数のコンピュータプログラム、すなわち、有形非一時的記憶媒体上で符号化されたコンピュータプログラム命令の1つまたは複数のモジュールとして実装され得る。コンピュータ記憶媒体は、機械可読記憶デバイス、機械可読記憶基板、ランダムもしくはシリアルアクセスメモリデバイス、またはそれらのうちの1つもしくは複数の組合せであり得る。代替または追加として、プログラム命令は、データ処理装置が実行するための好適な受信機装置への送信のために情報を符号化するために生成される、人工的に生成された伝搬信号、たとえば、機械生成された電気信号、光信号、または電磁信号において符号化され得る。
【0160】
「データ処理装置」という用語はデータ処理ハードウェアを指し、例として、プログラマブルプロセッサ、コンピュータ、または複数のプロセッサもしくはコンピュータを含む、データを処理するためのすべての種類の装置、デバイス、および機械を包含する。装置はまた、専用論理回路構成、たとえば、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)であり得、またはそれらをさらに含むことができる。装置は、随意に、ハードウェアに加えて、コンピュータプログラムのための実行環境を作成するコード、たとえば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、またはそれらのうちの1つもしくは複数の組合せを構成するコードを含むことができる。
【0161】
プログラム、ソフトウェア、ソフトウェアアプリケーション、アプリ、モジュール、ソフトウェアモジュール、スクリプト、またはコードと呼ばれることもあり、またはそのように説明されることがある、コンピュータプログラムは、コンパイラ型言語もしくはインタープリタ型言語、または宣言型言語もしくは手続き型言語を含む、任意の形式のプログラミング言語で書くことができ、スタンドアロンプログラムとして、またはモジュール、コンポーネント、サブルーチン、もしくはコンピューティング環境において使用するのに適した他のユニットとしてを含む、任意の形式で展開され得る。プログラムは、ファイルシステムの中のファイルに対応してよいが、そうである必要はない。プログラムは、他のプログラムまたはデータ、たとえば、マークアップ言語文書の中に、当該のプログラムに専用の単一のファイルの中に、あるいは複数の協調ファイルの中に記憶された1つまたは複数のスクリプトを保持するファイルの一部分、たとえば、1つまたは複数のモジュール、サブプログラム、またはコードの部分を記憶するファイルの中に記憶され得る。コンピュータプログラムは、1つのコンピュータ上で、または1つのサイトに位置するか、もしくは複数のサイトにわたって分散されデータ通信ネットワークによって相互接続される、複数のコンピュータ上で実行されるように展開され得る。
【0162】
本明細書では、「エンジン」という用語は、1つまたは複数の特定の機能を実行するようにプログラムされている、ソフトウェアベースのシステム、サブシステム、またはプロセスを指すために広く使用される。概して、エンジンは、1つまたは複数のロケーションにおける1つまたは複数のコンピュータ上にインストールされた1つまたは複数のソフトウェアモジュールまたはコンポーネントとして実装される。いくつかの場合には、1つまたは複数のコンピュータは、特定のエンジンに専用となり、他の場合には、複数のエンジンがインストールされることおよび1つまたは複数の同じコンピュータ上で動作することが可能である。
【0163】
本明細書で説明するプロセスおよび論理フローは、入力データに対して動作することおよび出力を生成することによって機能を実行するために、1つまたは複数のプログラマブルコンピュータが1つまたは複数のコンピュータプログラムを実行することによって実行され得る。プロセスおよび論理フローはまた、専用論理回路構成、たとえば、FPGAもしくはASICによって、または専用論理回路構成とプログラムされた1つもしくは複数のコンピュータとの組合せによって実行され得る。
【0164】
コンピュータプログラムの実行に適したコンピュータは、汎用マイクロプロセッサもしくは専用マイクロプロセッサ、またはその両方、あるいは任意の他の種類の中央処理ユニットに基づくことができる。概して、中央処理ユニットは、読取り専用メモリもしくはランダムアクセスメモリまたはその両方から命令およびデータを受信する。コンピュータの必須要素は、命令を実行(performing)または実行(executing)するための中央処理ユニット、ならびに命令およびデータを記憶するための1つまたは複数のメモリデバイスである。中央処理ユニットおよびメモリは、専用論理回路構成によって増補されることまたは専用論理回路構成の中に組み込まれることが可能である。概して、コンピュータはまた、データを記憶するための1つまたは複数の大容量記憶デバイス、たとえば、磁気ディスク、光磁気ディスク、または光ディスクを含むか、あるいはそうした大容量記憶デバイスからデータを受信することもしくはそこにデータを転送すること、またはその両方を行うように動作可能に結合される。ただし、コンピュータはそのようなデバイスを有する必要はない。その上、コンピュータは、別のデバイス、たとえば、ほんのいくつかの例を挙げれば、携帯電話、携帯情報端末(PDA)、モバイルオーディオもしくはビデオプレーヤ、ゲーム機、全地球測位システム(GPS)受信機、またはポータブル記憶デバイス、たとえば、ユニバーサルシリアルバス(USB)フラッシュドライブの中に組み込まれ得る。
【0165】
コンピュータプログラム命令およびデータを記憶するのに適したコンピュータ可読媒体は、例として、半導体メモリデバイス、たとえば、EPROM、EEPROM、およびフラッシュメモリデバイス、磁気ディスク、たとえば、内部ハードディスクまたはリムーバルディスク、光磁気ディスク、ならびにCD-ROMおよびDVD-ROMディスクを含む、すべての形態の不揮発性のメモリ、媒体、およびメモリデバイスを含む。
【0166】
ユーザとの対話を行うために、本明細書で説明する主題の実施形態は、情報をユーザに表示するためのディスプレイデバイス、たとえば、CRT(陰極線管)またはLCD(液晶ディスプレイ)モニタ、ならびにユーザがそれによってコンピュータに入力を提供できるキーボードおよびポインティングデバイス、たとえば、マウスまたはトラックボールを有するコンピュータ上で実施され得る。同じくユーザとの対話を行うために他の種類のデバイスが使用される場合があり、たとえば、ユーザに提供されるフィードバックは、任意の形態の知覚フィードバック、たとえば、視覚フィードバック、聴覚フィードバック、または触覚フィードバックであり得、ユーザからの入力は、音響入力、音声入力、または触覚入力を含む、任意の形態で受けることができる。加えて、コンピュータは、ユーザによって使用されるデバイスへ文書を送ること、およびそうしたデバイスから文書を受信することによって、たとえば、ウェブブラウザから受信された要求に応答してユーザのデバイス上のウェブブラウザへウェブページを送ることによって、ユーザと対話することができる。また、コンピュータは、パーソナルデバイス、たとえば、メッセージングアプリケーションを実行中のスマートフォンへ、テキストメッセージまたは他の形式のメッセージを送ること、および見返りにユーザから応答性メッセージを受けることによって、ユーザと対話することができる。
【0167】
機械学習モデルを実施するためのデータ処理装置はまた、機械学習トレーニングおよび機械学習生産の共通かつ計算集約的な部分、すなわち、推定、作業負荷を処理するための、たとえば、専用ハードウェアアクセラレータユニットを含むことができる。
【0168】
機械学習モデルは、機械学習フレームワーク、たとえば、TensorFlowフレームワークを使用して実装および展開され得る。
【0169】
本明細書で説明する主題の実施形態は、たとえば、データサーバとしてのバックエンド構成要素を含むか、またはミドルウェア構成要素、たとえば、アプリケーションサーバを含むか、またはフロントエンド構成要素、たとえば、ユーザがそれを通じて本明細書で説明する主題の実装形態と対話できる、グラフィカルユーザインターフェース、ウェブブラウザ、もしくはアプリを有するクライアントコンピュータを含む、コンピューティングシステム、あるいは1つまたは複数のそのようなバックエンド構成要素、ミドルウェア構成要素、またはフロントエンド構成要素の任意の組合せにおいて実施され得る。システムの構成要素は、任意の形態または媒体のデジタルデータ通信、たとえば、通信ネットワークによって相互接続され得る。通信ネットワークの例は、ローカルエリアネットワーク(LAN)、およびワイドエリアネットワーク(WAN)、たとえば、インターネットを含む。
【0170】
コンピューティングシステムは、クライアントおよびサーバを含むことができる。クライアントおよびサーバは、一般に互いに遠隔にあり、通常は通信ネットワークを通じて相互作用する。クライアントとサーバとの関係は、コンピュータプログラムがそれぞれのコンピュータ上で実行するとともに、互いにクライアントサーバ関係を有することによって生じる。いくつかの実施形態では、サーバは、たとえば、クライアントとして働くデバイスと対話するユーザにデータを表示し、そうしたユーザからユーザ入力を受けるために、データ、たとえば、HTMLページを、ユーザデバイスへ送信する。ユーザデバイスにおいて生成されるデータ、たとえば、ユーザ対話の結果は、サーバにおいてそのデバイスから受信され得る。
【0171】
本明細書は多くの特定の実装詳細を含むが、これらは、任意の発明の範囲における、または特許請求され得るものの範囲における、限定と解釈されるべきでなく、むしろ特定の発明の特定の実施形態に固有であり得る特徴の説明と解釈されるべきである。別個の実施形態の文脈で本明細書において説明されるいくつかの特徴はまた、単一の実施形態において組合せで実施され得る。反対に、単一の実施形態の文脈で説明される様々な特徴はまた、複数の実施形態において別個に、または任意の好適な部分組合せで実施され得る。その上、特徴は、いくつかの組合せで働くものとして上記で説明されることがあり、当初はそのように特許請求されることさえあるが、特許請求される組合せからの1つまたは複数の特徴は、場合によっては、その組合せから削除されてよく、特許請求される組合せは、部分組合せまたは部分組合せの変形形態を対象としてよい。
【0172】
同様に、動作は特定の順序で図面に示され特許請求の範囲に記載されるが、このことは、望ましい結果を達成するために、そのような動作が、図示の特定の順序もしくは連続した順序で実行されること、または図示したすべての動作が実行されることを、必要とするものとして理解されるべきでない。いくつかの状況では、マルチタスキングおよび並列処理が有利であり得る。その上、上記で説明した実施形態における様々なシステムモジュールおよび構成要素の分離は、すべての実施形態においてそのような分離を必要とするものとして理解されるべきでなく、説明したプログラム構成要素およびシステムが、一般に、単一のソフトウェア製品の中で一緒に統合され得るか、または複数のソフトウェア製品の中にパッケージ化され得ることを理解されたい。
【0173】
本主題の特定の実施形態が説明されている。他の実施形態が以下の特許請求の範囲内に入る。たとえば、特許請求の範囲において記載されたアクションは異なる順序で実行することができ、やはり望ましい結果を達成する。一例として、添付図面に示すプロセスは、望ましい結果を達成するために、必ずしも図示の特定の順序または連続した順序を必要とするとは限らない。場合によっては、マルチタスキングおよび並列処理が有利であり得る。
【符号の説明】
【0174】
100 トレーニングシステム
102 初期特徴表現
104 グラフ、初期グラフ
106 最終グラフ
108 ノイズ除去予測
109 タスク予測
110 エンコーダ
112 最終特徴表現
120 アップデータ
130 デコーダ
140 トレーニングエンジン
150 グラフニューラルネットワーク
160 ノイズエンジン
202 分子
210 エンコーダ
215 グラフニューラルネットワーク層
220 アップデータ
230 デコーダ
232 タスク予測
234 ノイズ除去予測
図1
図2
図3
図4
図5
図6
【手続補正書】
【提出日】2023-11-28
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
1つまたは複数のグラフニューラルネットワーク層を含むニューラルネットワークをトレーニングするための方法であって、
(i)ノードのセット、(ii)各ノードに対するノード埋め込み、および(iii)ノードのそれぞれのペアを各々が結合するエッジのセットを備えるグラフを規定するデータを生成するステップであって、
各ノードに対するそれぞれの初期特徴表現を取得するステップ、
各ノードに対するそれぞれの最終特徴表現を生成するステップであって、前記ノードのうちの1つまたは複数の各々に対して、前記それぞれの最終特徴表現が、それぞれのノイズを使用して前記ノードに対する前記それぞれの初期特徴表現から生成される、修正された特徴表現である、ステップ、および
前記ノードの前記それぞれの最終特徴表現を使用して、前記グラフを規定する前記データを生成するステップ
を備える、ステップと、
各ノードのそれぞれの更新されたノード埋め込みを生成するために、前記ニューラルネットワークの前記グラフニューラルネットワーク層のうちの1つまたは複数を使用して、前記グラフを規定する前記データを処理するステップと、
修正された特徴表現を有する前記ノードのうちの1つまたは複数の各々に対して、前記ノードの前記修正された特徴表現を生成するために使用された前記ノイズを含まない、前記ノードに対するノイズ除去された特徴表現を特徴づける、前記ノードに対するそれぞれのノイズ除去予測を生成するために、前記ノードの前記更新されたノード埋め込みを処理するステップと、
前記ノードに対する前記ノイズ除去予測における誤差を測定する目的関数を最適化するために、前記ニューラルネットワークのニューラルネットワークパラメータの現在の値への更新を決定するステップと
を含む、方法。
【請求項2】
修正された特徴表現を有する前記ノードのうちの1つまたは複数の各々に対して、前記ノードに対する前記それぞれのノイズ除去予測が、前記ノードの前記修正された特徴表現を生成するために使用された前記ノイズを予測する、請求項1に記載の方法。
【請求項3】
修正された特徴表現を有する前記ノードのうちの1つまたは複数の各々に対して、前記ノードに対する前記それぞれのノイズ除去予測が、前記ノードの前記それぞれの初期特徴表現を予測する、請求項1に記載の方法。
【請求項4】
修正された特徴表現を有する前記ノードのうちの1つまたは複数の各々に対して、前記ノードに対する前記それぞれのノイズ除去予測が、前記ノードのターゲット特徴表現を特徴づける、請求項1に記載の方法。
【請求項5】
修正された特徴表現を有する前記ノードのうちの1つまたは複数の各々に対して、前記ノードに対する前記それぞれのノイズ除去予測が、前記ノードに対する前記修正された特徴表現に加算された場合に前記ノードの前記ターゲット特徴表現をもたらす、前記ノードに対する増分特徴表現を予測する、請求項4に記載の方法。
【請求項6】
タスク予測を生成するために、前記ノードの前記更新されたノード埋め込みを処理するステップをさらに含み、
前記目的関数が、前記タスク予測における誤差も測定する、請求項1に記載の方法。
【請求項7】
(i)前記ノードの前記更新されたノード埋め込みと、(ii)前記グラフニューラルネットワーク層を使用して更新される前の、前記ノードの元のノード埋め込みとの両方が、前記タスク予測を生成するために処理される、請求項6に記載の方法。
【請求項8】
前記グラフが分子を表し、
前記タスク予測が前記分子の平衡エネルギーの予測である、請求項6または7に記載の方法。
【請求項9】
前記目的関数が、前記ニューラルネットワークの複数のグラフニューラルネットワーク層の各々に対して、前記グラフニューラルネットワーク層によって生成される更新されたノード埋め込みに基づいている前記ノードに対するノイズ除去予測におけるそれぞれの誤差を測定する、請求項1に記載の方法。
【請求項10】
修正された特徴表現を有する前記ノードのうちの1つまたは複数の各々に対して、前記ノードに対する前記それぞれのノイズ除去予測を生成するために、前記ノードの前記更新されたノード埋め込みを処理するステップが、
前記ノードに対する前記それぞれのノイズ除去予測を生成するために、1つまたは複数のニューラルネットワーク層を使用して前記ノードの前記更新されたノード埋め込みを処理するステップを含む、請求項1に記載の方法。
【請求項11】
前記目的関数を最適化するために、前記ニューラルネットワークの前記ニューラルネットワークパラメータの前記現在の値への前記更新を決定するステップが、
前記グラフニューラルネットワーク層のニューラルネットワークパラメータを通じて前記目的関数の勾配を逆伝播させるステップ
を含む、請求項1に記載の方法。
【請求項12】
前記ノードのうちの1つまたは複数の各々に対して、前記ノードに対する前記それぞれの最終特徴表現が、前記ノードに対する前記それぞれの初期特徴表現に前記それぞれのノイズを付加することによって生成される、請求項1に記載の方法。
【請求項13】
前記ノードの前記それぞれの最終特徴表現を使用して、前記グラフを規定する前記データを生成するステップが、
第1のノードおよび第2のノードを備えるノードの各ペアに対して、前記第1のノードに対する前記最終特徴表現と前記第2のノードに対する前記最終特徴表現との間のそれぞれの距離を決定するステップと、
既定のしきい値よりも小さい距離に対応するノードの各ペアが前記グラフの中のエッジによって結合されていると決定するステップと
を含む、請求項1に記載の方法。
【請求項14】
前記グラフが、各エッジに対するそれぞれのエッジ埋め込みをさらに備える、請求項1に記載の方法。
【請求項15】
前記グラフを規定する前記データを生成するステップが、
前記エッジによって結合された前記ノードの前記それぞれの最終特徴表現の間の差分に少なくとも部分的に基づいて、前記グラフの中の各エッジに対するエッジ埋め込みを生成するステップ
を含む、請求項14に記載の方法。
【請求項16】
前記グラフが分子を表し、
前記グラフの中の各ノードが前記分子の中のそれぞれの原子を表し、
前記グラフを規定する前記データを生成するステップが、
前記ノードによって表される原子のタイプに基づいて、各ノードに対するノード埋め込みを生成するステップ
を含む、請求項1に記載の方法。
【請求項17】
前記ニューラルネットワークが、少なくとも10層のグラフニューラルネットワーク層を含む、請求項1に記載の方法。
【請求項18】
前記グラフニューラルネットワーク層の各グラフニューラルネットワーク層が、
現在のグラフを受信することと、
前記グラフニューラルネットワーク層の現在のニューラルネットワークパラメータ値に従って、前記現在のグラフを更新することであって、
(i)前記ノードの現在のノード埋め込み、および(ii)前記グラフの中の前記ノードの1つまたは複数のネイバーの各々のそれぞれの現在のノード埋め込みに基づいて、前記グラフの中の1つまたは複数のノードの各々の前記現在のノード埋め込みを更新すること
を含む、更新することと
を行うように構成される、請求項1に記載の方法。
【請求項19】
前記現在のグラフが、各エッジに対するエッジ埋め込みを備え、
前記グラフの中の1つまたは複数のノードの各々の前記現在のノード埋め込みを更新することが、
前記ノードに結合された1つまたは複数のエッジの各々のそれぞれのエッジ埋め込みに少なくとも部分的に基づいて、前記ノードの前記ノード埋め込みを更新すること
をさらに含む、請求項18に記載の方法。
【請求項20】
前記グラフが分子を表し、
前記グラフの中の各ノードが前記分子の中のそれぞれの原子を表し、
各ノードに対する前記初期特徴表現が、前記分子の中の対応する原子の初期空間位置を表し、
修正された特徴表現を有する前記ノードのうちの1つまたは複数の各々に対して、前記ノードに対する前記ターゲット特徴表現が、原子緩和後の前記対応する原子の最終空間位置を表す、請求項5に記載の方法。
【請求項21】
命令を記憶した1つまたは複数の非一時的コンピュータ記憶媒体であって、前記命令は、1つまたは複数のコンピュータによって実行されると、請求項1に記載のそれぞれの方法の動作を前記1つまたは複数のコンピュータに実行させる、1つまたは複数の非一時的コンピュータ記憶媒体。
【請求項22】
システムであって、
1つまたは複数のコンピュータと、
前記1つまたは複数のコンピュータに通信可能に結合された1つまたは複数の記憶デバイスと
を備え、前記1つまたは複数の記憶デバイスが、命令を記憶し、前記命令は、前記1つまたは複数のコンピュータによって実行されると、請求項1に記載のそれぞれの方法の動作を前記1つまたは複数のコンピュータに実行させる、システム。
【国際調査報告】