王 賓李 亞 趙宏偉
(大連大學(xué)先進(jìn)設(shè)計(jì)與智能計(jì)算省部共建教育部重點(diǎn)實(shí)驗(yàn)室 大連 116622)
隨著大數(shù)據(jù)時(shí)代的到來(lái),計(jì)算機(jī)需要處理大量的數(shù)據(jù)。雖然當(dāng)前的電子計(jì)算機(jī)能較好地處理這些數(shù)據(jù),但是在并行計(jì)算和存儲(chǔ)能力方面也面臨著發(fā)展的瓶頸,因此設(shè)計(jì)具有并行性、運(yùn)算快和大容量的DNA計(jì)算機(jī)成為必然的趨勢(shì)。自Adleman[1]解決了哈密頓路徑問(wèn)題以來(lái),DNA計(jì)算受到越來(lái)越多學(xué)者的關(guān)注。一些重要的DNA計(jì)算技術(shù)和計(jì)算模型被提出,其中DNA鏈置換是重要的技術(shù)之一。
DNA鏈置換[2,3]操作簡(jiǎn)單,具有自主性[4]。目前,DNA鏈置換已廣泛用于生物邏輯電路[5–7]、催化放大器[8]以及DNA編碼等領(lǐng)域[9–12]。例如,Seelig等人[13]基于DNA鏈置換設(shè)計(jì)了AND,OR和NOT門,這為邏輯電路的發(fā)展奠定了基礎(chǔ)。Zhang等人[14]實(shí)現(xiàn)了一個(gè)用于放大信號(hào)的電路,包括具有動(dòng)態(tài)特性的前饋級(jí)聯(lián)電路和具有指數(shù)增長(zhǎng)動(dòng)態(tài)特性的正反饋電路。另外,Lakin等人[15]提出了一個(gè)監(jiān)督學(xué)習(xí)框架,使用緩沖的DNA鏈置換網(wǎng)絡(luò)開發(fā)自適應(yīng)分子電路,該框架擴(kuò)展了現(xiàn)有的DNA鏈置換電路架構(gòu)。Song等人[16]構(gòu)建了加法、減法和乘法的基本門,基于這些門,描述了如何構(gòu)建用于計(jì)算輸入多項(xiàng)式函數(shù)的DNA電路。
近年來(lái),DNA鏈置換用來(lái)構(gòu)造神經(jīng)網(wǎng)絡(luò)取得了令人矚目的成果。例如,Qian等人[17]使用112條DNA鏈進(jìn)行級(jí)聯(lián),設(shè)計(jì)了一個(gè)4神經(jīng)元的Hopfield聯(lián)想記憶。然而由于Hopfield聯(lián)想記憶在實(shí)現(xiàn)“猜心術(shù)”游戲時(shí),網(wǎng)絡(luò)規(guī)模較大,Genot等人[18]通過(guò)贏家通吃(Winner-Take-All,WTA)效應(yīng)推廣到僅含DNA鏈的電路,縮小了電路并展示只有23條DNA鏈構(gòu)造的“猜心術(shù)”游戲。緊接著,Shi等人[19]設(shè)計(jì)了智能的DNA分子系統(tǒng),可以自動(dòng)地執(zhí)行邏輯運(yùn)算,該系統(tǒng)由一些特定的“DNA神經(jīng)元”串聯(lián)組成。之后,Cherry等人[20]通過(guò)使用seesaw門,證明基于WTA的DNA神經(jīng)網(wǎng)絡(luò)的可以識(shí)別手寫數(shù)字分為多達(dá)9類。
本文提出基于DNA鏈置換實(shí)現(xiàn)的WTA神經(jīng)網(wǎng)絡(luò),采用湮滅進(jìn)行競(jìng)爭(zhēng)得到最后的結(jié)果。由于不需要進(jìn)行信號(hào)的放大和恢復(fù),這不僅減少了DNA鏈的數(shù)量,提高了工作效率,對(duì)于實(shí)驗(yàn)操作具有重要意義。將神經(jīng)元實(shí)現(xiàn)的邏輯運(yùn)算AND,NAND和OR級(jí)聯(lián)解決了線性不可分的分類問(wèn)題。通過(guò)與別人結(jié)果的對(duì)比,證明本文方法的有效性。為了進(jìn)一步檢驗(yàn)神經(jīng)元級(jí)聯(lián)的可擴(kuò)展性,本文構(gòu)建了一個(gè)3人表決器。然后,基于DNA鏈置換實(shí)現(xiàn)了科學(xué)家的分類。最后通過(guò)對(duì)比Visual DSD[21]的實(shí)驗(yàn)結(jié)果,驗(yàn)證了本文的準(zhǔn)確率明顯高于其他的方法。本文的其余部分安排如下:第2部分介紹Visual DSD和實(shí)驗(yàn)結(jié)果,第3部分對(duì)文章進(jìn)行總結(jié)。
Visual DSD是一種編程語(yǔ)言,可以用于實(shí)現(xiàn)DNA電路的組裝。它的基本組成要素包括Domain,Toeholds和Branch migration。這種語(yǔ)言假設(shè)使用的DNA鏈中不包含任何2級(jí)結(jié)構(gòu),并且可以把某個(gè)功能模塊封裝成一個(gè)含有參數(shù)的函數(shù)模塊,從而可以方便地設(shè)計(jì)大規(guī)模的邏輯電路。其中Table選項(xiàng)卡具有輸出表格形式的功能,選項(xiàng)卡中的數(shù)據(jù)可以被保存成為CSV文件或TSV文件。除了將DNA分子編譯為化學(xué)反應(yīng)之外,該工具針對(duì)模擬器有3種選擇,包括Stochastic模擬器、Deterministic模擬器和準(zhǔn)時(shí)(Just In Time,JIT)模擬器。
本文使用的是Deterministic模擬器,通過(guò)時(shí)間的推移產(chǎn)生光滑、確定的圖像,運(yùn)行Visual DSD時(shí)默認(rèn)選擇的語(yǔ)義模型為default,分子被識(shí)別為分支遷移。采用的反應(yīng)參數(shù)如下:泄漏反應(yīng)的反應(yīng)速率常數(shù)為10–18mol·s–1·L–1,其中toehold的堿基長(zhǎng)度為6個(gè),綁定速率常數(shù)為3.0×10–13mol·s–1·L–1,釋放速率常數(shù)為0.1126 s–1。
本文通過(guò)化學(xué)反應(yīng)來(lái)實(shí)現(xiàn)邏輯運(yùn)算。根據(jù)輸入的邏輯值設(shè)置輸入的DNA信號(hào)濃度。A的輸入代表是否存在邏輯值。如果不存在A,則A的邏輯值表示為“0”,將不會(huì)產(chǎn)生E。如果存在A,則A的邏輯值表示為“1”,E的最終濃度將由D的初始濃度確定。權(quán)重門必須設(shè)計(jì)成具有相同的結(jié)構(gòu),該設(shè)計(jì)是為了使每個(gè)門對(duì)每組輸入產(chǎn)生不同的響應(yīng)。其中式(1)和式(2)分別表示權(quán)重反應(yīng)的過(guò)程。單鏈B和權(quán)重門D執(zhí)行鏈置換反應(yīng),為下一次求和做準(zhǔn)備。邏輯值“1”或“0”用于表示輸入鏈B以及C是否存在。其中D為權(quán)重門,箭頭右側(cè)E,F為輸出,G表示產(chǎn)生的廢物鏈。C與B具有同樣的功能,代表輸入鏈
當(dāng)實(shí)現(xiàn)邏輯運(yùn)算AND時(shí),生成的DNA鏈E和F相加來(lái)實(shí)現(xiàn)求和的過(guò)程。式(3)為反應(yīng)公式,L表示權(quán)重之和
然后,通過(guò)“成對(duì)湮滅”進(jìn)行比較來(lái)確定最后的贏家。加入湮滅鏈(用字母M表示)和幫助鏈(用字母N表示),與生成的鏈L發(fā)生反應(yīng)。其中M限制了輸出鏈的再次生成,同時(shí)也促進(jìn)了競(jìng)爭(zhēng)反應(yīng)的發(fā)生。式(4)代表反應(yīng)進(jìn)行湮滅的過(guò)程。在這些過(guò)程的基礎(chǔ)上,本文實(shí)現(xiàn)的神經(jīng)元結(jié)構(gòu)如圖1所示。
圖1 神經(jīng)元結(jié)構(gòu)圖
WTA是一種非線性動(dòng)力學(xué)效應(yīng),它可以選擇性地放大某一個(gè)輸出。本文將從基于Genot等人[18]實(shí)施的電路進(jìn)行改變,實(shí)現(xiàn)的過(guò)程如圖2所示。從網(wǎng)絡(luò)形式上來(lái)說(shuō),本文實(shí)現(xiàn)的是前饋網(wǎng)絡(luò),前饋相比反饋速度較快,在需要得到一個(gè)輸出時(shí),輸入信號(hào)可以被事先推算出來(lái)。在網(wǎng)絡(luò)趨于穩(wěn)定時(shí),通過(guò)最后物種的量顯示出結(jié)果。這與以反饋形式實(shí)現(xiàn)的有所不同[17],反饋電路會(huì)有物種不斷生成,然后上一步的輸出作為下一次反應(yīng)的輸入。就反應(yīng)的時(shí)間而言,相比帶有反饋的電路反應(yīng)的時(shí)間更長(zhǎng),然而本文采用的方法需要的時(shí)間則更短。通過(guò)控制輸入量和M的值來(lái)控制反應(yīng)時(shí)間。其次,WTA神經(jīng)網(wǎng)絡(luò)不需要添加雙軌,這也減少了DNA鏈的數(shù)量,降低了整個(gè)網(wǎng)絡(luò)運(yùn)行的復(fù)雜性。并且WTA神經(jīng)網(wǎng)絡(luò)具有普遍的全局效應(yīng):一個(gè)輸出的變化會(huì)立即影響所有其他輸出的復(fù)制速度。
圖2 實(shí)現(xiàn)AND的過(guò)程
首先通過(guò)單鏈
圖3 神經(jīng)元實(shí)現(xiàn)邏輯運(yùn)算AND
通過(guò)利用神經(jīng)元實(shí)現(xiàn)邏輯運(yùn)算NAND,它的仿真結(jié)果與AND相反,不同的是在此基礎(chǔ)上又增加了一條N鏈。通過(guò)使用神經(jīng)元實(shí)現(xiàn)邏輯運(yùn)算OR,與AND過(guò)程的實(shí)現(xiàn)一致,但是需要調(diào)整M的值。
單個(gè)神經(jīng)元可以實(shí)現(xiàn)單層感知器的功能,即實(shí)現(xiàn)線性可分的分類。如邏輯運(yùn)算AND,NAND和OR能夠進(jìn)行分類。但是,對(duì)于線性不可分的問(wèn)題,這種方法就不是那么方便。因此,在神經(jīng)元實(shí)現(xiàn)邏輯運(yùn)算AND,NAND和OR的基礎(chǔ)上,可以級(jí)聯(lián)形成WTA神經(jīng)網(wǎng)絡(luò),來(lái)解決復(fù)雜的線性不可分問(wèn)題。通過(guò)WTA將兩個(gè)相同的輸入分為一個(gè)類,將另外兩個(gè)不同的輸入分為另一個(gè)類,因此應(yīng)用WTA神經(jīng)網(wǎng)絡(luò)可以解決線性不可分問(wèn)題。在實(shí)現(xiàn)邏輯運(yùn)算XOR時(shí),第1層用神經(jīng)元實(shí)現(xiàn)邏輯運(yùn)算NAND和OR,其輸出作為下一層邏輯運(yùn)算AND的輸入。仿真結(jié)果如圖4所示。WTA神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)邏輯運(yùn)算XOR。輸出單鏈<2 Z1^>表示信號(hào)“1”,單鏈
圖4 WTA實(shí)現(xiàn)XOR的仿真圖
在本文中,對(duì)比了Wang等人[22]的工作。關(guān)于電路的輸入,Wang等人[22]采用雙軌作為輸入,如圖5所示。然而我們采用單軌,通過(guò)級(jí)聯(lián)神經(jīng)元構(gòu)造的邏輯運(yùn)算AND,NAND和OR來(lái)實(shí)現(xiàn)XOR,其中WTA神經(jīng)網(wǎng)絡(luò)抽象結(jié)構(gòu)如圖6所示。其次,雙鏈的結(jié)構(gòu)也有所不同,Wang等人[22]使用帶tether的雙鏈,本文利用普通鏈置換反應(yīng)的雙鏈。盡管Wang等人[22]實(shí)現(xiàn)了對(duì)邏輯運(yùn)算XOR的分類,但是在橫坐標(biāo)中,可以看到它的反應(yīng)時(shí)間較長(zhǎng),相比我們的反應(yīng)時(shí)間更短。因此,本文分析,雙軌的加入以及帶有tether的雙鏈都是影響最終反應(yīng)時(shí)間的因素。在本文的實(shí)驗(yàn)中,NAND的實(shí)現(xiàn)不僅解決了NOT門問(wèn)題,而且避免了雙軌,電路結(jié)構(gòu)簡(jiǎn)單,從而證明本文采用方法的有效性。
圖5 采用AND和OR實(shí)現(xiàn)的雙軌XOR
圖6 WTA神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)XOR
為了驗(yàn)證神經(jīng)元級(jí)聯(lián)的可擴(kuò)展性,本文將電路從單層WTA延伸到多層,設(shè)計(jì)了一個(gè)3人表決器,簡(jiǎn)化的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)如圖7所示。在這里用字母A,B和C分別表示3位評(píng)委,每位評(píng)委都有投票權(quán),然后根據(jù)投票結(jié)果判定是贊成還是反對(duì)。如果評(píng)委A投票通過(guò),則用邏輯值“1”表示輸入。評(píng)委B,C沒有投票通過(guò),這意味著輸入為邏輯值“0”。3位評(píng)委A,B和C每個(gè)人的投票結(jié)果作為輸入,字母F表示3位評(píng)委最后的投票結(jié)果。在3位評(píng)委進(jìn)行投票時(shí)遵守少數(shù)服從多數(shù)的規(guī)則,即只有兩個(gè)或兩個(gè)以上的評(píng)委投票贊成,則代表挑戰(zhàn)者挑戰(zhàn)成功(輸出為“1”);否則,挑戰(zhàn)者將被淘汰(輸出為“0”)。3人表決器的仿真結(jié)果如圖8所示。
圖7 3人表決器的WTA簡(jiǎn)化結(jié)構(gòu)圖
從圖8可以看出,圖8(d)中輸入為“011”,圖8(f)中輸入為“111”,此時(shí)獲得的票數(shù)為兩個(gè)或兩個(gè)以上時(shí),輸出為
圖8 3人表決器的仿真圖
為了驗(yàn)證WTA神經(jīng)網(wǎng)絡(luò)的計(jì)算能力,本文實(shí)現(xiàn)了對(duì)科學(xué)家的分類,分類電路的結(jié)構(gòu)如圖9所示。圖9(a)展示了問(wèn)題與科學(xué)家的對(duì)應(yīng)關(guān)系。當(dāng)肯定回答時(shí),即“1”;當(dāng)否定回答時(shí),即“0”;當(dāng)不確定時(shí),顯示“?”。圖9(b)中,當(dāng)輸入為0011時(shí),可以判斷為第3位科學(xué)家S3,設(shè)計(jì)了WTA神經(jīng)網(wǎng)絡(luò)的抽象圖。圖10顯示了如何使用與Cherry等人[20]相同的結(jié)構(gòu)來(lái)競(jìng)爭(zhēng)實(shí)施WTA神經(jīng)網(wǎng)絡(luò)。本文使用前饋電路,上一層的輸出發(fā)送到下一層,并且每一層之間沒有反饋。也就是說(shuō),電路上的任何點(diǎn)都將朝該方向前進(jìn),并且不會(huì)返回到原始點(diǎn)。
圖9(a)問(wèn)題與科學(xué)家的對(duì)應(yīng)關(guān)系。通過(guò)回答問(wèn)題,每個(gè)科學(xué)家都擁有一個(gè)屬于自己的編號(hào),如科學(xué)家香農(nóng)由(0011)表示。圖9(b)WTA神經(jīng)網(wǎng)絡(luò)抽象圖。通過(guò)判斷輸入鏈X1~X4,直到整個(gè)網(wǎng)絡(luò)響應(yīng)穩(wěn)定,判斷出最后的獲勝者。
圖9 分類電路的結(jié)構(gòu)
這里實(shí)現(xiàn)分為3個(gè)步驟。首先,在圖10(a)中,輸入鏈Xi催化與權(quán)重Wij進(jìn)行反應(yīng),并轉(zhuǎn)化成中間產(chǎn)物。為了連續(xù)產(chǎn)生輸入,下游連接的燃料對(duì)雙鏈進(jìn)行催化。只要有足夠的燃料鏈,輸入鏈就不會(huì)受到影響。其次,從圖10(b)開始,同一神經(jīng)元內(nèi)的所有中間物種與權(quán)重發(fā)生鏈置換反應(yīng),實(shí)現(xiàn)求和Sm。最終,由鏈置換產(chǎn)生的總和物種彼此之間將相互破壞,直到一個(gè)獲勝者最終脫穎而出。電路如圖10(c)所示。如果僅存在Sm,它將與湮滅發(fā)生反應(yīng),并且不會(huì)消耗任何物種。同樣,產(chǎn)物Sn的存在也是僅與湮滅反應(yīng),并且不會(huì)被消耗。只有當(dāng)生成的兩個(gè)物種同時(shí)存在時(shí),才顯現(xiàn)出湮滅存在的價(jià)值。在本文中DNA鏈之間以湮滅的形式實(shí)現(xiàn),從某一個(gè)程度上說(shuō),這就是它比Genot等人[18]的方法獲得更好結(jié)果的原因?;趯?duì)不完整信息的“喚醒”,實(shí)現(xiàn)了對(duì)科學(xué)家的分類。輸入值采用Qian等人[17]的補(bǔ)充材料圖S17a。其中,在網(wǎng)絡(luò)加權(quán)算法和輸入鏈的濃度均與Genot等人[18]的實(shí)現(xiàn)一致,通過(guò)更改網(wǎng)絡(luò)結(jié)構(gòu),輸入不完整的信息可以對(duì)科學(xué)家進(jìn)行正確分類。
圖10(a)釋放中間物質(zhì)。輸入鏈與權(quán)重反應(yīng)生成中間物種,從而為下一步求和創(chuàng)造了條件。燃料鏈的加入催化生成的雙鏈不斷產(chǎn)生輸入單鏈。圖10(b)求和。中間物種與雙鏈發(fā)生鏈置換反應(yīng)以執(zhí)行求和運(yùn)算。圖10(c)湮滅。所得的求和物種發(fā)生成對(duì)湮滅反應(yīng),最后通過(guò)剩余數(shù)量確定結(jié)果,判別具體的某一位科學(xué)家。
圖10 WTA神經(jīng)網(wǎng)絡(luò)的DNA實(shí)現(xiàn)
作為比較,Genot等人[18]實(shí)現(xiàn)的電路使用了28條DNA鏈,本文的輸入使用了34條。就鏈的數(shù)量而言,盡管不如Genot等人[18]的簡(jiǎn)化。但從最終效果來(lái)看,Genot等人[18]的14個(gè)輸入中只有兩個(gè)可以分類。然而對(duì)于同樣的輸入,在本文中采用的方式能夠?qū)ζ渲械?3個(gè)輸入進(jìn)行正確的分類。通過(guò)計(jì)算最終完成的任務(wù)量,他們的方法僅完成了14%的任務(wù)(14個(gè)圖僅實(shí)現(xiàn)2個(gè))。然而通過(guò)計(jì)算任務(wù)完成量,本文達(dá)到了92%(14個(gè)圖實(shí)現(xiàn)了13個(gè))。執(zhí)行的仿真結(jié)果如圖11所示。因此,湮滅鏈的選擇有很重要的意義,湮滅鏈的加入使得網(wǎng)絡(luò)更出色地完成任務(wù)。另外,由于缺乏輸入信息以及特殊的結(jié)構(gòu),Qian等人[17]未能對(duì)補(bǔ)充材料S17a進(jìn)行正確的分類。
由圖11得知,當(dāng)圖11(b)中輸入為???0,被分為第1類;當(dāng)圖11(a)中輸入為????、圖11(c)中輸入為??1?、圖11(e)中輸入為1???、圖11(f)中輸入為???1時(shí),被分為第2類;當(dāng)圖11(d)中輸入為?0??,被分為第3類;在其他的8種情況中,除了輸入?0?0無(wú)法識(shí)別,網(wǎng)絡(luò)對(duì)其余輸入都能夠進(jìn)行分類。[Fuel][0]=1700 nmol·L–1,[N][0]=440 nmol·L–1,[M1][0]=850 nmol·L–1,[M2][0]=3400 nmol·L–1,[M3][0]=1800 nmol·L–1,[M4][0]=1700 nmol·L–1。
圖11 湮滅方法實(shí)現(xiàn)科學(xué)家模擬圖
本文通過(guò)對(duì)Genot等人[18]實(shí)施的“猜心術(shù)”游戲的電路進(jìn)行改變,設(shè)計(jì)了以神經(jīng)元形式實(shí)現(xiàn)的基本邏輯運(yùn)算AND,NAND和OR。由于非線性計(jì)算成本高昂,所以本文中神經(jīng)元在執(zhí)行AND,NAND和OR邏輯運(yùn)算時(shí),不涉及非線性計(jì)算。通過(guò)將神經(jīng)元級(jí)聯(lián)為WTA神經(jīng)網(wǎng)絡(luò)完成了復(fù)雜的線性不可分問(wèn)題。另外,為了驗(yàn)證實(shí)現(xiàn)神經(jīng)元級(jí)聯(lián)的可擴(kuò)展性,創(chuàng)建了一個(gè)3人表決器,并在Visual DSD上對(duì)電路進(jìn)行仿真,獲得很好的實(shí)驗(yàn)結(jié)果。然而,為了驗(yàn)證所采用方法的可擴(kuò)展性,還實(shí)現(xiàn)了科學(xué)家的分類,并且通過(guò)與前人工作的比較證明了該方法的有效性。通過(guò)使用DNA鏈置換電路實(shí)現(xiàn)WTA網(wǎng)絡(luò)時(shí),避免采用雙軌作為輸入。這不僅減少了DNA鏈的數(shù)量,也降低了網(wǎng)絡(luò)的復(fù)雜度,這樣提高了工作效率。
神經(jīng)網(wǎng)絡(luò)中權(quán)值的設(shè)置是處理信息的重要方式之一,但是在DNA生化反應(yīng)中不斷更新權(quán)值是不容易實(shí)現(xiàn)的。因此本文是采用灌輸式學(xué)習(xí),將權(quán)值設(shè)置為固定值,此外這種學(xué)習(xí)是一次性的。另外,由于采用的濃度都是正值,這種設(shè)計(jì)的局限性在于不容易處理負(fù)值。盡管本文實(shí)現(xiàn)的網(wǎng)絡(luò)規(guī)模相對(duì)較小,但最后的結(jié)果還是能夠說(shuō)明:DNA鏈置換技術(shù)在分子計(jì)算領(lǐng)域具有的潛在能力。此外,通過(guò)DNA鏈置換技術(shù)構(gòu)建的神經(jīng)網(wǎng)絡(luò)一方面借助可變?cè)鲆娣糯笃鱗23],用于處理模擬輸入,從而可以進(jìn)行更廣泛的信號(hào)分類任務(wù)。另一方面,還可以應(yīng)用核酸反饋控制[24],使用發(fā)夾的可再生蹺蹺板結(jié)構(gòu)[25]等。在未來(lái)的工作中,提高鏈利用率和負(fù)值的加入,盡可能減少可逆反應(yīng),將仍是我們研究的重點(diǎn)。將邏輯運(yùn)算與神經(jīng)網(wǎng)絡(luò)、納米技術(shù)等結(jié)合,以構(gòu)建更復(fù)雜的計(jì)算,DNA鏈置換將具有更廣闊的前景。