吳宏杰 韓佳妍 楊 茹 陸衛(wèi)忠 傅啟明*
1(蘇州科技大學(xué)電子與信息工程學(xué)院 江蘇 蘇州 215009)2(蘇州大學(xué)江蘇省計(jì)算機(jī)信息處理技術(shù)重點(diǎn)實(shí)驗(yàn)室 江蘇 蘇州 215006)
蛋白質(zhì)折疊構(gòu)形預(yù)測(cè)問(wèn)題是現(xiàn)如今生物信息學(xué)領(lǐng)域中具有高挑戰(zhàn)難度的問(wèn)題之一,清楚蛋白質(zhì)折疊構(gòu)形對(duì)生物學(xué)發(fā)展和人們生活都有重大意義[1]。生物信息學(xué)假說(shuō)認(rèn)為自然界存在的蛋白質(zhì)形態(tài)是最穩(wěn)定的形態(tài)(即自由能最低)[2]。蛋白質(zhì)分子的折疊過(guò)程是指從蛋白質(zhì)分子從一般狀態(tài)變化到基態(tài)的復(fù)雜過(guò)程,它能使我們了解氨基酸序列是如何決定蛋白質(zhì)分子結(jié)構(gòu),預(yù)測(cè)其結(jié)構(gòu)及結(jié)構(gòu)所表現(xiàn)出來(lái)的蛋白質(zhì)分子的性能[3]。目前,國(guó)內(nèi)外的相關(guān)研究提出了許多可計(jì)算的理論模型,如HP模型[4-6]、AB模型[7-8]和HNP模型[9-12]等。為了能夠達(dá)到簡(jiǎn)化對(duì)序列空間搜索的目的,很多基于蛋白質(zhì)設(shè)計(jì)方法應(yīng)用于最簡(jiǎn)單的氨基酸兩態(tài)分類的HP模型上并且取得了成功[5]。但是進(jìn)一步研究表明,在很多情況下,簡(jiǎn)單HP模型存在一些問(wèn)題,Shakhnovich[13]指出,當(dāng)?shù)鞍踪|(zhì)理論模型設(shè)計(jì)中考慮更多的氨基酸類型時(shí),這種情況就會(huì)得到改善。為此本文將基于強(qiáng)化學(xué)習(xí)搜索蛋白質(zhì)序列空間的方法應(yīng)用到HNP模型上。
如今,強(qiáng)化學(xué)習(xí)已經(jīng)在多個(gè)領(lǐng)域得到廣泛應(yīng)用。例如車(chē)輛定位與識(shí)別、游戲自動(dòng)化檢測(cè)和機(jī)器人仿真等[14];在生物科學(xué)領(lǐng)域也發(fā)揮著重要作用,例如生物序列對(duì)比、基因組測(cè)序等[15]。在強(qiáng)化學(xué)習(xí)中,Agent可以收到環(huán)境的狀態(tài)反饋,并且與環(huán)境產(chǎn)生互動(dòng),通過(guò)得到的經(jīng)驗(yàn)來(lái)進(jìn)行自主學(xué)習(xí),根據(jù)獲得的獎(jiǎng)賞反饋來(lái)找到整體最優(yōu)解,而不會(huì)陷于局部最優(yōu)。但是存在“維數(shù)災(zāi)難”(即狀態(tài)空間的大小隨著特征數(shù)量的增加而發(fā)生指數(shù)級(jí)的增長(zhǎng))和收斂速度遲緩這兩個(gè)嚴(yán)重且普遍的問(wèn)題[16]。本文選用強(qiáng)化學(xué)習(xí)中經(jīng)典的Q-learning算法實(shí)現(xiàn)HNP晶格模型的最優(yōu)結(jié)構(gòu)預(yù)測(cè)。但Q-learning方法及其相關(guān)演變算法只在小的狀態(tài)空間范圍內(nèi)比較有效,一旦訓(xùn)練的狀態(tài)空間變大,則對(duì)計(jì)算機(jī)內(nèi)存的要求較高,其存儲(chǔ)和計(jì)算相應(yīng)的狀態(tài)動(dòng)作對(duì)也會(huì)變得更加困難,這就是在利用強(qiáng)化學(xué)習(xí)算法計(jì)算蛋白質(zhì)序列最優(yōu)結(jié)構(gòu)所遇到的“維數(shù)災(zāi)難”問(wèn)題。
目前對(duì)于“維數(shù)災(zāi)難問(wèn)題”,有研究者提出函數(shù)逼近的方法,它無(wú)須對(duì)狀態(tài)空間進(jìn)行預(yù)處理,可以用較小的存儲(chǔ)空間來(lái)描述狀態(tài)空間到動(dòng)作的映射關(guān)系,但收斂性無(wú)法得到保證,理論基礎(chǔ)還相當(dāng)薄弱[16]。有研究者提出了分層強(qiáng)化學(xué)習(xí),將復(fù)雜問(wèn)題分解為多個(gè)小問(wèn)題,通過(guò)解決多個(gè)小問(wèn)題從而達(dá)到能夠解決原問(wèn)題的目的[17]。如果利用分層強(qiáng)化學(xué)習(xí)思想解決蛋白質(zhì)序列結(jié)構(gòu)預(yù)測(cè)問(wèn)題則會(huì)出現(xiàn)序列特征擺放重復(fù)的問(wèn)題,不符合真實(shí)的實(shí)際蛋白質(zhì)序列結(jié)構(gòu)。因此,基于HNP晶格模型,本文利用強(qiáng)化學(xué)習(xí)算法計(jì)算序列的最低能量的基礎(chǔ)上研究強(qiáng)化學(xué)習(xí)的狀態(tài)空間。通過(guò)比較全狀態(tài)空間表示法與簡(jiǎn)單狀態(tài)空間表示法,結(jié)合兩者的優(yōu)勢(shì),提出一種半狀態(tài)空間表示法,有效解決蛋白質(zhì)序列特征增多導(dǎo)致?tīng)顟B(tài)空間過(guò)大的問(wèn)題,達(dá)到改善“維數(shù)災(zāi)難”問(wèn)題的目的。在相同的實(shí)驗(yàn)環(huán)境下,比較這三種不同狀態(tài)空間表示方法的實(shí)驗(yàn)結(jié)果,對(duì)比得出三種狀態(tài)空間表示方法的優(yōu)缺點(diǎn):1) 全狀態(tài)空間表示法在短序列的實(shí)驗(yàn)上可以準(zhǔn)確計(jì)算最低能量,但其狀態(tài)空間受計(jì)算機(jī)內(nèi)存限制,無(wú)法進(jìn)行長(zhǎng)序列的能量計(jì)算;2) 簡(jiǎn)單狀態(tài)空間表示法可以對(duì)長(zhǎng)短序列都進(jìn)行計(jì)算能量,但由于其狀態(tài)空間設(shè)置過(guò)小,在計(jì)算最低能量的準(zhǔn)確度上大打折扣;3) 半狀態(tài)空間表示法有效解決了全狀態(tài)空間表示法和簡(jiǎn)單狀態(tài)空間表示法的缺點(diǎn),能夠?qū)﹂L(zhǎng)序列的能量進(jìn)行計(jì)算且比簡(jiǎn)單狀態(tài)空間的準(zhǔn)確度高。
很多學(xué)者不斷提出針對(duì)于蛋白質(zhì)折疊結(jié)構(gòu)問(wèn)題的簡(jiǎn)化模型,如HP模型[4-6]和AB模型[7-8]。而Miyazawa等[18]和Zhang等[19]采用統(tǒng)計(jì)方法計(jì)算了這20種氨基酸之間的相互作用能,根據(jù)相互作用能的大小,提出把20種氨基酸分為3類。根據(jù)相互作用能的大小,分別將氨基酸Cys、Met、Phe、Ile、Val、Trp、Tyr稱為疏水(H)基團(tuán),氨基酸Ala、Gly、Thr、His稱為中性基團(tuán)(N)和Ser、Asn、Gln、Asp、Glu、Arg、Lys、Pro稱為親水(P)基團(tuán),即HNP模型[9]。
根據(jù)氨基酸相互作用能的大小,將氨基酸分為3類:疏水氨基酸(用H表示)、中性氨基酸(用N表示)、親水氨基酸(用P表示)。通過(guò)氨基酸的劃分把蛋白質(zhì)鏈轉(zhuǎn)化為以H、N、P構(gòu)成的序列。
根據(jù)蛋白質(zhì)分子的Hamiltonian 能量函數(shù)[20-21]:
(1)
式中:Si、Sj表示氨基酸分類H、N和P;ESi-Sj表示氨基酸與氨基酸之間的相互作用能量,EH-H=-5.59 RT,EH-N=-3.68 RT,EH-P=-3.07 RT,EN-N=-2.23 RT,EN-P=-1.78 RT,EP-P=-1.37 RT。rij指的是氨基酸與氨基酸之間的距離;l為假定的蛋白質(zhì)分子的鍵長(zhǎng);δ(rij,l)是判斷氨基酸是否形成一個(gè)緊密接觸對(duì)的條件,如果rij=l,則δ(rij,l)=1,即形成一個(gè)緊密接觸對(duì),如果rij≠l,則δ(rij,l)=0,即不能形成一個(gè)緊密接觸對(duì)。
強(qiáng)化學(xué)習(xí)(Reinforcement Learning, RL)是指從環(huán)境狀態(tài)到行為映射的學(xué)習(xí),目的是使Agent從環(huán)境中獲得的積累獎(jiǎng)賞值達(dá)到最大[22]。Q-learning算法是強(qiáng)化學(xué)習(xí)中一種獨(dú)立于模型的TD控制算法,它可以用來(lái)為任何給定的馬爾可夫決策過(guò)程(Markov Decision Process,MDP)找到最佳的行動(dòng)選擇策略。Q-learning算法的最簡(jiǎn)單形式被定義為:
(2)
Q-learning算法最大的優(yōu)點(diǎn)就是無(wú)需環(huán)境模型,在學(xué)習(xí)過(guò)程中,該算法先建立一個(gè)Q值表,設(shè)其初值為0。當(dāng)Agent采取動(dòng)作at轉(zhuǎn)移至下一狀態(tài)st+1,并獲得立即獎(jiǎng)賞rt+1,根據(jù)式(2),更新Q值表,經(jīng)過(guò)不斷迭代更新,Q值表會(huì)最終收斂到最優(yōu),根據(jù)Q值表選擇最優(yōu)動(dòng)作值函數(shù)可以選取到最優(yōu)動(dòng)作。
本文通過(guò)強(qiáng)化學(xué)習(xí)中的Q學(xué)習(xí)算法來(lái)實(shí)現(xiàn)HNP模型結(jié)構(gòu)的預(yù)測(cè)。其流程框架如圖1所示。
圖1 基于HNP模型的強(qiáng)化學(xué)習(xí)框架
(1) 序列輸入與預(yù)處理。本文將氨基酸序列轉(zhuǎn)化為HNP序列的形式,在運(yùn)算時(shí),為了方便考慮,通過(guò)-1、0和1來(lái)對(duì)應(yīng)簡(jiǎn)化代替H(疏水)、N(中性)和P(親水)三類氨基酸。
(2) 基本元素。在強(qiáng)化學(xué)習(xí)系統(tǒng)中,除了Agent和環(huán)境之外,還包含有動(dòng)作、狀態(tài)值函數(shù)和獎(jiǎng)賞(回報(bào)函數(shù))這3類基本元素。而馬爾可夫決策過(guò)程(MDP)則包含5個(gè)模型要素,分別為狀態(tài)(state)、動(dòng)作(action)、策略(policy)、獎(jiǎng)勵(lì)(reward)和回報(bào)(return)[23]。
(3) 結(jié)果輸出。通過(guò)理論可以得知,如果所有的狀態(tài)動(dòng)作對(duì)能夠不斷地被更新,那么Q值表能夠被收斂到最佳結(jié)果,Agent可以根據(jù)收斂到的Q值更新表選擇最優(yōu)動(dòng)作,從而得出HNP模型的最優(yōu)結(jié)構(gòu)預(yù)測(cè)。
在強(qiáng)化學(xué)習(xí)中,狀態(tài)是指學(xué)習(xí)器發(fā)現(xiàn)自身當(dāng)前所處的情況:對(duì)于Agent而言,狀態(tài)可以是其所有執(zhí)行器的位置和角度,以及其地圖位置、電池狀態(tài)、其試圖發(fā)現(xiàn)的目標(biāo)等[24]。在馬爾可夫系統(tǒng)中,所有這些變量都被賦予學(xué)習(xí)器。狀態(tài)也可以被定義為學(xué)習(xí)器可用于發(fā)現(xiàn)其當(dāng)前狀況的所有信息的總結(jié)。這些信息包含在它所經(jīng)歷動(dòng)作和取樣的歷史中,意味著完整的歷史構(gòu)成完美的狀態(tài),這也是衡量一個(gè)狀態(tài)表示的標(biāo)準(zhǔn)[25]。
強(qiáng)化學(xué)習(xí)中的Q-learning算法是一種以馬爾可夫決策過(guò)程為理論基礎(chǔ)的算法。馬爾可夫性是指Agent在當(dāng)前狀態(tài)s下采取當(dāng)前動(dòng)作a達(dá)到下一狀態(tài)st+1以及得到的立即獎(jiǎng)賞只與當(dāng)前狀態(tài)s和當(dāng)前動(dòng)作a有關(guān),與之前的狀態(tài)和動(dòng)作都無(wú)關(guān)。也就是說(shuō),Agent和環(huán)境在一個(gè)離散時(shí)間序列(t=0,1,2,…)的每一步中都進(jìn)行交互,在每個(gè)時(shí)間步t,Agent都能得到若干環(huán)境狀態(tài)st∈S,其中S是所有可能狀態(tài)的集合。
本文將蛋白質(zhì)序列中的氨基酸可能擺放的位置看作一個(gè)狀態(tài),想要計(jì)算出蛋白質(zhì)序列的最低能量也就是需要羅列出Agent采取每一步動(dòng)作所有可能的狀態(tài)的集合。而當(dāng)狀態(tài)空間不斷增大時(shí),Agent與環(huán)境交互的時(shí)間越來(lái)越長(zhǎng),其存儲(chǔ)和計(jì)算相應(yīng)的狀態(tài)動(dòng)作對(duì)也會(huì)變得更加困難,對(duì)計(jì)算機(jī)內(nèi)存要求更高。需要簡(jiǎn)化這個(gè)歷史,而不丟失信息。因此,基于HNP蛋白質(zhì)模型,對(duì)以下三種狀態(tài)空間設(shè)置方法進(jìn)行研究。
(1) 全狀態(tài)空間設(shè)置方法。對(duì)于一個(gè)長(zhǎng)度為n的蛋白質(zhì)序列,在二維折疊空間中,有四個(gè)可能的折疊方向,分別為:L(左)、U(上)、R(右)和D(下),即A=[L,U,R,D]。如圖1(a)所示,首先隨機(jī)固定第一個(gè)氨基酸的狀態(tài),后續(xù)的每個(gè)氨基酸可能的狀態(tài)是上一個(gè)氨基酸4個(gè)可能方向L(左)、U(上)、R(右)和D(下)的集合,也就是說(shuō)后一個(gè)氨基酸的所有可能狀態(tài)個(gè)數(shù)是前一個(gè)氨基酸狀態(tài)個(gè)數(shù)的4倍,狀態(tài)轉(zhuǎn)移表如表1所示。
表1 全狀態(tài)空間轉(zhuǎn)移表
續(xù)表1
隨機(jī)固定第一個(gè)氨基酸的狀態(tài)s1,第一個(gè)氨基酸狀態(tài)個(gè)數(shù)為1。s1采取四個(gè)可能的折疊方向,轉(zhuǎn)移到的第二個(gè)氨基酸的可能狀態(tài){s2,s3,s4,s5},則第二個(gè)氨基酸所有可能狀態(tài)個(gè)數(shù)為4。如果s2變?yōu)楫?dāng)前狀態(tài)時(shí)再轉(zhuǎn)移到第三個(gè)氨基酸的可能狀態(tài){s6,s7,s8,s9};同理,如果s3、s4、s5變?yōu)楫?dāng)前狀態(tài)時(shí)也轉(zhuǎn)移到第三個(gè)氨基酸的可能狀態(tài){s10,s11,s12,s13}、{s14,s15,s16,s17}、{s18,s19,s20,s21},則第三個(gè)氨基酸所有可能狀態(tài)個(gè)數(shù)為4×4=16。以此類推,將整個(gè)狀態(tài)集S的狀態(tài)總數(shù)視為一個(gè)初值為1、公比為4的等比數(shù)列求和:
(2) 半狀態(tài)空間設(shè)置方法。對(duì)于全狀態(tài)空間過(guò)大,簡(jiǎn)單狀態(tài)空間略小的問(wèn)題,本文提出一種半狀態(tài)空間設(shè)置方法,如圖1(b)所示,如果當(dāng)前氨基酸的上一狀態(tài)采取的動(dòng)作相同,則采取所有可能的動(dòng)作轉(zhuǎn)移到相同的下一狀態(tài),相當(dāng)于固定了16個(gè)狀態(tài)空間,狀態(tài)轉(zhuǎn)移表如表2所示。
表2 半狀態(tài)空間轉(zhuǎn)移表
續(xù)表2
隨機(jī)固定第一個(gè)氨基酸的狀態(tài)s1,則第一個(gè)氨基酸狀態(tài)個(gè)數(shù)為1。s1采取四個(gè)可能的折疊方向,轉(zhuǎn)移到的第二個(gè)氨基酸的可能狀態(tài){s2,s3,s4,s5},則第二個(gè)氨基酸所有可能狀態(tài)個(gè)數(shù)為4。如果s2變?yōu)楫?dāng)前狀態(tài)時(shí)再轉(zhuǎn)移到第三個(gè)氨基酸的可能狀態(tài){s6,s7,s8,s9};同理,如果s3、s4、s5變?yōu)楫?dāng)前狀態(tài)時(shí)也轉(zhuǎn)移到第三個(gè)氨基酸的可能狀態(tài){s10,s11,s12,s13}、{s14,s15,s16,s17}、{s18,s19,s20,s21},則第三個(gè)氨基酸所有可能狀態(tài)個(gè)數(shù)為16。從第三個(gè)氨基酸開(kāi)始,考慮當(dāng)前動(dòng)作和上一動(dòng)作轉(zhuǎn)移到下一氨基酸的可能狀態(tài)。即如果s6作為當(dāng)前狀態(tài),上一動(dòng)作為L(zhǎng),采取當(dāng)前動(dòng)作為L(zhǎng),則轉(zhuǎn)移到s22;采取當(dāng)前動(dòng)作為R,則轉(zhuǎn)移到s23;采取當(dāng)前動(dòng)作為U,則轉(zhuǎn)移到s24;采取當(dāng)前動(dòng)作為D,則轉(zhuǎn)移到s25。如果s7作為當(dāng)前狀態(tài),上一動(dòng)作為R,采取當(dāng)前動(dòng)作為L(zhǎng),則轉(zhuǎn)移到s26;采取當(dāng)前動(dòng)作為R,則轉(zhuǎn)移到s27;采取當(dāng)前動(dòng)作為U,則轉(zhuǎn)移到s28;采取當(dāng)前動(dòng)作為D,則轉(zhuǎn)移到s29。如果s8作為當(dāng)前狀態(tài),上一動(dòng)作為U,采取當(dāng)前動(dòng)作為L(zhǎng),則轉(zhuǎn)移到s30;采取當(dāng)前動(dòng)作為R,則轉(zhuǎn)移到s31;采取當(dāng)前動(dòng)作為U,則轉(zhuǎn)移到s32;采取當(dāng)前動(dòng)作為D,則轉(zhuǎn)移到s33。如果s9作為當(dāng)前狀態(tài),上一動(dòng)作為D,采取當(dāng)前動(dòng)作為L(zhǎng),則轉(zhuǎn)移到s34;采取當(dāng)前動(dòng)作為R,則轉(zhuǎn)移到s35;采取當(dāng)前動(dòng)作為U,則轉(zhuǎn)移到s36;采取當(dāng)前動(dòng)作為D,則轉(zhuǎn)移到s37。如果s10作為當(dāng)前狀態(tài),上一動(dòng)作為L(zhǎng),采取當(dāng)前動(dòng)作為L(zhǎng),則轉(zhuǎn)移到s22;采取當(dāng)前動(dòng)作為R,則轉(zhuǎn)移到s23;采取當(dāng)前動(dòng)作為U,則轉(zhuǎn)移到s24;采取當(dāng)前動(dòng)作為D,則轉(zhuǎn)移到s25。以此類推,從第三個(gè)氨基酸開(kāi)始,每個(gè)氨基酸的所有可能狀態(tài)都為16,則整個(gè)狀態(tài)集S的狀態(tài)總數(shù)為:
1+41+42+42…+42=1+4+16×(n-2)=16n-27
所以一個(gè)蛋白質(zhì)分子的半狀態(tài)集S={s1,s2,…,s16n-27}。
(3) 簡(jiǎn)單狀態(tài)空間設(shè)置方法。全狀態(tài)空間的設(shè)置方法全部采取四個(gè)可能的折疊方向,全部羅列導(dǎo)致?tīng)顟B(tài)空間過(guò)大,其存儲(chǔ)和計(jì)算序列的狀態(tài)動(dòng)作對(duì)會(huì)比較困難。因此本文提出第一步隨機(jī)固定第一個(gè)氨基酸的狀態(tài),從第二步開(kāi)始每一個(gè)氨基酸可能的狀態(tài)都固定為四個(gè)狀態(tài)空間,圖形表示如圖1(c)所示,狀態(tài)轉(zhuǎn)移表如表3。隨機(jī)固定第一個(gè)氨基酸的狀態(tài)s1,則第一個(gè)氨基酸狀態(tài)個(gè)數(shù)為1。s1選擇四個(gè)可能的折疊方向轉(zhuǎn)移到下一氨基酸的可能狀態(tài){s2,s3,s4,s5},則第二個(gè)氨基酸所有可能狀態(tài)個(gè)數(shù)為4。如果s2變?yōu)楫?dāng)前狀態(tài)時(shí)再轉(zhuǎn)移到第三個(gè)氨基酸的所有可能狀態(tài){s6,s7,s8,s9};同理,如果s3、s4、s5變?yōu)楫?dāng)前狀態(tài)時(shí)也轉(zhuǎn)移到第三個(gè)氨基酸的所有可能狀態(tài){s6,s7,s8,s9},則第三個(gè)氨基酸所有可能狀態(tài)個(gè)數(shù)也為4。如果s6變?yōu)楫?dāng)前狀態(tài)時(shí)再轉(zhuǎn)移到下一可能狀態(tài){s10,s11,s12,s13};同理,如果s7、s8、s9變?yōu)楫?dāng)前狀態(tài)時(shí)也轉(zhuǎn)移到下一可能狀態(tài){s10,s11,s12,s13},則第四個(gè)氨基酸所有可能狀態(tài)個(gè)數(shù)也為4。由此類推,把整個(gè)狀態(tài)集S視為第一個(gè)氨基酸的狀態(tài)加上后面n-1個(gè)氨基酸狀態(tài)所有可能狀態(tài)的集合;狀態(tài)總數(shù)為:
1+41+41+…+41=1+4×(n-1)=4n-3
所以一個(gè)蛋白質(zhì)分子的簡(jiǎn)單狀態(tài)集S={s1,s2,s3,…,s4n-3}。
表3 簡(jiǎn)單狀態(tài)空間轉(zhuǎn)移表
續(xù)表3
綜上所述,可以得出三種不同的狀態(tài)空間設(shè)置表示的總個(gè)數(shù)。為了便于觀察以及方便進(jìn)行對(duì)比,將三個(gè)方法的狀態(tài)空間集記錄列于表4中。
表4 三種狀態(tài)集表示
在強(qiáng)化學(xué)習(xí)中,獎(jiǎng)賞函數(shù)把環(huán)境中感知到的狀態(tài)動(dòng)作對(duì)映射為一個(gè)單獨(dú)的數(shù)字,即獎(jiǎng)賞,表示該狀態(tài)的內(nèi)在需求。Agent的唯一目標(biāo)是在長(zhǎng)期運(yùn)行過(guò)程中實(shí)現(xiàn)獎(jiǎng)賞最大化。本文將強(qiáng)化學(xué)習(xí)思想與HNP模型相結(jié)合,為了能夠找到能量最低的結(jié)構(gòu)模型,也為了能夠讓Agent更好地訓(xùn)練出所需要的理想化結(jié)構(gòu),本文選擇根據(jù)上述所說(shuō)的Hamiltonian能量函數(shù)計(jì)算公式,將氨基酸與氨基酸之間的相互能量作為獎(jiǎng)賞函數(shù)。因此,獎(jiǎng)賞函數(shù)的設(shè)置如下:
(1) 當(dāng)序列未完全擺放好時(shí),其獎(jiǎng)賞設(shè)置為0。
(2) 當(dāng)序列擺放到最后一個(gè)氨基酸時(shí),判斷氨基酸與氨基酸之間是否滿足形成緊密接觸對(duì)的條件。如果滿足,則相應(yīng)的獎(jiǎng)賞值為氨基酸之間的相互作用能的絕對(duì)值|E|;如果不滿足,則獎(jiǎng)賞值為0。
MDP策略是按狀態(tài)給出的,動(dòng)作的條件概率分布在強(qiáng)化學(xué)習(xí)下屬于隨機(jī)性策略。在算法的訓(xùn)練階段,本文采用“探索-貪心(ε-greedy)策略”進(jìn)行動(dòng)作選擇。ε-greedy策略既考慮當(dāng)前回報(bào),又兼顧將來(lái)回報(bào),算法中隨機(jī)采取概率ε(0<ε<1)選取下一個(gè)動(dòng)作,利用剩下1-ε的概率去采取最優(yōu)動(dòng)作,從而不斷計(jì)算更新Q值表。
流程如算法1所示,其中:S表示狀態(tài)設(shè)置,Q表示狀態(tài)動(dòng)作Q值矩陣,at表示動(dòng)作,R為獎(jiǎng)賞函數(shù),st為當(dāng)前狀態(tài),st+1為下一狀態(tài),terminal為終點(diǎn)狀態(tài),n為當(dāng)前狀態(tài)數(shù),N表示狀態(tài)總數(shù)。
算法1HNP模型訓(xùn)練算法
1. //設(shè)置全狀態(tài)空間
2. state_transfer=0
3. for n in range(np.int((4 ** N-1)/3)):
4. state_transfer+=1
5. Or //設(shè)置半狀態(tài)空間
6. state_transfer=list(range(2,22))
7. for n in range(4,N+1):
8. state_transfer+=list(range((n*16-42),n*16-26))*4
9. Or //設(shè)置簡(jiǎn)單狀態(tài)空間
10. state_transfer=list(range(2,6))
11. for n in range(2,N):
12. state_transfer+=list(range((n*4-2),n*4+2))*4
13. Initialize:st,Q(s,a)
14. Repeat (for each episode){
15. Initializest
16. While(st!=ternimal){
17.at← Q(ε-greedy)
18. Take actionat, returnR,st+1
20.s←st+1
21. }
22. }
為了保證在實(shí)驗(yàn)過(guò)程中的客觀性以及值函數(shù)的準(zhǔn)確性和收斂性,需要設(shè)置一定參數(shù)來(lái)進(jìn)行實(shí)驗(yàn)。實(shí)驗(yàn)中參數(shù)有學(xué)習(xí)參數(shù)γ、步長(zhǎng)參數(shù)α和探索概率ε。學(xué)習(xí)參數(shù)γ又稱折扣率,決定著未來(lái)獎(jiǎng)賞的當(dāng)前價(jià)值。在強(qiáng)化學(xué)習(xí)問(wèn)題中,一般取學(xué)習(xí)參數(shù)γ=0.9,使得Agent在學(xué)習(xí)探索過(guò)程中能夠找到全局最優(yōu)解而不陷于局部最優(yōu)解。步長(zhǎng)參數(shù)和探索概率共同影響著值函數(shù)的準(zhǔn)確性和收斂性。步長(zhǎng)參數(shù)過(guò)大,會(huì)引起值函數(shù)震蕩,難以收斂;過(guò)小則使得值函數(shù)收斂速度緩慢。探索概率過(guò)大,Agent為尋求更優(yōu)解會(huì)不斷更新值函數(shù),不易收斂;過(guò)小則缺少探索信息,值函數(shù)收斂緩慢。因此需要選擇最優(yōu)參數(shù)以達(dá)到收斂效果最佳的目的。
本文在設(shè)置學(xué)習(xí)參數(shù)γ=0.9的前提下,選擇不同的步長(zhǎng)參數(shù)α和探索概率ε進(jìn)行實(shí)驗(yàn)。以序列HHPNHHNNHH(長(zhǎng)度為10)作為實(shí)驗(yàn)對(duì)象,進(jìn)行5輪實(shí)驗(yàn),訓(xùn)練迭代次數(shù)為30萬(wàn)次,改變步長(zhǎng)參數(shù)α和探索概率ε,多次實(shí)驗(yàn)計(jì)算蛋白質(zhì)序列在不同參數(shù)下達(dá)到最低能量所需的平均次數(shù),從而比較得出最優(yōu)參數(shù)。得出數(shù)據(jù)如表5所示。
表5 三種狀態(tài)空間設(shè)置方法在不同參數(shù)下序列
由表5所示,在探索概率ε數(shù)值相同的情況下,隨著步長(zhǎng)參數(shù)α的增大,序列達(dá)到最低能量所需平均次數(shù)逐漸下降,當(dāng)α=0.9的時(shí)候,實(shí)驗(yàn)數(shù)據(jù)趨于收斂;在步長(zhǎng)參數(shù)α數(shù)值相同的情況下,探索概率ε=0.5測(cè)試出的所需次數(shù)較ε=0.2和ε=0.8更優(yōu)。綜上所述,本文選取α=0.9、ε=0.5作為最優(yōu)參數(shù)。
根據(jù)三種狀態(tài)空間表示方法設(shè)置的不同對(duì)蛋白質(zhì)序列進(jìn)行模型訓(xùn)練。本文在PIR數(shù)據(jù)庫(kù)中隨機(jī)選取了11條長(zhǎng)度不同的序列作為實(shí)驗(yàn)對(duì)象,將其轉(zhuǎn)化為HNP序列,將序列集信息記錄于表6。為避免偶然性,按照三種狀態(tài)空間設(shè)置的方法對(duì)每條序列進(jìn)行5輪測(cè)試實(shí)驗(yàn),每輪訓(xùn)練迭代次數(shù)設(shè)置為30萬(wàn)次,保證其他參數(shù)條件以及實(shí)驗(yàn)環(huán)境不變,記錄在迭代次數(shù)內(nèi)每條序列可以計(jì)算出的最低能量并統(tǒng)計(jì)于表6,其中未能測(cè)出序列最低能量的結(jié)果以“-”表示。
表6 三種狀態(tài)空間方法測(cè)得HNP序列的最低能量 單位:RT
由表6可以看出,當(dāng)序列長(zhǎng)度較短時(shí),以前面5條序列為例,基于全狀態(tài)空間方法和半狀態(tài)空間方法的實(shí)驗(yàn)都可以測(cè)出序列的最低能量;而基于簡(jiǎn)單狀態(tài)空間方法的實(shí)驗(yàn)則不能測(cè)出序列3和序列5的最低能量,相比于另外兩種方法在計(jì)算序列最低能量的準(zhǔn)確度上降低了40百分點(diǎn)。此外,基于簡(jiǎn)單狀態(tài)空間方法的實(shí)驗(yàn)在訓(xùn)練序列2和序列4的實(shí)驗(yàn)中不能每次都計(jì)算出最低能量,相比于基于全狀態(tài)空間方法的實(shí)驗(yàn)在五輪訓(xùn)練實(shí)驗(yàn)的準(zhǔn)確度上平均降低了12百分點(diǎn);基于半狀態(tài)空間方法的實(shí)驗(yàn)在訓(xùn)練序列3的實(shí)驗(yàn)中不能每次都計(jì)算出最低能量,相比于基于全狀態(tài)空間方法的實(shí)驗(yàn)在五輪訓(xùn)練實(shí)驗(yàn)的準(zhǔn)確度上平均降低了4百分點(diǎn),相比于基于簡(jiǎn)單狀態(tài)空間方法的實(shí)驗(yàn)在五輪訓(xùn)練實(shí)驗(yàn)的準(zhǔn)確度上平均提高了8百分點(diǎn)。當(dāng)序列長(zhǎng)度逐漸增大時(shí),以后面6條序列為例,基于全狀態(tài)空間方法的實(shí)驗(yàn)則會(huì)出現(xiàn)狀態(tài)空間過(guò)大的情況,導(dǎo)致在相同實(shí)驗(yàn)環(huán)境下無(wú)法計(jì)算后面6條長(zhǎng)序列的最低能量;基于半狀態(tài)空間方法的實(shí)驗(yàn)相比于基于簡(jiǎn)單狀態(tài)空間方法的實(shí)驗(yàn)?zāi)苡?jì)算出更低的能量,尤其對(duì)于序列6、7、9、10和11,基于半狀態(tài)空間方法的實(shí)驗(yàn)比基于簡(jiǎn)單狀態(tài)空間方法的實(shí)驗(yàn)在每輪訓(xùn)練實(shí)驗(yàn)中都計(jì)算出更低的能量。由此可見(jiàn),對(duì)于長(zhǎng)序列而言,半狀態(tài)空間方法比全狀態(tài)方法和簡(jiǎn)單狀態(tài)空間方法能找到更符合實(shí)際蛋白質(zhì)序列的最低能量。
綜上所述,半狀態(tài)空間方法和簡(jiǎn)單狀態(tài)空間方法有效解決全狀態(tài)空間無(wú)法計(jì)算長(zhǎng)序列的缺點(diǎn)。簡(jiǎn)單狀態(tài)空間較全狀態(tài)空間有3條序列預(yù)測(cè)出更低能量,半狀態(tài)空間較全狀態(tài)空間方法全部6條長(zhǎng)序列都預(yù)測(cè)出更低能量,且半狀態(tài)空間預(yù)測(cè)的能量平均值較簡(jiǎn)單狀態(tài)空間降低了9.83百分點(diǎn)。
本文以強(qiáng)化學(xué)習(xí)算法為核心,對(duì)蛋白質(zhì)HNP模型結(jié)構(gòu)進(jìn)行訓(xùn)練模型,計(jì)算最接近真實(shí)的蛋白質(zhì)序列結(jié)構(gòu)。針對(duì)強(qiáng)化學(xué)習(xí)中的狀態(tài)空間問(wèn)題,對(duì)比研究了三種不同的狀態(tài)空間設(shè)置方法。全狀態(tài)空間表示方法全面地列出了序列所有的可能狀態(tài)空間,能夠較為準(zhǔn)確地計(jì)算出最接近真實(shí)的蛋白質(zhì)序列結(jié)構(gòu),但每當(dāng)序列長(zhǎng)度增加時(shí),狀態(tài)空間也會(huì)以指數(shù)級(jí)增長(zhǎng),導(dǎo)致?tīng)顟B(tài)空間過(guò)大,其存儲(chǔ)和計(jì)算狀態(tài)動(dòng)作對(duì)較為困難,對(duì)計(jì)算機(jī)內(nèi)存的要求也變高。半狀態(tài)空間表示方法和簡(jiǎn)單狀態(tài)空間表示方法在全狀態(tài)空間表示方法的基礎(chǔ)上將其狀態(tài)空間進(jìn)行簡(jiǎn)化,縮小了狀態(tài)空間,可以計(jì)算長(zhǎng)度更長(zhǎng)的序列,但也降低了一定的準(zhǔn)確度。此外,半狀態(tài)空間表示方法相較于簡(jiǎn)單狀態(tài)空間表示方法在計(jì)算蛋白質(zhì)序列最低能量的準(zhǔn)確率上更具優(yōu)勢(shì)。
本文是強(qiáng)化學(xué)習(xí)在生物信息領(lǐng)域新的嘗試。目前還存在需要解決的問(wèn)題,如無(wú)法在確保準(zhǔn)確度的前提下合理縮小氨基酸序列的狀態(tài)空間。所以,在研究HNP模型的蛋白質(zhì)分子構(gòu)象和折疊問(wèn)題中,需要提出更進(jìn)一步的算法改進(jìn)。