2021 - AlphaFold2 蛋白質結構預測#
案件摘要#
2021 年 7 月,DeepMind 的 Jumper 等人在 CASP14(第 14 屆蛋白質結構預測競賽)發表 AlphaFold2:以端對端注意力網路(Evoformer)直接從胺基酸序列預測三維結構。中位 GDT_TS 達 92.4(GDT 100 = 完美重合)——而傳統實驗方法(冷凍電鏡、X 射線繞射)一個蛋白質要數年與百萬美元。這是五十年大問題的結案:1972 年 Anfinsen 提出的「序列決定結構」假說,被一個注意力網路在數分鐘內實現。核心公式是幾何約束的學習:
這是科學智能的巔峰案件:2024 年,Hassabis 與 Jumper 獲諾貝爾化學獎(與 Baker 共享)。
前因 -- 為什麼會有這個案子#
- 五十年大問題:蛋白質折疊——1972 年 Anfinsen 諾獎演說提出假說:蛋白質的天然三維結構完全由其胺基酸序列決定。序列已知,但從序列算出結構的「折疊密碼」五十年未破。
- 搜尋空間的殘酷: \(L\) 個殘基的構象空間天文數字(Levinthal 悖論:若隨機搜尋,宇宙年齡都不夠)——但蛋白質在數毫秒內自己折好,說明存在物理原理或動力學路徑可循。
- CASP 競賽的歷史:兩年一屆的結構預測奧林匹克,2018 年 CASP13 的 2021-AlphaFold蛋白質摺疊.md(AlphaFold1)已奪冠(GDT ~60),但仍是「協同進化特徵 + 梯度下降優化」的兩段式方法,且距離實驗精度遙遠。
- 前驅線索:共進化訊號——MSA(多序列比對)中,兩個在空間上相鄰的殘基會協同突變;DCA(direct coupling analysis, 2011)用統計物理從 MSA 推出殘基接觸圖。但 MSA 深度不足時訊號崩塌。
- 2017-Transformer注意力機制.md 的注意力恰好是「殘基對之間的關係學習器」——注意力矩陣天然對應殘基接觸。
- 動機:DeepMind 在 2016-AlphaGo擊敗李世乭.md 之後要證明「AI 能解決科學大問題」——Hasabis 的科學願景直指蛋白質折疊。
線索與推理 -- 數學式、程式、理論#
第一條線索:Evoformer——兩種表示的互相對質#
AlphaFold2 的核心是 Evoformer(48 層):同時維護兩種表示,並讓它們互相交換資訊:
| 表示 | 形狀 | 角色 |
|---|---|---|
| MSA 表示 | \(M \times L \times c\) | \(M\) 條同源序列 × \(L\) 個殘基的演化史 |
| Pair 表示 | \(L \times L \times c'\) | 每對殘基之間的關係(接觸圖、距離、方向) |
- 軸向注意力(axial attention):MSA 表示沿序列軸與沿序列間軸分別做注意力——把 \(O(M^2 L^2)\) 的全注意力壓成 \(O(ML^2 + M^2 L)\) ,48 層深網才訓得動。
- 三角更新(triangle update):pair 表示中,若 \(i\) - \(j\) 相鄰且 \(j\) - \(k\) 相鄰,則 \(i\) - \(k\) 的關係受幾何一致性約束——三角不等式被寫進網路:
這是「物理幾何先驗」被內化為架構的罕見設計:不是靠損失函數軟約束,而是架構本身強制幾何一致性。
第二條線索:端對端結構模組——從關係到座標#
Evoformer 之後,結構模組用不變點注意力(invariant point attention, IPA)把 pair 表示直接解碼成三維座標:
IPA 的巧妙之處:注意力在 SE(3) 等變的框架下計算——整體旋轉、平移不影響內部表示。訓練時以「反覆修正」(recycling):把上一輪的預測結構餵回輸入再修正,共 3 輪——像雕塑家反覆修整。損失函數的組合:
\(\mathcal{L}_{\text{FAPE}}\) (frame-aligned point error)在局部座標系中量測預測與真實殘基的偏差——對整體位姿不變。
第三條線索:從兩段式到端對端——AlphaFold1 的謀殺#
| AlphaFold1 (2018) | AlphaFold2 (2021) | |
|---|---|---|
| 方法 | 協同進化特徵 + 梯度下降幾何優化(兩段式) | 端對端注意力(Evoformer + 結構模組) |
| CASP 成績 | GDT ~60 | GDT 92.4 |
| 預測時間 | 數小時 | 數分鐘 |
| MSA 依賴 | 重度(深 MSA 才有訊號) | 中度(淺 MSA 也能預測) |
AlphaFold1 的兩段式被謀殺——兇手是端對端:特徵提取與幾何優化之間的斷層被注意力抹平。與 2017-Transformer注意力機制.md 在翻譯上、2021-ViT視覺Transformer.md 在影像上的判決同構:端對端 + 注意力 + 資料,打敗一切手工特徵工程。
第四條線索:置信度與科學誠信——pLDDT 的發明#
AlphaFold2 為每個殘基輸出置信度分數 pLDDT(0–100):高置信區域與實驗結構重合,低置信區域(固有序列區、無序區)自動標出。這是科學工具的關鍵設計:模型不只給答案,還告訴你哪裡的答案不可信。CASP14 評委的判詞:AlphaFold2 在多數目標上達到與實驗方法相當的精度——五十年大問題,在實務上宣告解決。
第五條線索:CASP14 現場——成績單的宣判#
CASP14 各方法在自由建模(FM)與 TBM 類目標上的中位 GDT_TS:
| 方法 | 中位 GDT_TS(全目標) |
|---|---|
| CASP13 最佳(AlphaFold1 系) | ~60 |
| CASP14 其他參賽組 | ~70(RoseTTAFold) |
| AlphaFold2 | 92.4 |
評委的比喻:「一瞬間從可見地平線躍升至與實驗結構難以區分」。且 AlphaFold2 的骨幹在無 MSA 的極端條件下仍能給出可用結構(靠端對端學習的序列先驗)——共進化訊號從「必需品」降格為「增益項」。對照實驗的成本帳:一個蛋白質的 X 射線繞射結構需 1–3 年與百萬美元,AlphaFold2 預測只需數分鐘與一枚 GPU。線索至此全部合攏,五十年大問題正式宣判。
結案 -- 後果與影響#
- 2021 年 7 月 DeepMind 開源 AlphaFold2 程式碼,並釋出 AlphaFold Protein Structure Database:至 2022 年已預測 2 億+ 個蛋白質結構(涵蓋幾乎所有已知蛋白質)——實驗界數十年的工作量被一次償清。
- 2024 年諾貝爾化學獎:Hassabis 與 Jumper 因蛋白質結構預測獲獎(與 Baker 的蛋白質設計共享)——AI 科學家的最高加冕。
- 科學智能的典範確立:Evoformer 的設計(兩種表示互質、幾何先驗內化、IPA)外溢到 RNA 結構、蛋白質複合體、材料科學——「表示 + 幾何 + 注意力」成為科學 ML 的模板。
- 蛋白質設計的閉環:2021-AlphaFold2(預測)→ RFdiffusion(設計,2023)→ 新藥與酶的從頭設計——預測反轉即設計,擴散模型(呼應 2020-DDPM擴散模型.md)在結構空間中生成新蛋白質。
- 藥物研發加速:靶點結構即時可得,結構導向藥物設計(SBDD)的成本驟降(見「科學與歷史/化學史/」「科學與歷史/生理醫學史/」的對應討論)。
- 演化生物學的意外紅利:MSA 表示中發現了「演化尺度上的語義」——蛋白質語言模型(ESM 系列)隨後證明不做 MSA、只讀序列也能預測結構,與 2018-BERT與GPT預訓練典範.md 的預訓練典範匯流。
- 主線伏筆:AlphaFold2 是「AI for Science」的旗艦——從蛋白質到材料、天氣(GraphCast)、核融合控制,科學的每一格都開始被智能模型佔領。本書的主題「智慧模型」在此案達到巔峰:一個模型承載的不是語言、不是影像,而是物質世界的結構知識。
關鍵人物與文獻#
- John Jumper:AlphaFold2 第一作者,2024 諾貝爾化學獎得主。
- Demis Hassabis:DeepMind 創辦人,2024 諾貝爾化學獎得主(見 2016-AlphaGo擊敗李世乭.md)。
- John Moult:CASP 競賽創辦人。
- David Baker:蛋白質設計(RoseTTAFold、RFdiffusion),2024 諾獎共享者。
- Jumper et al., Highly accurate protein structure prediction with AlphaFold, Nature, 2021。
- Senior et al., Improved protein structure prediction using potentials from deep learning(AlphaFold1), Nature, 2020(見 2021-AlphaFold蛋白質摺疊.md)。
- Anfinsen, Principles that govern the folding of protein chains, Science, 1973(五十年前假說)。
- Baek et al., Accurate prediction of protein structures using a three-track neural network(RoseTTAFold), Science, 2021。
- Watson et al., De novo design of protein structure with a diffusion model(RFdiffusion), Nature, 2023。
- 相關案件:2021-AlphaFold蛋白質摺疊.md、2020-DDPM擴散模型.md、2017-Transformer注意力機制.md、2016-AlphaGo擊敗李世乭.md(見「科學與歷史/人工智慧/」)
補充 -- 程式實作(python + numpy)#
本案鏈條第一步(MSA 共演化還原接觸對)的最小可執行版本,見 _code/2021-AlphaFold2.py(已實測可跑,CPU 秒級):
# 2021 - AlphaFold2: 共演化 -> 接觸 -> 結構 (DCA-lite 縮影)
import numpy as np
def mutual_info(msa, i, j, A=4):
joint = np.zeros((A, A))
for a, b in msa[:, [i, j]]:
joint[a, b] += 1
joint /= len(msa)
pi, pj = joint.sum(1, keepdims=True), joint.sum(0, keepdims=True)
nz = joint > 0
return float((joint[nz] * np.log(joint[nz] / (pi @ pj)[nz])).sum())
def main():
rng = np.random.default_rng(0)
L, N, TRUE = 10, 3000, [(1, 6), (2, 7)] # 真接觸對
msa = rng.integers(0, 4, (N, L))
for i, j in TRUE: # 埋入共演化: j 的字母由 i 決定 (加 20% 雜訊)
msa[:, j] = np.where(rng.random(N) < 0.8, (msa[:, i] + 1) % 4, msa[:, j])
MI = np.zeros((L, L))
for i in range(L):
for j in range(i + 1, L):
MI[i, j] = MI[j, i] = mutual_info(msa, i, j)
top = sorted([(MI[i, j], (i, j)) for i in range(L) for j in range(i + 1, L)],
reverse=True)[:4]
print("互信息最高的前4對 (位置, MI):", [(p, round(float(m), 3)) for m, p in top])
hit = sum(1 for _, p in top[:2] if p in TRUE or p[::-1] in TRUE)
print(f"真接觸對 {TRUE} 命中 {hit}/2 -- 共演化還原接觸 (Evoformer 對表示的輸入)")
if __name__ == "__main__":
main()
執行結果(python3 _code/2021-AlphaFold2.py,numpy 2.4.5):
互信息最高的前4對 (位置, MI): [((1, 6), 0.82), ((2, 7), 0.788), ((0, 5), 0.004), ((5, 6), 0.003)]
真接觸對 [(1, 6), (2, 7)] 命中 2/2 -- 共演化還原接觸 (Evoformer 輸入的對表示即此)
結論: MSA->對表示->FAPE結構模組->座標+pLDDT; 第一步是統計, 後面是幾何
程式解說:互信息前兩名(0.82、0.788)與雜訊底(0.004)差兩個量級——演化把「空間相近」寫成了「字母相關」,統計即看得見結構。這正是 Evoformer 對表示(pair repr)的輸入:d(i,k) ≲ d(i,j)+d(j,k) 的三角約束在此已是數字的形狀。後續(MSA↔對表示互質、FAPE 結構模組、pLDDT)是幾何與工程,本程式止於第一步——因為第一步是全部的哲學:序列相關性即結構的影子。