🖥️

【AI創薬】AlphaFold3の論文を読んでみる

2024/09/04に公開

AI創薬って何をするのか?という点を理解するために、DeepMindのAlphaFold3の論文を読んだので、内容と自分の追加調査を合わせてまとめ。
機械学習もタンパク質も素人が書いているので、間違っている可能性もあります。より知識がついた際には見直して修正したいと思いますが、もし気になる点がありましたらご指摘ください。

本文

https://www.nature.com/articles/s41586-024-07487-w

Abstract

Diffusion-based architectureの深層学習モデル1個で、「タンパク-リガンド相互作用」、「タンパク-核酸相互作用」、「抗体-抗原相互作用」といった、異なるモダリティの相互作用を高精度に予測できる。

Introduction

Research Question

複数種類(モダリティ)の生体分子の相互作用を、高精度に予測できるか?

Previous Work

Physics-inspired methods ⇒ 特化しすぎて、複数モダリティだと適用できない
Deep learning attempts ⇒ 精度低い

This Work

AlphaFold3を開発した。複数種類の生体分子が混ざっていても、高精度に相互作用を予測できる。AlphaFold2から、より一般的な化学構造に対応&学習効率化するようにアーキテクチャを変えている。

Method

学習ブロック1 "Pairformer"

Pairwise representationからPairwise representationを生成する。AlphaFold2で必要だった"MSA representation" を埋め込むことで、計算量を大幅に減らしている。

<ここから自分調査>
"Multiple-Sequence Alignment (MSA) representation"について:
バイオインフォマティクス業界で、2つ以上のDNA/RNA/タンパク質の類似度を調べる為に配列を並べて最も一致する箇所を探す工程を、"Sequence Alignment"という。2つの配列であればPairwise Alignment、3つ以上の配列であればMultiple-Sequence Alignmentという。また、その並べた後の情報(?)の表し方を、Representationという。
https://en.wikipedia.org/wiki/Multiple_sequence_alignment

埋め込み(Embedding)について:
Embedとは、自然言語処理の文脈では、単語・テキストなどを、ニューラルネットワークが扱いやすい低次元の数値ベクトルに変換する処理のこと。今回で言えば、ドメイン知識色が強いMSA representationを、より低次元で計算量を減らせるPairwise representationに変換する処理を指していると考えられる。
<ここまで自分調査>

学習ブロック2 "Diffusion Module"

Pairwise representationから、Raw Atom Coordinatesを生成する。AlphaFold2で必要だったアーキテクチャの複雑さや、立体化学のドメイン知識でチューニングする必要のあるペナルティ項とかを抹消できた。

<ここから自分調査>
拡散モデルとは、2021年頃に登場した生成モデルの一種で、ガウシアンノイズから画像や音声を生成するネットワークを学習する手法。ここでは、バイオ分子の原子座標を生成するように学習させていると思われる。
https://qiita.com/iitachi_tdse/items/6cdd706efd0005c4a14a
<ここまで自分調査>

工夫点

  1. 拡散モデルを使うと"Hallucination"が起こるので、AlphaFold2で予測した構造を教師データとして制限をかけることで解消した。なお、このように、大きいモデル(AlphaFold2)の入出力データをより小さいモデル(AlphaFold3)の学習に使うことで、大きいモデルの精度に匹敵する小さいモデルを作ることを蒸留(Distillation)と呼ぶ。

<ここから自分調査>
拡散モデルにおけるHallucinationとは、離散的なモードを持つ実世界データを学習したときに、モード間の「内挿」がどうしても発生してしまう現象のこと。これだけ言われてもさっぱり分からないが、以下の論文のFig1がとても分かりやすかった。巷で騒がれている「AI画像では指が6本に増える!!」という言説の理由。例えばこの事例であれば、「指は5本である(≒このモードは必ず離散的であるべし)」というドメイン知識を導入することで解消される。そう考えると、「AlphaFold3に、AlphaFold2 (Hallucinationは起こさない)を蒸留することで、Hallucinationを解消した」というのも論理的に正しい気がする。
https://arxiv.org/pdf/2406.09358
<ここまで自分調査>

  1. 拡散モデルを使うと出力層の誤差を「回帰」(予測?)することができないので、"Rollout"工程を入れて対応した。

Result

複数のモダリティへの適用性

