FPGA技術(shù)的應(yīng)用
困難依然存在,我在20世紀(jì)80年代晚期和90年代初期所使用的計算機對于我所構(gòu)想的任務(wù)來說簡直慢得“不可救藥”。當(dāng)我開始試用十幾個進化的模塊時,Lizzy在計算機屏幕上的模擬速度顯著變慢。每當(dāng)我加上另一個模塊的權(quán)值后,模擬速度就會變得更慢一些。很顯然,這不是一條正確的路。怎樣才能解決這個問題呢?
這個時候,也就是1992年,我已經(jīng)完成了博士學(xué)位,開始了在日本的博士后工作。那年夏天,我和我所合作的、在維吉尼亞的喬治·梅森大學(xué)的一個電子工程師朋友進行了一次交談。我問這位熟人怎樣才能使我的神經(jīng)網(wǎng)絡(luò)模塊的進化速度通過電子技術(shù)得到提升。討論了半個小時后,他提到了一個稱作FPGA(Field Programmable Gate Array可編程門電路序列)的技術(shù)。因為我不是電子工程師,所以我從來沒有聽過這樣的東西。“什么是FPGA?”我問。他告訴我這是一種可編程的特殊芯片,也就是說,我們可以用一個比特串來指令芯片里的電路怎樣去自我連接(或者用術(shù)語來說,就是自我“設(shè)置”)。
我頓時興奮無比。一個構(gòu)想閃過我的腦海。既然在過去的幾年里我一直利用基因算法來進化神經(jīng)網(wǎng)絡(luò),我現(xiàn)在的傾向是把設(shè)置比特串想象成基因算法里的染色體,因此,在芯片里進化硬件的想法看起來是可行的了。我開始不斷地“拷問”我的朋友,問這些設(shè)置比特串可以無數(shù)次的發(fā)送嗎?他想了一會,回答說,如果芯片是基于RAM(就是計算機內(nèi)存)的話,那么就像任何計算機里的普通內(nèi)存一樣,可編程芯片可以被無限制地重新編程。
我非常高興,因為這意味著可以通過發(fā)送隨機的比特串,來隨機地設(shè)置或者連接可編程芯片,并產(chǎn)生復(fù)雜的隨機電路。如果有另外一個被編程的用來測試隨機程序芯片的性能電路,那么就可能在硬件上以硬件速度執(zhí)行基因算法。
我為這個構(gòu)想而激動不已,以至于我一回到日本的研究組就馬上為我的想法作了一次研討會,并且開創(chuàng)了所謂的“可進化硬件”的研究領(lǐng)域。并發(fā)表關(guān)于這個想法的論文,向同事宣揚,在會議上作演講,等等??蛇M化硬件(Evolutionary Hardware 或者 EH),現(xiàn)在已經(jīng)是個確立的研究領(lǐng)域了,每年都會在美國、歐洲和日本舉行研討會并出版相關(guān)的學(xué)術(shù)期刊。作為該領(lǐng)域的先驅(qū),我常常在自己的日常工作中試用它的基本思想。
緊接的那一年,即1993年,我轉(zhuǎn)到日本京都的研究實驗室從事人工大腦的制造工作。我相信,可進化硬件是一個使人工大腦制造變?yōu)榭赡艿挠行Чぞ摺?/p>
我開始寫論文,聲稱我打算在2001年前制造一個擁有10億神經(jīng)元的人工大腦。在1993年,宣布這樣的計劃常常會招來不信任的眼光。因為在那時,大部分的神經(jīng)網(wǎng)絡(luò)研究者僅僅使用幾十個或者上百個神經(jīng)元。就像我早幾年一樣,突然聽到某個人說要使用上十億個神經(jīng)元,簡直是非??尚Φ摹榇宋冶怀靶?、奚落。
但是,我堅信我的想法是可行的。如果某個人制造一種基于可進化硬件原理的特殊計算機,那么,其電子性的進化速度將會使大腦制造成為可能。我用數(shù)學(xué)進行了推理,證明在2001年前制造出擁有十億個神經(jīng)元的人工大腦是可行的。我和日本實驗室有一個7~8年的合同,因此,我想我有足夠的時間來實現(xiàn)我的夢想。
我的第一個任務(wù)就是選擇一種可以設(shè)計和進化神經(jīng)網(wǎng)絡(luò)的媒介。我選擇使用胞腔自動機(Cellular Automata 或者簡稱為CA)。在二維胞腔自動機上的每一個細(xì)胞都類似于棋盤上的一個方格,但是有兩個不同。一個是這個棋盤有無限個方格,另一個是方格的顏色不僅限于黑色或白色,而可以是有限集合里的任何顏色。每個方格在每個單位時間里可以改變其顏色而成為集合中其他的任何一種顏色。一個特定方格所要改變的顏色決定于它現(xiàn)在的顏色和其鄰接方格的顏色。舉個例子,如果北邊方格是紅色,東邊方格是黃色,南邊方格是藍(lán)色,西邊方格是綠色,并且中間的方格是棕色,那么在下一個時刻,中心方格將變?yōu)樽仙?/p>