趙亞武 劉毅慧
(齊魯工業大學(山東省科學院)計算機科學與技術學院 山東 濟南 250353)
蛋白質是生命活動的物質基礎,是構成細胞的基本有機物,是生命活動的主要承擔者。蛋白質的結構決定了它的功能,因此對蛋白質結構的預測,具有非常大的研究價值。在生物信息學領域,很難從初級結構預測出蛋白質的空間結構,因此蛋白質二級結構[1]預測研究受到很多人的重視。
目前,有很多根據蛋白質的初級結構預測其二級結構的基本方法。近年來,大數據、深度學習等技術應用十分廣泛,結合深度學習模型預測蛋白質的二級結構成為研究的一種趨勢。張蕾等[2]融合了基于遞歸神經網絡和前饋神經網絡的深度學習模型來預測8類蛋白質二級結構。Wang等[3]利用支持向量機(SVM)的策略在CB513數據集上得到了76.11%的Q3準確率,但是該模型只適用于小數據集,在大數據集上精度難以提高。Liu等[4]在ASTRAL數據集上利用小波提取PSSM矩陣特征并結合卷積神經網絡,在三折交叉驗證后,得到76.9%的Q3準確率。Patel等[5]提出了神經網絡預測蛋白質二級結構方法,在RS126和CB396數據集測試中,Q3的精度分別達到了90%和82%。Spencer等[6]組合特定位置打分矩陣信息和深度學習網絡架構,得到的預測準確率為80.7%。Ma等[7]提出了GTPC方法,測試在CASP9和CASP10數據集上正確率為83.92%和83.07%。Ma等[8]還提出一種基于數據分割和半隨機子空間方法,在25PDB和CB513數據集上測試3態準確率為86.38%和84.53%。文獻[9]融合卷積神經網絡和長短時記憶神經網絡模型,應用到蛋白質8類二級結構預測中。
上述模型大都是對深度網絡結構的改進,靠增加特征來提高預測精度,但對網絡模型參數的選擇基本是手工調節,這些模型的參數并沒有達到最優化。為了解決這一問題,本文融合貝葉斯優化和卷積神經網絡模型用于蛋白質二級結構的預測。首先對數據集進行處理,將數據分成訓練集、驗證集和測試集三個部分,并構建初始的卷積神經網絡模型;然后將卷積神經網絡的層數、學習率、梯度沖量和正則化系數四種超參數配合訓練集和驗證集構建貝葉斯優化算法,通過訓練網絡,不斷優化得到最優的網絡參數;最后通過測試集數據得到準確率。實驗結果表明,本文所提出的模型能夠取得較好的效果。
蛋白質3類二級結構預測問題是在給定蛋白質序列的基礎上來預測每一個氨基酸殘基所對應的二級結構類型,氨基酸殘基之間的相互作用決定了蛋白質序列二級結構。因此本文采用貝葉斯優化卷積神經網絡的模型提取氨基酸之間的局部作用和位置信息進行蛋白質二級結構預測。
為了確定最佳的卷積神經網絡結構,本文選擇使用貝葉斯優化的方法優化相關參數。首先對數據進行處理,選取PSSM矩陣的前20列,采用滑動窗口的方式對PSSM矩陣處理,在滑動窗口為13時,在蛋白質序列前后補上6個0,依次對蛋白質序列從前往后選取數據,得到大小為20×13的二維PSSM矩陣,其次,將PSSM矩陣作為卷積神經網絡的輸入。本文模型結構如圖1所示。

