国际跳棋与神经网络
我和塞缪尔认为,如果能够充分利用防务计算器的种种潜在能力,我们就能够写出一些可以自适应的程序。这些程序能够通过学习来改变自身,就像前面提到的那样。用塞缪尔的话说就是,我们可以设计出一些程序,实现“只告诉计算机做什么,而不告知它怎么去做”这一目标。计算机模型现在已经很常见了,电子游戏只不过是其最典型的例子,但当时它们还只是处在发展初期。自学习程序可以通过不断收集经验数据来改变自身的运算流程。人们已经用了半个多世纪去研究这样的程序,但是到现在它们还是很少见,而且我们依然还没有什么理论和工具去从事这方面的研究。我写这本书的目的之一,就是阐述建立这种计算机自学习模型的困难之处。虽然自20世纪50年代以来,计算机的处理能力有了巨大的发展,但这些困难依然存在。
虽然我和塞缪尔在同一个房间,使用同一台机器工作,但我们俩脑海中的模型截然不同。塞缪尔想设计一种可以自己学会下国际跳棋,能与一系列对手比赛,并能从中提高自己技能的模型(Samuel, 1959)。当时我觉得塞缪尔的自学习国际跳棋程序很有趣,而且很具挑战性,但它太特殊,不容易体现基本原理。我真是大错特错!我稍后再讨论塞缪尔的发现,因为我们需要了解更多模型和建模过程,才能领会他的发现的重要性。现在完全可以说,塞缪尔的研究成果直接推动了人们对他命名的领域——机器学习的基本认识以及该领域的发展。他的研究具有相当的深度,继他之后这一领域几乎没有进一步的发展,或者说直到现在还没有人超越他的研究成果。
时任美国国防部高级研究计划局主任的约瑟夫·利克莱德(J.C.R. Licklider),就心理学家唐纳德·赫布(Donald Hebb)于1949年提出的“学习行为的神经心理学理论”所做的演讲,使我深受启发。赫布的目标是建立一套以中枢神经系统中神经细胞的相互作用为基础的行为理论。他提出了改变神经网络中神经细胞间连接强度的机制,这种机制使得产生成功行为的细胞连接的强度得到加强。因为我读过神经学家沃伦·麦卡洛克(Warren McCulloch)和数学家沃尔特·皮茨(Walter Pitts)(Kleene, 1951),以及尼古拉斯·拉舍夫斯基(Nicolas Rashevsky)关于神经网络逻辑的论文,听了利克莱德的演讲,我的第一反应就是“我必须试试”。我的老板纳撒尼尔·罗切斯特(Nathaniel Rochester)同意了,因此我们就按照利克莱德描述的机制建立了少数几个模型。
本书后面会详细讨论神经网络,现在只做个简单的介绍。中枢神经系统由神经元细胞组成。当一个神经元被充分刺激时,它会被激发(fire),产生一个电脉冲,这个电脉冲会沿着神经元延伸出的轴突扩散(见图5-1)。轴突会与许多其他神经元相接触,接触的部分被称为神经元的突触。当一个脉冲到达突触时,会刺激与它相接触的神经元。如果在很短的时间间隔内,有足够的脉冲通过突触刺激一个神经元的表面,这个神经元就会被激发。如果人们沿着中枢神经系统中神经元之间的连接把神经元依次连起来,就会发现这个连接将形成一个回路,最后将回到初始神经元。也就是说,位于这种连接初始位置的神经元产生了一系列脉冲,而这一系列脉冲最后会返回并且再次激发该神经元。这种反馈使得脉冲在这个连接回路中振荡——形成一种“环”,而不会进一步激发这个连接回路外的其他神经元。因此,中枢神经系统会由于这些活跃的、大量循环的脉冲而处于持续兴奋状态,即使在熟睡和无意识的状态下也不例外。
运用这些基本的事实,罗切斯特构建了一个模型,模拟一个含有69个神经元的神经网络模型,并跟踪由这些神经元产生的每一个脉冲。我则建立了一个含有512个神经元的神经网络模型,这个模型仅用到了那些受到刺激的神经元的激发频率。我经常忙到深夜,其中一个原因就是我想方设法要把这512个神经元都塞到当时那台计算机有限的存储空间中。我骄傲地给这个模型取了个名字,叫构思者(Conceptor)。罗切斯特和我的模型都是基于复杂、相互连接成回路的神经元而设计的,目的都是验证赫布最初的推测:在一系列重复刺激下,神经元间的连接会加强,会形成神经元组。在中枢神经系统中,这些组被称为细胞集群(cell assemblies),它们对来自环境的不同刺激做出反应,并成为这些刺激的象征。接下来,这些细胞集群还可以作为积木块,描述对环境刺激做出的更复杂反应的行为。我的模型可以演示细胞集群的形成,却很难描述环形神经网络的情况。
在这里,我们又一次遇到了这个历时半个多世纪的科学断层:赫布的理论仍然是神经心理学的理论,尽管环形神经网络是这个理论成立的基石,但我们实际上并不十分了解它的具体行为。由于“前馈”神经网络避开了这些内部循环,因此它与赫布理论看起来毫不相干。