ころがる狸

ころがる狸のデータ解析ブログ

【機械学習+分子設計】分子生成モデルの主要トレンド

こんばんは。今日は材料科学・創薬分野で近年話題となっている機械学習を使った逆分子設計についてまとめてみたいと思います。逆分子設計というと、最初に望ましい機能を定義し、それに見合った材料を探索するという<機能>→<材料>の設計方針を指します。機械学習技術の進歩で注目を浴びるようになりましたが、率直に言って逆分子設計は機械学習の応用事例の中でも最も難しい技術の一つじゃないかなと思います。なぜなら逆分子設計は、複数の技術やドメイン知識を組み合わせた総合格闘技の様相を呈しているからです。以下の論文を例にとって見てみましょう。
arxiv.org

f:id:Dajiro:20200526234732p:plain
グラフ畳み込み方策ネットワークの概念図。引用元論文の図1に加筆。
こちらの図は論文で提案されているモデルのワークフローです。やっていることは、分子構造をグラフとして表現し、強化学習を用いて物性を最適化するように報酬を与え、原子や化学結合を追加して分子を構成する、といった内容です(だと思います・・・)。この内容を理解するためには

  • 強化学習(特に方策勾配法による戦略の最適化)
  • グラフ畳み込みニューラルネットワーク(分子をグラフとして表現する)
  • 敵対的生成ネットワーク(分子らしさを識別器で評価し報酬を与える)
  • 材料科学の基礎知識(化合物の電荷中性など)

の4点は少なくとも知っておかなければなりません。1つを覚えるだけでも相当な学習コストが掛かるのに、これが4つとなると、一つの論文を読むのも一苦労です。というわけで、以下のレビュー論文を元にこの分野のトレンドをざっと把握しておこうと思った次第です。
science.sciencemag.org

分子設計3つのアプローチ

f:id:Dajiro:20200526001236p:plain
分子設計の方法(上記論文図2より引用)

ここでは3通りの分子設計のアプローチが要約されています。分子設計をする上では、化合物は原子のまとまりからなるChemical Space(化学空間)の中の点とみなすことができます。またその化合物が示す物性もまた、機能を表すFunctional Space(機能空間)の中の点とみなすことができます。従来手法と最新の手法では、分子設計する上でどちらの空間からスタートするか、というスタンスの違いがあります。

実験・シミュレーションによる直接設計

直接設計では、まずは何らかの化合物を想定し、それを実験により合成・物性を測定したり、第一原理計算などによりシミュレーションすることで物性を予測します。つまり化学空間の点からスタートし、それが機能空間のどこに位置するのかを明らかにして最適な物性に近づいていくという方向性を取ります。高温超伝導体の探索など、計算による予測が難しい場合この指針は有用だと思います。

ハイスループットバーチャルスクリーニング

データ駆動科学の理念を取り入れ、自動化したハイスループット計算によりデータベースを作成したり、大量のデータセットから何らかの基準(合成可能性・毒性・バンドギャップ等の物性)に従い材料をフィルタリングし、研究者による判断を加えながら材料を選択します。その後実験により分子を実際に合成・物性測定します。機能の予測に基づき化合物を合成することから、逆分子設計と呼ばれます。

最適化・進化的アルゴリズム・生成モデル

人工知能の力を使い、より効率的に材料を選択したり、生成したりします。この場合は分子設計者が求める機能を始めに定義し、その性能に見合う材料を進化的アルゴリズムや機械学習の手法を使って効率的に探索したり自動生成したりします。上のハイスループットスクリーニングでは候補材料の物性を網羅的に探索しましたが、ここでは見込みのある材料に絞って探索が行われます。これこそが近年急速に進歩している逆分子設計の考え方です。

近年の逆分子設計方法

f:id:Dajiro:20200526002446p:plain
分子生成モデルの分類(上記論文図4より引用)
すでに簡単に触れましたが、近年の逆分子設計は複数の技術をミックスした総合格闘技のような側面があります。とはいえ、個々の要素技術をしっかりと学べば理解できないということもないですし、ある程度目にする技術にもパターンがあります。それが、変分自己符号化器(VAE), 強化学習(RL), 敵対的生成ネットワーク(RL)です。なお本論文は2年前のものなのでやや内容が古くなっています。2020年現在ではこれに加えてグラフ畳み込みニューラルネットワーク(GCN)を入れていいと思います。技術の詳細な説明をするとあまりに長くなりますし私にはできそうもないので(汗)、かいつまんで見ていきましょう。

変分自己符号化器(VAE)

VAEは生成モデルの一種です。一気に話が飛びますが、データが高次元のガウス分布から生成されると解釈します。ガウス分布は平均・分散を与えれば形が決まるので、学習時にはその平均・分散を隠れ層に入れて学習できるようにします。

という風に付け焼刃の知識で語りましたが、分子設計の論文を読んでるとVAEは時々目にするキーワードです。分子の表現としては、SMILESのようなテキストベースの記法やグラフが用いられるようです。

強化学習(RL)

強化学習は、エージェントという学習の主体者が、与えられる報酬を最大化するように行動や戦略を学習したり、状態や行動の価値を正しく見積もれるように学習します。戦略の学習には方策勾配法、価値の学習にはQラーニングという考え方が用いられます。方策勾配法ベースのものだと、本記事の冒頭に掲載した論文がまさに代表的なもので、Qラーニングベースだと以下のような論文が良く読まれているようです。こちらも、エージェントの行動として原子を追加したり、化学結合を追加・削除することで分子を構成しています。また、報酬としては薬剤らしさ(drug-likeness)などのパラメータを与えてそれを最大化するようにエージェントが訓練されます。この報酬の計算には、RDkitなどの外部ライブラリが良く用いられている印象があります。
www.nature.com

敵対的生成ネットワーク(GAN)

分子を生成する生成器と、それが学習データ由来か生成器由来かを見分ける識別器と呼ばれるニューラルネットワークを交互に訓練することによって、より本物らしい分子を生成できるようにします。強化学習と合わせて活用することで所望の物性を持つ分子が生成されます。典型例だとMolGANなどがあり、分子をグラフとして表現するための隣接行列を生成しています。
arxiv.org

グラフ畳み込みニューラルネットワーク(GCN)

このレビューではあまり細かく紹介されてませんが、分子を対象に機械学習する手法としてグラフ畳み込みニューラルネットワークがここ数年目覚ましい進歩を遂げています。これは分子をグラフとして見立て、原子(グラフの頂点に対応)のまわりの情報を受け取りながら特徴量を更新するという手続きを一般に取ります。これにより高い物性予測精度が報告されています。GANやRLの枠組みに組み込まれることで、さらに適用範囲が広がっている気がします。最近ではテキストベースのSMILESよりも活用されているのではないでしょうか。
GCNに関しての入門記事は以前本ブログでも取り上げました。
dajiro.hatenablog.com

所感

機械学習による逆分子設計はかなり新しい分野なので、化合物探索技術としてどれ位のポテンシャルがあるのか良く分かりません。しかし、今後10年以内にこのような逆分子設計で高機能分子が実際に合成されるようになるのはほぼ確実だと思いますし、アカデミアだけでなく一部の先進的な材料・創薬メーカーは逆分子設計を日常的に行っているはずです。これからどんどん発展する分野なので今のうちにしっかりキャッチアップしておきたいです。