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
非機能品質を作り込むための実践アーキテクチャ
knih
3
950
大幅アップデートされたRagas v0.2をキャッチアップ
os1ma
2
520
統計データで2024年の クラウド・インフラ動向を眺める
ysknsid25
2
840
組織に自動テストを書く文化を根付かせる戦略(2024冬版) / Building Automated Test Culture 2024 Winter Edition
twada
PRO
13
3.6k
10個のフィルタをAXI4-Streamでつなげてみた
marsee101
0
160
Amazon Kendra GenAI Index 登場でどう変わる? 評価から学ぶ最適なRAG構成
naoki_0531
0
100
5分でわかるDuckDB
chanyou0311
10
3.2k
Wantedly での Datadog 活用事例
bgpat
1
430
10分で学ぶKubernetesコンテナセキュリティ/10min-k8s-container-sec
mochizuki875
3
330
終了の危機にあった15年続くWebサービスを全力で存続させる - phpcon2024
yositosi
0
280
Microsoft Azure全冠になってみた ~アレを使い倒した者が試験を制す!?~/Obtained all Microsoft Azure certifications Those who use "that" to the full will win the exam! ?
yuj1osm
2
110
プロダクト開発を加速させるためのQA文化の築き方 / How to build QA culture to accelerate product development
mii3king
1
260
Featured
See All Featured
Bash Introduction
62gerente
608
210k
Scaling GitHub
holman
458
140k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
127
18k
Optimizing for Happiness
mojombo
376
70k
GraphQLの誤解/rethinking-graphql
sonatard
67
10k
Fashionably flexible responsive web design (full day workshop)
malarkey
405
66k
Product Roadmaps are Hard
iamctodd
PRO
49
11k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
169
50k
Done Done
chrislema
181
16k
We Have a Design System, Now What?
morganepeng
51
7.3k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
59k
Building Better People: How to give real-time feedback that sticks.
wjessup
365
19k
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.