圖1 模型結構圖
ASTRAL數據集[10]是2013年發布的版本scope2.03,共包含59 514條蛋白質,包含蛋白質數據庫中65%以上的蛋白質結構。本文所用到的ASTRAL數據集有6 892條蛋白質,序列同一性低于25%,CullPDB[11]數據集含有12 288條蛋白質。將ASTRAL和CullPDB作為訓練集,去除ASTRAL和CullPDB數據集中的重復蛋白質后,一共有15 696條蛋白質。
本文從CASP數據集[12-14]中收集了幾個用于測試網絡的數據集,CASP9中包含68條蛋白質,CASP10中包含有51條蛋白質,CASP11中包含36條蛋白質,CASP12中含有9條蛋白質,CASP數據集中的蛋白質在訓練集中去除。CB513數據集[14]和25PDB數據集[15]也用于評估本文模型,CB513數據集包含513條蛋白質序列,任何兩種蛋白質彼此的序列同源性均小于25%。25PDB數據集的低序列相似性不超過25%,有1 672條蛋白質。除去與訓練集相同的蛋白質序列,CB513和25PDB剩余411條和999條蛋白質用于測試。本文用CASP11數據集作為驗證集。
基于PSI-BLAST的位置特異性評分矩陣(PSSM)含有豐富的生物進化信息[16],可以對蛋白質庫中的蛋白質序列進行比對并打分,得到相對完整的蛋白質殘基序列信息,能夠改善蛋白質二級結構的預測精度。本文采用的PSSM進化矩陣是在nr數據庫上進行多序列比對且PSI-BLAST參數設置為閾值是0.001和3次迭代得到的PSSM矩陣是20×N矩陣,其中N是氨基酸序列的長度,20是氨基酸類型的數目,因此PSSM矩陣對蛋白質序列中的每一個殘基都有20個特征。文獻[2]和文獻[6]都將PSSM矩陣作為特征矩陣輸入來預測蛋白質二級結構。在廣泛使用的蛋白質結構定義DSSP中包含有8種二級結構[17],分別為H(α螺旋)、B(β轉角)、E(折疊)、G(3-螺旋)、I(5-螺旋)、T(轉角)、S(卷曲)和L(環)。
本文實驗將G、H、I替換為H,B、E替換為E,其他都采用C的劃分方式。
近年來,卷積神經網絡作為流行的深度學習算法,它的結構主要包含輸入層、隱含層和輸出層。隱含層又包含了多個卷積層和池化層,通過卷積層和池化層特征提取,通過輸出層進行分類。伴隨著深度學習理論的提出和計算速度的提高,卷積神經網絡得到了快速發展,被廣泛應用于計算機視覺[18]、圖像分割[19]和自然語言處理[20]等方面,卷積神經網絡基本框架如圖2所示。

圖2 卷積神經網絡結構
圖2中卷積層、ReLU層以及池化層能夠充分學習數據特征,防止過擬合,提高模型的泛化能力。
1.3.1卷積層
卷積層是通過卷積核對輸入的數據利用局部連接和權值共享進行局部特征提取。卷積層每個神經元的輸入來自上一層特征圖的特定區域的神經元,這個特定區域的大小由卷積核來決定。卷積的過程就是卷積核按照一定的步長在輸入矩陣的感受野上做卷積運算,并產生和卷積核個數相等的特征圖。每一個區域都要通過輸入矩陣和權重相乘,然后再加上偏置參數b,可以得到特征圖。令:
(1)

