MIT: 深度學習發現新型抗生素,AI原理解析

 

2月份,美國麻省理工大學在頂級生物醫學雜誌Cell發表了題爲“一種發現抗生素的深度學習方法” (A Deep Learning Approach to Antibiotic Discovery)的論文。這個結果是該團隊把AI成功運用到生物工程的最新研究成果。筆者仔細閱讀了論文,給大家分析一下論文背後的AI原理。

 

 

不斷髮現新型抗生素的意義是重大的。首先抗生素的發明爲人類戰勝疾病立下赫赫戰功。但是隨着時間的推移和各種抗生素的廣泛使用甚至是濫用,細菌也會逐漸進化到具有抗藥性。其結果就是已經發現的抗生素效果會逐漸下降。 控制抗生素的濫用是一個節流的方法。另一方面,不斷髮現新型的抗生素是開源的方法。所謂道高一尺,魔高一丈,唯有不斷研究才能爲人類戰勝源源不斷的有害細菌未雨綢繆。

 

 

傳統的抗生素髮現過程耗時又耗力,因此麻省理工的最新論文也許爲AI在生物工程的運用找到了一個很好的示範作用。論文中,運用AI發現抗生素的大概過程如下:

  1. 針對大腸桿菌 (E. coli)選取了2300多個分子化合物作爲訓練數據,這些化合物事先已經知道是否具有大腸桿菌抑制性。
  2. 利用MPNN模型抽取分子特徵向量,結合深度學習模型和其他優化方式,用訓練數據得到了預測化合物是否具抑制大腸桿菌特性的模型。
  3. 用訓練好的模型在一個有6000多種化合物的庫中(新數據)預測每一種化合物的大腸桿菌抑制性,選取預測效果好的小批量化合物,經過後期實驗,最終得到了名爲Halicin (MIT 團隊重新命名)的抗菌素。
  4. 用Halicin對老鼠進行實驗,證明了該抗菌素的廣譜療效。
  5. 進一步用訓練好的模型,在一個更大的化合物分子庫中挑選可能具有大腸桿菌抑制性的分子(測試多達一億種化合物),經過進一步分析,找到了8種和已知抗菌素完全不一樣的潛在抗菌素。

 

 

 

作爲數據科學工作者,筆者認爲論文提到的AI方法本身倒是很好理解。該論文用到的深度學習訓練方式在特徵向量得到以後畢竟標準。但和任何行業一樣,真正最難的地方在於如何理解行業特點,很快獲得行業有關專業知識,從而找到AI運用的切入點。對於該論文涉及的抗菌素預測,本質上最有意義的在於如何挑選模型的特徵。更準確的說,如何爲化學分子找到一個可以量化的表現形式。這個是從數據科學的角度來看,我們應該首先關注的問題。

 

 

答案在於Message Passing Neural Networks model 或MPNN (可翻譯爲消息傳播神經元網絡),於2017年由Gilmer等人在量子化學運用上提出(“Neural Message Passing for Quantum Chemistry”)。該MIT論文團隊在運用的是一個MPNN基礎上的變化版本,稱爲Directed Message Passing Neural Networks model 或D-MPNN。下面我們主要介紹MPNN模型, 因爲DMPNN原理上也差不多。MPNN模型的主要貢獻是把用圖論表示的化學分子轉化爲一個數字的特徵向量。

 

  1.  

首先化學分子中的每個原子可以表示爲圖中一個節點(node),原子之間的作用力可以用節點之間的邊(edge)表示。這樣就把化學分子可以用計算機中的圖論來表示(Graph theory)。比如下面的示意圖,是關於多巴胺分子(大腦中令我們快樂的物質)的表達方法。

 

 

 

 

上圖中多巴胺的化學分子式表達,可以用節點和線的方式更加直白的表達出來。同時節點可以攜帶不同的信息從而表達不同的原子符號。而edge(邊)也可以攜帶不同的信息,從而表達不同的作用力方式。

 

 

