(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024170238
(43)【公開日】2024-12-06
(54)【発明の名称】情報処理システム、情報処理装置、情報処理方法及びプログラム
(51)【国際特許分類】
G06Q 50/10 20120101AFI20241129BHJP
【FI】
G06Q50/10
【審査請求】未請求
【請求項の数】17
【出願形態】OL
(21)【出願番号】P 2023087285
(22)【出願日】2023-05-26
(71)【出願人】
【識別番号】515130201
【氏名又は名称】株式会社Preferred Networks
(71)【出願人】
【識別番号】000004444
【氏名又は名称】ENEOS株式会社
(74)【代理人】
【識別番号】100126099
【弁理士】
【氏名又は名称】反町 洋
(74)【代理人】
【識別番号】100152423
【弁理士】
【氏名又は名称】小島 一真
(74)【代理人】
【識別番号】100202429
【弁理士】
【氏名又は名称】石原 信人
(72)【発明者】
【氏名】高本 聡
【テーマコード(参考)】
5L049
5L050
【Fターム(参考)】
5L049CC60
5L050CC60
(57)【要約】
【課題】訓練済みモデルの中間層からの出力を利用する。
【解決手段】情報処理システムは、少なくとも第1情報処理装置及び第2情報処理装置を備える。前記第2情報処理装置は、原子構造を前記第1情報処理装置に送信する。前記第1情報処理装置は、前記原子構造を前記第2情報処理装置から受信し、第1モデルに前記原子構造を入力し、前記第1モデルの中間層からの出力に基づく第1情報を取得し、前記第1情報を前記第2情報処理装置に送信する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
少なくとも第1情報処理装置及び第2情報処理装置を備える情報処理システムであって、
前記第2情報処理装置は、
原子構造を前記第1情報処理装置に送信し、
前記第1情報処理装置は、
前記原子構造を前記第2情報処理装置から受信し、
第1モデルに前記原子構造を入力し、
前記第1モデルの中間層からの出力に基づく第1情報を取得し、
前記第1情報を前記第2情報処理装置に送信する、
情報処理システム。
【請求項2】
前記第1情報処理装置は、
前記第1モデルの出力層からの出力に基づく第2情報をさらに取得し、
前記第2情報を前記第2情報処理装置に送信する、
請求項1に記載の情報処理システム。
【請求項3】
前記第1情報処理装置は、
前記第1モデルの逆伝播処理を実行して第3情報をさらに取得し、
前記第3情報を前記第2情報処理装置に送信する、
請求項1に記載の情報処理システム。
【請求項4】
前記第2情報処理装置は、
前記第1情報を取得し、
前記第1情報を第2モデルに入力することで前記原子構造に対する所定の物性値を推定する、
請求項1に記載の情報処理システム。
【請求項5】
前記所定の物性値は、前記原子構造に対するエネルギーである、
請求項4に記載の情報処理システム。
【請求項6】
前記第1モデルは、NNP (Neural Network Potential) を形成するモデルである、
請求項1乃至5の何れか一項に記載の情報処理システム。
【請求項7】
少なくとも1つのプロセッサ、を備え、
前記少なくとも1つのプロセッサは、
原子構造を他の情報処理装置に送信し、
前記他の情報処理装置から第1情報を取得し、
前記第1情報は、前記他の情報処理装置が前記原子構造を第1モデルに入力することで生成される、前記第1モデルの中間層からの出力に基づく情報である、
情報処理装置。
【請求項8】
前記少なくとも1つのプロセッサは、
前記第1情報を取得し、
前記第1情報を第2モデルに入力することで前記原子構造に対する所定の物性値を推定する、
請求項7に記載の情報処理装置。
【請求項9】
前記所定の物性値は、前記原子構造に対するエネルギーである、
請求項8に記載の情報処理装置。
【請求項10】
前記少なくとも1つのプロセッサは、
前記他の情報処理装置から前記第1モデルの少なくとも一部に関する情報を取得し、
受信した前記第1モデルの少なくとも一部に関する情報を用いて、前記第2モデルの出力層からの出力を用いて逆伝播処理を実行する、
請求項8に記載の情報処理装置。
【請求項11】
前記少なくとも1つのプロセッサは、
受信した前記第1情報に基づいて、前記原子構造の少なくとも一部と他の原子構造の少なくとも一部との類似度を算出する、
請求項7に記載の情報処理装置。
【請求項12】
前記少なくとも1つのプロセッサは、
前記第1情報を第2モデルに入力することでポテンシャルパラメータを推定する、
請求項7に記載の情報処理装置。
【請求項13】
前記少なくとも1つのプロセッサは、
前記第1情報を表示装置に表示させる、
請求項7に記載の情報処理装置。
【請求項14】
前記表示装置に表示された前記第1情報は、前記第1モデルの中間層からの出力より低次元の情報である、
請求項13に記載の情報処理装置。
【請求項15】
前記第1モデルは、NNP (Neural Network Potential) を形成するモデルである、
請求項7乃至14の何れか一項に記載の情報処理装置。
【請求項16】
少なくとも第1情報処理装置及び第2情報処理装置を備えるシステムにおける情報処理方法であって、
前記第2情報処理装置が、
原子構造を前記第1情報処理装置に送信し、
前記第1情報処理装置が、
前記原子構造を受信し、
第1モデルに前記原子構造を入力し、
前記第1モデルの中間層からの出力に基づく第1情報を取得し、
前記第1情報を前記第2情報処理装置に送信する、
情報処理方法。
【請求項17】
少なくとも1つのプロセッサが、
原子構造を他の情報処理装置に送信し、
前記他の情報処理装置から第1情報を取得する、
方法であって、
前記第1情報は、前記他の情報処理装置が前記原子構造を第1モデルに入力することで生成される、前記第1モデルの中間層からの出力に基づく情報である、
情報処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、情報処理システム、情報処理装置、情報処理方法及びプログラムに関する。
【背景技術】
【0002】
NNP (Neural Network Potential) は、ニューラルネットワークモデルを用いた原子、分子等のエネルギー等の物性値を取得する手段として用いられる。このNNPは、1又は複数の層を有するニューラルネットワークモデルにより構築される。このニューラルネットワークモデルは、最終的には原子ごとのエネルギーを取得するネットワークとして構築されるため、その中間層においては原子、分子等に関する何らかの性質に関する情報、物性値又は物性値を取得するための情報が取得できる可能性がある。
【0003】
NNPは、SaaS (Software as a Service) の形態で提供されることがある。SaaSで提供される場合、NNPの処理は、サーバにおいて実行され、NNPの中間層における出力は、一般的にクライアントに提供されないが、上記のように入力した原子構造に関する種々の情報を含むことが考えられる。
【先行技術文献】
【非特許文献】
【0004】
【非特許文献1】”Neural network embeddings based similarity search method for atomistic systems”, Y. Yang, et.al., May 2022, https://pubs.rsc.org/en/content/articlelanding/2022/DD/D2DD00055E
【発明の概要】
【発明が解決しようとする課題】
【0005】
本開示の実施形態が解決しようとする限定されない課題の一つは、推論モデルの中間層からの出力を利用することである。
【課題を解決するための手段】
【0006】
一実施形態によれば、情報処理システムは、少なくとも第1情報処理装置及び第2情報処理装置を備える。前記第2情報処理装置は、原子構造を前記第1情報処理装置に送信する。前記第1情報処理装置は、前記原子構造を前記第2情報処理装置から受信し、第1モデルに前記原子構造を入力し、前記第1モデルの中間層からの出力に基づく第1情報を取得し、前記第1情報を前記第2情報処理装置に送信する。
【0007】
また、一実施形態によれば、情報処理装置は、少なくとも1つのプロセッサを備える。前記少なくとも1つのプロセッサは、原子構造を他の情報処理装置に送信し、前記他の情報処理装置から第1情報を取得する。前記第1情報は、前記他の情報処理装置が前記原子構造を第1モデルに入力することで生成される、前記第1モデルの中間層からの出力に基づく情報である。
【0008】
また、一実施形態によれば、情報処理方法は、少なくとも第1情報処理装置及び第2情報処理装置を備えるシステムにおける情報処理方法であって、前記第2情報処理装置が原子構造を前記第1情報処理装置に送信し、前記第1情報処理装置が前記原子構造を受信し、第1モデルに前記原子構造を入力し、前記第1モデルの中間層からの出力に基づく第1情報を取得し、前記第1情報を前記第2情報処理装置に送信する。
【0009】
また、一実施形態によれば、情報処理方法は、少なくとも1つのプロセッサが、原子構造を他の情報処理装置に送信し、前記他の情報処理装置から第1情報を取得する、方法である。前記第1情報は、前記他の情報処理装置が前記原子構造を第1モデルに入力することで生成される、前記第1モデルの中間層からの出力に基づく情報である。
【図面の簡単な説明】
【0010】
【
図1】一実施形態に係る情報処理システムを模式的に示す図。
【
図2】一実施形態に係る情報処理装置の処理の流れを模式的に示す図。
【
図3】一実施形態に係る情報処理装置の処理の流れを模式的に示す図。
【
図4】一実施形態に係る情報処理装置の処理の流れを模式的に示す図。
【
図5】一実施形態に係る情報処理装置の処理の流れを模式的に示す図。
【
図6】一実施形態に係る情報処理装置の実装の一例を模式的に示す図。
【発明を実施するための形態】
【0011】
本開示の実施形態により解決しようとする課題は、上記に記載した課題の他、さらに限定されないいくつかの課題の例として、実施形態において記載した効果に対応する課題、とすることもできる。すなわち、本開示の実施形態の説明において記載された効果のうち任意の少なくとも1つに対応する課題を本開示における解決しようとする課題とすることができる。
【0012】
以下、図面を参照して本発明の実施形態について説明する。図面及び実施形態の説明は一例として示すものであり、本発明を限定するものではない。
【0013】
図1は、一実施形態に係る情報処理システムを模式的に示す図である。情報処理システム 1 は、例えば、第1情報処理装置 10 と、第2情報処理装置 20 と、を備える。本図においては、1つの第1情報処理装置 10 と、1つの第2情報処理装置 20 と、が示されているが、これに限定されるものではない。
【0014】
情報処理システム 1 は、例えば、1つの第1情報処理装置 10 と、当該第1情報処理装置 10 に接続される複数の第2情報処理装置 20 を備えてもよいし、複数の第1情報処理装置 10 と、当該複数の第1情報処理装置 10 のうち任意の第1情報処理装置 10 にそれぞれが接続される複数の第2情報処理装置 20 を備えてもよい。また、複数の第1情報処理装置 10 に対して、1つの第2情報処理装置 20 が備えられる形態であってもよい。
【0015】
複数の第1情報処理装置 10 が備えられる場合には、第1情報処理装置 10 同士が接続されてもよく、複数の第2情報処理装置 20 が備えられる場合には、第2情報処理装置 20 同士が接続されてもよい。また、第1情報処理装置 10 、第2情報処理装置 20 の任意の装置同士の接続は、例えば、インターネット等の回線により確立されてもよいし、直接的に確立されてもよい。
【0016】
第1情報処理装置 10 は、処理回路 100 と、記憶回路 102 と、入出力インタフェース (以下、入出力I/F 104 と記載する) と、を備える。第1情報処理装置 10 は、第2情報処理装置 20 から受信したデータに基づいて所定の演算を実行し、第2情報処理装置 20 へと送信する装置であり、例えば、サーバである。第1情報処理装置 10 は、この他、それぞれの構成を制御する制御回路、それぞれの構成に電力を供給する電源等を適宜備えることができる。
【0017】
処理回路 100 は、第1情報処理装置 10 が入出力I/F 104 を介して取得したデータを、演算処理する回路である。情報処理システム 1 が複数の第1情報処理装置 10 を備える場合には、複数の第1情報処理装置 10 の処理装置 100 同士が協働して演算を実行してもよい。
【0018】
記憶回路 102 は、入出力I/F 104 を介して受信した情報を格納する回路である。処理回路 100 は、必要に応じて記憶回路 102 に格納されているデータを参照する。また、処理回路 100 は、必要に応じて演算途中のデータ又は演算結果のデータを記憶回路 102 へと格納してもよい。
【0019】
入出力I/F 104 は、第1情報処理装置 10 の内部と外部とを接続するインタフェースである。入出力I/F 104 は、任意の規格のインタフェースを備えていてもよい。
【0020】
第1情報処理装置 10 は、例えば、データを送信する第2情報処理装置 20 に対して、SaaSを提供することができる。第1情報処理装置 10 の処理回路 100 の詳細な演算については、後述する。
【0021】
第2情報処理装置 20 は、処理回路 200 と、記憶回路 202 と、入出力I/F 204 と、を備える。第2情報処理装置 20 は、第1情報処理装置 10 のサービスを利用するため、第1情報処理装置 10 へと処理の対象となるデータを送信し、演算された結果を第1情報処理装置 10 から受信する。第2情報処理装置 20 は、例えば、第1情報処理装置 10 に対応するクライアントであってもよく、この場合、情報処理システム 1 は、サーバ-クライアントシステムとして動作することができる。また、第2情報処理装置 20 は、第1情報処理装置 10 とは異なる装置であればよく、例えば、サーバであってもよい。
【0022】
処理回路 200 は、第1情報処理装置 10 へと入出力I/F 204 を介して処理対象となるデータを送信する。また、処理回路 200 は、第1情報処理装置 10 から入出力I/F 204 を介して受信した演算結果に対して、任意の処理を実行することができる。
【0023】
記憶回路 202 は、第2情報処理装置 20 の処理回路 200 による演算結果、第1情報処理装置 10 に送信するデータ、又は、第1情報処理装置 10 から受信したデータを格納することができる。処理回路 200 は、必要に応じて記憶回路 202 に格納されているデータを参照することができる。
【0024】
入出力I/F 204 は、第2情報処理装置 20 の内部と外部とを接続するインタフェースである。入出力I/F 204 は、任意の規格のインタフェースを備えていてもよい。
【0025】
次に、情報処理システム 1 の動作について説明する。情報処理システム 1 は、第2情報処理装置 20 から送信した処理対象のデータに基づいて第1情報処理装置 10 の処理回路 100 で演算処理を実行し、演算処理を実行した結果を第2情報処理装置 20 へと送信する。
【0026】
第1情報処理装置 10 は、例えば、受信したデータについてニューラルネットワークに関する演算を実行し、結果を送信する装置である。より具体的には、第1情報処理装置 10 は、モデル (例えば、NNP) の入力となる原子構造に関するデータを受信し、受信した原子構造に関する物性値を第2情報処理装置 20 に送信することができる。また、第1情報処理装置 10 は、受信した原子構造に関するデータをモデル (例えば、NNP) における訓練済みモデルの中間層まで順伝播し、この中間層からの出力を第2情報処理装置 20 へと送信することもできる。
【0027】
原子構造に関するデータは、一例として、1以上の原子の種類及び原子の位置 (座標でもよい) に関する情報を少なくとも含んでいてもよい。例えば、原子構造に関するデータに基づいて、それぞれの情報処理装置は、当該原子構造により記述される化合物、分子の集合等の情報を取得することができる。また、別の例として、原子構造に関するデータは、境界条件の情報を含んでいてもよい。更に、別の例として、原子構造に関するデータは、1以上の原子の原子核 (陽子、中性子) 及び電子の情報を少なくとも含んでもよい。
【0028】
NNPは、原子構造を入力すると物性値、例えば、エネルギーを出力する訓練済みモデルを備える。この訓練済みモデルは、限定されない一例として、GNN (Graph Neural Network) を備えて形成される。このため、NNPの中間層からの出力は、原子構造からエネルギー等の物性値までに至るまでの何らかの演算結果を含むことが推定される。
【0029】
このため、本開示においては、第1情報処理装置 10 は、第2情報処理装置 20 から受信した原子構造についてのエネルギー等の物性値を取得する前の中間層までの順伝播結果を少なくとも演算し、第2情報処理装置 20 へと送信する。第2情報処理装置 20 は、取得した中間層の出力に基づいて、原子構造に関する処理を継続して実行することができる。
【0030】
ここで、第1情報処理装置 10 は、第2情報処理装置 20 の処理回路 200 よりも十分に演算性能が高い処理回路 100 を有していてもよい。処理回路 100 は、例えば、処理回路 200 よりも並列演算性能が高く、高速な演算処理を実行できる回路である。また、処理回路 100 は、処理回路 200 よりも所定の演算、例えば、グラフ演算が高速に実現できる回路である。第1情報処理装置 10 の処理回路 100 は、例えば、1又は複数のNNPに関するモデルを参照可能に形成され、第2情報処理装置 20 からの要求により中間層からの出力までを演算して出力する。
【0031】
(第1実施形態)
図2は、一実施形態に係る情報処理システム 1 の情報処理装置間の処理の流れを模式的に示す図である。
【0032】
なお、図において訓練済みモデルは、入力層から複数の中間層を経由して出力層へと接続されるモデル (NNP) として示されているが、これに限定されるものではなく、入力層と、1つの中間層と、出力層と、を備える形態であってもよい。また、第2情報処理装置 20 に送信する情報を出力する中間層は、入力層の次の中間層であってもよいし、出力層の直前の中間層であってもよい。
【0033】
前述したように、このモデルは、一例としてGNNであってもよいが、これに限定されない他のニューラルネットワークモデルであってもよい。この場合、このモデルは、ニューラルネットワークモデルの種類に基づいて適切な方法により訓練されたものである。
【0034】
また、このモデルは、ニューラルネットワークモデルに限定されず、入力に対して適切な出力をする他のモデルであってもよい。この場合、このモデルは、最終的なモデルの出力に対して中間の値を出力することが可能なモデルであってもよいし、複数のモデルにより最終的な出力を得るモデル群において、そのモデル群に属する1又は複数のモデルであって、中間的な出力をするためのモデルであってもよい。以下の実施形態においても同様である。
【0035】
第2情報処理装置 20 は、入出力I/F 204 を介して処理の対象となる原子構造データを第1情報処理装置 10 へと送信する (S100) 。原子構造データは、例えば、グラフ形式で記述されていてもよいし、これ以外の形式で記述されていてもよい。
【0036】
第1情報処理装置 10 は、第2情報処理装置 20 から原子構造データを取得し、第1情報処理装置 10 において展開される訓練済みモデルの入力層に入力する (S102) 。
【0037】
第1情報処理装置 10 は、入力層から原子構造データを中間層まで順伝播し、中間層からの出力 (第1情報) を取得する (S104) 。
【0038】
第1情報処理装置 10 は、入出力I/F 100 を介して、中間層からの出力 (第1情報) を第2情報処理装置 20 へと送信する (S106) 。
【0039】
第2情報処理装置 20 は、第1情報処理装置 10 から取得したデータに基づいて、任意の処理を実行することができる (S108) 。
【0040】
以上のように、本実施形態に係る情報処理システム 1 によれば、NNPの中間層からの出力を高速に取得可能なクライアント-サーバシステムを形成することが可能となる。第2情報処理装置 20 は、第1情報処理装置 10 により提供されるSaaSを用いることで、NNPの処理における演算コストが高い演算を第1情報処理装置 10 において実行し、中間層からの出力を高速に取得することができる。
【0041】
第1情報処理装置 10 は、所定の訓練済みモデルの所定の中間層までのデータを第2情報処理装置 20 に対して出力してもよい。
【0042】
第1情報処理装置 10 は、複数の訓練済みモデルを選択的に用いることも可能であり、この場合、第2情報処理装置 20 から受信したデータに基づいて使用する訓練済みモデルを選択し、所定の中間層まで順伝播した結果を第2情報処理装置 20 へと送信することもができる。
【0043】
上記のいずれの場合においても、第2情報処理装置 20 は、訓練済みモデルに関する情報を有しなくてもよい。すなわち、第2情報処理装置 20 において、第1情報処理装置 10 と同様のモデルを形成する情報を有してなくてもよい。もちろん、第2情報処理装置 20 と第1情報処理装置 10 で用いるモデルのパラメータ等を共有し、第2情報処理装置 20 においても訓練済みモデルを構築可能な形態であってもよい。
【0044】
第2情報処理装置 20 が訓練済みモデルに関する少なくとも一部のデータを有している場合、第1情報処理装置 10 は、第2情報処理装置 20 からの要求により用いる訓練済みモデルを選択することもできる。
【0045】
第1情報処理装置 10 は、第2情報処理装置 20 から訓練済みモデルのどの中間層からのデータを取得するかの要求に基づいて、要求された中間層まで入力データを順伝播した結果を第2情報処理装置 20 へと送信することができる。この場合、第2情報処理装置 20 を介して、ユーザがどの中間層までのデータを取得するかを指定することも可能である。また、ユーザが複数の訓練済みモデルからどのモデルを用いるかも指定することも可能である。
【0046】
第1情報処理装置 10 は、使用した訓練済みモデルの情報を、中間層からの出力とともに第2情報処理装置 20 に送信してもよい。このモデルの情報により、第2情報処理装置 20 又はユーザは、どの訓練済みモデルを用いたかの情報を取得することができる。
【0047】
第1情報処理装置 10 は、例えば、訓練済みモデルの識別情報 (バージョン情報、リビジョン情報等を含んでもよい) 、数値の精度に関する情報、動作するデバイスに関する情報を含んでもよい。また、ユーザがデータをリクエストするタイミングにおいて、これらの情報を第1情報処理装置 10 に指定する形態であってもよい。
【0048】
(第2実施形態)
図3は、一実施形態に係る情報処理システム 1 の情報処理装置間の処理の流れを模式的に示す図である。
【0049】
本実施形態においては、第1情報処理装置 10 は、受信した原子構造を訓練済みモデルについて順伝播することで、中間層からの出力及び出力層からの出力 (第2情報) を取得する (S104’) 。
【0050】
第1情報処理装置 10 は、 S104’ で取得された中間層からの出力データとともに、出力層からの出力データ (第2情報) 、例えば、代表的には原子構造に対するエネルギー値をあわせて出力する (S106’) 。
【0051】
第2情報処理装置 20 は、NNPにおける訓練済みモデルの中間層及び出力層のそれぞれからの出力データを取得して、その後の任意の処理を実行することができる (S108) 。
【0052】
第2情報処理装置 20 は、例えば、その後の任意の処理として、中間層と出力層の双方の情報を用いて、後述する原子構造の類似度計算や分類を実行することもできる。
【0053】
このように処理することで、前述の実施形態に加え、第2情報処理装置 20 は、出力層からのデータをさらに参照した処理を実行することが可能となる。
【0054】
(第3実施形態)
第2情報処理装置 20 は、受信した中間層からの出力に基づいて、原子構造に含まれる原子座標そのものではなく、NNPを形成する中間層空間での類似度を算出することで、当該原子構造がどのような原子構造と近い構造、近い性質を有しているかについてのデータを取得することができる。また、第2情報処理装置 20 は、原子構造に含まれる原子座標の代わりに、又は、原子構造に含まれる原子座標と併せて、算出した中間層空間での類似度を用いることもできる。
【0055】
第2情報処理装置 20 が送信し、第1情報処理装置 10 が処理する原子構造は、原子集合 (分子の集合) といった構造を示すデータが含まれる。このため、第2情報処理装置 20 は、NNPを形成する訓練済みモデルの中間層からの出力を用いることで、当該中間層における原子構造同士の類似度を、取得することができる。
【0056】
第2情報処理装置 20 は、例えば、中間層からの出力の集合についてグラフマッチングを実行することで、分子全体としての類似度を取得することができる。第2情報処理装置 20 は、例えば、種々の分子構造について第1情報処理装置 10 を介して中間層からの出力値を取得することができる。第2情報処理装置 20 は、このように取得された種々の分子構造の組み合わせ最適化問題を解くことにより、どのような原子構造同士が近い構造、性質を有しているかを取得することができる。
【0057】
また、第2情報処理装置 20 は、分子、化合物ではなく、原子の類似度を中間層の出力を用いることで推定することもできる。上記と同様に、第2情報処理装置 20 は、原子を示す原子構造のデータについての中間層からの出力を第1情報処理装置 10 を介して取得することで、原子の類似度を推定することが可能である。
【0058】
例えば、第2情報処理装置 20 は、様々な種類の原子を示す原子構造を第1情報処理装置 10 に送信して、中間層からの出力を取得することができる。このような情報処理システム 1 においては、第2情報処理装置 20 は、原子集合に含まれるある原子に近い構造、性質を有しているといったデータをユーザに対して提示することができる。
【0059】
中間層からの出力は、入力する原子構造と同様に、原子の種類に関する情報と、原子同士の結合に関する情報、例えば、1つ1つの原子の種類と、原子間の結合を示すデータである。このため、第2情報処理装置 20 は、中間層からの出力を用いることで、原子の種類と原子同士の結合状態に基づいた構造、性質についての情報を取得することが可能となる。
【0060】
第2情報処理装置 20 は、上記に基づいてデータベースを構築し、又は、既存のデータベースにデータを登録することも可能である。
【0061】
第2情報処理装置 20 は、中間層からの出力に基づいて、入力された原子構造が示す物体に関連するシミュレーションの結果等をユーザに対して提示することも可能である。
【0062】
また、第2情報処理装置 20 は、中間層空間におけるクラスタリングを実装することもできる。
【0063】
なお、上記においては第1情報処理装置 10 から情報を取得した第2情報処理装置 20 が類似度を計算するとしたが、これに限定されるものではない。例えば、第1情報処理装置 10 が中間層からの出力に基づいて類似度を計算し、この類似度を第2情報処理装置 20 において受信してもよい。また、例えば、第1情報処理装置 10 が、データベースに関する処理、シミュレーションに関する処理、又は、クラスタリングに関する処理を実行することもできる。
【0064】
(第4実施形態)
本開示における情報処理システム 1 によれば、ポテンシャルフィッティングを実現することも可能である。第2情報処理装置 20 は、例えば、第1情報処理装置 10 において展開されている訓練済みモデル (第1モデル) の中間層からの出力を、他の訓練済みモデル (第2モデル) の入力として用いることができる。
【0065】
図4は、一実施形態に係る情報処理システム 1 の情報処理装置間の処理の流れを模式的に示す図である。
【0066】
第2情報処理装置 20 は、第1情報処理装置 10 において展開されている第1モデルの中間層からの出力を取得し (S106) この出力結果を第2情報処理装置 20 において展開されている第2モデルの入力層への入力とすることができる (S110) 。
【0067】
第1情報処理装置 10 から中間層からの出力データを取得することで、第2情報処理装置 20 は、この
図4に示すように出力データを入力層に入力することができる。さらに、第2情報処理装置 20 は、例えば、新たな訓練対象のモデルの学習データとして、第1情報処理装置 10 で取得された中間層からの出力データを用いることができる。
【0068】
もちろん、第2情報処理装置 20 において処理回路 200 の性能が十分ではない場合には、第1情報処理装置 10 が演算した第1モデルの中間層出力を第2情報処理装置 20 の記憶回路 202 又は外部の記憶回路に格納しておき、他のサーバを用いた第2モデルの訓練の要求を第2情報処理装置 20 が送信することもできる。この場合、他のサーバと第1情報処理装置 10 が別のサーバであることを限定するものではなく、同じ情報処理装置を用いる形態であってもよい。
【0069】
例えば、第2情報処理装置 20 は、原子構造からエネルギーを取得する豊富な学習データにより適切に訓練された汎用のNNPにおける第1モデルの中間層からの出力を用いて、ユーザが望んでいる特性値を出力するような第2モデルを用いて、ユーザが望んでいる特性値を取得することができる。この取得する特性値は、限定されない例として、HOMO (Highest Occupied Molecular Orbital) 、LUMO (Lowest Unoccupied Molecular Orbital) 、又は、分極率といった特性値であってもよい。
【0070】
このような情報処理システム 1 を用いることで、例えば、汎用的であり、高精度、高速で演算が可能な第1情報処理装置 10 における第1モデルを用いるとともに、第三者に秘匿しておきたい第2モデルを用いて、適切な推論処理等を実現することが可能となる。
【0071】
第1情報処理装置 10 は、第2モデルの訓練をユーザ向けに実行して当該第2モデルに関するパラメータをユーザに通知することも可能である。このように第1モデルの中間層の出力を用いた訓練済みモデルをカスタマイズしてSaaSとして提供することもできる。
【0072】
本実施形態によれば、情報処理システム 1 は、顧客向けに特化したNNPを提供することができる。また、情報処理システム 1 は、顧客が有するデータへのフィッティングを実現することもできる。フィッティングに用いる第2モデルのパラメータは、ユーザ側の端末である第2情報処理装置 20 に保有することもできるし、又は、第1情報処理装置 10 で保有することも可能である。
【0073】
また、別の例として、第2モデルがエネルギーを出力するモデルであってもよい。
【0074】
(第5実施形態)
前述の各実施形態においては、第1情報処理装置 10 は、訓練済みモデルを順伝播した結果を第2情報処理装置 20 へと送信したが、これに限定されるものではない。第1情報処理装置 10 は、訓練済みモデルの少なくとも一部の層を逆伝播した結果を第2情報処理装置 20 へと送信してもよい。
【0075】
図5は、一実施形態に係る情報処理システム 1 の情報処理装置間の処理の流れを模式的に示す図である。
【0076】
第1情報処理装置 10 は、順伝播後に、出力層又は任意の中間層から、それよりも前の中間層又は入力層まで逆伝播し (S112) 、逆伝播結果を第2情報処理装置 20 へと送信 (S114) してもよい。このように、中間層からの出力とともに、任意の層又は任意の層間における逆伝播出力 (第3情報) を第1情報処理装置 10 が算出して、第2情報処理装置 20 へと送信してもよい。
【0077】
図5においては、第1情報処理装置 10 において逆伝播処理を実行する形態を示したが、これに限定されるものではない。第2情報処理装置 20 が訓練済みモデルの逆伝播を実行したい場合には、例えば、第1情報処理装置 10 は、中間層出力 (又は出力層出力を含んでもよい) の逆伝播が可能な情報を、中間層出力等と併せて第2情報処理装置 20 へと送信してもよい。
【0078】
単純な例としては、第1情報処理装置 10 は、訓練済みモデルのパラメータを第2情報処理装置 20 へと送信してもよい。この場合、第2情報処理装置 20 は、訓練済みモデルを受信したパラメータから形成することにより、逆伝播処理をすることができる。逆伝播処理をすることが可能となることで、第2情報処理装置 20 においてNNPにおける訓練済みモデルの再学習等を実現することもできるし、一例としてエネルギー値に対する力の値 (エネルギーを位置微分した値) を取得することもできる。
【0079】
また、別な例として、NNPにおける訓練済みモデル (第1モデル) の中間層の出力を入力とする第2情報処理装置 20 側で形成されている任意のニューラルネットワークモデル (第2モデル) を第1情報処理装置 10 側で訓練させることも可能である。この場合、第2情報処理装置 20 側で第1モデルの中間層からの出力に基づいた第2モデルの学習をし、学習したパラメータを第1情報処理装置 10 へと送信することでポテンシャルフィッティングを実行することができる。
【0080】
これに限定されず、第2情報処理装置 20 側で形成されている第2モデルの訓練中又は訓練が終了した後に、この結果を用いて第1モデルをフィッティング (カスタマイズ) することもできる。
【0081】
第2情報処理装置 20 は、例えば、第2モデルの出力層から逆伝播処理を実行し、第2モデルの入力層までの逆伝播値 (第4情報) を、第1モデルの中間層の逆伝播値として第1情報処理装置 10 へと、原子構造に関する情報とともに送信することができる。第1情報処理装置 10 は、原子構造に関する情報、第2情報処理装置 20 から受信した逆伝播値、及び、第1モデルの情報に基づいて、第1モデルを逆伝播して任意の処理、例えば、第1モデルの第2モデルの結果に基づいたポテンシャルフィッティングを実行することができる。
【0082】
また、限定されない別の例として、第1情報処理装置 10 は、第2情報処理装置 20 からの要求により、第2モデルの逆伝播値を用いて、第1モデルの入力層までを逆伝播し、原子に働く力を算出することもできる。
【0083】
本実施形態における出力を用いることで、第2情報処理装置 20 は、原子ごとの位置微分等の情報を取得することも可能である。例えばこの結果を用いることによって、第2情報処理装置 20 は、例えば、ある2つの構造における中間層出力の差をコストとしたコストの最小化問題として反応経路推定等を最適化することができる。位置微分の情報を用いることで、中間層の値の微分を位置の情報 (位置の微分) に変換することが可能となり、2つの構造間を補間する自然な経路を出力することが可能となる。
【0084】
(第6実施形態)
第2情報処理装置 20 は、第1情報処理装置 10 から取得した結果に基づいて、NNPの中間層の出力と、他のデータと、を組み合わせて、送信した原子構造に係る種々の物性を推定することができる。
【0085】
例えば、第2情報処理装置 20 は、既存するデータベースに登録されている値、又は、実験値等に基づいて、種々の物性の推定をすることができる。例えば、第2情報処理装置 20 は、計算値、他のソフトウェアにおける計算結果、フィンガープリントを用いて、種々の物性を推定することができる。また、例えば、第2情報処理装置 20 は、各原子の重さ、原子番号等に基づいて、種々の物性を推定することができる。
【0086】
複数のNNPを利用可能である場合には、異なるNNPにおける中間層からの出力値を用いて、第2情報処理装置 20 は、任意の処理を実行することもできる。この異なるNNPは、異なる第1情報処理装置 10 において形成されていてもよいし、同一の第1情報処理装置 10 において形成されていてもよい。
【0087】
本実施形態の限定されない別の例として、第2情報処理装置 20 (又は、他の情報処理装置であってもよい) は、1又は複数のNNPの中間層からの出力と、上記の他のデータと、を用いて第2モデルを訓練することができる。情報処理装置は、例えば、NNPの中間層からの出力及び他のデータを入力データとし、既知の物性値を教師データとして、第2モデルを任意の機械学習手法で訓練することができる。
【0088】
(第7実施形態)
第2情報処理装置 20 は、NNPにおける中間層からの出力に基づいた可視化したグラフィックスを生成することも可能である。第2情報処理装置 20 は、中間層からの出力そのもの、又は、この出力を加工した結果 (他の訓練済みモデルに入力した出力を含む) を、何らかの指標を軸とする2次元又は3次元に適切な処理で変換して可視化することができる。
【0089】
第2情報処理装置 20 は、例えば、中間層出力として取得した原子ごとにn次元の値×原子数のスカラ値を変換することで、2次元空間又は3次元空間上にプロットすることができる。
【0090】
また、第2情報処理装置 20 は、原子同士の比較、又は、所定数の原子集団ごとの比較、分子ごとの比較、若しくは、複数の分子構造間における比較といった処理を実現することができる。
【0091】
また、第2情報処理装置 20 は、中間層からの出力の分布をヒストグラムとして可視化することができる。可視化をすることで、ユーザが理解しやすい空間における表示等の出力をすることが可能となる。
【0092】
具体的には、第2情報処理装置 20 は、複数の分子構造 (原子集合) 間の距離を、中間層出力から算出し、この距離を2次元空間上にプロットすることができる。第2情報処理装置 20 は、限定されない例として、t-SNE (t-Distributed Stochastic Neighbor Embedding) 法を用いて2次元空間上に距離をプロットすることができる。この他、第2情報処理装置 20 は、グラフの表示に関する任意の手法を用いて、中間層からの出力結果を可視化することが可能である。
【0093】
このように可視化することで、例えば、算出した類似度が近い集団、原子構造により任意の物性についてクラスタリングした結果等をユーザが目視で確認出来るようになる。
【0094】
第2情報処理装置 20 は、例えば、Bader電荷解析の結果、酸化物と金属のクラスタリングといった情報を可視化することが可能である。
【0095】
(第8実施形態)
第2情報処理装置 20 は、
図2から
図5の S108 の処理において、ポテンシャルパラメータを推定することができる。例えば、
図4の一つの例として、第2情報処理装置 20 は、ポテンシャルパラメータを取得する第2モデルの訓練をすることができる。
【0096】
この場合、第2モデルは、第1モデルの中間層の出力からポテンシャルパラメータを取得するモデルとして訓練される。ポテンシャルパラメータは、NNPより簡単なモデルであり、所謂古典ポテンシャルに基づいたパラメータである。より具体的には、原子同士の結合をバネで表した際のバネの長さ及び強さの情報を含むパラメータである。
【0097】
第2情報処理装置 20 は、第2モデルの入力層に第1モデルの中間層の出力を入力し、出力層からポテンシャルパラメータが出力されるように、第2モデルを訓練する。第1モデルの中間層の値は、原子構造における原子1つ1つに関する種々の情報を有している。このため、この原子1つ1つの情報を入力とするモデルを形成することで、第2情報処理装置 20 は、ポテンシャルパラメータを取得する第2モデルを訓練することができる。
【0098】
第2情報処理装置 20 は、出力がポテンシャルパラメータとなるように、第1モデルの中間層出力の第2モデルの入力層への入力及び順伝播、及び、第2モデルの出力層からの逆伝播処理を繰り返すこと。この結果、第2情報処理装置 20 は、第1モデルの中間層出力を入力すると、ポテンシャルパラメータを出力する第2モデルを訓練することができる。
【0099】
第2情報処理装置 20 は、例えば、推論したポテンシャルパラメータが正解のポテンシャルパラメータと一致するように訓練する。正解のポテンシャルパラメータは、NNPを用いて算出されたものを用いてフィッティングしてもよいし、既に知られている値を用いてもよい。
【0100】
具体的な例として、炭素の共有結晶についてのポテンシャルパラメータは、共有結合の仕方により、ダイヤモンドとグラファイトとでは大きく異なる。原子構造として炭素の情報が入力された場合に、NNPの中間層は、ダイヤモンドの原子構造を入力するとダイヤモンドの特性を有するデータを出力し、グラファイトの原子構造を入力するとグラファイトの特性を有するデータを出力する。
【0101】
NNPの中間層からの出力を用いることで、このようなポテンシャルパラメータを取得することができる。第2情報処理装置 20 は、このポテンシャルパラメータを用いて、第2モデルを訓練することができる。
【0102】
なお、この結果を前述の実施形態におけるポテンシャルフィッティングへと接続することも可能である。
【0103】
前述のそれぞれの実施形態によれば、上記の開示を適用する具体例として、情報処理システム 1 は、例えば、NNP中間層から出力された値に基づく原子構造の類似度計算、ポテンシャルフィッティング、物性値の予測、原子構造と物性値に関する量の可視化等の処理を実現することができる。
【0104】
以上説明したそれぞれの実施形態においては、NNPの中間層の値を用いる形態であったが、このNNPの中間層からの出力は、例えば、原子ごとに出力される値及び原子の組み合わせにおいて出力される値のいずれか一方の値を用いる、又は、双方の値を用いることができる。この値の選択は、中間層の出力結果を用いて取得したい量により適宜選択することができる。
【0105】
原子の組み合わせにおいて出力される値は、例えば、原子構造全体に対応する値である。原子の組み合わせは、代表的には2種類の原子の組み合わせであるが、これに限定されるものではなく、3種類以上の原子の組み合わせであってもよい。
【0106】
また、第1情報処理装置 10 は、NNPの中間層の値を直接的に出力するのではなく、中間層の値に何らかの変換を介して第2情報処理装置 20 へと出力してもよい。
【0107】
第1情報処理装置 10 は、例えば、NNPの中間層の値を線形変換又は非線形変換する関数を介して出力することができる。第1情報処理装置 10 は、シンプルな例として、NNPの中間層の値を定数倍して出力してもよい。
【0108】
また、第1情報処理装置 10 は、例えば、NNPの中間層の値に対して統計処理を実行して出力することができる。第1情報処理装置 10 は、例えば、主成分分析 (PCA: Principle Component Analysis) した結果を出力してもよい。
【0109】
この線形若しくは非線形な関数の処理、又は、統計処理は、何らかのモデル、例えば、訓練済みのニューラルネットワークモデルにより実現されるものでもよい。すなわち、第1情報処理装置 10 は、NNPの中間層からの出力を訓練済みモデルに入力し、この訓練済みモデルの出力を第2情報処理装置 20 へと送信してもよい。
【0110】
換言すると、前述の各実施形態において第2情報処理装置 20 が実行するとした処理を、第1情報処理装置 10 が実行して、第2情報処理装置 20 にその結果を送信する形態とすることもできる。
【0111】
このように、第1情報処理装置 10 は、NNPが推論した生データに限らず、この生データに対して何らかの処理を施したデータを第2情報処理装置 20 へと送信することができる。
【0112】
なお、前述の実施形態においては、第2情報処理装置 20 が、第1情報処理装置 10 と異なる装置であるとしたが、これに限定されるものではない。
【0113】
例えば、前述の実施形態において第1情報処理装置 10 が実行するとした処理を第2情報処理装置 20 において実行可能なアプリケーション (ソフトウェア) として提供し、第2情報処理装置 20 において、このアプリケーションを実行することで、前述の実施形態における第1情報処理装置 10 が実行していた処理を第2情報処理装置 20 において実行可能な態様としてもよい。
【0114】
この場合、アプリケーションは、処理の内容が第2情報処理装置 20 からは追跡困難であるブラックボックスの処理を実行するアプリケーションであってもよい。また、アプリケーション側でAPI (Application Programming Interface) を提供しておき、このAPIを介して、ユーザが第2情報処理装置 20 において前述の第1情報処理装置 10 が実行していた処理を適宜用いることができる形態としてもよい。
【0115】
また、別の形態として、前述の実施形態において第2情報処理装置 20 が実行していた処理までを第1情報処理装置 10 が実行して第2情報処理装置 20 が取得する形態であってもよい。この場合、前述の実施形態と同様に、SaaSのサーバとして第1情報処理装置 10 を用いることができる。
【0116】
第1情報処理装置 10 がユーザインタフェースを提供してもよく、ユーザが、第2情報処理装置 20 から第1情報処理装置 10 が提供するユーザインタフェースを用いて前述の第2情報処理装置 20 で実行していた処理を第1情報処理装置 10 において実行するよう要求する態様であってもよい。この他、任意のファイル形式で第1情報処理装置 10 にユーザが要求を記述できる形式であってもよく、この場合、第2情報処理装置 20 は、ユーザの要求を記述したファイルを第1情報処理装置 10 に送信することで、第1情報処理装置 10 に望ましい処理を実行させることができる。
【0117】
前述の実施形態における訓練済モデルは、例えば、説明したように訓練した上で、さらに、一般的な手法により蒸留されたモデルを含む概念であってもよい。
【0118】
前述した実施形態における各装置(第1情報処理装置 10 又は第2情報処理装置 20)の一部又は全部は、ハードウェアで構成されていてもよいし、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) 等の回路に実装されることにより、当該ソフトウェアによる情報処理がハードウェアにより実行されてもよい。
【0119】
ソフトウェアを収納する記憶媒体は、光ディスク等の着脱可能なものでもよいし、ハードディスク又はメモリ等の固定型の記憶媒体であってもよい。また、記憶媒体は、コンピュータ内部に備えられてもよいし (主記憶装置または補助記憶装置等) 、コンピュータ外部に備えられてもよい。
【0120】
図6は、前述した実施形態における各装置 (第1情報処理装置 10 又は第2情報処理装置 20) のハードウェア構成の一例を示すブロック図である。各装置は、一例として、プロセッサ 71と、主記憶装置 72 (メモリ) と、補助記憶装置 73 (メモリ) と、ネットワークインタフェース 74 と、デバイスインタフェース 75 と、を備え、これらがバス 76 を介して接続されたコンピュータ 7 として実現されてもよい。
【0121】
図6のコンピュータ 7 は、各構成要素を一つ備えているが、同じ構成要素を複数備えていてもよい。また、
図6では、1台のコンピュータ 7 が示されているが、ソフトウェアが複数台のコンピュータにインストールされて、当該複数台のコンピュータそれぞれがソフトウェアの同一の又は異なる一部の処理を実行してもよい。この場合、コンピュータそれぞれがネットワークインタフェース 74 等を介して通信して処理を実行する分散コンピューティングの形態であってもよい。つまり、前述した実施形態における各装置 (第1情報処理装置 10 又は第2情報処理装置 20) は、1又は複数の記憶装置に記憶された命令を1台又は複数台のコンピュータが実行することで機能を実現するシステムとして構成されてもよい。また、端末から送信された情報をクラウド上に設けられた1台又は複数台のコンピュータで処理し、この処理結果を端末に送信するような構成であってもよい。
【0122】
前述した実施形態における各装置 (第1情報処理装置 10 又は第2情報処理装置 20) の各種演算は、1又は複数のプロセッサを用いて、又は、ネットワークを介した複数台のコンピュータを用いて、並列処理で実行されてもよい。また、各種演算が、プロセッサ内に複数ある演算コアに振り分けられて、並列処理で実行されてもよい。また、本開示の処理、手段等の一部又は全部は、ネットワークを介してコンピュータ 7 と通信可能なクラウド上に設けられたプロセッサ及び記憶装置の少なくとも一方により実現されてもよい。このように、前述した実施形態における各装置は、1台又は複数台のコンピュータによる並列コンピューティングの形態であってもよい。
【0123】
プロセッサ 71 は、少なくともコンピュータの制御又は演算のいずれかを行う電子回路 (処理回路、Processing circuit、Processing circuitry、CPU、GPU、FPGA、ASIC等) であってもよい。また、プロセッサ 71 は、汎用プロセッサ、特定の演算を実行するために設計された専用の処理回路又は汎用プロセッサと専用の処理回路との両方を含む半導体装置等のいずれであってもよい。また、プロセッサ 71 は、光回路を含むものであってもよいし、量子コンピューティングに基づく演算機能を含むものであってもよい。
【0124】
プロセッサ 71 は、コンピュータ7の内部構成の各装置等から入力されたデータやソフトウェアに基づいて演算処理を行ってもよく、演算結果や制御信号を各装置等に出力してもよい。プロセッサ 71 は、コンピュータ 7 のOS (Operating System) や、アプリケーション等を実行することにより、コンピュータ 7 を構成する各構成要素を制御してもよい。
【0125】
前述した実施形態における各装置 (第1情報処理装置 10 又は第2情報処理装置 20) は、1又は複数のプロセッサ 71 により実現されてもよい。ここで、プロセッサ 71 は、1チップ上に配置された1又は複数の電子回路を指してもよいし、2つ以上のチップあるいは2つ以上のデバイス上に配置された1又は複数の電子回路を指してもよい。複数の電子回路を用いる場合、各電子回路は有線又は無線により通信してもよい。
【0126】
主記憶装置 72 は、プロセッサ 71 が実行する命令及び各種データ等を記憶してもよく、主記憶装置 72 に記憶された情報がプロセッサ 71 により読み出されてもよい。補助記憶装置 73 は、主記憶装置 72 以外の記憶装置である。なお、これらの記憶装置は、電子情報を格納可能な任意の電子部品を意味するものとし、半導体のメモリでもよい。半導体のメモリは、揮発性メモリ又は不揮発性メモリのいずれでもよい。前述した実施形態における各装置 (第1情報処理装置 10 又は第2情報処理装置 20) において各種データ等を保存するための記憶装置は、主記憶装置 72 又は補助記憶装置 73 により実現されてもよく、プロセッサ 71 に内蔵される内蔵メモリにより実現されてもよい。例えば、前述した実施形態における記憶回路 102 又は記憶回路 202 は、主記憶装置 72 又は補助記憶装置 73 により実現されてもよい。
【0127】
前述した実施形態における各装置 (第1情報処理装置 10 又は第2情報処理装置 20) が、少なくとも1つの記憶装置 (メモリ) と、この少なくとも1つの記憶装置に接続 (結合) される少なくとも1つのプロセッサで構成される場合、記憶装置1つに対して、少なくとも1つのプロセッサが接続されてもよい。また、プロセッサ1つに対して、少なくとも1つの記憶装置が接続されてもよい。また、複数のプロセッサのうち少なくとも1つのプロセッサが、複数の記憶装置のうち少なくとも1つの記憶装置に接続される構成を含んでもよい。また、複数台のコンピュータに含まれる記憶装置とプロセッサによって、この構成が実現されてもよい。さらに、記憶装置がプロセッサと一体になっている構成 (例えば、L1キャッシュ、L2キャッシュを含むキャッシュメモリ) を含んでもよい。
【0128】
ネットワークインタフェース 74 は、無線又は有線により、通信ネットワーク 8 に接続するためのインタフェースである。ネットワークインタフェース 74 は、既存の通信規格に適合したもの等、適切なインタフェースを用いればよい。ネットワークインタフェース 74 により、通信ネットワーク 8 を介して接続された外部装置 9A と情報のやり取りが行われてもよい。なお、通信ネットワーク8は、WAN (Wide Area Network) 、LAN (Local Area Network) 、PAN (Personal Area Network) 等のいずれか、又は、それらの組み合わせであってよく、コンピュータ 7 と外部装置 9A との間で情報のやりとりが行われるものであればよい。WANの一例としてインターネット等があり、LANの一例としてIEEE 802.11やイーサネット (登録商標) 等があり、PANの一例としてBluetooth (登録商標) やNFC (Near Field Communication) 等がある。
【0129】
デバイスインタフェース 75 は、外部装置 9B と直接接続するUSB等のインタフェースである。
【0130】
外部装置 9A は、コンピュータ 7 とネットワークを介して接続されている装置である。外部装置 9B は、コンピュータ 7 と直接接続されている装置である。
【0131】
外部装置 9A 又は外部装置 9B は、一例として、入力装置であってもよい。入力装置は、例えば、カメラ、マイクロフォン、モーションキャプチャ、各種センサ等、キーボード、マウス又はタッチパネル等のデバイスであり、取得した情報をコンピュータ 7 に与える。また、パーソナルコンピュータ、タブレット端末又はスマートフォン等の入力部とメモリとプロセッサを備えるデバイスであってもよい。
【0132】
また、外部装置 9A 又は外部装置 9B は、一例として、出力装置でもよい。出力装置は、例えば、LCD (Liquid Crystal Display) 、有機EL (Electro Luminescence) パネル等の表示装置であってもよいし、音声等を出力するスピーカ等であってもよい。また、パーソナルコンピュータ、タブレット端末又はスマートフォン等の出力部とメモリとプロセッサを備えるデバイスであってもよい。
【0133】
また、外部装置 9A 又は外部装置 9B は、記憶装置 (メモリ) であってもよい。例えば、外部装置 9A は、ネットワークストレージ等であってもよく、外部装置 9B は、HDD等のストレージであってもよい。
【0134】
また、外部装置 9A 又は外部装置 9B は、前述した実施形態における各装置 (第1情報処理装置 10 又は第2情報処理装置 20) の構成要素の一部の機能を有する装置でもよい。つまり、コンピュータ 7 は、外部装置 9A 又は外部装置 9B に処理結果の一部又は全部を送信してもよいし、外部装置 9A 又は外部装置 9B から処理結果の一部又は全部を受信してもよい。
【0135】
本明細書 (請求項を含む) において、「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) 以外の他の要素を加えることも含む。
【0136】
本明細書 (請求項を含む) において、「データを入力として/を用いて/データに基づいて/に従って/に応じて」等の表現(同様な表現を含む)が用いられる場合は、特に断りがない場合、データそのものを用いる場合や、データに何らかの処理を行ったもの (例えば、ノイズ加算したもの、正規化したもの、データから抽出した特徴量、データの中間表現等) を用いる場合を含む。また、「データを入力として/を用いて/データに基づいて/に従って/に応じて」何らかの結果が得られる旨が記載されている場合 (同様な表現を含む) 、特に断りが無い場合、当該データのみに基づいて当該結果が得られる場合や、当該データ以外の他のデータ、要因、条件及び/又は状態等にも影響を受けて当該結果が得られる場合を含む。また、「データを出力する」旨が記載されている場合 (同様な表現を含む) 、特に断りがない場合、データそのものを出力として用いる場合や、データに何らかの処理を行ったもの (例えば、ノイズ加算したもの、正規化したもの、データから抽出した特徴量、データの中間表現等) を出力として用いる場合を含む。
【0137】
本明細書 (請求項を含む) において、「接続される (connected) 」及び「結合される (coupled) 」との用語が用いられる場合は、直接的な接続/結合、間接的な接続/結合、電気的 (electrically) な接続/結合、通信的 (communicatively) な接続/結合、機能的 (operatively) な接続/結合、物理的 (physically) な接続/結合等のいずれをも含む非限定的な用語として意図される。当該用語は、当該用語が用いられた文脈に応じて適宜解釈されるべきであるが、意図的に或いは当然に排除されるのではない接続/結合形態は、当該用語に含まれるものして非限定的に解釈されるべきである。
【0138】
本明細書 (請求項を含む) において、「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) されていればよい。
【0139】
本明細書 (請求項を含む) において、含有又は所有を意味する用語 (例えば、「含む (comprising / including) 」及び「有する (having) 」等) が用いられる場合は、当該用語の目的語により示される対象物以外の物を含有又は所有する場合を含む、 open-ended な用語として意図される。これらの含有又は所有を意味する用語の目的語が数量を指定しない又は単数を示唆する表現 (a 又は an を冠詞とする表現) である場合は、当該表現は特定の数に限定されないものとして解釈されるべきである。
【0140】
本明細書 (請求項を含む) において、ある箇所において「1つ又は複数 (one or more) 」又は「少なくとも1つ (at least one) 」等の表現が用いられ、他の箇所において数量を指定しない又は単数を示唆する表現 (a 又は an を冠詞とする表現) が用いられているとしても、後者の表現が「1つ」を意味することを意図しない。一般に、数量を指定しない又は単数を示唆する表現 (a 又は an を冠詞とする表現) は、必ずしも特定の数に限定されないものとして解釈されるべきである。
【0141】
本明細書において、ある実施形態の有する特定の構成について特定の効果 (advantage / result) が得られる旨が記載されている場合、別段の理由がない限り、当該構成を有する他の1つ又は複数の実施形態についても当該効果が得られると理解されるべきである。但し、当該効果の有無は、一般に種々の要因、条件及び/又は状態等に依存し、当該構成により必ず当該効果が得られるものではないと理解されるべきである。当該効果は、種々の要因、条件及び/又は状態等が満たされたときに実施形態に記載の当該構成により得られるものに過ぎず、当該構成又は類似の構成を規定したクレームに係る発明において、当該効果が必ずしも得られるものではない。
【0142】
本明細書 (請求項を含む) において、「最大化する (maximize) /最大化 (maximization) 」等の用語が用いられる場合は、グローバルな最大値を求めること、グローバルな最大値の近似値を求めること、ローカルな最大値を求めること及びローカルな最大値の近似値を求めることを含み、当該用語が用いられた文脈に応じて適宜解釈されるべきである。また、これら最大値の近似値を確率的又はヒューリスティックに求めることを含む。同様に、「最小化する (minimize) /最小化 (minimization) 」等の用語が用いられる場合は、グローバルな最小値を求めること、グローバルな最小値の近似値を求めること、ローカルな最小値を求めること及びローカルな最小値の近似値を求めることを含み、当該用語が用いられた文脈に応じて適宜解釈されるべきである。また、これら最小値の近似値を確率的又はヒューリスティックに求めることを含む。同様に、「最適化する (optimize) /最適化 (optimization) 」等の用語が用いられる場合は、グローバルな最適値を求めること、グローバルな最適値の近似値を求めること、ローカルな最適値を求めること、及びローカルな最適値の近似値を求めることを含み、当該用語が用いられた文脈に応じて適宜解釈されるべきである。また、これら最適値の近似値を確率的又はヒューリスティックに求めることを含む。
【0143】
本明細書 (請求項を含む) において、複数のハードウェアが所定の処理を行う場合、各ハードウェアが協働して所定の処理を行ってもよいし、一部のハードウェアが所定の処理の全てを行ってもよい。また、一部のハードウェアが所定の処理の一部を行い、別のハードウェアが所定の処理の残りを行ってもよい。本明細書 (請求項を含む) において、「1又は複数のハードウェアが第1処理を行い、前記1又は複数のハードウェアが第2処理を行う」等の表現 (同様な表現を含む) が用いられている場合、第1処理を行うハードウェアと第2処理を行うハードウェアは同じものであってもよいし、異なるものであってもよい。つまり、第1処理を行うハードウェア及び第2処理を行うハードウェアが、前記1又は複数のハードウェアに含まれていればよい。なお、ハードウェアは、電子回路、又は、電子回路を含む装置等を含んでもよい。
【0144】
本明細書 (請求項を含む) において、複数の記憶装置 (メモリ) がデータの記憶を行う場合、複数の記憶装置のうち個々の記憶装置は、データの一部のみを記憶してもよいし、データの全体を記憶してもよい。また、複数の記憶装置のうち一部の記憶装置がデータを記憶する構成を含んでもよい。
【0145】
前述した実施形態は、以下のようにまとめることもできる。
【0146】
(1)
少なくとも第1情報処理装置及び第2情報処理装置を備える情報処理システムであって、
前記第2情報処理装置は、
原子構造を前記第1情報処理装置に送信し、
前記第1情報処理装置は、
前記原子構造を前記第2情報処理装置から受信し、
第1モデルに前記原子構造を入力し、
前記第1モデルの中間層からの出力に基づく第1情報を取得し、
前記第1情報を前記第2情報処理装置に送信する、
情報処理システム。
【0147】
上記の原子構造は、原子構造に関するデータを含む概念である。また、第1情報は、少なくとも、中間層の値自体、又は、中間層の値を所定の処理により変換したもの、のいずれかであってもよい。
【0148】
(2)
前記第1情報処理装置は、
前記第1モデルの出力層からの出力に基づく第2情報をさらに取得し、
前記第2情報を前記第2情報処理装置に送信する、
(1)に記載の情報処理システム。
【0149】
上記の第2情報は、少なくとも、出力層の値自体、又は、出力層の値を所定の処理により変換したもの、のいずれかであってもよい。
【0150】
(3)
前記第1情報処理装置は、
前記第1モデルの逆伝播処理を実行して第3情報をさらに取得し、
前記第3情報を前記第2情報処理装置に送信する、
(1)又は(2)に記載の情報処理システム。
【0151】
(4)
前記第2情報処理装置は、
前記第1情報を取得し、
前記第1情報を第2モデルに入力することで前記原子構造に対する所定の物性値を推定する、
(1)から(3)のいずれかに記載の情報処理システム。
【0152】
(5)
前記所定の物性値は、前記原子構造に対するエネルギーである、
(4)に記載の情報処理システム。
【0153】
(6)
前記第1モデルは、NNP (Neural Network Potential) を形成するモデルである、
(1)乃至(5)の何れかに記載の情報処理システム。
【0154】
(7)
少なくとも1つのプロセッサ、を備え、
前記少なくとも1つのプロセッサは、
原子構造を他の情報処理装置に送信し、
前記他の情報処理装置から第1情報を取得し、
前記第1情報は、前記他の情報処理装置が前記原子構造を第1モデルに入力することで生成される、前記第1モデルの中間層からの出力に基づく情報である、
情報処理装置。
【0155】
上記の中間層からの出力に基づく情報は、少なくとも、中間層の値自体、又は、中間鵜の値を所定の処理により変換したもの、のいずれかであってもよい。
【0156】
(8)
前記少なくとも1つのプロセッサは、
前記第1情報を取得し、
前記第1情報を第2モデルに入力することで前記原子構造に対する所定の物性値を推定する、
(7)に記載の情報処理装置。
【0157】
(9)
前記所定の物性値は、前記原子構造に対するエネルギーである、
(8)に記載の情報処理装置。
【0158】
(10)
前記少なくとも1つのプロセッサは、
前記他の情報処理装置から前記第1モデルの少なくとも一部に関する情報を取得し、
受信した前記第1モデルの少なくとも一部に関する情報を用いて、前記第2モデルの出力層からの出力を用いて逆伝播処理を実行する、
(8)又は(9)に記載の情報処理装置。
【0159】
(11)
前記少なくとも1つのプロセッサは、
受信した前記第1情報に基づいて、前記原子構造の少なくとも一部と他の原子構造の少なくとも一部との類似度を算出する、
(7)から(10)のいずれかに記載の情報処理装置。
【0160】
上記の類似度計算は、原子構造全体に関する類似度でもよいし、原子構造の一部に関する類似度であってもよい。
【0161】
(12)
前記少なくとも1つのプロセッサは、
前記第1情報を第2モデルに入力することでポテンシャルパラメータを推定する、
(7)から(11)のいずれかに記載の情報処理装置。
【0162】
(13)
前記少なくとも1つのプロセッサは、
前記第1情報を表示装置に表示させる、
(7)から(12)のいずれかに記載の情報処理装置。
【0163】
(14)
前記表示装置に表示された前記第1情報は、前記第1モデルの中間層からの出力より低次元の情報である、
(13)に記載の情報処理装置。
【0164】
(15)
前記第1モデルは、NNP (Neural Network Potential) を形成するモデルである、
(7)乃至(14)の何れか一項に記載の情報処理装置。
【0165】
(16)
少なくとも第1情報処理装置及び第2情報処理装置を備えるシステムにおける情報処理方法であって、
前記第2情報処理装置が
原子構造を前記第1情報処理装置に送信し、
前記第1情報処理装置が
前記原子構造を受信し、
第1モデルに前記原子構造を入力し、
前記第1モデルの中間層からの出力に基づく第1情報を取得し、
前記第1情報を前記第2情報処理装置に送信する、
情報処理方法。
【0166】
上記の情報処理方法は、(2)~(16)のいずれかに記載の特徴を有することができる。
【0167】
(17)
少なくとも1つのプロセッサが、
原子構造を他の情報処理装置に送信し、
前記他の情報処理装置から第1情報を取得する、
方法であって、
前記第1情報は、前記他の情報処理装置が前記原子構造を第1モデルに入力することで生成される、前記第1モデルの中間層からの出力に基づく情報である、
情報処理方法。
【0168】
上記の情報処理方法は、(2)~(16)のいずれかに記載の特徴を有することができる。
【0169】
以上、本開示の実施形態について詳述したが、本開示は上記した個々の実施形態に限定されるものではない。特許請求の範囲に規定された内容及びその均等物から導き出される本開示の概念的な思想と趣旨を逸脱しない範囲において、種々の追加、変更、置き換え及び部分的削除等が可能である。例えば、前述した実施形態において、数値又は数式を説明に用いている場合、これらは例示的な目的で示されたものであり、本開示の範囲を限定するものではない。また、実施形態で示した各動作の順序も、例示的なものであり、本開示の範囲を限定するものではない。
【符号の説明】
【0170】
1: 情報処理システム、
10: 第1情報処理装置、
100: 処理回路、
102: 記憶回路、
104: 入出力I/F、
20: 第2情報処理装置、
200: 処理回路、
202: 記憶回路、
204: 入出力I/F