(2)
式中:bk為偏置參數;f為激活函數,激活函數選取ReLU函數。
激活函數的作用是對卷積層輸出做非線性操作,使得網絡模型的表達能力,選用ReLU函數作為激活函數。
1.3.2池化層
池化方法作為卷積神經網絡的超參數,主要包括最大池化和平均池化兩種。最大池化層并不執行任何的學習,它通常也被稱為一種非線性的下采樣形式。最大池化處理的結果是使特征維度下降、參數減少來減少計算量,提高計算速度,并且還能有效地減少過擬合,同時還有平移不變的特性,增加了魯棒性。通過設置池化層來劃分特征圖的區域,在每個區域進行最大池化運算來輸出區域的最大值。平均池化和最大池化的區別在于平均池化是對區域內的點求平均。
1.3.3全連接層和Softmax層
全連接層每個神經元都要和前面一層的神經元連接起來,并且全連接層的神經元之間互不連接,從而可以把卷積層和池化層提取到的局部特征綜合起來,得到全局特征。
Softmax層就是輸出層,輸出層是由三個神經元組成,該層的輸出滿足:
(3)
式中:j為類別,對應蛋白質的H、E、G,使用Softmax函數輸出3類蛋白質二級結構的概率Pj(j=1,2,3)。
近年來,伴隨著計算機科學技術的發展,催生了各個行業和領域的興起,這些行業產生的較大的數據量也需要用到較為復雜的決策算法。針對以上復雜的問題,貝葉斯優化(Bayesian optimization, BO)是一種有效的解決方法[21]。伴隨著蛋白質序列的不斷增多,將卷積神經網絡模型應用到蛋白質二級結構預測中,調節卷積神經網絡的超參數需要花費很長時間,因此本文使用了貝葉斯優化算法優化卷積神經網絡的超參數。貝葉斯優化算法只需要經過幾次目標函數評估就可以獲得較好的結果,并且貝葉斯優化算法已經廣泛應用于游戲[22]、推薦系統[23]和導航[24]等領域。
本文所提出的模型指定了卷積神經網絡的架構和要優化的變量。要優化的變量包括學習率、梯度沖量、正則化系數和網絡層數,把這些變量作為訓練算法的選項。使用訓練數據和驗證數據作為輸入為貝葉斯優化器創建目標函數,該函數把將要優化的變量作為輸入來訓練、驗證網絡,并保存網絡用于測試集上。
對于卷積神經網絡超參數的優化可以看作對未知的黑盒函數的優化,貝葉斯優化是在有界的集合D上找到損失函數f(x)最小值,它可以為函數f(x)構造概率模型并利用該模型判斷集合D怎么去評估函數。首先假設高斯核函數為被優化的黑盒函數,再選擇一個采集函數來確定下一個采樣點。超參數的貝葉斯優化是超參數對損失函數f(x)進行高斯先驗建模:
(4)
由于在驗證集上觀測是帶有噪聲的,所以給每一個觀測值加上一個高斯噪聲,即:
f(x)=L(mx,Vh)+θ
(5)

1.4.1優化超參數
在使用高斯過程回歸時,不需要聲明具體的函數形式。任意有限個超參數引起了多變量的高斯分布,由協方差函數K和均值函數μX所決定。即:
L~GP(μX,K)
(6)
式中:K*=[k(x*,x1),k(x*,x2),…,k(x*,xn)]T,x*代表超參數。
假設輸入超參數Xi=(x1,x2,…,xn)在驗證集上得到輸出Y=L(xi,Vh)(i=1,2,…,n),在每一次實驗中,高斯函數根據超參數X和驗證集輸出Y來評估f(x),然后再通過采集函數選擇下一組超參數。超參數Xi的預測分布表示為:
(7)
式中:f(xi)表示超參數的預測分布;K表示協方差函數。
1.4.2采集函數
在貝葉斯優化卷積神經網絡參數的過程之中,在每一次迭代過程中,用來采樣下一組超參數,采集函數觀察f(x),再對下一次采樣的超參數進行比較,在最大程度上找到最優解。Expected Improvement(EI)[26]定義如下:
a(x|D)=E[max(0,fx-fbest)]
(8)
式中:fbest是基于驗證集最優解。EI使用標準的black-box優化算法進行優化。
在最優提取函數條件下,貝葉斯優化算法在理論上一定可以收斂[21],目標函數在迭代過程中會選擇最優的樣本點進行評估,在保證迭代次數的前提下,算法一定可以收斂到最優。貝葉斯優化注重于減少評估的代價,可以大大減少優化的時間,在經過幾次目標函數的評估就可以得到卷積神經網絡的最優參數和網絡結構。
本文實驗環境如下:采用MATLAB R2018b軟件運行模型程序,集群硬件由4臺NF5280M5、1臺NF5288M5、兩臺千兆交換機組成,NF5280M5配置tesla V100 GPU(16 GB顯存)計算卡,NF5288M5配置tesla V100 GPU(32 GB顯存)計算卡,集群所有節點安裝Centos7.4 X64標準系統。
通過貝葉斯優化卷積神經網絡的超參數,可以發現網絡層數、學習率、梯度沖量和正則化系數對測試集的準確率有一定影響,調節超參數過程如表1和表2所示(網絡層數包括:輸入層、卷積層、ReLU層、池化層、全連接層和Softmax層)。

