蟻佳才,張小琛,劉丹(國防科技大學計算機學院,長沙 410073)
科研工作者通常將經(jīng)過大量實驗收集的化學知識轉化為文獻中的圖文描述,這些海量的知識是化合物重新發(fā)現(xiàn)及藥物發(fā)現(xiàn)研究的巨大財富。文獻中的化合物結構是藥物發(fā)現(xiàn)的核心,而這些結構信息在大多數(shù)情況下是以圖像的形式呈現(xiàn),這些有價值的信息對于機器來說是非結構化且不可讀的。因此,自動化地將化學結構由圖像轉換成人類或機器可讀的格式,對于從大量文獻中挖掘知識是非常重要的,該過程被稱為化學結構識別(chemical structure recognition,CSR)。
對于機器可讀的分子結構,目前采用廣泛的包括國際通用技術和統(tǒng)一標準的線性碼簡化分子線性輸入系統(tǒng)(simplified molecular input line entry system,SMILES)以及分子的三維表示,如圖、矩陣或連接表等。SMILES可以減少存儲空間,提升檢索效率,并且可以很方便地編碼分子結構、性質(zhì)信息以及轉換成其他三維表示,因此被廣泛應用于各種與化合物分子相關的研究中。在CSR中,其目標是將化學結構圖像轉換為相應的SMILES字符串,即圖像到文本的轉換。圖1展示了阿司匹林(aspirin)的化學結構以及相應的SMILES,從圖中可以直觀地看出,除了識別出圖像中相應的元素以外,還需要根據(jù)相應重構算法將這些元素的符號組合成有效的SMILES。
圖1 化學結構識別示意圖Fig 1 Diagram of chemical structure recognition
本文采用深度學習的方法,基于編碼器-解碼器架構,融合注意力機制和分子指紋先驗知識,構建了一個深度學習模型——基于指紋預訓練的化學結構識別(chemical structure recognition based on fingerprint pre-train,CSRFP),現(xiàn)報道如下。
20世紀90年代初,第一個完整的化學結構識別系統(tǒng)Kekulé發(fā)布了。Kekulé是一個基于規(guī)則的工具,通過將單一化學結構圖進行分割、向量化、圖像分塊、圖像腐蝕、圖像膨脹以及光學字符識別等一系列步驟,最終將化學結構圖轉換為新的分子圖表示。隨后,越來越多的研究人員開始關注這一領域,研發(fā)出了各種開源軟件。Rajan等總結了該領域的研究進展,并比較了3個基于規(guī)則的開源軟件OSRA、MolVec和Imago,為未來的深入研究提供了參考。傳統(tǒng)的分子圖像識別方法在很大程度上依賴于專家知識,并且需融合新的待檢測圖像特征,費時費力。另外,這些工具通常步驟繁瑣,導致計算時間較長。具體來說,大多數(shù)基于規(guī)則的方法往往包括以下步驟:① 掃描,即掃描包含化學結構圖的頁面區(qū)域,并將其從頁面中分割出來;② 矢量化,即將位圖轉換為矢量圖;③ 搜索虛線和楔形線,即使用專門的算法來識別立體化學信息,如虛線鍵和楔形鍵;④ 光學字符識別,即使用光學字符識別(optical character recognition,OCR)算法識別原子和常規(guī)鍵。并結合一些工具使用規(guī)則來糾正OCR引擎不能正確識別的原子或原子組;⑤ 圖編譯,即將原子視為節(jié)點,將化學鍵視為邊,并通過圖重構算法將其編譯成分子圖;⑥ 后處理,例如將一些超原子轉化為原來的原子序列。
近年來,深度學習在計算機視覺領域取得了較大突破,如圖像分類、目標檢測、語義分割以及圖像字幕等。CSR可以視為特殊的圖像字幕任務,與自然語言文本生成不同,CSR的條件更為嚴苛,例如其生成的元素字符往往出現(xiàn)多個重復元素,并且上下文信息聯(lián)系更加緊密,且元素字符具有唯一性,而自然語言往往可以使用多種同義詞進行替換?;谏疃葘W習的方法的優(yōu)點在于它們不需要制訂復雜的規(guī)則,模型可以自動擬合學習高維特征空間,并且具有更好的泛化能力等。
目前基于深度學習的方法主要包括MSEDUDL、Chemgrapher以及DECIMER。其中,MSE-DUDL主要研究如何將文獻中的化學結構進行分割并識別成機器可讀的形式。其使用一個類似U-Net的分割網(wǎng)絡從文獻中分割出化學結構圖,并使用卷積神經(jīng)網(wǎng)絡(convolutional neural network,CNN)結合循環(huán)神經(jīng)網(wǎng)絡(recurrent neural network,RNN)進行預測。作為兩階段模型的代表,Chemgrapher則使用一個分割網(wǎng)絡來識別每個像素的類型,包括原子、鍵和電荷,并使用一個預測網(wǎng)絡預測每個被識別的像素的類型,包括原子、鍵和電荷類型。兩階段模型可以有效地減少分子圖像識別的噪聲,但它們可能會受到與優(yōu)化有關的問題的影響,如誤差傳播。DECIMER使用一個預訓練好的Inception V3模型作為特征提取器,提取圖像特征后進行RNN解碼。而這種方式下,特征提取器和RNN沒有進行聯(lián)動學習,模型不能學習到有價值的化學圖像表征,導致模型的識別率較低。目前,基于深度學習的方法有的對計算資源要求極高,有的標記數(shù)據(jù)集難以獲得,而有的識別精度則較低。
融合先驗知識的方法在許多任務中都展現(xiàn)出了非常好的效果。在本研究中,我們首先構建了一個預訓練模型來學習化學圖像的指紋表示,并將該訓練好的模型作為下游任務的編碼器進行微調(diào)。分子指紋是一種人工編碼,其包含分子的子結構信息、性質(zhì)信息等。因此,通過預訓練,模型可以學習到某些片段的潛在表征,有助于下游任務,如結構識別任務的特征提取。這種方法在訓練數(shù)據(jù)不足的情況下能增強模型的泛化性,例如在本文的模型訓練中,CSR-FP用60萬張化學結構圖像進行訓練,其在用Indigo生成的數(shù)據(jù)集的效果[SMILES序列準確率(SSA)值約為84.29%]與使用6900萬張訓練圖像的MSE-DUDL效果(SSA值為82%)相當。并且,本文在CSRFP的解碼器中引入了注意力機制,這使得模型具有更好的可解釋性。最終,本文選取了OSRA、MolVec以及DECIMER作為基線方法,在兩個基準數(shù)據(jù)集上進行評估,CSR-FP均取得了非常大的改進。
本文提出的CSR-FP的工作流示意圖如圖2所示。所有的數(shù)據(jù)都經(jīng)過統(tǒng)一的預處理,處理后的數(shù)據(jù)首先進行預訓練。通過一個基于指紋預訓練的編碼器(pre-trained encoder based on fingerprint pre-train,PE-FP)模型學習先驗知識表征,然后在PE-FP模型后連接一個全連接層作為CSR-FP的編碼器,學習圖像的高維特征,再經(jīng)過LSTM解碼得到標準SMILES。
圖2 CSR-FP工作流示意圖Fig 2 Diagram of CSR-FP workflow
為了獲得有價值且具代表性的數(shù)據(jù),本文選 擇ZINC 20數(shù) 據(jù) 庫(https://zinc20.docking.org/)作為本研究的數(shù)據(jù)源。該數(shù)據(jù)庫包含超過7.5億個可購買的化合物和超過2.3億個可購買的可對接的化合物。如圖2所示,使用RDKit化學工具包將所有原始SMILES,標準化得到標準SMILES,然后對轉換后的SMILES進行去重,得到唯一SMILES,最后對數(shù)據(jù)集進行分割,按照8∶1∶1的比例獲取訓練數(shù)據(jù)集,并驗證和測試數(shù)據(jù)集。另外,本研究中使用的化學結構圖像采用Indigo化學工具包生成,并對圖像進行歸一化和縮放,所有的圖像分辨率重置為256×256。對于PE-FP模型的標簽處理,使用RDKit生成預訓練化學結構圖像的擴展連通性指紋(extended connectivity fingerprint,ECFP4)指紋,該指紋維度為256。而對于CSR-FP模型的標簽處理,則簡單地計算所有SMILES字符并添加到標簽字典中。為了識別字符串的開始,結束以及填充位,在字典中添加<sos>、<eos>和<pad>標記。最終,本文選取從ZINC 20數(shù)據(jù)庫中隨機分層采樣的600 000張化學結構圖像作為CSR-FP模型訓練的數(shù)據(jù)集。
為了與其他工具進行比較,本研究采用不同方法,分別為標準化學結構圖像數(shù)據(jù)集(Standard-CSI)和噪聲圖像數(shù)據(jù)集(NI)上進行測試。兩個數(shù)據(jù)集均包含10 000張化學結構圖像。其中Standard-CSI數(shù)據(jù)集的圖像使用Indigo工具包生成。NI數(shù)據(jù)集模擬了真實世界情況下的化學結構圖像,即圖像中會隨機出現(xiàn)不同比例的圖像噪聲。模型的訓練數(shù)據(jù)集與兩個基準數(shù)據(jù)集沒有重復樣本,所有的基線方法在基準數(shù)據(jù)集上進行測試,該過程重復10次。
編碼-解碼的思維最早在機器翻譯中被廣泛應用,后來由于其強大的特征空間探索能力,許多基于人工智能的方法均采用此架構。CSR-FP模型在編碼器-解碼器架構的基礎上,融合了預訓練模型PE-FP和注意力機制,增強了模型的特征提取能力和可解釋性。CSR-FP和PE-RP的模型架構如圖3所示,其中紅色方框中的部分連接256個二分類分類器進行分子指紋學習,本研究利用長度為256的ECFP4指紋作為預訓練的標簽。隨后,通過去除分類器并且連接一個簡單的線性轉換器,將得到的隱式向量轉換為隱式矩陣,輸入到解碼器中。這里,CSR-FP模型的編碼器輸出的特征圖大小是8×8,其通道為512。圖中紫色方框中的內(nèi)容為CSR-FP的解碼器,解碼器在每次迭代中都會生成一個SMILES字符。在訓練過程中,生成字符時,模型對于前一個時間步生成的內(nèi)容是可見的,而驗證時則不可見。從圖中還可以看出,CSR-FP的編碼器中使用了多個殘差連接,其是一個類ResNet的模型,通過殘差連接,可以更好地解決網(wǎng)絡退化問題。
圖3 模型架構示意圖Fig 3 Diagram of the model architecture
假設模型預測的結果為其中N
是SMILES的長度,V
是字典的大小。模型的損失函數(shù)可以表示為:s
個預測字符中,下標為y
的預測值。另外,CSR-FP在解碼器中加入了注意力機制,在生成SMILES字符時,計算特征矩陣與前一時間步的隱含向量之間的注意力分數(shù)。這種機制可以有效克服RNN長期依賴造成的梯度消失和爆炸問題,在提升模型特征提取能力的同時,還可以增加模型的可解釋性。
本研究使用ECFP4指紋作為預訓練的訓練標簽。其中,ECFP4指紋是一串由“0”和“1” 位比特組成的256長度的向量。因此,在訓練過程中,設置256個分類器分別進行二分類學習。在本研究中,我們使用了100萬個化合物分子進行指紋預訓練。
ECFP指紋又稱為Morgan指紋,是一種擴展連通性指紋。具體來說,ECFP4是以半徑為2,計算每個原子的圓形區(qū)域的化學環(huán)境標識符。因此,該指紋包含了分子中多個片段的結構信息,在QSAR/QSPR任務中有著廣泛的應用。
為了更全面、更嚴格地評估模型的性能,本文采用了以下三個指標進行評估:
SMILES序列的準確率(SSA):在該指標下,只有當生成的SMILES序列與原始序列完全相同時才被認為是正確的結果。該指標從分子水平上宏觀分析模型的識別精度。
ATS:本文使用Tanimoto系數(shù)來衡量生成的分子的Morgan指紋和原始分子的Morgan指紋之間的相似性。
Tanimoto相 似 度1.0系 數(shù)(TS@1.0):該指標是指生成的分子指紋與原始分子指紋之間Tanimoto相似度為1.0的比例。TS@1.0和ATS為從分子相似度層面上進行分析,這些指標可以為下游任務,例如分子性質(zhì)的預測等奠定基礎。
S
之前的迭代(S
,S
,…,S
)生成的SMILES字符信息。在解碼器的每個時間步中,模型輸出一個隱藏向量h
和一個單元向量c
,其中初始向量h
和c
是將編碼器的特征向量輸入全連接層得到的。每個時間步中注意力分數(shù)的計算方式可以簡單地形式化為:L
是一個線性轉換,F
是特征矩陣,h
是解碼器第t
個時間步的隱式向量。為了提升模型的泛化能力,在進行指紋預訓練時,多樣性更高、應用域更廣的數(shù)據(jù)對于提升預訓練模型的學習能力是非常重要的。針對該問題,我們在采集預訓練樣本時,利用分子骨架多樣性對分子多樣性進行度量,采集骨架多樣性高的樣本進行訓練。預訓練數(shù)據(jù)集的分子骨架分析以及原子數(shù)目分布結果,見圖4。
由圖4A可知,分子骨架數(shù)量平均值為1.154,且數(shù)據(jù)主要分布在最小值1處。小部分樣本分布在2和3中。從圖4C中可以看出,小于3的分子骨架數(shù)量占比為97.76%。這些數(shù)據(jù)說明了該預訓練數(shù)據(jù)集的分子結構多樣性非常豐富。從圖4B可以看出,原子數(shù)目大部分集中在20~40,比較符合高成藥性化合物的特點。總而言之,通過該數(shù)據(jù)集學習到的化學空間表征是更有效的。
圖4 預訓練數(shù)據(jù)集統(tǒng)計圖Fig 4 Statistical diagram of pre-trained dataset
為了驗證本文提出的模型的有效性,本文將CSR-FP模型與一些現(xiàn)有的模型和工具進行了比較。其中,基于規(guī)則的工具有OSRA和MolVec,基于深度學習的工具有DECIMER和CSR-FP。評估指標的統(tǒng)計數(shù)據(jù)見表1。
表1 模型性能對比結果
Tab 1 Model performance
數(shù)據(jù)集 方法 SSA/% ATS/% TS@1.0/%Standard-CSIOSRA 22.05±0.22 54.15±0.36 36.92±0.62 Standard-CSI MolVec 17.18±0.41 50.59±0.24 31.18±0.23 Standard-CSIDECIMER 38.19±0.34 87.52±0.21 47.54±0.22 Standard-CSICSR-FP 84.29±0.12 92.14±0.13 87.49±0.16 NI OSRA 19.52±0.46 51.41±0.37 32.02±0.19 NI MolVec 8.714±0.37 34.79±0.19 18.01±0.35 NI DECIMER 17.42±0.27 68.46±0.29 22.16±0.38 NI CSR-FP 82.19±0.17 88.19±0.18 84.86±0.21
對于以上三個評估數(shù)據(jù),我們主要關注SSA值。從表1中可以看出,CSR-FP在兩個數(shù)據(jù)集上均取得了具有競爭力的結果。具體來說,兩個基于規(guī)則的工具在兩個數(shù)據(jù)集上的效果均不理想,例如OSRA和MolVec在Standard-CSI數(shù)據(jù)集上的SSA值只有22.05%和17.18%,而DECIMER和CSR-FP則為38.19%和84.29%。這說明相對于基于深度學習的方法,基于規(guī)則的方法泛化能力較差。而對于帶有噪聲的圖像,前三者的識別精度均低于20%,可能是因為基于規(guī)則的方法沒有加入降噪的規(guī)則。DECIMER則是直接使用一個特征提取器而沒有和解碼器進行聯(lián)動學習,這會大大降低模型的特征學習能力??傮w來說,CSR-FP通過融合分子指紋預訓練以及注意力機制,大大提升了模型的特征提取能力。
在CSR-FP模型中,編碼器的輸出為一個512通道的8×8特征圖,在解碼器生成字符時,模型計算特征圖與隱式向量的注意力分數(shù)。因此,本文隨機選取了一個正確識別的分子并將其每個字符生成時模型對64個圖像塊的注意力分數(shù)進行了可視化。如圖5所示,第一個和最后一個子圖分別表示原始的分子圖片與所有字符疊加的注意力權重圖。從最后一個子圖可以看出,模型能夠大致識別整個圖片中的分子區(qū)域。從中間的字符權重子圖也可以看出,模型關注的區(qū)域與相關原子的位置有所重合。雖然某些字符的關注權重可能有所偏差,但是模型可以利用注意力信息,整合上下文信息以提升解碼能力。未來,我們將通過擴大特征圖以細化模型對分子圖像塊的信息抽取能力。
圖5 注意力機制示例圖Fig 5 Example diagram of attentional mechanisms
針對CSR,本文構建了一個基于編碼器-解碼器架構的模型CSR-FP。該模型能較好地學習分子圖像的表征,并且具備良好的可解釋性。兩個基準數(shù)據(jù)集測試結果表明該模型在目前已有的工具和方法中取得了具有競爭力的效果。具體來說,本文的貢獻主要包括三個方面:
第一,構建了一個基于編碼器-解碼器架構的模型CSR-FP,該模型能較好地學習分子圖像空間表征,與其他工具及方法相比取得了具有競爭力的效果。該工作可在如下鏈接獲?。篽ttps://github.com/Jiacai-Yi/CSR-FP。
第二,采用了深度學習的方法,融合了分子指紋知識,即模型在學習分子圖像空間時能結合
預訓練學習到的分子結構信息和性質(zhì)信息,對于生成更有效的空間表征具有指導意義。
第三,解碼器融合了注意力機制,使模型在解碼每個SMILES字符時都與編碼形成的特征圖做注意力計算,不僅提升了模型的特征提取能力,同時讓模型具有更好的可解釋性。
后續(xù)工作中,我們將深入探討化學結構圖像內(nèi)在特征對模型性能的影響,并且構建與該任務更匹配的模型。并且,由于我們最終的目標是在大量文獻中分割并識別準確的分子結構,因此,未來還需要在排除文本干擾、準確識別R-基團以及識別復雜的立體異構分子等問題上進行深入研究。