Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Elix, AI創薬入門ウェビナー, 分子構造生成モデルの基本とその動向
Search
Elix
June 08, 2023
Technology
0
810
Elix, AI創薬入門ウェビナー, 分子構造生成モデルの基本とその動向
2023年6月8日に実施いたしました「AI創薬入門ウェビナー」の講演資料となります。
Elix
June 08, 2023
Tweet
Share
More Decks by Elix
See All by Elix
SynthFormer: A Customizable Framework for Virtual Synthesis-Based Molecule Generation, Elix, CBI2024
elix
0
12
Optimization of Generator Reward Function Settings for Non-covalent KRAS Inhibitors, Elix, CBI2024
elix
0
31
Open Molecule Generator: A Multipurpose Molecule LLM, Elix, CBI2024
elix
0
12
Elix, CBI2024, スポンサードセッション, Molecular Glue研究の展望:近年の進展とAI活用の可能性
elix
0
92
Elix, CBI2024, ランチョンセミナー, 創薬における連合学習の応用
elix
0
10
Elix, 第1回 AIDD Wednesday, ⼩規模データセットを⽤いた 予測モデルの訓練について
elix
0
490
Molecular Generation of Non-covalent KRAS Inhibitor Candidates Using Machine Learning on Elix Discovery™, Elix, 8th Autumn School of Chemoinformatics, Nara
elix
0
190
Elix, CBI 2023, ランチョンセミナー, 大規模言語モデルの基本から最前線へ
elix
0
350
Efficient and Scalable Framework for Activity Prediction with kMol, Elix, CBI 2023
elix
0
160
Other Decks in Technology
See All in Technology
Jetpack Composeで始めるServer Cache State
ogaclejapan
2
170
新機能VPCリソースエンドポイント機能検証から得られた考察
duelist2020jp
0
220
多領域インシデントマネジメントへの挑戦:ハードウェアとソフトウェアの融合が生む課題/Challenge to multidisciplinary incident management: Issues created by the fusion of hardware and software
bitkey
PRO
2
100
KubeCon NA 2024 Recap: How to Move from Ingress to Gateway API with Minimal Hassle
ysakotch
0
200
kargoの魅力について伝える
magisystem0408
0
210
Snowflake女子会#3 Snowpipeの良さを5分で語るよ
lana2548
0
230
Amazon Kendra GenAI Index 登場でどう変わる? 評価から学ぶ最適なRAG構成
naoki_0531
0
110
LINEスキマニにおけるフロントエンド開発
lycorptech_jp
PRO
0
330
10分で学ぶKubernetesコンテナセキュリティ/10min-k8s-container-sec
mochizuki875
3
330
DevOps視点でAWS re:invent2024の新サービス・アプデを振り返ってみた
oshanqq
0
180
マルチプロダクト開発の現場でAWS Security Hubを1年以上運用して得た教訓
muziyoshiz
3
2.3k
ガバメントクラウドのセキュリティ対策事例について
fujisawaryohei
0
530
Featured
See All Featured
Raft: Consensus for Rubyists
vanstee
137
6.7k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
28
2.1k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
48k
Bootstrapping a Software Product
garrettdimon
PRO
305
110k
Being A Developer After 40
akosma
87
590k
Code Reviewing Like a Champion
maltzj
520
39k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
10
810
Six Lessons from altMBA
skipperchong
27
3.5k
Building a Scalable Design System with Sketch
lauravandoore
460
33k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
28
900
Visualization
eitanlees
146
15k
Why You Should Never Use an ORM
jnunemaker
PRO
54
9.1k
Transcript
Copyright © Elix, Inc. All rights reserved. 分⼦構造⽣成モデルの 基本とその動向 2023/06/08
株式会社Elix リサーチエンジニア 井上 貴央
Copyright © Elix, Inc. All rights reserved. 医薬品をはじめとする機能性化合物の構造設計には試⾏錯誤が必要で、時間とコストがかかる ➔ 構造設計の⼿順を効率化できると便利
機能性化合物の開発プロセス 2 成功! 構造設計 合成 試験 失敗……
Copyright © Elix, Inc. All rights reserved. 構造⽣成器: ある種の構造⽣成規則を⽤いてコンピュータ上で分⼦構造を発⽣させるプログラム 構造⽣成器を⽤いることで多数の分⼦構造を⽣成できる
多数の分⼦構造を含む⽣成構造群から、所望の性質を持つと期待される有望な化合物群を抽出する ➔ 有望化合物群に対して試験することで、構造設計の⼿順を効率化できると期待される 構造⽣成器 3 構造⽣成器 ⽣成構造群 有望化合物群 抽出 ⽣成
Copyright © Elix, Inc. All rights reserved. 与えられたデータセットから⾃動抽出された、 統計的な構造⽣成規則を⽤いた深層⽣成モデル 訓練データセットにおける分⼦構造の現れやすさ
(データ⽣成分布) を表現することが可能 6員環と27員環では6員環の⽅が現れやすい、 C原⼦とS原⼦ではC原⼦の⽅が分⼦内に多く含まれている、など 分⼦構造の特徴には⼀定の傾向がある ➔ 現れやすい分⼦構造に対して、⾼い確率値が割り当てられる ➔ 訓練済みモデルからのサンプリングで、訓練サンプルらしい (が新規な) 分⼦構造を⽣成できる 以降では、深層構造⽣成器の種類や応⽤について 簡単にレビューする 深層構造⽣成器 4 構造⽣成規則 ⽣成 ⽣成構造群 深層構造⽣成器 分⼦構造 データセット 規則の抽出
分⼦構造の表現⽅法 5
Copyright © Elix, Inc. All rights reserved. 分⼦構造の主な表現⽅法 6 CC(=O)Nc1ccccc1
深層構造⽣成器の⼊出⼒に利⽤される分⼦構造の表現⽅法は、主に3種類ある • ⽂字列による表現 • 分⼦グラフによる表現 • 3次元座標による表現
Copyright © Elix, Inc. All rights reserved. ⽂字列による表現 7 •
⽂字列はトークンと呼ばれる最⼩の構成単位が並んだもの ◦ トークンは⾃然⾔語における単語に相当 ◦ SMILES⽂字列では元素ごとに⼀つのトークンをなすと考えることが多い • 分⼦構造を出⼒するのに扱いやすい ◦ 既に得られた⽂字列に続くトークンを確率的に出⼒ (⾔語モデル) • 多くのモデルで利⽤されているのはSMILES⽂字列 ◦ ⼀定の⽂法に従ってトークンが並んでいる • SMILESの⽂法に従わない⽂字列は、分⼦構造を表現しない無効な⽂字列 ➔ SMILES⽂字列の代わりにSELFIES[1]を⽤いたり、⽂法を考慮できるモデル (e.g., Grammar VAE[2], SD-VAE[3]) を利⽤するなどの⼯夫がなされている CC(=O)Nc1ccccc1 [1] M. Krenn, et al. Mach. Learn.: Sci. Technol. 1.4, 045024 (2020). [2] M. J. Kusner, et al. ICML PMLR (2017). [3] H. Dai, et al. ICLR (2018).
Copyright © Elix, Inc. All rights reserved. 分⼦グラフによる表現 8 •
分⼦グラフ: 原⼦・結合を頂点・辺に対応させてできる (連結な) グラフ ◦ 実体は、隣接⾏列と原⼦・結合の種類を表す多次元配列の組 ◦ 環や枝分かれといった構造の情報を明⽰的に表現できる • 分⼦グラフの出⼒⽅法 | ◦ ⼀括⽣成: 隣接⾏列などの数値データを⽣成 ◦ 逐次⽣成: 既に得られた部分グラフに原⼦・結合を確率的に追加しながら⽣成 • 分⼦グラフの各頂点は価数制約を満たす必要がある ◦ ⼀括⽣成: 価数制約を満たさない無効なグラフが⽣成しやすい ◦ 逐次⽣成: 追加する原⼦・結合に制約をかけることで有効なグラフを ⽣成しやすい CC(=O)Nc1ccccc1
Copyright © Elix, Inc. All rights reserved. 3次元座標による表現 9 •
分⼦を構成する各原⼦の種類と位置 (3次元座標) を記録した点群データ ◦ 分⼦構造のコンフォメーションなど、⽴体的な情報を表現しやすい • 3次元座標の出⼒⽅法 | ◦ ⼀括⽣成: 点群を⼀度に⽣成 ◦ 逐次⽣成: 既に得られた点群データに新たな原⼦を確率的に追加しながら⽣成 • 点どうしの距離を利⽤して、点群データから分⼦グラフを構成できる ◦ 点群データから構成した分⼦グラフは価数制約を満たす必要がある CC(=O)Nc1ccccc1
⽣成モデルの種類 10
Copyright © Elix, Inc. All rights reserved. モデルの種類による深層構造⽣成器の分類 11 深層構造⽣成器で利⽤されている典型的なモデルの種類は以下のとおり
• ⾃⼰回帰型モデル • 変分オートエンコーダ (VAE) • 敵対的⽣成ネットワーク (GAN) • フローベースモデル • 拡散モデル • エネルギーベースモデル これらは単独に⽤いられたり、組み合わせて⽤いられたりする 以下、具体的な深層構造⽣成器を挙げながら概要を紹介する
Copyright © Elix, Inc. All rights reserved. ⾃⼰回帰型モデル 12 •
現在の状態を⼊⼒すると、状態を修正する操作の確率を算出できるモデル ◦ 状態: ⽣成途中の⽂字列・分⼦グラフ構造・点群 ◦ 状態を修正する操作: ▪ ⽂字列 | 現在の⽂字列の次に現れるトークン ▪ 分⼦グラフ | 原⼦・結合の追加 (追加する位置と種類を決定) ▪ 3次元座標 | 原⼦の追加 (座標と種類を決定) • サンプリングした操作で現在の状態を繰り返し修正していく ➔ ⽣成終了に対応する操作がサンプリングされた段階で⽣成完了 • 訓練サンプルを⽣成する操作をサンプリングしやすくするように、 ネットワークを訓練する Cl c 1 c c c c ⼊⼒ (⽣成途中) ⾃⼰回帰型 モデル c: 50 % C: 0.7 % n: 20 % ộ [EOS]: 0.2% 出⼒ (各操作の選択確率) Cl c 1 c c c c c 修正された⼊⼒ サンプリング
Copyright © Elix, Inc. All rights reserved. • ⽂字列 |
ChemTS[1], REINVENT[2] ◦ SMILES⾔語モデル + 強化学習で所望の物性・活性を持つ分⼦を⽣成 • 分⼦グラフ | DGMG[3], GraphINVENT[4] ◦ 原⼦種のサンプリングと結合種・位置のサンプリングを繰り返す • 3次元座標 | G-SchNet[5] ◦ 原⼦種のサンプリングと配置する位置のサンプリングを繰り返す ⾃⼰回帰型モデルの例 13 [1] X. Yang, et al. Sci. Technol. Adv. Mater. 18.1 972‒976 (2017). [2] M. Olivecrona, et al. J. Cheminform. 9.1 1‒14 (2017). [3] Y. Li, et al. arXiv preprint arXiv:1803.03324 (2018). [4] R. Mercado, et al. Mach. Learn.: Sci. Technol. 2.025023 (2021). [5] N. Gebauer, et al. NeurIPS 32 (2019).
Copyright © Elix, Inc. All rights reserved. 変分オートエンコーダ (VAE) 14
• 潜在変数と呼ばれる低次元の数値ベクトルからサンプルを⽣成するモデル • 役割の異なる2種類のネットワークから構成される: ◦ エンコーダ | サンプル ➔ 潜在変数 に変換 ◦ デコーダ | 潜在変数 ➔ サンプル に変換 • サンプルから求めた潜在変数から元のサンプルが再構成しやすくなるよう、 エンコーダとデコーダを同時に訓練 ➔ 潜在変数を分⼦構造の数値表現とみなすことが可能 • 訓練後は、ランダムにサンプリングした潜在変数をデコーダに⼊⼒して⽣成 ➔ 訓練サンプルを再構成し易い潜在変数が得られているはずなので、 ⽣成構造は訓練サンプルらしいものになる ⼊⼒ 再構成された ⼊⼒ 潜在変数 エンコーダ デコーダ
Copyright © Elix, Inc. All rights reserved. • ⽂字列 |
Chemical VAE[1] ◦ SMILES⽂字列を⼊出⼒に⽤いたシンプルなVAE • 分⼦グラフ | Junction-Tree VAE[2] ◦ 部分構造のつながりを表現するジャンクション⽊と分⼦グラフ それぞれに対するVAEで構造⽣成 • 分⼦グラフ | PS-VAE[3] ◦ エンコーダは部分構造の情報を含む分⼦グラフを潜在変数に変換、 デコーダは部分構造群を⽣成してから結合の存在予測モデルで 部分構造どうしを結びつける VAEの例 15 [1] R. Gómez-Bombarelli, et al. ACS Cent. Sci. 4.2 268‒276 (2018). [2] W. Jin, et al. ICML PMLR (2018). [3] X. Kong, et al. NeurIPS 35 (2022): 2550-2563.
Copyright © Elix, Inc. All rights reserved. 敵対的⽣成ネットワーク (GAN) 16
• 低次元の潜在変数からサンプルを⽣成するモデル • 役割の異なる2種類のネットワークから構成される: ◦ ジェネレータ | 潜在変数 ➔ サンプル に変換 ◦ ディスクリミネータ | ⽣成サンプルか訓練サンプルかを判定 • ⼆つのネットワークを競い合わせるように訓練: ◦ ジェネレータは、ディスクリミネータが判定を誤りそうな (訓練サンプルらしい) サンプルを⽣成できるようにする ◦ ディスクリミネータは、判定を誤らないようにする • ジェネレータで分⼦構造を逐次的に⽣成する場合は、 ジェネレータを訓練できるようにするために強化学習と 併⽤することがふつう 潜在変数 ジェネレータ ⽣成 サンプル 訓練 サンプル 訓練 データセット ディスクリミネータ 0.87 ⼊⼒が 訓練サンプル である確率
Copyright © Elix, Inc. All rights reserved. • ⽂字列 |
ORGANIC[1] ◦ ⾔語モデルによるジェネレータを強化学習で訓練 • 分⼦グラフ | GCPN[2] ◦ 分⼦グラフ⽣成の⾃⼰回帰型モデルを強化学習で訓練 • 分⼦グラフ | DrugGEN[3] ◦ ⼀般の分⼦構造を⽣成するGANとターゲットタンパク質に 対するリガンドを⽣成するGANを繋げて、 ターゲットに対するリガンドを⽣成 GANの例 17 [1] B. Sanchez-Lengeling, et al. ChemRxiv preprint chemrxiv.5309668.v3 (2017). [2] J. You, et al. NeurIPS 31 (2018). [3] A. Ünlü, et al. arXiv preprint arXiv:2302.07868 (2023).
Copyright © Elix, Inc. All rights reserved. フローベースモデル 18 •
潜在変数に複数の可逆な変数変換を適⽤してサンプルを⽣成するモデル ◦ 変数変換のパラメータにニューラルネットワークを利⽤ ▪ 利⽤する変数変換の種類によってバリエーションがある ◦ 単純な潜在変数の分布 (e.g., 正規分布) を変数変換して、複雑なデータ⽣成分布 を表現できるようにする • 尤度 (訓練サンプルが現在のモデルからどの程度得られやすいか) を正確に計算可能 ◦ サンプルの尤度を⾒れば「訓練サンプルらしさ」を評価できる • 訓練サンプルらしいサンプルを⽣成できるようにするため、 訓練サンプルに対する尤度を最⼤化するように訓練 ⽣成 サンプル 潜在変数 ộ ộ 可逆な 変数変換
Copyright © Elix, Inc. All rights reserved. • 分⼦グラフ |
GraphNVP[1] ◦ 原⼦・結合の種類を表す多次元配列を⽣成する 2種類のフローベースモデルを組み合わせて、 分⼦グラフを⼀括⽣成 • 分⼦グラフ | SiamFlow[2] ◦ 原⼦・結合の種類を表す多次元配列を⽣成する 2種類のフローベースモデルに、ターゲットタンパク質の アミノ酸配列の情報を付加することで、 ターゲットに対するリガンド構造を⼀括⽣成 フローベースモデルの例 19 [1] K. Madhawa, et al. arXiv preprint arXiv:1905.11600 (2019). [2] C. Tan, et al. arXiv preprint arXiv:2202.04829 (2022).
Copyright © Elix, Inc. All rights reserved. 拡散モデル 20 •
Gauss型ノイズからノイズを逐次的に除去することでサンプルを⽣成するモデル ◦ サンプルにだんだんノイズがのる (拡散する) ことで結果的にGauss型ノイズ が得られたと考える ◦ 拡散の各段階でサンプルにかかっているノイズの量を推定するのに ネットワークを利⽤ • ネットワークの訓練では、訓練サンプルを適当な時刻分拡散させて (i.e., ノイズをのせて) できるサンプルから、添加されたノイズの量をうまく推定 できるようにする • 3次元構造を⽣成するものが中⼼ ◦ 分⼦構造が回転・平⾏移動などの操作が加わっても尤度が変化しないように、 適当な対称性を持ったモデルを利⽤することが多い ⽣成 サンプル Gauss型 ノイズ ộ ộ ノイズの 除去 𝜺! 𝜺!"# 𝜺#
Copyright © Elix, Inc. All rights reserved. • 3次元座標 |
E(3) EDM[1] ◦ E(3)対称性 (並進・回転・鏡映に関する対称性) を持った拡散モデルにより3次元構造を⼀括⽣成 • 3次元座標 | TargetDiff[2] ◦ タンパク質の構造を与えたうえで、SE(3)対称性 (並進・回転に関する対称性) を持った拡散モデルに より当該タンパク質に結合するような3次元構造を⼀括⽣成 • 3次元座標 | DiffLinker[3] ◦ 与えられたフラグメントに対して、 E(3)対称性を持った 拡散モデルにより、フラグメントを結びつけるリンカー の3次元構造を⼀括⽣成 拡散モデルの例 21 [1] E. Hoogeboom, et al. ICML PMLR, (2022). [2] J. Guan, et al. arXiv preprint arXiv:2303.03543 (2023). [3] I. Igashov, et al. arXiv preprint arXiv:2210.05274 (2022).
Copyright © Elix, Inc. All rights reserved. エネルギーベースモデル 22 •
データ⽣成分布 𝑝 𝒙 の代わりにサンプルに対するエネルギー 𝐸 𝒙 を ネットワークでモデル化することでデータ⽣成分布を間接的に表現 ◦ 𝑝 𝒙 = ! " exp − 𝐸 𝒙 (𝑍: 正規化定数) なので、 エネルギーが低いサンプル = 尤度が⾼いサンプル • ⽣成サンプルに対してはエネルギーを⾼くし、訓練サンプルに対しては エネルギーを低くするように訓練 ➔ エネルギーの低い領域からサンプリングすると訓練サンプルらしいものになる • エネルギーの設計によっては、物性・活性の単⽬的・多⽬的最適化も可能 ◦ 望ましい物性値を取る場合にエネルギーを低くするよう訓練 ◦ 複数の訓練済みモデルのエネルギーを⾜し合わせたエネルギーを利⽤して サンプリングすると、どのエネルギーも⼩さいようなサンプルが⽣成可能 𝐸 ⽣成 サンプル 訓練 サンプル エネルギー ベース モデル エネルギー 引き上げ エネルギー 引き下げ
Copyright © Elix, Inc. All rights reserved. • 分⼦グラフ |
GraphEBM[1] ◦ 原⼦・結合の種類を表す多次元配列を⽣成するエネルギーベースモデルで分⼦グラフを⼀括⽣成 エネルギーベースモデルの例 23 [1] M. Liu, et al. arXiv preprint arXiv:2102.00546 (2021).
Copyright © Elix, Inc. All rights reserved. ⽣成構造の制御 24 データセット・訓練⽅法・モデルの⼯夫で、⽣成される分⼦構造が適当な条件を満たすように制御できる
• 所望の⾻格を (ある程度) 有する構造の⽣成 ◦ 転移学習の利⽤ ▪ 所望の⾻格を含むデータセットで ファインチューニングすることで当該の ⾻格を含む構造が増加[1] ◦ 構造変換モデルの利⽤ ▪ 構造を⼊⼒すると、変換された構造が 出⼒されるモデル ▪ 許容される⼊出⼒のパターンを適切に 設定して訓練すれば、⼊⼒構造の⾻格を ある程度固定して構造⽣成できる • 所望の物性・活性を持つと予想される構造の⽣成 ◦ 予測モデルの同時訓練 ▪ (VAEなどで) 潜在変数から物性・活性を 予測するモデルを利⽤した潜在変数の 最適化 ◦ 強化学習の利⽤ ▪ (⾃⼰回帰型モデルなどで) 最適化したい 物性・活性を報酬として利⽤ [1] S. Zheng, et al. J. Cheminform. 11.1, 1‒12 (2019).
Copyright © Elix, Inc. All rights reserved. • 深層構造⽣成器: 分⼦構造のデータ⽣成分布をニューラルネットワークでモデル化したもの
• ⼊出⼒の分⼦構造の表現: ⽂字列, 分⼦グラフ, 3次元座標 • モデルの種類: ⾃⼰回帰型モデル, VAE, GAN, フローベースモデル, 拡散モデル, エネルギーベースモデル • ⽣成構造の制御: 所望の物性・活性を持つと予想される構造の⽣成, 所望の⾻格を (ある程度) 含む構造の⽣成 まとめ 25
参考⽂献 26
Copyright © Elix, Inc. All rights reserved. 参考⽂献 27 ⽣成モデルの理論的な部分について
知りたい⼈向け 第3章に、⽣成モデルに関する 話が簡潔にまとまっています • ⽣成モデル⼀般について • 化学での応⽤例について 化学分野での⽣成モデルについて紹介しています 左はモデルの仕組みを中⼼に、 右は具体的な応⽤例を中⼼にまとめています
Elix, Inc. https://elix-inc.com/ Copyright © Elix, Inc. All rights reserved.