(57)【要約】【課題】比較的負荷の低い演算により、分子力場による演算よりも信頼性を向上した結晶形予測装置、結晶形予測方法、ニューラルネットワークの製造方法、及びプログラムを提供する。【解決手段】複数の結晶構造候補のうちから選択した、選択結晶構造候補のそれぞれに係るエネルギーの情報を、第一原理計算により求め、結晶構造候補を表す構造記述情報のうち、選択結晶構造候補に対応する構造記述情報を入力情報とし、選択結晶構造候補に係るエネルギーの情報を教師情報として、構造記述情報に対応するエネルギーの情報を推定するよう機械学習を行う。そしてこの機械学習手段により得られた機械学習の結果が、構造記述情報で特定される結晶構造に対応するエネルギーの情報を推定する処理に供される結晶形予測装置である。【選択図】図１
2020166706.tif 000002
【特許請求の範囲】
【請求項１】
結晶構造の候補を複数取得する候補取得手段と、
前記候補取得手段が取得した複数の結晶構造候補のそれぞれについて、各結晶構造候補を特定する構造記述情報を生成する構造記述情報生成手段と、
前記候補取得手段が取得した複数の結晶構造候補のうちから選択した、選択結晶構造候補のそれぞれに係るエネルギーの情報を、第一原理計算により求める第一原理計算手段と、
前記構造記述情報生成手段により生成された構造記述情報のうち、前記選択結晶構造候補に対応する構造記述情報を入力情報とし、前記エネルギーの情報を教師情報として、構造記述情報に対応するエネルギーの情報を推定するよう機械学習を行う機械学習手段と、
を含み、
前記機械学習手段により得られた機械学習の結果が、前記候補取得手段が取得した各結晶構造候補に係るエネルギーの情報を推定する処理に供される結晶形予測装置。
【請求項２】
前記結晶構造は、分子結晶構造である、請求項１記載の結晶形予測装置。
【請求項３】
前記機械学習手段にニューラルネットワークを用いる、請求項１又は２記載の結晶形予測装置。
【請求項４】
前記構造記述情報生成手段により生成される構造記述情報は、結晶構造候補に含まれる原子間の相対配置の関数に係るヒストグラムである、請求項１〜３のいずれか一項記載の結晶形予測装置。
【請求項５】
コンピュータを用い、
候補取得手段が、結晶構造の候補を複数取得する工程と、
構造記述情報生成手段が、前記候補取得手段が取得した結晶構造候補のそれぞれについて、各結晶構造候補を特定する構造記述情報を生成する工程と、
第一原理計算手段が、前記候補取得手段が取得した複数の結晶構造候補のうちから選択した、選択結晶構造候補のそれぞれに係るエネルギーの情報を、第一原理計算により求める工程と、
機械学習手段が、前記構造記述情報生成手段により生成された構造記述情報のうち、前記選択結晶構造候補に対応する構造記述情報を入力情報とし、前記エネルギーの情報を教師情報として、構造記述情報に対応するエネルギーの情報を推定するよう機械学習を行う工程と、
を含み、
前記機械学習の結果が、前記候補取得手段が取得した各結晶構造に対応するエネルギーの情報を推定する処理に供される結晶形予測方法。
【請求項６】
コンピュータを用い、
結晶構造の候補を複数取得する候補取得工程と、
前記候補取得工程にて取得した結晶構造候補のそれぞれについて、各結晶構造候補を特定する構造記述情報を生成する構造記述情報生成工程と、
前記候補取得工程にて取得した複数の結晶構造候補のうちから選択した、選択結晶構造候補のそれぞれに係るエネルギーの情報を、第一原理計算により求める第一原理計算工程と、
前記構造記述情報生成工程により生成された構造記述情報のうち、前記選択結晶構造候補に対応する構造記述情報を入力情報とし、前記エネルギーの情報を教師情報として、構造記述情報に対応するエネルギーの情報を推定するよう機械学習を行う機械学習工程と、
を含む、
結晶構造に係るエネルギーの情報を推定するニューラルネットワークの製造方法。
【請求項７】
コンピュータを、
結晶構造の候補を複数取得する候補取得手段と、
前記候補取得手段が取得した結晶構造候補のそれぞれについて、各結晶構造候補を特定する構造記述情報を生成する構造記述情報生成手段と、
前記候補取得手段が取得した複数の結晶構造候補のうちから選択した、選択結晶構造候補のそれぞれに係るエネルギーの情報を、第一原理計算により求める第一原理計算手段と、
前記構造記述情報生成手段により生成された構造記述情報のうち、前記選択結晶構造候補に対応する構造記述情報を入力情報とし、前記エネルギーの情報を教師情報として、構造記述情報に対応するエネルギーの情報を推定するよう機械学習を行う機械学習手段と、
として機能させ、
前記機械学習手段により得られた機械学習の結果が、前記候補取得手段が取得した各結晶構造に対応するエネルギーの情報を推定する処理に供されるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、結晶形予測装置、結晶形予測方法、ニューラルネットワークの製造方法、及びプログラムに関する。
【背景技術】
【０００２】
同一の化合物であっても、互いに異なる結晶形をとる場合があることは広く知られている。このとき、結晶形によって種々の性質が異なるため、どのような結晶形があるかを予測しておくことは、多くの場面で有用である。
【０００３】
従来、このような結晶多形を予測するには、外形的に可能な結晶形を列挙し、列挙された結晶形の各原子配置に基づいて、全エネルギー（以下単にエネルギーと呼ぶ）を求めて、比較的安定なエネルギーとなる構造をスクリーニングすることで行っていた。
【０００４】
従来、このエネルギーの計算には、分子力場を用いる比較的簡易な方法と、第一原理計算を用いる比較的厳密な方法とが知られている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００６−６５７７５号公報
【非特許文献】
【０００６】
【非特許文献１】Felix Musilら, Chem. Sci., 9(5), 1289-1300 (2017).
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上記従来の技術において、分子力場を用いる方法は、比較的簡易な計算方法であるため、負荷は低いが、計算精度が低く、化合物や原子配置の状態によっては計算結果が信頼できない場合があることが知られている。一方、第一原理計算を用いれば、計算結果の信頼性は比較的高いが、計算の負荷が高くなり、多数の結晶構造について計算することは現実的でない。そこで従来から、この第一原理計算を効率良く行うことが研究されてきた。
【０００８】
例えば特許文献１には、第一原理計算を、いわゆるグリッドコンピューティングの技術を用いて実行することが開示されている。しかし、特許文献１記載の方法で結晶多形を予測する場合、可能な結晶形全てについて第一原理計算を行う必要があるため、計算の負荷は依然として高いままであった。
【０００９】
また非特許文献１には、機械学習を用いた結晶構造のエネルギー予測方法が開示されている。この非特許文献１に開示の方法では、広範囲に共役した芳香族化合物等の半導体分子の結晶構造を予測対象としており、芳香環を持たない化合物の結晶構造の予測には適用できない等の課題があった。
【００１０】
本発明は上記実情に鑑みて為されたもので、対象化合物の構造を問わず、比較的負荷の低い演算により、分子力場による演算よりも信頼性を向上した結晶形予測装置、結晶形予測方法、ニューラルネットワークの製造方法、及びプログラムを提供することをその目的の一つとする。
【課題を解決するための手段】
【００１１】
上記従来例の問題点を解決する本発明の一態様は、結晶形予測装置であって、結晶構造の候補を複数取得する候補取得手段と、前記候補取得手段が取得した複数の結晶構造候補のそれぞれについて、各結晶構造候補を特定する構造記述情報を生成する構造記述情報生成手段と、前記候補取得手段が取得した複数の結晶構造候補のうちから選択した、選択結晶構造候補のそれぞれに係るエネルギーの情報を、第一原理計算により求める第一原理計算手段と、前記構造記述情報生成手段により生成された構造記述情報のうち、前記選択結晶構造候補に対応する構造記述情報を入力情報とし、前記エネルギーの情報を教師情報として、構造記述情報に対応するエネルギーの情報を推定するよう機械学習を行う機械学習手段と、を含み、前記手段により得られた機械学習の結果が、前記候補取得手段が取得した各結晶構造候補に係るエネルギーの情報を推定する処理に供されることとしたものである。
【発明の効果】
【００１２】
本発明によると、信頼性の高い第一原理計算で求めたエネルギーの情報を機械学習させることで、全ての結晶構造に対して負荷の高い第一原理計算を行う必要がなく、一部の結晶構造に対する第一原理計算のみを実施するだけで、分子力場による演算よりも信頼性が向上したエネルギーの情報を比較的短時間で取得できる。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施の形態に係る結晶形予測装置の構成例を表すブロック図である。
【図２】本発明の実施の形態に係る結晶形予測装置の例を表す機能ブロック図である。
【図３】本発明の実施の形態の一例に係る結晶形予測装置による構造記述情報を生成するための処理の例を表す説明図である。
【図４】本発明の実施の形態の一例に係る結晶形予測装置が生成する結晶構造特定情報の例を表す説明図である。
【図５】本発明の実施の形態の一例に係る結晶形予測装置の動作例を表すフローチャート図である。
【図６】本発明の実施の形態の一例に係る結晶形予測装置による構造記述情報を生成するための処理のもう一つの例を表す説明図である。
【発明を実施するための形態】
【００１４】
本発明の実施の形態について図面を参照しながら説明する。本発明の実施の形態に係る結晶形予測装置１は、一般的なコンピュータを用いて実現でき、図１に例示するように、制御部１１と記憶部１２と入出力部１３と表示部１４とを含んで構成される。
【００１５】
制御部１１は、プログラムに従って動作するプロセッサ等の制御デバイスであり、記憶部１２に格納されたプログラムに従って動作する。本実施の形態では、この制御部１１は、結晶の単位格子構造を表す単位格子構造情報を取得し、当該取得した単位格子構造情報に基づいて、結晶構造の候補を複数生成する。そして制御部１１は、生成した結晶構造候補のそれぞれについて、各結晶構造候補を特定する構造記述情報を生成するとともに、上記生成した複数の選択結晶構造候補のそれぞれに係るエネルギーの情報を、第一原理計算により求め、各構造記述情報を入力情報とし、結晶構造候補に係るエネルギーの情報を教師情報として、構造記述情報に対応するエネルギーの情報を推定するよう機械学習を行う。この機械学習の結果は、上記構造記述情報で特定される結晶構造に係るエネルギーの情報を推定する処理に供される。この制御部１１の動作の詳細については後に述べる。
【００１６】
記憶部１２は、制御部１１により実行されるプログラムを保持する。このプログラムは、コンピュータ可読かつ非一時的な記録媒体に格納されて提供され、この記憶部１２に複写されたものであってもよい。またこの記憶部１２は制御部１１のワークメモリとしても動作する。
【００１７】
入出力部１３は、キーボードやタッチパネル等の入力デバイスであり、ユーザの指示により入力される情報を、制御部１１に対して出力する。またこの入出力部１３は、制御部１１から入力される指示に従って、情報を外部の装置等に出力するインタフェース（ネットワークインタフェース等）を含んでもよい。また入出力部１３がタッチパネルである場合、表示部１４に重ね合わせられていてもよい。
【００１８】
表示部１４は、ディスプレイデバイス等であり、制御部１１から入力される指示に従い、情報を表示出力する。
【００１９】
次に制御部１１の動作について説明する。本実施の形態の結晶形予測装置１の制御部１１は、機能的には図２に例示するように、取得部２１と、候補取得部２２と、構造記述情報生成部２３と、第一原理計算部２４と、機械学習部２５と、推論部２６と、出力部２７とを含んで構成されている。
【００２０】
取得部２１は、結晶構造の予測の対象となる化合物に係る情報を取得する。この情報は例えば、結晶構造の予測の対象となる化合物に係る結晶の単位格子構造を表す単位格子構造情報であってもよい。また、ここでの結晶構造は、ベンゼンや尿素等による分子結晶構造であってもよいし、ダイヤモンドや二酸化ケイ素等による共有結合結晶構造、塩化ナトリウム等によるイオン結晶構造等、他の種類の結晶に係る結晶構造であってもよい。
【００２１】
この単位格子構造情報は、例えば結晶構造の予測の対象となる化合物に係るＣＩＦ（Crystallographic Information File）フォーマットのファイルに基づいて得ることができる。ＣＩＦファイルは、実験的に得られた結晶構造データを表すものであり、本実施の形態では、このＣＩＦファイルの内容から、制御部１１は、化合物の分子の構造を表す情報を、単位格子構造情報として得る。具体的にこの分子の構造を表す情報は、単位格子に含まれるべき分子を構成する各原子の種類とそれらの間の結合の状態を特定する情報を含む。
【００２２】
またこの取得部２１が取得する情報は、結晶構造の予測の対象となる化合物に係る情報として、ＸＹＺ（座標ファイル），ＭＯＬ（ＭＯＬファイル），ＳＤＦなど、他の分子構造データファイルのフォーマットで記述されたものであってもよい。さらに、取得部２１が取得する情報は、結晶構造の予測の対象となる化合物に含まれる原子や分子の種類とそれぞれの数の情報だけであってもよい。
【００２３】
候補取得部２２は、取得部２１が取得した情報に基づいて、結晶構造の候補を複数取得する。この候補取得部２２は、具体的には、取得部２１が取得した情報がＣＩＦファイルであれば、当該ＣＩＦファイルの内容で特定される、単位格子あたりの分子の情報に基づき、外形的に可能な結晶構造（現実にはエネルギーが安定的でなく、その構造を保ち得ない結晶構造を含んでよい、以下、単に「可能な結晶構造」と呼ぶ）を特定する結晶構造特定情報を複数列挙することにより、結晶構造の候補を取得する。また、所定の大きさの単位格子を仮想的に設定し、当該単位格子中に、単位格子に含まれる分子を任意の位置に配し（ランダムでよい）、分子力場計算によってその位置を最適化して結晶構造特定情報を複数列挙ことにより、結晶構造の候補を取得してもよい。
【００２４】
このような候補取得部２２の動作は、いわゆる結晶構造ジェネレータ（Crystal Structure Generator）として広く知られたものを利用できる。例えば、Anthony M. Reilly, et.al., "Report on the sixth blind test of organic crystal structure prediction methods", Acta Cryst. (2016), B72, 439-459等にその記述があるのでここでのさらに詳しい説明は省略する。
【００２５】
構造記述情報生成部２３は、候補取得部２２が取得した、可能な結晶構造を特定する結晶構造特定情報のそれぞれについて、構造情報を生成する。ここで構造情報は、後に説明する構造記述情報を生成するための中間的な情報であり、図３に例示するような単位格子に含まれる各原子Ａi（ｉ＝１，２…）について、当該原子から所定の半径ｒの球（この半径ｒは、半径ｒの球内に、少なくとも一つの単位格子を含むものとする）内にある他の原子Ａj（ｊ＝１，２…、ただしｊ≠ｉ）までの距離ｄと、原子Ａiと原子Ａjとが同じ分子に含まれるか否かを表すフラグ情報（セルフフラグ）Ｆとを関連付けたものである（図４）。しかしこの構造情報は、可変長の情報であり、後に行う機械学習の方法によっては、固定長の情報とすることが好ましい。
【００２６】
構造記述情報生成部２３は、生成した構造情報に基づいて、予め定められたフォーマットの、固定長の構造記述情報を生成する。この構造記述情報の一例は、次のようなものである。
【００２７】
すなわち、構造記述情報生成部２３は、構造情報を参照して、構造情報に含まれる各原子間の相対配置（原子間距離、３つの原子間の角度等）の関数に係るヒストグラムを生成する。ここで相対配置の関数の例としては、原子間の距離（原子間距離）そのものであってもよいし、原子間距離の関数の演算結果でもよい（以下では原子間距離そのものとする）。ヒストグラムの例としては、原子間距離を原子の種類（元素）の対ごとに分類したヒストグラムを用いてもよい。具体的にベンゼン（Ｃ６Ｈ６）の場合、可能な原子の種類の対として、
Ｃ−Ｃ
Ｃ−Ｈ
Ｈ−Ｈ
の３つの対が考えられる（Ｃ−ＨとＨ−Ｃとは同じものとして扱う）。ここであるベンゼン分子内のある炭素原子から、同じベンゼン分子内の炭素原子までの距離（Ｃ−Ｃ間距離）は、当該炭素原子に隣接する２つの炭素原子までの距離ｄ1（Ｃ−Ｃ結合の原子間距離（約1.4Å）に相当する）と、２つ先の炭素原子（これも２つある）までの距離ｄ2と、３つ先の炭素原子（１つのみ）までの距離ｄ3とを含む。
【００２８】
また、当該炭素原子から、隣接するベンゼン分子内の炭素原子までの原子間距離（これもまたＣ−Ｃ間の距離となる）は、隣接する分子に含まれるどの炭素原子（Ｃ）に注目するかにより異なり、ｄ4，ｄ5…，ｄ9となる。
【００２９】
構造記述情報生成部２３は、例えば構造情報を生成する際に設定した球の半径ｒを、固定長とする次元数Ｄ（例えば１００）で除して、ｒ／１００ずつのビン（０以上ｒ／１００未満のビン、ｒ／１００以上２ｒ／１００未満のビン，…）を設定し、ビンごとに、該当するビンに相当する値の範囲に含まれる原子間距離を持った対の数を、原子の種類（元素）の対ごとにカウントしてヒストグラムを生成する。具体的にＣ−Ｃ間距離のヒストグラムについて、例えばｒ＝２０，次元数を１００とするとき、構造記述情報生成部２３は、まず、ある単位格子に含まれる炭素原子の一つを注目炭素原子として選択し、この注目炭素原子から半径２０Å以内の、他の炭素原子（注目炭素原子以外の炭素原子）をすべて探索して、注目炭素原子と当該探索で見出された他の炭素原子との間の距離を計算する。そして構造記述情報生成部２３は、当該計算により得られた距離が、1.41Åであったときには、ヒストグラムにおける1.4Å以上1.6Å未満のビンの値に「１」を加算する。
【００３０】
構造記述情報生成部２３は、Ｃ−Ｈ間，Ｈ−Ｈ間の各距離についても同様に、原子間距離のヒストグラムを求める。構造記述情報生成部２３は、これらのヒストグラムの値を、所定の順で取り出し（ビンに対応する原子間距離が短い順とすればよい）、元素の対ごとに次元数Ｄのベクトル情報を得る。すなわち上記ベンゼンの例ではＤ＝１００とすると、３（元素の対の数）×１００＝３００次元のベクトル情報が得られる。構造記述情報生成部２３は、このベクトル情報を、構造記述情報として出力する。なお、各対に対応するベクトル情報をどの順で配列するかは予め定めておけばよい。
【００３１】
構造記述情報生成部２３は、候補取得部２２が取得した、可能な結晶構造を特定する結晶構造特定情報のそれぞれについて構造記述情報を得て、互いに対応する結晶構造特定情報と構造記述情報とを関連付けて構造候補データとして記録する。
【００３２】
第一原理計算部２４は、構造候補データに記録されている結晶構造特定情報のうち、一部をサンプリングにより取り出す。具体的にこの第一原理計算部２４は、構造候補データに記録されている結晶構造特定情報のそれぞれに１，２…ｎの連番を付し、１からｎまでの、互いに異なる整数を所定の数だけランダムに発生して、当該発生させた整数が付された結晶構造特定情報を取り出すこととすればよい。
【００３３】
本実施の形態の例では、このように結晶構造特定情報で特定される結晶構造の一部についてのみ第一原理計算を行うことで、演算の負荷を低減している。
【００３４】
第一原理計算部２４は、サンプリングした結晶構造特定情報（選択結晶構造候補に相当する）のそれぞれに係るエネルギーの情報を、第一原理計算により求める。この第一原理計算の処理は、例えば、Quantum ESPRESSO（http://www.quantum-espresso.org/）等の広く知られたツールを用いて行うことができる。また、結晶構造特定情報に基づく第一原理計算用の入力ファイルの生成方法は、広く知られているため、ここでの詳しい説明は省略する。
【００３５】
第一原理計算部２４は、サンプリングした結晶構造特定情報と、構造候補データにおいて当該結晶構造特定情報に関連付けて記録されている構造記述情報と、第一原理計算により求めたエネルギーの情報（教師情報となる）とを関連付けて、学習用情報として記憶部１２に記録する。
【００３６】
機械学習部２５は、記憶部１２に記録された学習用情報を参照しつつ、機械学習処理を実行する。本実施の形態の一例に係る機械学習部２５は、ニューラルネットワークを用いて、構造記述情報とエネルギーの情報との関係を機械学習する。具体的に本実施の形態では機械学習部２５は、構造記述情報のベクトルの要素数（次元数）と同じだけのノードを備えた入力層と、複数の中間層と、エネルギーの値を表す情報（エネルギーの情報）と損失とを出力する出力層とを含むニューラルネットワークを用いる。このニューラルネットワークは、例えば全結合型のネットワークであってもよいし、畳み込みネットワークを含むものを用いてもよい。
【００３７】
本実施の形態の機械学習部２５は、記憶部１２に記録した学習用情報に含まれる構造記述情報とエネルギー情報との組を順次読み出し、読み出した構造記述情報を、ニューラルネットワークの入力層に入力し、ニューラルネットワークの出力として得られるエネルギーの情報と、学習用情報から読み出した、教師情報となるエネルギー情報との差に基づいて、ニューラルネットワーク内の各層間の重みの情報を更新して機械学習する。
【００３８】
このような機械学習の方法は、バックプロパゲーション処理として広く知られた方法を採用できるので、ここでの詳しい説明は省略する。
【００３９】
推論部２６は、構造候補データに記録されている結晶構造特定情報のそれぞれ（第一原理計算部２４によりサンプリングしたものを除いてもよい）について、構造記述情報を読み出し、機械学習部２５によって学習した機械学習結果を用いて、各構造記述情報に対応するエネルギーの情報を取得する。本実施の形態のここでの例では、機械学習結果としてのニューラルネットワークの入力層に、読み出した構造記述情報を入力する。この場合、推論部２６は、ニューラルネットワークが出力するエネルギーの情報を、入力した構造記述情報に対応するエネルギーの情報として取得する。
【００４０】
推論部２６は、ここで得られたエネルギーの情報を、対応する結晶構造特定情報（入力した構造記述情報に対応する結晶構造特定情報）に関連付けて、推論結果情報として記憶部１２に格納する。
【００４１】
出力部２７は、学習用情報に含まれる、第一原理計算の結果であるエネルギーの情報と結晶構造特定情報との組と、推論部２６により推定されたエネルギーの情報と結晶構造特定情報との組とを合成し、構造候補データに記録されている、各結晶構造特定情報に係るエネルギーの情報の一覧を得る。ここでの合成は、構造候補データに含まれる結晶構造特定情報のうち、学習用情報に含まれている結晶構造特定情報については、当該学習用情報に含まれるエネルギーの情報を関連付けて上記一覧に記録し、学習用情報に含まれていない結晶構造特定情報については、推論結果情報に含まれるエネルギーの情報を関連付けて上記一覧に記録することによって行う。
【００４２】
出力部２７は、得られたエネルギーの情報を用いて、安定的な結晶の構造（以下「安定的な結晶構造」と呼ぶ）を予測する。具体的に、この出力部２７は、上記の方法で得られた一覧に含まれる結晶構造特定情報とエネルギーの情報との組のうち、別途定めた選択条件を満足する組を選択し、当該選択した組に含まれるエネルギーの情報と、当該エネルギーの情報に関連付けられた結晶構造特定情報とを、安定的な結晶構造を表す情報として出力する。
【００４３】
ここで選択条件は、例えばエネルギーの情報が表す値が、所定のしきい値を下回るものとの条件であってもよい。このしきい値は、ユーザから入力された値としてもよい。また、この選択条件は、例えば、一覧に含まれるエネルギーの情報が示す値を、小さい順に配列して、当該配列の上位の（値が低いものから順に所定の数だけの）エネルギーの情報を選択する条件であってもよい。
【００４４】
［動作］
本実施の形態に係る結晶形予測装置１の一例は以上のような構成を備えてなり、次のように動作する。利用者は、結晶構造を予測する対象となる化合物を表す情報を作成しておき、結晶形予測装置１に入力する。
【００４５】
結晶形予測装置１は、図５に例示するように、利用者が入力した、結晶構造の予測の対象となる化合物に係る情報を受け入れ（Ｓ１）、当該受け入れた情報の内容から、単位格子に含まれるべき分子を構成する各原子の種類とそれらの間の結合の状態を特定する情報を含む、単位格子構造情報を得る（結晶構造ジェネレータとしての処理：Ｓ２）。
【００４６】
結晶形予測装置１は、当該得られた単位格子構造情報で特定される、単位格子あたりの分子の情報に基づき、可能な結晶構造を特定する結晶構造特定情報を複数列挙する（Ｓ３）。
【００４７】
結晶形予測装置１は、処理Ｓ３で得た可能な結晶構造を特定する結晶構造特定情報のそれぞれについて、単位格子に含まれる各原子ｉについて、当該原子から所定の半径ｒの球（この半径ｒは、半径ｒの球内に、少なくとも一つの単位格子を含むものとする）内にある他の原子ｊまでの距離とを関連付けた構造情報を生成する（Ｓ４）。結晶形予測装置１は、生成した構造情報に基づいて固定長の構造記述情報を生成する（Ｓ５）。
【００４８】
この処理Ｓ５における固定長化の処理は、例えば次のようにして行われる。具体的に結晶形予測装置１は、処理Ｓ４で生成した構造情報を参照して、構造情報に含まれる原子の種類（元素）の対ごとに、その対の間の距離（原子間距離）のヒストグラムを、構造記述情報として生成する。
【００４９】
この処理Ｓ５での固定長化は、結晶構造を予測する対象となる化合物ごとに固定された長さのベクトル情報で表されていればよく、互いに異なる化合物に対する構造記述情報のデータサイズは異なっていてもよい。
【００５０】
結晶形予測装置１は、可能な結晶構造として列挙された結晶構造を特定する結晶構造特定情報のそれぞれについて得られた構造情報と、当該構造情報に対応して処理Ｓ５で生成した構造記述情報とを関連付けて構造候補データとして記録する（Ｓ６）。
【００５１】
結晶形予測装置１は、処理Ｓ６で記録した構造候補データに記録されている結晶構造特定情報のうちから、その一部をサンプリングにより取り出す（Ｓ７）。そして結晶形予測装置１は、サンプリングした結晶構造特定情報のそれぞれに係るエネルギーの情報を、第一原理計算により求め（Ｓ８）、処理Ｓ７でサンプリングした結晶構造特定情報と、当該構造候補データにおいて当該結晶構造特定情報に関連付けて記録されている構造記述情報と、処理Ｓ８の第一原理計算により求めたエネルギーの情報とを関連付けて、学習用情報を生成する（Ｓ９）。
【００５２】
結晶形予測装置１は、処理Ｓ９で記録した学習用情報に含まれる構造記述情報とエネルギー情報との組を順次読み出し（Ｓ１０）、読み出した構造記述情報を、ニューラルネットワークの入力層に入力する（Ｓ１１）。そして、結晶形予測装置１は、当該ニューラルネットワークの出力として得られるエネルギーの情報と、読み出したエネルギー情報との差に基づいて、ニューラルネットワーク内の各層間の重みの情報を更新して機械学習する（Ｓ１２）。
【００５３】
結晶形予測装置１は、次に、構造候補データに記録されている結晶構造特定情報のそれぞれを順次読み出し（Ｓ１３）、読み出した結晶構造特定情報に対応する構造記述情報とエネルギーの情報の組が、学習用情報に記録されているか否かを判断する（Ｓ１４）。ここで、当該情報の組が学習用情報に記録されていれば（サンプリングされたものであれば（処理Ｓ１４：Ｙｅｓ））、結晶形予測装置１は、学習用情報に記録された、構造記述情報とエネルギーの情報との組を読み出して（Ｓ１５）、処理Ｓ１３で読み出した結晶構造特定情報と、当該読み出した構造記述情報と、エネルギーの情報とを関連付けてエネルギー情報の一覧に記録する（Ｓ１６）。
【００５４】
また、処理Ｓ１４において、読み出した結晶構造特定情報に対応する構造記述情報とエネルギーの情報の組が、学習用情報に記録されていなければ（Ｓ１４：Ｎｏ）、結晶形予測装置１は、読み出した結晶構造特定情報に対応する構造記述情報を、機械学習したニューラルネットワークの入力層に入力する。そして結晶形予測装置１は、ニューラルネットワークが出力するエネルギーの情報を、入力した構造記述情報に対応するエネルギーの情報として取得し（Ｓ１７）、当該得られたエネルギーの情報と、対応する結晶構造特定情報と、構造記述情報とを関連付けてエネルギー情報の一覧に記録する（Ｓ１８）。
【００５５】
結晶形予測装置１は、この処理Ｓ１３からＳ１８の処理を、構造候補データに記録されている結晶構造特定情報のそれぞれについて行い、次いで、これらの処理で得られたエネルギー情報の一覧に含まれる結晶構造特定情報とエネルギーの情報との組のうち、別途定めた選択条件を満足する組を選択し、当該選択した組に含まれるエネルギーの情報と、当該エネルギーの情報に関連付けられた結晶構造特定情報とを、安定的な結晶構造を表す情報として出力する（Ｓ１９）。
【００５６】
具体的には、結晶形予測装置１は、一覧に含まれるエネルギーの情報が示す値を、小さい順に配列して、当該配列の上位の（値が低いものから順に所定の数だけの）エネルギーの情報を選択して出力する。
【００５７】
本実施の形態によると、第一原理計算の入力と出力とが、ニューラルネットワークによって機械学習され、ニューラルネットワークが、第一原理計算の結果を推定する機械学習モジュールとして機能するように構成される。これにより比較的負荷の大きい第一原理計算を、第一原理計算よりも負荷の小さいニューラルネットワークによる推論の処理に置き換えることができ、また第一原理計算の結果が推論されるので、分子力場による演算よりも信頼性を向上できる。
【００５８】
［固定長化の別の例］
また構造記述情報は、ここまでに説明した元素の対ごとに分類した原子間距離のヒストグラムに限られない。例えば単位格子内の空間を複数の小空間に区切り、当該小空間ごとに単位格子内の原子が当該小空間に対応する位置に存在する確率を表す情報（実際の原子配置に対応する位置を中心としたガウシアン分布関数により確率を定め、各小空間内の確率を積分して、小空間における原子の存在確率とすればよい）を用いることで小空間の数に対応する固定長のベクトル情報を得ることができる。ここで小空間は、例えば直方体状の単位格子をａ軸方向にＡ個、ｂ軸方向にＢ個、ｃ軸方向にＣ個に分割して得た直方体状のものとすればよい。
【００５９】
このような情報を用いて構造記述情報を生成する結晶形予測装置１は、原子の種類（元素）ごとに、単位格子内の小空間内ごとの存在確率の情報を配列したベクトル情報を生成し、小空間の数Ａ×Ｂ×Ｃに、処理の対象とする元素の数ｎを乗じた数の次元のベクトル情報を、構造記述情報として得る。
【００６０】
なお、このような構造記述情報の例は、Wen Torng, et.al., “3D deep convolutional neural networks for amino acid environment similarity analysis”, BMC Bioinfomatics (2017) 18:302, DOI 10.1186/s12859-017-1702-0に記載の研究等において用いられているものと同様であるので、その詳しい説明は省略する。
【００６１】
さらに別の例では、結晶形予測装置１の構造記述情報生成部２３は、候補取得部２２が取得した、可能な結晶構造を特定する結晶構造特定情報のそれぞれについて、二次元のＸ線回折像をシミュレーションして得る（QLaue（https://sourceforge.net/projects/qlaue/）等の広く知られたソフトウエアを用いて得ることができる）。そして得られた二次元のＸ線回折像を、Ｘ×Ｙのマトリクス状に配列した長方形状の小空間ごとの像に分割し、小空間ごとに、回折像の大きさ（回折像が含まれない場合は「０」とする）を表す情報を、例えばラスタスキャン順に選択して配列し、固定長（Ｘ×Ｙ）のベクトル情報とし（図６）、このベクトル情報を構造記述情報としてもよい。
【００６２】
［グラフ畳み込みネットワークを用いる例］
さらに、結晶形予測装置１の構造記述情報生成部２３は、候補取得部２２が取得した、可能な結晶構造を特定する結晶構造特定情報のそれぞれについて、一つの分子内の原子間の結合をグラフ（Graph）として捉えて記述して構造記述情報としてもよい。この場合、構造記述情報で記述されるグラフのノードが原子に相当し、エッジが原子間の結合（ボンド）を表し、エッジの重みを、結合している原子間の距離（ボンドの距離）とする。
【００６３】
この例の機械学習部２５は、グラフ畳み込みネットワークを用いて、学習用情報としてサンプリングされた構造記述情報と、当該構造記述情報が表す結晶構造について第一原理計算を行って得たエネルギーの情報との関係を機械学習する。そして推論部２６がサンプリングされなかった構造記述情報については、当該機械学習を行ったグラフ畳み込みネットワークに当該構造記述情報を入力したときに、出力として得られるエネルギーの推定値を用いて、候補取得部２２が取得した、各結晶構造特定情報に対応するエネルギー情報を生成する（サンプリングしたものについては第一原理計算の結果をそのまま用いる）。
【００６４】
そして出力部２７が、既に述べたように、エネルギー情報に基づいて、結晶構造特定情報の一部を選択し、安定的な結晶構造を表す情報として出力する。
【００６５】
なお、ここで用いるグラフ畳み込みネットワークの構成及びそれを用いた機械学習の方法、推論の方法等は、M. Schlichtkrull et al., “Modeling Relational Data with Graph Convolutional Networks”, arXiv preprint arXiv:1703.06103, 2017などにおいて広く知られた方法を採用できるので、ここでの詳しい説明は省略する。
【００６６】
［確認処理］
また、ここまでの説明では、機械学習の結果により推定されたエネルギーの情報を用いてスクリーニングを行い、当該スクリーニングの結果をそのまま出力していたが、本実施の形態はこの例に限られない。
【００６７】
例えば本実施の形態の結晶形予測装置１は、制御部１１の出力部２７の動作において、一覧に含まれるエネルギーの情報が示す値を、小さい順に配列して、当該配列の上位の（値が低いものから順に所定の数だけの）エネルギーの情報と、それに関連付けられた構造記述情報とを予備的に選択し、さらにこの予備的に選択した構造記述情報に対応する結晶構造特定情報を取得して、当該取得した結晶構造特定情報で特定される結晶構造について第一原理計算を実行して、機械学習の結果に基づいて予備的に選択した構造記述情報が表す結晶構造に対応する第一原理計算結果を得てもよい。
【００６８】
そして出力部２７は、この第一原理計算の結果に基づいて安定的と考えられる結晶構造を特定する結晶構造特定情報を、上記の予備的に選択した構造記述情報に対応する結晶構造特定情報のうちからさらに選択して出力してもよい。
【００６９】
この場合も、可能な結晶構造のすべてについて第一原理計算を行う場合に比べ、安定的と判断される可能性の高い結晶構造について限定的に第一原理計算を行うため、比較的小さい負荷で、比較的精度の高い結果を得ることが可能となる。
【００７０】
［一般的な機械学習結果の生成］
さらに本実施の形態のここまでの説明では、結晶構造の予測の対象となる化合物ごとに構造記述情報を生成して、機械学習の処理を行っていたが、本実施の形態は、このような例に限られず、複数の化合物に対応する構造記述情報を生成し、複数の化合物に対応する機械学習の結果を得てもよい。
【００７１】
具体的にこの例では、結晶形予測装置１は、複数の化合物のそれぞれについての単位格子構造情報を取得する。本実施の形態の一例では、単位格子構造情報は、ケンブリッジ結晶学データセンターが提供するＣＳＤや、ＣＯＤ等の種々の利用に供されている結晶データベースを参照して取得すればよい。
【００７２】
そして結晶形予測装置１は、取得した化合物ごとの単位格子構造情報に基づいて、結晶構造の候補を複数生成して取得する。次に結晶形予測装置１は、化合物ごとに得られた可能な結晶構造を特定する結晶構造特定情報のそれぞれについて構造記述情報を生成する。ここで構造記述情報として、化合物に含まれる原子の種類（元素）の対ごとに、その対の間の距離（原子間距離）のヒストグラムを生成する場合、化合物ごとに含まれる元素が異なるので、ある化合物では存在する元素の対が、別の化合物では存在しない場合もある。このため存在しない元素の対についてはヒストグラムのすべてのビンで「０」の値が設定される場合があり得る。
【００７３】
以下、結晶形予測装置１は、列挙した構造記述情報で特定される構造の一部をサンプリングして、対応するエネルギー情報を第一原理計算により求め、求められたエネルギー情報と、対応する構造記述情報とを関連付けて記録して、学習用情報を生成する。
【００７４】
そして結晶形予測装置１は、この学習用情報を用いてニューラルネットワークを機械学習し、構造記述情報に対応するエネルギーの情報を機械学習した推論器を生成する。
【００７５】
この処理を、取得した化合物ごとに行うことで、複数の化合物に対応するエネルギー情報を推定可能なニューラルネットワークを生成する。
【００７６】
この例に係る結晶形予測装置１は、結晶構造の予測の対象となる化合物を特定する情報（例えば当該化合物に係るＣＩＦフォーマットのファイル）の入力を受けて、結晶構造の候補を複数取得する。結晶形予測装置１は、取得した結晶構造の候補に対する結晶構造特定情報を得て、さらに当該結晶構造特定情報のそれぞれについて、構造記述情報を生成する。
【００７７】
結晶形予測装置１は、機械学習したニューラルネットワークの入力層に、生成した構造記述情報を順次入力し、ニューラルネットワークが出力するエネルギーの情報を、入力した構造記述情報に対応するエネルギーの情報として取得する。結晶形予測装置１は、ここで得られたエネルギーの情報を、対応する結晶構造特定情報（入力した構造記述情報に対応する結晶構造特定情報）に関連付けて、推論結果情報として記録する。
【００７８】
次に結晶形予測装置１は、記録した推論結果情報に基づいて、安定的な結晶の構造（以下「安定的な結晶構造」と呼ぶ）を予測する。具体的に、この結晶形予測装置１は、上記の方法で得られた一覧に含まれる結晶構造特定情報とエネルギーの情報との組のうち、別途定めた選択条件を満足する組を選択し、当該選択した組に含まれるエネルギーの情報と、当該エネルギーの情報に関連付けられた結晶構造特定情報とを、安定的な結晶構造を表す情報として出力する。
【００７９】
［機械学習の他の例］
なお、本実施の形態における機械学習の方法は、ニューラルネットワークを利用したものに限られない。例えば機械学習部２５は、ランダムフォレストを用いてもよい。この例の機械学習部２５は、構造記述情報のベクトルに基づいて、エネルギーの情報を出力する複数の決定木を機械学習する。
【００８０】
このときには推論部２６も、また、構造候補データに記録されている結晶構造特定情報のそれぞれ（第一原理計算部２４によりサンプリングしたものを除いてもよい）について、構造記述情報を読み出し、機械学習部２５によって機械学習した複数の決定木を用いてエネルギーの情報の推論結果を取得する。そして推論部２６は、ここで得られたエネルギーの情報を表す情報を、対応する結晶構造特定情報（入力した構造記述情報に対応する結晶構造特定情報）に関連付けて、推論結果情報として記憶部１２に格納する。
【００８１】
また、機械学習部２５や推論部２６は、構造記述情報とエネルギー情報との関係を機械学習し、当該機械学習の結果を用いて、構造記述情報が与えられたときに、対応するエネルギーの情報を推論できれば、ニューラルネットワークやランダムフォレストだけでなく、線型回帰、リッジ回帰などを含む、どのような方法を用いてもよい。
【符号の説明】
【００８２】
１  結晶形予測装置、１１  制御部、１２  記憶部、１３  入出力部、１４  表示部、２１  取得部、２２  候補取得部、２３  構造記述情報生成部、２４  第一原理計算部、２５  機械学習部、２６  推論部、２７  出力部。
【図１】
2020166706.tif 000003
【図２】
2020166706.tif 000004
【図３】
2020166706.tif 000005
【図４】
2020166706.tif 000006
【図５】
2020166706.tif 000007
【図６】
2020166706.tif 000008