《汽车上的神经网络?》在本栏目登出后受到广大网友的关注,一些人发来e-mail提出自己的疑问:人脑比计算机高明很多,为什么现在又可以用计算机模拟人脑呢?是如何模拟的?

神经网络:“另类”计算机

的确,人脑比计算机高明很多。前美国总统科学顾问乔治.基沃恩曾经说过:“人穿越马路时眼观四方,就能立刻做出判断,以免与汽车相撞。若用亿万次级Cray计算机来做这件事,需要的计算机数量惊人,把他们排列起来,可以布满美国的德克萨斯州,约占中国领土的四分之一。”

乔治所说的是当前普遍使用的Von Neumann式计算机。这种计算机是按照程序指令串行工作的,就象接力赛的运动员一样,你跑完了我才跑,速度虽快但功能的实现却很慢。这种计算机必须按照某些算法编制的程序才能工作,而现实世界中能够表达为确定公式或算法程序的事物是很少的。例如,您能够在距离很远的地方凭直觉认出您的朋友,这是不能用公式或算法来解析的。

而人的大脑工作方式正好相反,它是并行工作的,人脑中含有天文数字的神经元,每一个神经元独立工作,瞬间就可以处理大量信息。每个神经元又有约10000条通路与其他神经元连接,形成一个复杂的网络,可以处理具有复杂关联的信息。人脑处理信息不是按照特定的公式或程序进行的,而是依靠神经元之间连接的结构来进行的。

按照这个道理,人工神经网络由许多简单的,并行工作的处理单元组成,单元之间按照一定的结构互相连接,构成一种“另类”的计算机。在这种“另类”计算机中没有大家熟悉的运算器、控制器、存储器之类的专职部件,它是采用众多互相类似的简单处理单元(相当于人脑中的神经元)有机地结合在一起,以并行的“集体工作”方式进行运作。在整个网络中,信息的存储、传播和处理都与生物神经网络类似。

人脑的一个很重要的特点就是能够通过与外界的接触来学习。根据科学家的研究,人脑能够学习的主要原因是神经元之间的连接关系是可以改变的,通过不断地接受刺激,神经元之间可以建立起新的连接结构。根据这个道理,改变人工神经网络中各单元之间的连接结构,就能使它“学会”某种特殊的功能。例如,我们可以让人工神经网络模仿有经验的驾驶员操纵汽车。

如何教会人工神经网络来工作呢?要深究这个问题牵涉的基础很多,这里就不详细解析了,我们可以举一个简单的例子粗略地说明神经网络的一种学习过程。马戏团演员训练小狗做算术,要首先给它看题目(输入信息),然后给它正确的答案(期望输出),如果小狗反应正确则给予奖励(强化连接)反之给予惩罚(削弱连接)。同样的道理,给神经网络输入各种不同的信息,按照期望输出对神经元之间的连接进行检验,正确的加以强化,错误的加以削弱,经过多次反复“训练”就可以“教会”它。这时,人工神经网络已经建立起对应某种功能的连接结构,把它安装在特定的岗位上,就能够完成期望的工作。

可以想象,如果计算机工程师与汽车设计师携手合作将这种“另类”计算机搬到汽车上,智能汽车将不是一句空话。(2000.6.14)

▲返回