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