贝壳电子书 > 文学历史电子书 > 智能简史 >

第6章

智能简史-第6章

小说: 智能简史 字数: 每页4000字

按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!



绞骄褪牵∪×礁龈副忍卮蛘咄ǔK降摹 叭旧濉保谕奈恢冒阉欠殖闪讲糠郑缓蠼换幌嘤Φ牟糠帧U獾燃塾谛裕旧侠此稻褪腔旌侠醋愿副驳幕蚶床蟠�

  越适应的父辈就拥有越多的后代。每一代基因算法拥有一定的总体数量,例如100。大多数的变异和特征交换会让染色体拥有更低的适应值,所以它们将被从总体中清除。偶尔的一次变异或一次特征交换则会增加一点染色体的适应值,以至于在某个时候它会把自己的父亲或者其他低适应值的染色体挤出总体。通过对这样的过程循环几百次,就有可能进化出性能更好的神经网络,或者任何需要进化的目标。

  神经系统进化

  当我在布鲁塞尔攻读博士学位的时候,研究如何进化出可以随时间变化输出信号的神经网络。据我所知,在此之前没有任何人做这样的事情。在此之前,曾经有人把基因算法应用到神经网络进化中,但这些应用都是静态的,也就是说,输出的信号不会随着时间而改变。我觉得这些限制是不必要的。基因算法应该能够解决随时间改变信号的问题。当我想通了这一点后,就开始研制可以让棍形腿走路的神经网络。我成功了。这需要一些小技巧来让它进化,它确实实现了。

  这个发现,说明动态进化(和静态相对应)的神经网络是可以实现的,这个发现给我打开了一个崭新的世界,并且产生了一个新的被称作“神经系统进化”的研究领域。我开始考虑下一步的工作。我产生了一个新想法,那就是如果我用一个神经网络进化出一种行为,那么我就可以用第二个神经网络,也就是说,用一套不同的权值,进化出一个不同的行为。权值设置决定输出信号的动态性。

  于是我充满信心,不再局限于二维平面的简单的棍形腿试验,而是开始进行我称作“Lizzy”的三维生物模拟行为。如果我能成功地进化出一种行为,那么就可以进化出一系列的行为,而每一个神经网络对应于一个行为。现在我就可以更换行为,让Lizzy先走,然后改变方向。为了使行为转换更平缓,唯一必要的就是先停止“向前走”行为生成网络(或者是我所称作的模块)的输入,然后输入行走模块。模拟试验显示动作转化很平缓,这非常好。现在我知道我可以让类似四脚生物的Lizzy展示行为库里的所有行为。

  现在产生的问题就是:什么时候改变行为。也许这样的决定来源于环境的刺激。我开始试验是否可以进化出探测器模块,例如,信号强度探测器、频率检测器、信号强度差异探测器,等等。是的,这是可能的。另一个逻辑步骤就是试着进化决策类型模块,例如这样的类型——“如果输入1的信号强度大于S1,并且输入2的信号强度小于S2,那么采取An 行为”,也就是说,刺激信号可以传送到执行An行为的模块。

  综合所有的三种模块,也就是行为产生(或行为模块)、探测模块和决策模块,看起来好像可以开始制造人工神经系统的工作了。如果有很多这样的模块,那么我认为可以很合适地称这样的集合为一个“人工大脑”。就是在这样的阶段上,我信心满满,开始朝着人工大脑先驱者的方向前进。
  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)。在二维胞腔自动机上的每一个细胞都类似于棋盘上的一个方格,但是有两个不同。一个是这个棋盘有无限个方格,另一个是方格的颜色不仅限于黑色或白色,而可以是有限集合里的任何颜色。每个方格在每个单位时间里可以改变其颜色而成为集合中其他的任何一种颜色。一个特定方格所要改变的颜色决定于它现在的颜色和其邻接方格的颜色。举个例子,如果北边方格是红色,东边方格是黄色,南边方格是蓝色,西边方格是绿色,并且中间的方格是棕色,那么在下一个时刻,中心方格将变为紫色。

  通过适当地选取几千个这样的规则,我就可能让这些胞腔自动机像神经网络一样生长和进化。举个例子,我可以生成一个三个细胞宽的路径,通过它我可以发送生长细胞,让它们在路径的中间向前移。当生长信号到达生长路径的尽头时,它可以让路径向前延伸、左转、右转、分裂,等等,这些决定于生长信号的颜色。通过改变胞腔自动机路径中间生长信号的顺序,我能够进化基于胞腔自动机的神经网络。

  这个过程有两个步骤。第一个是生长阶段。经过几百个单位时间后,生长达到饱和。再没有三个细胞宽的胞腔自动机路径会生长了。这些路径就是神经网络的轴突和树突。当生长阶段一完成,也就是说生长控制细胞从网络里被清除后,生长的神经网络可以被随后的信令阶段所使用。输入信号会被施加,并且会扩散到整个网络。这些信号就像我早些年进化出的神经网络中的信号一样。它们可以在输出点被提取出来,并且可用来控制那些适应值(fitness)或性能可以被测量的过程。这个适应值就是整个网络的适应值,而网络是依次产生于一系列生长指令的,也就是一个含有6个(所有的数字)整数的随机串。

  我所做的就是让神经网络和胞腔自动机结合起来。这些据我所知没有前人做过。之所以这么做是因为我认为胞腔自动机是一个可以拥有几十亿个胞腔自动机细胞的合适媒介,归于十亿个神经元是足够了。这对我来说是可实现的。当时的工作站(比个人电脑强大一些的计算机)的内存大概有十亿字节。内存是很便宜的,因此,既然我可以在一个字节(8位)上存储胞腔自动机细胞的状态或颜色,并且我的工作站可以拥有十亿字节的内存,那么我将可以存储十亿个胞腔自动机细胞的颜色,十亿个!这是很多的,足够在其中放入一个拥有大量神经元的人工大脑。空间将不会是问题。那时候的技术允许这样做,这是可实现的。

  我花费了一年的时间去写所有的这些规则(北-东-南-西-中的类型规则)来证明二维版本的基于胞腔自动机的神经网络是可以运行,可以进化的。我不得不手工编写(有软件工具来帮助我)大概11 000个这样的命令来让它工作,结果它工作了。我成功地进化了振荡器电路、信号强度探测电路、直线运动探测电路,等等。是时候去研究拥有完全不同拓扑结构的三维版本了。在二维结构里,电路会相互碰到,它们不能跨过另一个电路。然而在三维结构里,胞腔自动机路径可以通过第三维相互交叉。三维电路的动态性和进化性比二维电路要丰富很多。仅仅两年后我就让三维版本开始工作了,这个版本有大概60 000个命令。

  但是,这个时候我在日本过得非常郁闷。我们组的顶头上司有一个政策,就是每一个人负责一个项目,这让我觉得非常孤独和智力空虚。我没有一个可以真正交谈的人。在给他们施加了一些压力后,我终于在1996年得到了一个硕士生助手—— 一个年轻的德国人。

  我向我的助手解释,三维版本已经基本上完工了,并且我对一直使用的胞腔自动机模型已经越来越清楚。我向他介绍了我想直接在电路上以电子速度产生和进化基于胞腔自动机的神经网络的梦想。我觉得应该简化胞腔自动机模型,让它可以适应于当时的新想法,即1996年的电子技术。他聆听了我的一系列愿望,然后消失了两个星期。当他回来的时候,带来了一个崭新的、更加简化的神经网络模型,它保持了我的旧模型里的大部分特征,但是加了一些新特征,使它变得可以直接实现于电子装置。这个新模型被称为“CoDi”。

  大概在这段时间,也就是1996年下半年,一个美国电子�

返回目录 上一页 下一页 回到顶部 3 4

你可能喜欢的