(57)【要約】【課題】少ない数の教師データを用いて深層学習する場合において分類精度を向上できる化合物特性予測の深層学習方法および装置を提供する。【解決手段】深層学習方法は、分子構造データを有する人工化合物データをグラフ化し、部分グラフを用いてベクトル化したデータを用いて、多層ニューラルネットワークの重みを事前学習するステップと、特性予測用多層ニューラルネットワークに対して、学習した重みを初期重みとして設定し、化合物データを用いて重みを学習するステップを備える。深層学習装置は、分子構造データを有する人工化合物データベースと、教師データを有する化合物データベースと、分子構造データをグラフ化し、部分グラフを用いてベクトル化したデータを用いて、多層ニューラルネットワークの重みを学習する事前学習実行部と、学習した重みを初期重みとして設定し、化合物データベースを用いて重みを学習する学習実行部を備える。【選択図】図１
2020009203.tif 000002
【特許請求の範囲】
【請求項１】
分子構造データを有する人工化合物データをグラフ化し、部分グラフを用いてベクトル化したデータを用いて、多層ニューラルネットワークの重みを事前学習するステップと、
化合物特性を予測する特性予測用多層ニューラルネットワークに対して、学習した前記重みを初期重みとして設定し、教師データを有する化合物データを用いて重みを学習するステップ、を備えることを特徴とする化合物特性予測の深層学習方法。
【請求項２】
上記の多層ニューラルネットワークの重みを事前学習するステップは、
前記人工化合物データを入力するステップと、
前記人工化合物データの分子構造データをグラフ化してグラフデータに変換するステップと、
前記グラフデータから部分グラフを抽出するステップと、
前記部分グラフの有無を用いて前記分子構造データをベクトル化するステップ、
を備えることを特徴とする請求項１に記載の化合物特性予測の深層学習方法。
【請求項３】
上記の部分グラフを抽出するステップは、
前記教師データを有する化合物データにおける化合物の存在し得る全ての部分構造または一部の部分構造に基づいて部分グラフを抽出し、
上記のベクトル化するステップは、
前記人工化合物データにおける各人工化合物データに対して、部分グラフの有無をパラメータで表現しベクトル化する、
ことを特徴とする請求項２に記載の化合物特性予測の深層学習方法。
【請求項４】
上記の多層ニューラルネットワークの重みを事前学習するステップは、
オートエンコーダ（Autoencoder）を用いて、層間の重みを学習し、
前記特性予測用多層ニューラルネットワークは、積層オートエンコーダ（Stacked Autoencoder）で構成されることを特徴とする請求項１〜３の何れかに記載の化合物特性予測の深層学習方法。
【請求項５】
上記の教師データを有する化合物データは、変異原性の陰陽を教師データとして有するデータであり、
予測する前記化合物特性は、化合物の変異原性であることを特徴とする請求項１〜４の何れかに記載の化合物特性予測の深層学習方法。
【請求項６】
請求項５の深層学習方法によって学習した前記特性予測用多層ニューラルネットワークを用いて、化合物の変異原性を予測する化合物特性予測方法。
【請求項７】
分子構造データを有する人工化合物データベースにおける分子構造データをグラフ化し、部分グラフを用いてベクトル化したデータを用いて、多層ニューラルネットワークの重みを学習する事前学習実行部と、
化合物特性を予測する特性予測用多層ニューラルネットワークに対して、学習した前記重みを初期重みとして設定し、教師データを有する化合物データベースを用いて重みを学習する学習実行部、
を備えることを特徴とする化合物特性予測の深層学習装置。
【請求項８】
前記事前学習実行部は、
前記人工化合物データベースの人工化合物データを入力し、前記分子構造データをグラフ化してグラフデータに変換し、前記グラフデータから部分グラフを抽出し、前記部分グラフの有無を用いて前記分子構造データをベクトル化し、ベクトル化した分子構造データを用いて、多層ニューラルネットワークの重みを学習する、
ことを特徴とする請求項７に記載の化合物特性予測の深層学習装置。
【請求項９】
上記の部分グラフの抽出は、
前記教師データを有する前記化合物データベースの化合物データにおける化合物の存在し得る全ての部分構造または一部の部分構造に基づいて部分グラフを抽出し、
上記のベクトル化は、
前記人工化合物データベースにおける各人工化合物データに対して、部分グラフの有無をパラメータで表現しベクトル化する、
ことを特徴とする請求項８に記載の化合物特性予測の深層学習装置。
【請求項１０】
前記事前学習実行部は、オートエンコーダ（Autoencoder）を備え、
前記特性予測用多層ニューラルネットワークは、積層オートエンコーダ（Stacked Autoencoder）で構成されることを特徴とする請求項７〜９の何れかに記載の化合物特性予測の深層学習装置。
【請求項１１】
教師データを有する前記化合物データベースは、変異原性の陰陽を教師データとして有するデータベースであり、
予測する前記化合物特性は、化合物の変異原性であることを特徴とする請求項７〜１０の何れかに記載の化合物特性予測の深層学習装置。
【請求項１２】
請求項１１の深層学習装置によって学習した前記特性予測用多層ニューラルネットワークを備え、化合物の変異原性を予測する化合物特性予測装置。
【請求項１３】
請求項１〜５の何れかの深層学習方法における各ステップを、コンピュータに実行させるための深層学習プログラム。
【請求項１４】
請求項７〜１０の何れかの深層学習装置における前記事前学習実行部および前記学習実行部として、コンピュータを機能させるための深層学習プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、深層学習による化合物特性の予測技術に関するものである。
【背景技術】
【０００２】
近年、データ解析手法として、機械学習の１つの手法である深層学習（Deep Learning）が注目を浴びている。深層学習は、解析精度を高めるために大量のデータを用いて学習するものであり、大量の学習サンプルを準備できる画像認識や音声認識などで、従来手法よりも高い精度でデータ解析できる。ここで、深層学習の利点としては、従来は人手で設定していた特徴量を自動的に抽出できる点と、大量のデータを特徴選択せずに学習することができる点である。深層学習は大量の学習サンプルデータを必要とするが、限られたサンプルしかない場合には、存在するサンプルを基にバリエーションを増やしてサンプル数を増やすデータ拡張がある。データ拡張は、例えば画像認識では、サンプル画像の濃淡、色変動、幾何学的変化、鏡面反転、回転変動、平行移動などが挙げられる。この他、ランダムにノイズを加えることや、ボケを加えることもできる。
【０００３】
一方で、医薬品開発など、細胞に作用し生物活性を発現する化学物質の探索の需要は大きく、特に、発がん性のような遺伝毒性や薬物動態など、作用機序が複雑で不明な生物活性については、定量的に構造から活性を特徴付ける統計的技術が研究されている。
このような化合物の特性予測にも深層学習が使われている。しかしながら、上述の如く、深層学習は大量のデータを必要とするが、化合物の特性予測の分野では、現状では学習に用いることができる教師データを有する化合物データの数は限られており、十分に予測性能を発揮し難いといった問題がある。すなわち、限られた少ないデータ数で深層学習を行うと、訓練データは正しく分類できるが、未知のデータに対しては十分に分類性能を発揮できないといった過学習が生じることになる。
【０００４】
特に、主たる生物活性として挙げられる変異原性の化合物の予測において、例えば、変異原性のデータであるMUTAGのベンチマークの化合物データでは、188個の化合物データに対して変異原性の陰陽データがあるだけである。このようにデータ数が少ないと、過学習が生じ、適切に学習ができない。このようにデータ数が少ない場合には、上述のようなデータ拡張を行ってデータ数を増加するのであるが、化合物の場合、画像と異なりデータ拡張が困難であるといった問題がある。
従来は、マルチタスクニューラルネットワークといった方法を用いて（非特許文献１を参照）、変異原性以外の似た活性を持つ化合物データを訓練用のデータとして併用して学習することにより、学習するデータ数を増やし、分類精度を向上させている。複数の教師データの画像に基づく画像分類の分野では、教師データの画像データ数が少ないと過学習が生じることに関して、画像を加工して教師データの画像を増やす方法（特許文献１を参照）、又は、実在する教師データと共に、教師データに対応する特徴量空間内の点からの距離が所定距離以内である点に対応する特徴量の組を元の教師データと同じ分類カテゴリに関連付けて新たな教師データとする方法が知られている（特許文献２を参照）。
また、事前学習を行うことにより、教師データを用いるニューラルネットワークの学習の精度が向上するといった研究成果が知られている（例えば、非特許文献２を参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１１−２１４９０３号公報
【特許文献２】特開２０１４−１７８２２９号公報
【非特許文献】
【０００６】
【非特許文献１】George E. Dahl, Navdeep Jaitly, and Ruslan Salakhutdinov, Multi-task Neural Networks for QSAR Predictions, arXiv preprint arXiv:1406.1231, 2014.
【非特許文献２】Yoshua Bengio, Pascal Lamblin, Dan Popovici, Hugo Larochelle: Greedy Layer-Wise Training of Deep Networks. Advances in Neural Information Processing Systems, pp.153-160, 2006.
【発明の概要】
【発明が解決しようとする課題】
【０００７】
化合物の特性予測の深層学習においては、化合物の構造とその特性が既知である学習データを用いた学習により、予測のための数理モデルを最適化しておく必要がある。
しかし、上述の如く化合物の場合には、一般に使用可能な“教師データ”が存在する化合物のデータ数は少ないため、過学習が生じ、十分な予測精度を得ることが困難である（以下、本明細書において、教師データとは、化合物に生物活性などの特性の有無などが既知である学習データをいう。）。
【０００８】
かかる状況に鑑みて、本発明では、少ない数の教師データを用いて深層学習する場合において分類精度を向上できる化合物特性予測の深層学習方法および装置を提供することを目的とする。また、化合物の変異原性の予測精度を向上できる化合物特性予測方法および装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記課題を解決すべく、本発明の化合物特性予測の深層学習方法は、１）分子構造データを有する人工化合物データをグラフ化し、部分グラフを用いてベクトル化したデータを用いて、多層ニューラルネットワークの重みを事前学習するステップと、２）化合物特性を予測する特性予測用多層ニューラルネットワークに対して、学習した重みを初期重みとして設定し、教師データを有する化合物データを用いて重みを学習するステップを備える。
【００１０】
本発明によれば、少ない数の教師データを用いて深層学習する場合において、分子構造データを有する人工化合物データを事前学習に用いることにより、分類精度を向上でき、特性未知の化合物の特性予測の性能を向上させる。ここで、人工化合物データとは、世の中に存在すると考えられる化合物データをコンピュータシミュレーションにより作成したものである。
分子構造データを有する人工化合物データを用いて、多層ニューラルネットワークの重みを事前学習し、次に、学習した重みを、化合物特性を予測する多層ニューラルネットワークの初期重みとして設定し、更に、教師データを有する化合物データを用いて、化合物特性を予測する多層ニューラルネットワークの重みを学習する。
ここで、教師データを有する化合物データとは、化合物が有する生物活性などの特性の有無を教師データとし、教師データを含み、分子構造データなどからなる化合物のデータセットである。なお、人工化合物データには、教師データは存在しない。
【００１１】
多層ニューラルネットワークの重みを事前学習するために用いるデータは、分子構造データを有する人工化合物データをグラフ化し、部分グラフを用いてベクトル化したものである。ここで、グラフ化とは、グラフ理論に基づくノード群とノード間の連結関係を表すエッジ群で構成されるグラフ（データ構造）で表現することをいい、詳細は後述するが、分子構造データを有する人工化合物データをグラフ化するとは、分子構造データをグラフデータで表現し直すことである。分子構造データをグラフ化してグラフデータに変換した後、グラフデータから部分グラフを抽出する。そして、部分グラフの有無で分子構造データをベクトル化して、多層ニューラルネットワークの入力データとして用いることが可能なデータ形式にする。
【００１２】
本発明の化合物特性予測の深層学習方法において、多層ニューラルネットワークの重みを事前学習するステップは、具体的には、以下の１−１）〜１−４）を備える。
１−１）人工化合物データを入力するステップ。
１−２）人工化合物データの分子構造データをグラフ化してグラフデータに変換するステップ。
１−３）グラフデータから部分グラフを抽出するステップ。
１−４）部分グラフの有無を用いて分子構造データをベクトル化するステップ。
【００１３】
ここで、上記１−３）の部分グラフを抽出するステップは、教師データを有する化合物データにおける化合物の存在し得る全ての部分構造または一部の部分構造に基づいて部分グラフを抽出する。また、上記１−４）のベクトル化するステップは、人工化合物データにおける各人工化合物データに対して、部分グラフの有無をパラメータで表現しベクトル化する。
【００１４】
本発明の化合物特性予測の深層学習方法において、上記の多層ニューラルネットワークの重みを学習するステップは、オートエンコーダ（Autoencoder）を用いて、多層ニューラルネットワークの層間の重みを学習し、また、特性予測用多層ニューラルネットワークは、積層オートエンコーダ（Stacked Autoencoder）で構成される。
ここで、オートエンコーダは、入力層と中間層と出力層の３層で構成されるネットワークの数理モデルであり、入力データの次元を圧縮し、元の次元に拡張することにより、情報量を小さくする。学習済みのオートエンコーダの入力層と中間層の間の重みを、特性予測用多層ニューラルネットワークの初期重みに設定する。本発明の特性予測用多層ニューラルネットワークは、積層オートエンコーダとなる。
【００１５】
本発明の化合物特性予測の深層学習方法において、教師データを有する化合物データは、変異原性の陰陽を教師データとして有するデータであり、予測する化合物特性は化合物の変異原性である。
ここで、変異原性とは、化学物質が、細胞もしくは微生物の遺伝物質（ＤＮＡ、染色体）の量または構造の不可逆的な変化を誘発する性質のことであり、変異原性のある化合物には、発がん性がある可能性が高いとされ、特性未知の化合物の変異原性を予測することは、発がん性の可能性のある物質を見つけ出すことに寄与すると考えられる。
【００１６】
本発明の化合物特性予測方法は、上述した本発明の化合物特性予測の深層学習方法によって学習した特性予測用多層ニューラルネットワークを用いることにより、化合物の変異原性を予測する。本発明によれば、化合物の変異原性の予測精度を向上できることが期待される。
【００１７】
次に、本発明の化合物特性予測の深層学習装置について説明する。
本発明の化合物特性予測の深層学習装置は、分子構造データを有する人工化合物データベースにおける分子構造データをグラフ化し、部分グラフを用いてベクトル化したデータを用いて、多層ニューラルネットワークの重みを学習する事前学習実行部と、化合物特性を予測する特性予測用多層ニューラルネットワークに対して、学習した重みを初期重みとして設定し、教師データを有する化合物データベースを用いて重みを学習する学習実行部を備える。
本発明の化合物特性予測の深層学習装置によれば、事前学習実行部で多層ニューラルネットワークの重みを事前学習し、学習実行部で、特性予測用多層ニューラルネットワークに対して、事前学習した重みを初期重みとして設定し、教師データを用いて重みを学習して、少ない数の教師データを用いて深層学習する場合においても、分類精度の向上を図る。
【００１８】
ここで、事前学習実行部は、人工化合物データベースの人工化合物データを入力し、分子構造データをグラフ化してグラフデータに変換し、グラフデータから部分グラフを抽出し、部分グラフの有無を用いて分子構造データをベクトル化し、ベクトル化した分子構造データを用いて、多層ニューラルネットワークの重みを事前学習する機能を有する。
上記の部分グラフの抽出は、教師データを有する化合物データベースの化合物データにおける化合物の存在し得る全ての部分構造または一部の部分構造に基づいて部分グラフを抽出する。
また、上記のベクトル化は、人工化合物データベースにおける各人工化合物データに対して、部分グラフの有無をパラメータで表現しベクトル化する。
【００１９】
事前学習実行部は、具体的には、オートエンコーダ（Autoencoder）を備え、特性予測用多層ニューラルネットワークは、積層オートエンコーダ（Stacked Autoencoder）で構成される。
また、教師データを有する化合物データベースは、変異原性の陰陽を教師データとして有するデータベースであり、予測する化合物特性は、化合物の変異原性である。
【００２０】
本発明の化合物特性予測装置は、上述した本発明の化合物特性予測の深層学習装置によって学習した特性予測用多層ニューラルネットワークを備え、化合物の変異原性を予測する。
【００２１】
本発明の深層学習プログラムは、上述した本発明の化合物特性予測の深層学習方法における各ステップを、コンピュータに実行させるためのプログラムである。また、本発明の深層学習プログラムは、上述した本発明の化合物特性予測の深層学習装置における事前学習実行部および学習実行部として、コンピュータを機能させるためのプログラムである。
【発明の効果】
【００２２】
本発明によれば、分子構造データを有する人工化合物データで事前学習することにより、少ない数の教師データを用いて深層学習する場合においても、分類精度を向上でき、また、化合物の変異原性の予測精度を向上できるといった効果がある。
【図面の簡単な説明】
【００２３】
【図１】化合物特性予測の深層学習方法のフロー図
【図２】化合物の分子構造データのグラフ化の説明図
【図３】多層ニューラルネットワークのモデルの説明図
【図４】誤差逆伝搬法の説明図
【図５】勾配降下法の説明図
【図６】オートエンコーダのモデルの説明図
【図７】オートエンコーダによる事前学習のフロー図
【図８】オートエンコーダによる事前学習の説明図
【図９】化合物特性予測の深層学習方法の説明図
【図１０】化合物特性予測の深層学習装置の機能ブロック図
【図１１】化合物特性の予測精度の評価実験の説明図
【発明を実施するための最良の形態】
【００２４】
以下、本発明の実施形態の一例を、図面を参照しながら詳細に説明していく。なお、本発明の範囲は、以下の実施例や図示例に限定されるものではなく、幾多の変更及び変形が可能である。
【実施例１】
【００２５】
（化合物特性予測の深層学習方法）
本発明の化合物特性予測の深層学習方法の一実施形態について説明する。図１は、本発明の化合物特性予測の深層学習方法の一実施形態の処理フロー図を示している。
図１のフローに示すように、化合物特性予測の深層学習方法は、分子構造データを有する人工化合物データを入力し（Ｓ０１）、人工化合物データの分子構造データをグラフ化してグラフデータに変換し（Ｓ０２）、変換したグラフデータから部分グラフを抽出し（Ｓ０３）、部分グラフの有無をパラメータで表現し分子構造データをベクトル化する（Ｓ０４）。そして、ベクトル化したデータをオートエンコーダに入力して、多層ニューラルネットワークの各層間の重みを事前学習する（Ｓ０５）。そして、特性予測用多層ニューラルネットワークに対して、事前学習した重みを初期重みとして設定し（Ｓ０６）、教師データを有する化合物データを用いて重みを学習する（Ｓ０７）。
以下、それぞれのステップＳ０１〜Ｓ０７の処理について詳述する。
【００２６】
（ステップＳ０１：人工化合物データ入力）
化合物の特性予測の深層学習では、化合物の構造とその特性が既知である学習データを用いた学習により、予測のための数理モデルを最適化しておく必要があるが、現状、使用可能な教師データが存在する化合物のデータ数は少ないため、過学習が生じ、十分な予測精度を得ることが困難である。
例えば、化合物の変異原性の予測を目的とする場合に、データ解析分野でベンチマークデータセットとして知られる変異原性データ“MUTAG”を利用できる。MUTAGでは、188個の化合物の分子構造データと、それぞれの化合物が変異原性を有するか否かの陰陽ラベルを有するデータセットである。そのため、化合物の変異原性の予測を目的とする場合に、教師データを有するMUTAGのデータセットで学習を行うと、データ数は少ないために過学習が生じ、十分な予測精度を得ることは困難である。
【００２７】
そこで、少ない数の教師データを用いて深層学習する場合において、分子構造データを有する人工化合物データを入力し、入力したデータセットを事前学習に用いることにより予測精度の向上を図る。人工化合物データとは、世の中に存在すると考えられる化合物データをコンピュータシミュレーションにより作成したものであり、化合物の結合規則などから自然界に存在し得る可能性が高いものが作られる。例えば、分子構造データを有する人工化合物データとして、文献“Lars Ruddigkeit, Ruud van Deursen, Lorenz C. Blum, and Jean-Louis Reymond. Enumeration of 166 Billion Organic Small Molecules in the Chemical Universe Database GDB-17, J. Chem. Inf. Model., 52(11), pp. 2864{2875, 2012.”（以下、単に“人工化合物データ”と呼ぶ）によって作られたデータセットを用いることができる。この人工化合物データは、1660億個の化合物データが存在する。このため、人工化合物データを用いることは、データ数の観点で有利である。1660億個の中から、適宜に絞込みなどを行って化合物データを選択して、十分なデータ数を確保すればよい。本実施例では、約４万個の化合物データを選択し、事前学習に用いている。
【００２８】
（ステップＳ０２：人工化合物データの分子構造データをグラフ化してデータ変換）
本発明では、化合物の特性予測の深層学習の事前学習に、人工化合物データを用いるが、多層ニューラルネットワークはベクトル形式のデータを入力として用いることから、人工化合物データを加工する。人工化合物データは分子構造データを有するため、まず分子構造データをグラフ化してグラフデータに変換する。グラフ化とは、グラフ理論に基づくノード群とノード間の連結関係を表すエッジ群で構成されるグラフ（データ構造）で表現することをいうが、本実施例では、グラフはＧ＝（Ｖ，Ｅ，Σ，ｌ）で表す。ここで、Ｖは頂点集合、Ｅは辺集合、Σは頂点ラベルの集合であり、ｌはグラフの頂点にラベルを割り当てる関数とする。また、頂点ｖに隣接する頂点の集合を、Ｎ（ｖ）＝｛ｕ｜（ｖ、ｕ）∈Ｅ｝と表す。
図２（１）にグラフの例を示す。図中の円は頂点を表し、円の中の数字は頂点ラベルを表す。頂点と頂点を結ぶ辺は、頂点の結合関係を表し、辺に付随した数字は辺のラベルを表す。化合物の分子構造データをグラフ化してグラフデータとして表す場合、頂点は原子、辺は原子間の結合関係、頂点ラベルは原子の種類、辺ラベルは原子間の結合関係の種類を表す。結合関係の種類は、単結合、二重結合、三重結合など化学結合の種類である。原子間の順序関係は無く、グラフデータは無向グラフである。
【００２９】
本実施例は、化合物のグラフデータの辺ラベルには、原子間の結合関係の情報が含まれるため、辺ラベルを頂点ラベルに変換して、頂点のみにラベルがついているグラフをデータとして扱うことにする。辺ラベルを頂点ラベルに変換する手順は、図２（２）に示すように、頂点ラベルＡの２つの頂点ｖ０とｖ１を接続する辺（辺ラベルＢ）は、頂点ラベルＢの頂点に変換され、３つの頂点をラベルのない辺で結合されるように変換する。
化合物の水（Ｈ２０）をグラフ化する例を、図２（３）に示す。頂点ラベルとして、水素（Ｈ）を“１”、酸素（Ｏ）を“２”とする。酸素と水素はそれぞれ単結合で結ばれており、単結合の辺ラベルを“３”とする。図２（３）の左の構造式を辺ラベル付きのグラフに変換し、そして辺ラベルを頂点ラベルに変換して、図２（３）の右のグラフデータに変換する。
【００３０】
（ステップＳ０３：グラフデータから部分グラフ抽出）
上述のステップＳ０２で、人工化合物データの分子構造データをグラフ化してグラフデータに変換した後、さらに、グラフデータから部分グラフを抽出し、各化合物に対して、部分グラフの有無を０と１のパラメータで表現する。各化合物に対して部分グラフの有無をパラメータで表現することにより、人工化合物データをベクトル形式に変換でき、ニューラルネットワークの入力データとして用いることを可能にする。
ここで、部分グラフの抽出について説明する。部分グラフの抽出は、化合物の分子構造データをグラフ化した後、化合物の存在し得る全ての部分構造を抽出して行う。但し、対象となるのは、人工化合物データの分子構造データをグラフ化したものではなく、教師データを有する化合物のデータセットをグラフ化したものを対象とする。例えば、教師データを有するMUTAGのデータセットでは、188個の化合物の分子構造が、下記表１のように、模式的に表されており、変異原性として陽性が１、陰性が−１で表されている。この教師データを有するMUTAGのデータセットをグラフ化したものから部分グラフを抽出したものは、下記表２のように示される。なお、下記表２には、部分グラフを抽出し、更に、各化合物に対して部分グラフの有無を０と１のパラメータで表現している様子も示している。
【００３１】
【表１】
2020009203.tif 000003
【００３２】
【表２】
2020009203.tif 000004
【００３３】
部分グラフの抽出に際しては、単純に化合物の全部分グラフを抽出すると、組合せが膨大となり現実的ではない。例えば、300個程度の典型的な部分グラフデータについて１個以上のグラフに生起する部分グラフを見積ると、少なくとも100億個以上になる。本実施例では、relabelと呼ばれる手法（詳細は、文献“Sousuke Takami, Akihiro Inokuchi: Accurate and Fast Computation of Approximate Graph Edit Distance based on Graph Relabeling. Proceedings of the 7th International Conference on Pattern Recognition Applications and Methods, pp. 17-26, 2018”を参照）で部分グラフを抽出している。
188個の化合物の分子構造を有するMUTAGのデータセットをグラフ化したものから、上記のrelabelの手法を用いて、部分グラフを抽出すると、部分グラフの種類は6622個となる。
【００３４】
（ステップＳ０４：部分グラフの有無をパラメータで表現しベクトル化）
上述のステップＳ０３で、教師データを有する化合物のデータセットから6622個の部分グラフを抽出し、人工化合物データの各化合物に対して、抽出した部分グラフ6622個のそれぞれの有無を０と１のパラメータで表現する。
ここで、MUTAGのデータセットをＤ１、人工化合物のデータセットをＤ２とする。また、化合物データのグラフデータをＧとし、変異原性の陰陽ラベルをｔとする。MUTAGのデータセットＤ１は、Ｄ１ ＝｛（Ｇ１，ｔ１），（Ｇ２，ｔ２），・・・，（Ｇ188，ｔ188）｝で表現できる。変異原性の陰陽ラベルｔが教師データであり、MUTAGのデータセットＤ１は、教師データｔを有し、化合物のグラフデータＧと教師データｔからなるデータセットである。MUTAGのデータセットのグラフデータＧにおける各化合物に対して、抽出した部分グラフ6622個のそれぞれの有無を０と１のパラメータで表現したものをベクトルｘとすると、ベクトル化したMUTAGのデータセットをＤ１´は、Ｄ１´ ＝｛（ｘ１，ｔ１），（ｘ２，ｔ２），・・・，（ｘ188，ｔ188）｝のように定式化できる。
同様に、人工化合物のデータセットをＤ２に対しても、データセットのグラフデータＧにおける各化合物に対して、抽出した部分グラフ6622個のそれぞれの有無を０と１のパラメータで表現したものをベクトルする。
【００３５】
（ステップＳ０５：多層ニューラルネットワークの各層間の重みを事前学習）
本発明における化合物特性予測の深層学習方法は、特性未知のグラフデータＧを入力とし、変異原性などの特性の陰陽ｙを、正確に分類し出力する関数ｆを学習するための方法である。そして、関数ｆの学習に多層ニューラルネットワークを用いる。ニューラルネットワークとは、人工ニューロンという数理モデルで表したものであり、入力データがどのクラスに属するかを分類することができる学習方法である。ニューラルネットワークは、入力層、中間層、出力層で構成され、層と層の間にはニューロン同士の結合の強さを示す重みｗがある。中間層が多層になったものが、多層ニューラルネットワークと呼ばれる。
【００３６】
図３に、多層ニューラルネットワークのモデル図を示す。図において、ｘ（ｋ）はｋ番目の層の各ニューロンの値をベクトル化したもの、ｘ（(ｋ)p）はｋ番目の層の上からｐ個目のニューロンの値を示す。また、Ｗ（ｋ）は、（ｘ（ｋ＋１）の要素数）×（ｘ（ｋ）の要素数）の行列である。ｙは出力層の各ニューロンの値をベクトル化したものであり、ｔは出力ｙのそれぞれの要素に対する正解ベクトルである教師ベクトルである。ｂは各層で付与する定数項のバイアスである。
学習は、入力層に入力されたデータｘ（１）をＷ（１）によって重み付けをし、定数項のバイアスｂを加えた値を活性化関数ｈに入力することにより出力ｘ（２）が得られる。この出力ｘ（２）を１つ目の中間層の入力として同様な処理を行って、これを出力層まで繰り返し、出力層での出力をｙとする。なお、活性化関数ｈは、非線形関数であり、多層ニューラルネットワークにおいて、線形変換をした後に適用し、非線形分離（分類）を可能にする。本実施例では、活性化関数ｈに、ReLU（Rectified Linear Unit）関数を用いる。ReLU関数は０を超えていれば入力の値をそのまま出力し、０を超えていない場合は０を出力するといった単純な関数であり、つまり、ある閾値を超えた重要なものだけ出力するといったものであり、またReLU関数の微分は勾配消失が起きにくい。
ここで、ステップＳ０５の多層ニューラルネットワークの各層間の重みを事前学習するために、オートエンコーダを用いるが、これについては後述する。
【００３７】
（ステップＳ０６：事前学習した重みを初期重みとして設定）
多層ニューラルネットワークの各層間の重みを事前学習した重みを、化合物特性予測を行う特性予測用多層ニューラルネットワークに対して、初期重みとして設定する。
【００３８】
（ステップＳ０７：教師データを有する化合物データを用いた重みの学習）
次に、図３に示すように、多層ニューラルネットワークの出力層の出力ｙと、教師データをベクトル形式に変換した教師ベクトルｔとの誤差を表す誤差関数が最小になるように重みＷを調整するように、多層ニューラルネットワークを学習する。
誤差関数が最小になるように重みＷを調整する方法として、既知の方法を用いることが可能であるが、本実施例では、誤差逆伝搬法と勾配降下法を用いる。多層ニューラルネットワークの入力データに対して重みをかけ、活性化関数に入力する操作を順伝搬といい、反対に、出力値と教師データとの誤差に基づいて、多層ニューラルネットワークを逆に進む操作を逆伝搬といい、誤差逆伝搬法は、誤差を逆伝搬し、多層ニューラルネットワークの重みを最適解に近づけていく手法である。
【００３９】
図４を参照して、誤差逆伝搬法について説明する。多層ニューラルネットワークの出力層の出力ｙと教師ベクトルｔとの誤差関数Ｅと重みＷ（ｎ）に対し、勾配降下法を用いて更新するＷ（ｎ）renewを算出する。これらの操作をＷ（１）renewまで繰り返す。勾配降下法は、関数の最小値を求める手法であり、誤差関数Ｅを重みＷ（ｋ）で偏微分することにより、重みＷ（ｋ）における接線の傾きを求め、図５に示すように、その接線の傾きが０になるまで、重みＷ（ｋ）の更新を繰り返すことで最小値を求める。
【００４０】
以上、化合物特性予測の深層学習方法の処理フローのステップＳ０１〜Ｓ０７を説明したが、次に、ステップＳ０５の多層ニューラルネットワークの各層間の重みを事前学習するために用いるオートエンコーダについて説明する。
上述したとおり、オートエンコーダは、図６に示すように、入力層と中間層と出力層の３層で構成されるネットワークの数理モデルであり、入力データの次元を圧縮し、元の次元に拡張することにより、情報量を小さくするものである。このオートエンコーダに、人工化合物データを入力して学習させ、学習済みのオートエンコーダの入力層と中間層の間の重みを、特性予測用多層ニューラルネットワークの初期重みに設定し、特性予測用多層ニューラルネットワークを事前学習する。
【００４１】
図７のフローを参照して、オートエンコーダによる事前学習について説明する。
オートエンコーダによる事前学習では、図７に示すように、先ずｎ層ニューラルネットワーク（ｎ＞２；ｎは自然数）の各層間の次元数と同じ次元数のｎ−１個のオートエンコーダを構築する（Ｓ５１）。すなわち、図８に示すように、ｎ−１個のオートエンコーダで事前学習し、それぞれの中間層の重みと特徴数を、ｎ層の特性予測用多層ニューラルネットワークにおける初期重み、第１〜第ｎ−２中間層のそれぞれの特徴数にする。ｎ層の特性予測用多層ニューラルネットワークでは、入力層、第１〜第ｎ−２中間層、出力層の合計ｎ個の層になる。例えば、特性予測用多層ニューラルネットワークが５層の場合には、第１〜第４の４個のオートエンコーダを作成し、それぞれのオートエンコーダは、特性予測用多層ニューラルネットワークの各層間の次元数と同じ次元数になるように構築する。
【００４２】
図９に示すように、特性予測用多層ニューラルネットワークの重みを、人工化合物データを用いて事前学習し、MUTAGのデータセットを用いて重みを学習するケースを想定する。MUTAGのデータセットは、188個の化合物データがあり、それぞれグラフ化して6622個の部分グラフの有無を用いてベクトル化したものに、更に１個の変異原性の陰陽ラベルを追加したものは、合計が6623個の要素数、すなわち、6623の次元数を持つデータになる。また、人工化合物データは、MUTAGと同様に、それぞれ6622個の部分グラフの有無と１個のダミー要素（人工化合物データ自体には変異原性の陰陽情報は無い）の合計が6623個の要素数、すなわち、6623の次元数を持つデータになる。
【００４３】
第１のオートエンコーダでは、人工化合物データの各化合物データの6623の次元数のデータを入力し、中間層では6623の次元数を圧縮して、出力層では再び6623の次元数に拡張する。中間層の次元数は多層ニューラルネットワークの層数を考慮して任意に決定される。そして、オートエンコーダで、人工化合物データの約４万個の化合物データを用いて、重みを学習する。学習済みの第１のオートエンコーダの重みは、特性予測用多層ニューラルネットワークの第１層と第２層の間の初期重みとして設定される。次に、第２のオートエンコーダの入力は、第１のオートエンコーダの中間層の圧縮した次元数のデータを用いる。このように、Ｎ個目のオートエンコーダの入力は、Ｎ−１個目のオートエンコーダの中間層を用いる。Ｎ個のオートエンコーダの全ての学習が終われば、特性予測用多層ニューラルネットワークの初期重みの設定が完了する。
【００４４】
フローチャートで示すと、図７に示すように、変数ｉに初期値として１を設定し（Ｓ５２）、ベクトル化したデータをｉ番目のオートエンコーダに入力して重みを学習させ（Ｓ５３）、学習した重みをｎ層ニューラルネットワークの第ｉ層と第ｉ＋１層の間の初期重みとする（Ｓ５４）。そして、変数ｉに１を加算する（Ｓ５５）。変数ｉがｎ（ｎは多層ニューラルネットワークの層数）に一致したか否かを判定し（Ｓ５６）、一致していれば特性予測用多層ニューラルネットワークの初期重みの設定が完了する。一致していなければステップＳ５３から繰り返す。なお、事前学習は、図７のフローに限定されるものではなく、この他、様々なやり方を見つけ出すことが可能である。
【００４５】
以上説明したように、本実施例では、図７のフローに示すように、特性予測用多層ニューラルネットワークの各層間の重みを、オートエンコーダによって事前学習する。特性予測用多層ニューラルネットワークは、事前学習により初期重みが設定された後、変異原性の陰陽ラベルといった教師データを有するMUTAGのデータセットを入力して、重みを学習する。
その後、特性予測用多層ニューラルネットワークに、変異原性が未知のデータを入力し、変異原性の陰陽を分類し出力する。
【実施例２】
【００４６】
（化合物特性予測の深層学習装置）
本発明の化合物特性予測の深層学習装置の一実施形態の機能ブロック図を、図１０に示す。
本実施例の化合物特性予測の深層学習装置１は、事前学習実行部２と、学習実行部３と、分子構造データを有する人工化合物データベース４と、教師データを有する化合物データベース５を備える。
事前学習実行部２は、人工化合物データベース４の人工化合物データを入力し、分子構造データをグラフ化してグラフデータに変換し、グラフデータから部分グラフを抽出し、部分グラフの有無を用いて分子構造データをベクトル化し、ベクトル化した分子構造データを用いて、多層ニューラルネットワークの重みを事前学習する機能を有する。実施例１と同様、事前学習実行部２は、特性予測用多層ニューラルネットワーク７の層数に応じた数のオートエンコーダ６を用いて各層に初期重みとして設定する重みを事前学習する。
学習実行部３は、特性予測用多層ニューラルネットワーク７に、事前学習した重みを初期重みとして設定し、教師データを有する化合物データベース５の化合物データを入力し重みを学習する。
【実施例３】
【００４７】
（化合物特性の予測精度の評価について）
実施例１の化合物特性予測の深層学習方法で学習した特性予測用多層ニューラルネットワークに、変異原性が未知のデータを入力し、変異原性の陰陽を分類し出力することにより、化合物特性の予測精度を評価した結果について説明する。
特性予測用多層ニューラルネットワークは、５層とし、各層の次元数（要素数）は、第１層目はMUTAGのデータセット188個の化合物の特徴数である6623個、第２層目は1655個、第３層目は413個、第４層目は２５個、第５層目は変異原性の陰陽を表す要素１個とした。１回の学習に、特性予測用多層ニューラルネットワークに入力する化合物データ数（以下、バッチサイズという）は、１０，２０，３０の３種類について評価実験を行った。ここで、バッチサイズを用いたのは、１回で全てのサンプルデータを入力するよりも、幾つかに分割してデータ入力する方が予測精度を高めることが知られているからである。また、訓練データを繰り返して学習する数（以下、エポック数という）も、１０，２０，３０の３種類について評価実験を行った。
【００４８】
事前学習に用いる人工化合物データは、最大1660億個の人工化合物データを有するが、評価では、MUTAGの化合物はニトロベンゼンを含む化合物であることから、人工化合物も同様にニトロベンゼンを含むものに限定し、40718個の人工化合物データを用いた。
図１１を参照して、化合物特性の予測精度の評価実験について説明する。図１１に示すように、オートエンコーダの数は、特性予測用多層ニューラルネットワークが５層であることから、４個（＝５−１）であり、第１〜第４のオートエンコーダの中間層の次元数（特徴数）は、特性予測用多層ニューラルネットワークの各層の次元数（特徴数）に従うので、1655個、413個、２５個、１個である。オートエンコーダのバッチサイズは、100，200の２種類とし、エポック数は５，１０の２種類について評価実験を行った。
評価実験では、バッチサイズとエポック数を変化させ、多層ニューラルネットワークの層数と次元数（特徴数）は固定して、予測精度が最大となるパラメータを探索した。
【００４９】
まず、事前学習を行わないで、MUTAGのデータセットを用いて特性予測用多層ニューラルネットワークを学習させ、学習させた特性予測用多層ニューラルネットワークに、変異原性が未知のデータを入力し、変異原性の陰陽を予測させた精度を評価した結果について説明する。
特性予測用多層ニューラルネットワークのエポック数を１０，２０，３０、バッチサイズを１０，２０，３０としたときの全通りの正答率を調べた結果を下記表３に示す。表３に示すように、事前学習をしないで学習をしたときには、エポック数を１０、バッチサイズを３０としたときに最大の正答率82.23％となった。ここで、正答率は、“変異原性が陽性のものを陽性と分類したサンプル数”と“変異原性が陰性のものを陰性と分類したサンプル数”の和を、全サンプル数で除算して得た割合である。また、188個のデータの内、約150個のデータを用いて、特性予測用多層ニューラルネットワークの学習を行い、残りのデータで正解率を求めた。
【００５０】
【表３】
2020009203.tif 000005
【００５１】
次に、人工化合物データを用いて事前学習を行った後、MUTAGのデータセットを用いて特性予測用多層ニューラルネットワークを学習させ、学習させた特性予測用多層ニューラルネットワークに、変異原性が未知のデータを入力し、変異原性の陰陽を予測させた精度を評価した結果について説明する。
事前学習におけるオートエンコーダのエポック数を５，１０、バッチサイズを100，200、特性予測用多層ニューラルネットワークのエポック数を１０，２０，３０、バッチサイズを１０，２０，３０としたときの全通りの正答率を調べた結果を下記表４に示す。表４では、オートエンコーダの４通りの設定（エポック数５，１０、バッチサイズ100，200）における各設定での最大の正答率を太字で示す。表４に示すように、オートエンコーダのエポック数を５、バッチサイズを200、特性予測用多層ニューラルネットワークのエポック数を１０、バッチサイズを２０としたときに最大の正答率84.68％となった。
すなわち、人工化合物データを用いて事前学習を行った特性予測用多層ニューラルネットワークと、事前学習を行わずに学習した特性予測用多層ニューラルネットワークの正答率を比べると、人工化合物データを用いて事前学習を行うことにより、約２％の正答率の向上が確認できた。また、事前学習しなかった場合の誤答率（＝100％−正答率82.23％）は17.77％であったのに対して、人工化合物データで事前学習した場合の誤答率は15.32％（＝100％−正答率84.68％）であり、誤答率を１／７減少できたことを確認した。この差が有意であるかを確認するために、マクネマー検定を行ったところ、有意確率Ｐ＝0.0338となった。
【００５２】
【表４】
2020009203.tif 000006
【産業上の利用可能性】
【００５３】
本発明は、新しい薬剤の探索のための特性（薬理活性，毒性や発がん性，副作用）予測方法として有用である。
【符号の説明】
【００５４】
１  化合物特性予測の深層学習装置
２  事前学習実行部
３  学習実行部
４  人工化合物データベース
５  教師データを有する化合物データベース
６  オートエンコーダ
７  特性予測用多層ニューラルネットワーク
【図１】
2020009203.tif 000007
【図２】
2020009203.tif 000008
【図３】
2020009203.tif 000009
【図４】
2020009203.tif 000010
【図５】
2020009203.tif 000011
【図６】
2020009203.tif 000012
【図７】
2020009203.tif 000013
【図８】
2020009203.tif 000014
【図９】
2020009203.tif 000015
【図１０】
2020009203.tif 000016
【図１１】
2020009203.tif 000017