「タンパク質-リガンド」、「タンパク質-核酸」、「共有結合の修飾(?)」、「タンパク質-タンパク質」のほぼすべてにおいて、既存のモデルでの予測性能を上回った。

予測の信頼性の尺度を、一般的な評価尺度と照らし合わせて校正

AlphaFold3が出力する予測立体構造の"Confidence"を、より一般的な評価尺度としての"Accuracy"と一致しているかを調査して校正した。
DeepMindが提唱しているConfidence尺度(chain pair interface-predicted TM (ipTM) score)を、タンパク質-タンパク質ならDockQ、タンパク質-核酸ならLDDT、タンパク質-リガンドならRMSDが一定の閾値以下である割合と比較。その結果、どの尺度もchain scoreを使ってよく表せることが分かった。

<ここから自分調査>
Fig.4eに載っているPredicted Alignment Error(PAE)は、DeepMindが定義した立体構造予測信頼性の尺度。従来手法(Fig.4bと4d)で「信頼性が高い」と予測されている構造部分がDeepMindの尺度(Fig.4cと4e)でも「信頼性が高い」と予測されていて、従来手法で「信頼性が低い」と予測されている部分がDeepMind尺度でも「信頼性が低い」と予測されていることを確認している、と思われる。
https://en.wikipedia.org/wiki/Predicted_Aligned_Error
RMSDとは、バイオインフォマティクスにおいてタンパク質の立体構造の類似性を比較するための「原子位置の二乗平均平方根偏差」の意味、と思われる。
https://ja.wikipedia.org/wiki/原子位置の二乗平均平方根偏差
DockQは、タンパク質-タンパク質の結合モデルの信頼性を表す尺度で、[0,1]の範囲で表現され、高いほどそのモデルが信頼できることを示す、らしい。
https://journals.plos.org/plosone/article?id=10.1371/journal.pone.0161879
LDDTも、タンパク質の原子同士の距離を比較することで、タンパク質の立体構造の予測の信頼性を表す尺度らしい。
https://academic.oup.com/bioinformatics/article/29/21/2722/195896
すでに尺度があるのに新しい自社製の尺度を定義しようとしているのは、おそらくResearch Questionが「複数モダリティの相互作用予測に統一的に適用できる深層学習モデルを作ること」であり、であるなら、「その評価尺度も統一的でなければならない」と考えているからと思われる。
<ここまで自分調査>

モデルの制約

  1. 立体化学的な観点で限界がある。まず。間違えた鏡像異性体を生成することがある。鏡像異性体を間違えた場合のペナルティも導入したが、そのミスを消すことはできていない。また、原子座標が重なってしまうことがある。もちろんペナルティは導入したが、100%これを消せたわけではない。
  2. Disordered/Unstructuredな領域におけるHallucinationが発生する。AF2の蒸留で対応したが、100%なくなったわけではない。

<ここから自分調査>
Disorderedとは、特に生体内で特定の立体構造を取っていないタンパク質の配列領域のこと。高等生物によく見られるらしい。
https://www.jstage.jst.go.jp/article/biophys/47/4/47_4_248/_pdf
<ここまで自分調査>

  1. 本モデルで生成できるタンパク質の立体構造は、当然ながらPDBに登録されたものを由来としていて、生体内において動的に作用している最中の立体構造ではない。例えばUbiquitin Ligase E3というタンパク質は、アポ状態(タンパク質単体)ではopenな折り畳み構造を、ホロ状態(リガンドと結合した状態)ではclosedな折り畳み構造しかとらない。しかし、AlphaFold3は、アポ状態でもホロ状態でもclosedな構造しか予測できない。

<ここから自分調査>
「ホロ」とは、酵素本体のタンパク質に何かしら非タンパク性の分子が結合することで活性化している状態のこと。「アポ」とは、その分子が外れて活性を失っている状態のこと。
https://ja.wikipedia.org/wiki/ホロ酵素
<ここまで自分調査>

  1. 特に抗体-抗原の立体構造予測の場合に、より多くの乱数のシードから始めることで予測の精度が上昇していくことが確認されていて、より大量の計算資源が必要になるかもしれない。

Discussion

  • 複数種類の生体分子の相互作用を高精度に予測できる、統一された深層学習のアーキテクチャを開発した。

Discussion