FPGA技术的应用
困难依然存在,我在20世纪80年代晚期和90年代初期所使用的计算机对于我所构想的任务来说简直慢得“不可救药”。当我开始试用十几个进化的模块时,Lizzy在计算机屏幕上的模拟速度显著变慢。每当我加上另一个模块的权值后,模拟速度就会变得更慢一些。很显然,这不是一条正确的路。怎样才能解决这个问题呢?
这个时候,也就是1992年,我已经完成了博士学位,开始了在日本的博士后工作。那年夏天,我和我所合作的、在维吉尼亚的乔治·梅森大学的一个电子工程师朋友进行了一次交谈。我问这位熟人怎样才能使我的神经网络模块的进化速度通过电子技术得到提升。讨论了半个小时后,他提到了一个称作FPGA(Field Programmable Gate Array可编程门电路序列)的技术。因为我不是电子工程师,所以我从来没有听过这样的东西。“什么是FPGA?”我问。他告诉我这是一种可编程的特殊芯片,也就是说,我们可以用一个比特串来指令芯片里的电路怎样去自我连接(或者用术语来说,就是自我“设置”)。
我顿时兴奋无比。一个构想闪过我的脑海。既然在过去的几年里我一直利用基因算法来进化神经网络,我现在的倾向是把设置比特串想象成基因算法里的染色体,因此,在芯片里进化硬件的想法看起来是可行的了。我开始不断地“拷问”我的朋友,问这些设置比特串可以无数次的发送吗?他想了一会,回答说,如果芯片是基于RAM(就是计算机内存)的话,那么就像任何计算机里的普通内存一样,可编程芯片可以被无限制地重新编程。
我非常高兴,因为这意味着可以通过发送随机的比特串,来随机地设置或者连接可编程芯片,并产生复杂的随机电路。如果有另外一个被编程的用来测试随机程序芯片的性能电路,那么就可能在硬件上以硬件速度执行基因算法。
我为这个构想而激动不已,以至于我一回到日本的研究组就马上为我的想法作了一次研讨会,并且开创了所谓的“可进化硬件”的研究领域。并发表关于这个想法的论文,向同事宣扬,在会议上作演讲,等等。可进化硬件(Evolutionary Hardware 或者 EH),现在已经是个确立的研究领域了,每年都会在美国、欧洲和日本举行研讨会并出版相关的学术期刊。作为该领域的先驱,我常常在自己的日常工作中试用它的基本思想。
紧接的那一年,即1993年,我转到日本京都的研究实验室从事人工大脑的制造工作。我相信,可进化硬件是一个使人工大脑制造变为可能的有效工具。
我开始写论文,声称我打算在2001年前制造一个拥有10亿神经元的人工大脑。在1993年,宣布这样的计划常常会招来不信任的眼光。因为在那时,大部分的神经网络研究者仅仅使用几十个或者上百个神经元。就像我早几年一样,突然听到某个人说要使用上十亿个神经元,简直是非常可笑的。为此我被嘲笑、奚落。
但是,我坚信我的想法是可行的。如果某个人制造一种基于可进化硬件原理的特殊计算机,那么,其电子性的进化速度将会使大脑制造成为可能。我用数学进行了推理,证明在2001年前制造出拥有十亿个神经元的人工大脑是可行的。我和日本实验室有一个7~8年的合同,因此,我想我有足够的时间来实现我的梦想。
我的第一个任务就是选择一种可以设计和进化神经网络的媒介。我选择使用胞腔自动机(Cellular Automata 或者简称为CA)。在二维胞腔自动机上的每一个细胞都类似于棋盘上的一个方格,但是有两个不同。一个是这个棋盘有无限个方格,另一个是方格的颜色不仅限于黑色或白色,而可以是有限集合里的任何颜色。每个方格在每个单位时间里可以改变其颜色而成为集合中其他的任何一种颜色。一个特定方格所要改变的颜色决定于它现在的颜色和其邻接方格的颜色。举个例子,如果北边方格是红色,东边方格是黄色,南边方格是蓝色,西边方格是绿色,并且中间的方格是棕色,那么在下一个时刻,中心方格将变为紫色。