2.

 

把化學分子用計算機圖論中的圖表示出來後爲我們量化的分析分子打好了基礎。MPNN模型(消息傳播神經元網絡模型)的中心思想是:假如我們用初始特徵向量分表表達不同的節點和不同的邊,可以通過消息傳播的迭代方式找到節點最終穩定的特徵向量表達方式。這個和谷歌最初用來計算網頁重要性的方法有點類似(PageRank算法)。舉一個形象的例子,假設有很多大大小小的水坑(類似圖中的節點),一部分水坑之間有溝渠相連(類似圖中的邊)。這個時候,我們隨機的在不同的水坑中放入不同的水量,因爲溝渠相通,這些水便會自動通過溝渠流入不同的坑中,最終實現各個水坑之間的水量達到一個平衡。

 

MPNN的消息傳播迭代方式就是一種取得最終平衡的方法。假設節點(node) v的初始特徵向量爲h_v, 和節點v相關的消息向量爲m_v。那麼MPNN經過t個步驟迭代,每個步驟中h_v和m_v隨之改變一次,根據下列的迭代公式:

 

上式中,消息向量的更新方程M和節點向量的更新方程U可以根據情況設定,一般都不會太複雜。經過固定步驟比如T步驟以後,每個節點對應的特徵向量可以假設趨於平衡不再變化。

 

有了每個節點的最終穩定的特徵向量,整個化學分子的特徵向量可以簡單的把各個節點向量相加起來,從而得到表達分子的最終的數字向量。

 

3.

 

那麼如何尋找node和edge的初始特徵向量呢?這個向量顯然要有明顯的化學和物理意義,經過消息傳播平衡以後纔可能很好的表達一個化學分子的性質。 從而在後面的機器學習訓練中發揮應有的作用。

 

這裏我們給出相關的特徵設計,對於行業外的數據科學工作者可能有很好的借鑑意義。

 

下表是用來表示原子的節點初始特徵向量每個組成部分化學意義,和每個部分所站向量的位數。

 

 

 

 

特徵

描述

所佔向量位數大小

原子類型 (atom type)

碳原子,氧原子等類型

100位數的0/1向量,可表示100種不同原子

化學鍵個數( number of bonds)

該節點原子參與的化學鍵個數

6位數的0/1向量,可表示6中不同化學鍵

形式電荷( formal charge)

原子的整數形式電核

5位數的0/1向量,可以表示5種電荷

原子手性 (chirality)

CW,CCW, 未指定,或其他

4位數的0/1向量

綁定的氫原子個數

原子綁定的氫原子荷屬

5位數的0/1向量

原子軌道混成(hybridization )

sp, sp2, sp3, sp3d, 或者sp3d2

5位數的0/1向量

芳香性 (aromaticity)

原子是否是芳香烴一部分

1位數的0/1向量

原子質量 (atom mass)

原子直調除以100

1位數自然是,數量級歸一化到0和1之間

 

可以看出,表示原子的初始特徵向量大部分是0或者1的二進制向量(除原子質量外),總共長度是127的位數。

 

與此對應,下表是用來表示消息向量涉及到的edge(邊)的初始特徵向量各組成部分化學意義。

 

特徵

描述

所佔向量位數大小

化學鍵類型 (bond type)

單鍵,雙鍵,三鍵,或者芳香烴

4位數的0/1向量

共軛性 (conjugated)

化學鍵是否共軛

1位數的0/1向量

在環中 (in ring)

化學鍵是否是一個環的一部分

1位數的0/1向量

立體性(stereo)

無,任意,E, Z, cis 或 trans

6位數的0/1向量

 

 

上表中可以看出,用來表示edge的初始特徵向量完全是0或者1的二進制向量,總長度爲12位數。

 

 

更多有趣和專業的人工智能相關文章,微信搜索  : robot-learner , 或掃碼

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章