表1 13窗口超參數

表2 19窗口超參數
通過調節超參數可以得到不同的預測正確率,和最好準確率下的網絡模型結構,如表3和表4所示。

表3 13窗口準確率

表4 19窗口準確率
池化方法也是卷積神經網絡的超參數,表3和表4所示的準確率所采用的池化方法為最大池化,為了得到最佳網絡超參數,將平均池化方法和最大池化方法進行對比。平均池化方法的準確率如表5和表6所示。

表6 19窗口下平均池化準確率
通過表3、表4和表5、表6對比可以得到最優的網絡結構模型,滑動窗口為13時,網絡模型結構為:4個卷積層,前兩個卷積層卷積核大小11,個數91,后兩個卷積層卷積核大小2,個數182,每一個卷積層后都加上ReLU層并且每隔兩個卷積層后有一個池化大小為2,步長為2的最大池化層。滑動窗口為19時,網絡模型結構為8個卷積層,前四個卷積層卷積核大小19,個數64,后四個卷積層卷積核大小8,個數128,每一個卷積層后都加上ReLU層并且每隔四個卷積層后有一個池化大小為2步長為2的最大池化層。在滑動窗口為19時,網絡模型結構如表7所示。

表7 19窗口下的網絡模型

續表7
為了評估本文模型的準確率,采用六種公開的測試集(CASP9、CASP10、CASP11、CASP12、CB513和25PDB)進行測試。本文模型與SPINE-X[26]、SSpro[27]、PSIPRED[28]、RaptorX-SS8[29]和DeepCNF[30]模型一樣(其中SPINE-X、SSpro、PSIPRED、RaptorX-SS8和DeepCNF方法在測試集上的結果均摘自文獻[30]),采用3類蛋白質二級結構預測準確率作為評價本文模型的指標,在數據集CASP10、CASP11、CB513上進行對比,結果如表8所示。SPINE-X使用多步神經網絡,SSpro采用雙向樸素遞歸神經網絡,PSIPRED使用兩層前饋神經網絡,RaptorX-SS8使用條件神經場,DeepCNF是深度神經網絡和條件神經場相結合。

表8 3個數據集上各模型預測準確率對比
由表8可以看出,相比SPINE-X、SSpro、PSIPRE和RaptorX-SS8模型,本文模型在3組蛋白質數據集上的3類蛋白質二級結構預測準確率有了提高,可以證明通過貝葉斯自動優化的卷積神經網絡能夠很好地提取蛋白質序列的特征,提高了蛋白質二級結構預測性能。本文模型在CB513數據集上準確率均要高于其他方法,但是在CASP10、CASP11數據集上要低于DeepCNF模型,主要原因可能是DeepCNF結合條件隨機場,考慮氨基酸殘基與標簽的關系來得到全局的最優解。
蛋白質二級結構預測是生物信息學中的一項重要工作,對研究蛋白質的結構和功能有著極其深遠的意義。本文融合了卷積神經網絡和貝葉斯優化模型,自動優化卷積神經網絡的網絡層數、學習率、梯度沖量和正則化系數,并應用到蛋白質3類二級結構預測中。通過優化后的卷積神經網絡提取氨基酸殘基之間的局部特征進行蛋白質二級結構預測。實驗結果表明,本文模型能夠提高蛋白質3類二級結構預測準確率。在未來的工作中,將會結合氨基酸局部和遠程特征來進行蛋白質二級結構預測。