要說“AI for Science”的扛大旗者,大家也許都會首先想到 DeepMind:
2018 年,DeepMind 推出蛋白質折疊結構預測模型 AlphaFold,從氨基酸序列計算預測蛋白質結構,不僅為 Alpha 系列錦上添花,奠定了其在 AI 創新上的領頭羊地位,還彰顯了深度學習攻破其他領域難題的潛力。
AlphaFold 出世后,“AI for biology”(將人工智能用于生物學研究)成為人工智能領域的研究潮流,吸引了世界各地的優秀研究者投身其中。
谷歌 AI 也是其中之一。
這不,最近谷歌便發布了用于蛋白質解析的機器學習模型 ——ProtENN,登頂 Nature 子刊《Nature Biotechnology》。
值得注意的是,早在 2019 年,谷歌 AI 就在bioRXiv發過 ProtENN 的預印本,不知是不是最近才被 Nature 接收?
蛋白質結構對生命有著至關重要的作用,了解蛋白質的氨基酸序列(如其結構域)與功能之間的關系是一項具有重大科學意義的長期挑戰。
自計算機興起,科學家們就開始嘗試用計算工具助攻該課題。例如,被廣泛使用的蛋白質家族數據庫 Pfam 便囊括了大量詳細描述蛋白質結構功能的計算注釋,例如珠蛋白與胰蛋白酶家族。但發展至今,目前至少仍有三分之一的微生物蛋白質的注釋有待完善。
而據谷歌 AI 的官博介紹,ProtENN 的出現,能夠為完善蛋白質結構的計算注釋起到重要作用。
蛋白質注釋
根據谷歌 AI 介紹,他們所提出的 ProtENN 方法可以幫助在 Pfam 的蛋白質功能注釋集中添加大約 680 萬個條目,大約相當于過去十年的新增條目總和,將 Pfam 的覆蓋范圍擴大了 9.5% 以上。
他們將其命名為:Pfam-N。
在計算機視覺中,模型通常首先用于圖像分類任務的訓練,如 CIFAR-100,然后將其擴展到更專業的任務,如物體檢測和定位。
受此啟發,谷歌團隊也決定開發一個蛋白質域分類模型,在給定蛋白質結構域的氨基酸序列的情況下,從 17,929 個類別(所有類別都包含在 Pfam 數據庫中)中預測單個標簽。
目前有許多模型可以用于蛋白質結構域分類,但當前最前沿的方法也存在許多缺陷。
首先,它們基于線性序列的比對,并且不考慮蛋白質序列不同部分的氨基酸之間的相互作用。然而,蛋白質不僅僅停留在一行氨基酸中,還會折疊起來,這樣不相鄰的氨基酸也會相互影響。
此外,當前最前沿的方法是將新的查詢序列與一個或多個具有已知功能的序列進行比對。如果新序列與任何具有已知功能的序列高度不同,這種對具有已知功能的序列的依賴就會加大預測新序列功能的難度。
另外,基于比對的方法需要密集的計算量,將它們應用于大型數據集(例如包含超過 10 億個蛋白質序列的宏基因組數據庫 MGnify)時,成本會非常高昂。
谷歌 AI 怎么做?
為了解決這些問題,谷歌團隊想到了使用擴張卷積神經網絡 (CNN),因為“它非常適合模擬非局部成對氨基酸的相互作用,并且可以在 GPU 等現代 ML 硬件上運行”。
他們訓練了一維 CNN (稱之為“ProtCNN”)來預測蛋白質序列的分類,以及一組獨立訓練的 ProtCNN 模型(稱之為“ProtENN”),目的是通過開發一種可靠的機器學習方法來補充傳統的基于對齊的方法的缺陷。
與其他領域的分類問題相似,蛋白質功能預測的挑戰不在于為任務開發全新的模型,而更多在于創建公平的訓練和測試集,以確保模型能夠對看不見的數據進行準確的預測。
由于蛋白質是從共同的祖先那進化而來的,因此不同的蛋白質通常共享一大部分氨基酸序列。如果不加以注意,測試集可能會被與訓練數據高度相似的樣本所控制,從而使模型可能僅通過簡單地“記憶”訓練數據而不是學習來泛化模型的優異性能。
為了防止這種情況,研究者必須使用多個單獨的設置來評估模型性能。在每次評估中,他們都將模型精度分層為每個保留測試序列與訓練集中最近序列之間的相似性函數。
第一個評估包括一個聚類分裂訓練和測試集,與先前研究者提出的方法一致。其中,蛋白質序列樣本按序列相似性進行聚類,并將整個聚類放入訓練集或測試集中。由此,每個測試示例與每個訓練示例之間至少有 75% 的差異。在此任務上的出色表現表明,他們所提出的模型可以泛化、以對分布外的數據做出準確的預測。
在第二次評估中,他們使用隨機拆分的訓練和測試集,根據對樣本分類難度的評估來對樣本進行分層。難點主要有兩點:1)測試示例與最近的訓練示例之間的相似性;2)真實分類的訓練示例數量(這比在僅有少量訓練示例的情況下準確預測函數要困難得多)。
他們還評估了最廣泛使用的基線模型和評估設置的性能,特別是以下基線模型:(1) BLAST,一種使用序列比對來測量距離和推斷函數的最近鄰方法;(2) TPHMM 和 pmmer。每一個模型都包括基于上述序列比對相似性的模型性能分層。
他們將這些基線與 ProtCNN 和 CNN 的集合 ProtENN 進行了比較。實驗表明,ProtENN 的泛化能力高于 ProtCNN 與兩類基線模型。
他們與 Pfam 團隊合作,測試 ProtENN 是否適用于標記真實世界的序列。
實驗證明,ProtENN 學習到基于比對的方法的互補信息,并創建了兩種方法的集合,標記比任何一種方法都多的序列。他們公開發布了這項工作的結果 ——Pfam-N,其包括 680 萬個新的蛋白質序列注釋。
目前,ProtENN 模型的架構已在 github 上開放。此外,他們還設計了一個交互工具 ProteInfer,用戶可以在瀏覽器中輸入蛋白質序列,并實時獲得蛋白質功能預測的結果。
AI 解析蛋白質還能更卷嗎?大家怎么看?