進(jìn)化硬件(Evoluable Hardware, EHW)的概念是1992年由日本ATR的H. deGaris提出的。其目的在于研制出一種自治(Autonomous)工作方式的硬件,能夠像生物一樣根據(jù)環(huán)境的變化而改變自身的結(jié)構(gòu)以獲得最優(yōu)的適應(yīng)性能。它是一種進(jìn)化算法與可編程邏輯器件相結(jié)合的新的硬件設(shè)計方法。以前的硬件在設(shè)計和制造后,其結(jié)構(gòu)幾乎很難變更,性能的提高主要依賴控制和管理手段的改進(jìn)。
近年來,可編程邏輯器件(Programmable Logical Device, PLD)獲得了迅速的發(fā)展,特別是現(xiàn)場可編程門陣列(Field Programmable Gate Array, FPGA)在器件的選擇和內(nèi)聯(lián)上提供了更多的自由度,用戶可通過編程實現(xiàn)專用集成電路(ASIC),達(dá)到改變硬件功能的需要。但FPGA自身沒有改變的能力,用進(jìn)化算法的方法實現(xiàn)這種改變,能夠更好地迎合用戶的高級需要,如容故障性、自我修復(fù)、多用途以及具備一定的學(xué)習(xí)能力等。
進(jìn)化硬件的研究雖然只有短短幾年時間,但已經(jīng)取得的一些初級應(yīng)用成果,贏得了學(xué)界和工業(yè)界的重視。以進(jìn)化硬件為主要內(nèi)容的國際會議International Conference on Evoluable Systems, ICES迄今已止已舉辦了三屆(1999年在埃及),IEEE Trans. on Evolutionary Computation在1999年9月組織了“進(jìn)化硬件特輯”,討論這方面的進(jìn)展。 按硬件類型不同,EHW可以分為數(shù)字型進(jìn)化硬件和模擬型進(jìn)化硬件兩大類,數(shù)字型進(jìn)化硬件又可以進(jìn)一步分為進(jìn)化計算型和Bio-Inspired型,其中以進(jìn)化計算型的研究和應(yīng)用最多。模擬進(jìn)化硬件著眼于用進(jìn)化算法自動生成模擬電路或進(jìn)化LSI。
下面將介紹進(jìn)化硬件的一些基本問題和幾個不同類型的實例。
1 進(jìn)化硬件的基本思想
可編程邏輯器件PLD或FPGA的主要優(yōu)點在于,其結(jié)構(gòu)是由結(jié)構(gòu)位串(architect bits)確定的,而且是可重配置的,不同的結(jié)構(gòu)位串決定了可編程器件的不同結(jié)構(gòu)。根據(jù)硬件所要實現(xiàn)的功能,產(chǎn)生相應(yīng)的結(jié)構(gòu)位串,下載(Download)到可編程器件上。因此,當(dāng)硬件所處的環(huán)境發(fā)生變化時,硬件的結(jié)構(gòu)也需要做相應(yīng)的調(diào)整,就可以用這種改變結(jié)構(gòu)位串的方法來實現(xiàn)。圖10-12為FPGA的基本結(jié)構(gòu)示意圖,F(xiàn)PGA由布線資源圍繞的可編程功能塊(Functional Block)構(gòu)成陣列,又由可編程I/O單元圍繞陣列構(gòu)成整個芯片。排成陣列的功能塊由布線通道中的可編程內(nèi)連線來實現(xiàn)一定的邏輯功能。每個功能塊有不同的邏輯功能,可以表示為特定的結(jié)構(gòu)位串。內(nèi)連線的連接結(jié)點(圖中的實心結(jié)點)的開關(guān)狀態(tài)在器件被制造后可以再被加載和修改,因此可以作為可重置的二進(jìn)制結(jié)構(gòu)位串,這個結(jié)構(gòu)位串就能夠決定器件的功能。與FPGA不同的是,PLD通常是通過修改具有內(nèi)連電路的邏輯功能來編程的。FPGA比PLD具有更高的集成度,更復(fù)雜的布線結(jié)構(gòu)和邏輯實現(xiàn),更快的重構(gòu)速度,因而更適合選擇作為進(jìn)化硬件的對象。
進(jìn)化硬件正是基于可編程邏輯器件的結(jié)構(gòu)可重配置特點,將結(jié)構(gòu)位串看作進(jìn)化算法中的染色體,所要實現(xiàn)的功能作為評價函數(shù),借助進(jìn)化算法來實現(xiàn)硬件的設(shè)計,如下圖所示。將FPGA 的結(jié)構(gòu)位串當(dāng)作遺傳算法的染色體,用遺傳算法去尋找更好的硬件結(jié)構(gòu)。一旦發(fā)現(xiàn)了足夠好的染色體,則將它置載在FPGA上
H. deGaris認(rèn)為EHW的進(jìn)化有兩種方式,一種是外部(extrinsic)進(jìn)化,也稱為離線(off-line)進(jìn)化;另一種是內(nèi)部(intrinsic)進(jìn)化,也稱在線進(jìn)化。通常PLD的進(jìn)化方式為外部進(jìn)化,通過硬件描述語言(HDL)來描述電路,借助軟件把這種語言轉(zhuǎn)換成電路相應(yīng)的結(jié)構(gòu)位串。這也是目前數(shù)字型硬件主要的進(jìn)化方式,因為結(jié)構(gòu)位串的長度很長,遺傳算法求解過程耗時長。在線方式需要解決結(jié)構(gòu)規(guī)模、功能復(fù)雜性與進(jìn)化速度的矛盾,Kajitani等提出了用變長染色體遺傳算法如messy GA來解決這一問題。但從實用的角度考慮,目前還存在許多問題。
2 數(shù)字型進(jìn)化硬件實例
最近,日本電子技術(shù)綜合研究所與NEC合作研究的數(shù)字型進(jìn)化LSI,將PLD部、遺傳算法實現(xiàn)部以及作為外部接口的CPU集成在一塊芯片上,并應(yīng)用開發(fā)了假手和自治式移動機(jī)器人。如圖所示是為殘疾人開發(fā)的筋力自動控制的假手。當(dāng)人的手臂肌肉運(yùn)動時,皮膚表面會產(chǎn)生一定的電位,不同的動作如握緊、松開等,筋力的模式各有不同。用進(jìn)化硬件的方法自動識別不同模式的筋力,即在EHW上實現(xiàn)這種模式識別電路,從而實現(xiàn)控制假手動作的目的。先前開發(fā)的控制型假手用多個系列適應(yīng)不同患者的需要,通?;颊咝枰?個月左右才能比較適應(yīng),用EHW方法開發(fā)的假手能夠在發(fā)生傷殘后立即使用,很快適應(yīng)患者的肌肉萎縮變化。該產(chǎn)品已在1998年商品化。
如圖所示,基于EHW方法開發(fā)的自治式移動機(jī)器人“Evolver”,用于追蹤滾動的小球。機(jī)器人用多個距離傳感器跟蹤小球時,故意損壞其中某個傳感器,機(jī)器人仍然能夠根據(jù)剩余傳感器的信號快速重構(gòu)控制電路,并且重構(gòu)后機(jī)器人的適應(yīng)時間很短。
瑞士聯(lián)邦工學(xué)院制作的熒火蟲(Firefly)進(jìn)化硬件板, 如上圖所示,屬于一種Bio-Inspired型進(jìn)化。該系統(tǒng)是一個進(jìn)化的一維非均勻元胞自動機(jī),56個元胞中每一個都包含一個基因,用基因表達(dá)元胞狀態(tài)轉(zhuǎn)移的規(guī)則,這些基因都是從隨機(jī)初始狀態(tài)開始進(jìn)化的,板上包含下述元件:
(1) LED元胞狀態(tài)顯示器(最上面一排);
(2) 人工置入元胞初始狀態(tài)的開關(guān)(LED下面一排);
(3) Xilinx FPGA芯片(開關(guān)下面一排);
(4) 底左部是顯示器和控制元胞程序設(shè)計計算的“時間步”和“配置”參數(shù)按扭;
(5) 中左部是一個同步指示器;
(6) 中底部為帶有手動可調(diào)頻的主時鐘脈沖發(fā)生器;
(7) 底右部為一個狀態(tài)規(guī)則表的LED顯示器和進(jìn)化時得到的適應(yīng)度值;
(8) 最左部為一個電源電纜。
元胞自動機(jī)是Von Neumann提出的一種具有自繁殖和自修復(fù)能力的機(jī)器模型。目前,日本ATR的CAM計劃也正在進(jìn)行與Firefly類似的研究。
3 模擬型進(jìn)化硬件實例
模擬型進(jìn)化硬件用進(jìn)化算法自動生成模擬電路或進(jìn)化LSI。這方面代表性研究來自于Stanford大學(xué)的Koza,他用遺傳程序設(shè)計的方法,進(jìn)化模擬電路的構(gòu)造,自動獲取電路的結(jié)構(gòu)及其元件(R,L,C等)的特征值,其應(yīng)用實例包括交叉(Crossover)調(diào)制濾波器、非對稱Butterworth濾波器、運(yùn)算放大器等。如圖所示,為日本旭化成微系統(tǒng)株式會社正在開發(fā)的用于移動電話的中頻濾波器,使用了模擬進(jìn)化LSI的方法。產(chǎn)業(yè)界對這種模擬型進(jìn)化硬件寄予了很高的期望。
進(jìn)化硬件作為一個新的研究方向,其優(yōu)越性主要在于,我們不需要對硬件的結(jié)構(gòu)有很深入的了解,只需要根據(jù)其外部特性,就可以用進(jìn)化算法的手段自動尋優(yōu)。但進(jìn)化算法的尋優(yōu)速度因具體問題不同差異很大,目前迫切需要研究高速的進(jìn)化算法實現(xiàn)手段。此外,進(jìn)化硬件的理論分析也是一個重要方面,有的問題如模式識別問題,憑借對系統(tǒng)外部特性的不完備測試,很難保證系統(tǒng)的可靠性。總之,目前進(jìn)化硬件的困難還很多,距離較廣泛的應(yīng)用還有很長的路程。
著名科學(xué)家霍金在新千年前夕回答記者提問時認(rèn)為,在未來100年,我們也許會發(fā)現(xiàn)一個關(guān)于宇宙基本規(guī)律的完整理論,但在這些規(guī)律下,我們可以建立的生物復(fù)雜性和電子系統(tǒng)復(fù)雜性卻是無限的。雖然人工進(jìn)化人類本身的工作如克隆人被禁止,但除非世界秩序變成專制的,否則總會有人在某個地方改進(jìn)人類。英國雷丁大學(xué)控制論專家凱文.渥維克(K.Warwich)教授正在從事一項有很大風(fēng)險的研究工作,試圖將一個與人體神經(jīng)系統(tǒng)連接的“通心芯片”置入人體內(nèi),“通心芯片”能夠在兩人之間傳送情感、痛苦和生理運(yùn)動時的神經(jīng)沖動。一旦這項研究成功,將為殘疾人提供一種向健全人學(xué)習(xí)提高四肢控制能力所需要的神經(jīng)沖動的方法,今后,人類也可以直接依靠思想來彼此交流。
進(jìn)化機(jī)器的工作會不會像克隆人因可能的濫用而受到限制?或者機(jī)器發(fā)展到超過人類的智商和能力,人類難以控制它的地步呢?應(yīng)該說,這樣的擔(dān)心不是多余的。在物理上,電子系統(tǒng)的復(fù)雜性和速度有一個極限,從計算機(jī)的速度而言,光速是一個實際的界限,人們可以把電路變小來改進(jìn)速度,但最終有一個受物質(zhì)之原子屬性的約束極限,實際上當(dāng)硅集成塊和元件間的距離接近0.01微米時,電子從鄰近元件逸入的概率很有限,便產(chǎn)生了“隧道效應(yīng)”的現(xiàn)象,它是高集成電路塊工作不可靠的原因之一。如果將生物系統(tǒng)的復(fù)雜性有效地引入到電子系統(tǒng)中(如ATR的人工腦),機(jī)器的未來是難以估量的。