“人工神经网络”和人脑中的“神经网络”只有非常有限的共同点,而严格模拟人脑的神经网络也未必能解开智能之谜。人工智能和人类智能应该是“神似”而非“形似”。 撰文 王培 (美国天普大学计算机与信息科学系) 深度学习在近年的进展又一次点燃了各界对人工神经网络的热情。这一技术在图像识别、语音识别、棋类游戏等领域的成效出人意料,atv,而且更多应用领域也正在被开拓出来。“深度学习是否有效”已经不是问题,现在的问题是在哪些问题上有效,尤其是这条研究路线是否是达到通用智能的最佳途径。我在前面几篇短文中涉及到了这个话题,但均未展开谈。关于人工神经网络的工作原理和这项研究的历史沉浮,有关介绍已有很多,这里不再重复。我主要想讨论几个被普遍忽视或误解的概念问题。 此网络非彼网络 在实现“像人一样的智能”的诸多可能途径中(见),人工神经网络似乎具有天然的合理性和说服力。我们都知道人的智能来自人脑,而人脑是个神经网络,不是吗? 当然没这么简单。所谓“人工神经网络”和人脑中的“神经网络”只有非常有限的共同点,而不同点则要多得多。我们不能仅仅因为它们名称上的相似性就断定它们会有相同的功能。 下图是参考资料[1]中的深度神经网络: 这类网络由若干层组成,每层中的人工神经元与相邻层中的神经元相连接。网络中的底层接受输入信号,顶层生成输出信号,中间层将下层的输出值做加权求和后经一个“激活函数”产生成本层输出值,以供上层之用。这样,每层将一个“向量”(即一串数值)变成另一个向量,而整个网络则代表了一个从输入层到输出层的“向量函数”。这里的输入可以是各种感知信号,中间层代表信号的概括和抽象,而输出则代表系统的认知结果或应对行为。 说这种系统能“学习”,是指在构建网络时,设计者只需选定神经元模型(如激活函数的公式)和网络结构(如一共几层,每层多少神经元)等,而将各个连接上的权值作为待定“参数”。在网络的“训练”过程中,一个“学习算法”根据已知数据对这些参数反复进行调整,直到整个网络达到某种预定的标准为止。这时我们就说这个网络“学会了”如何识别、区分或应对这种输入信号。如我在中所解释的,这种网络就是个通用函数拟合器。 这种网络结构在三十年前就已经以“PDP模型”的名称广为流传了,只是那时的网络一般只有一个中间层。“深度学习”的贡献就是增加其“深度”,即中间层的数量。更多的中间层使得系统的行为更复杂,这是显而易见的,但以前无法有效的训练这种系统。深度神经网络成功的原因公认有三个:(1)大量的训练数据(否则无法确定那么多参数),(2)改进了的学习算法(否则无法有效利用这些数据),(3)强有力的硬件支持(否则无法足够快地完成计算)。 这种人工神经网络的确是从人脑得到了灵感,但并不是以严格模拟后者为目标的。首先,人工神经元忽略了人脑神经元的很多重要特征,比如说激活的时间模式等。其次,人脑中的神经元有很多种,互相的连接方式也远比上述模型中的要复杂。最后,人脑的学习过程不是通过反复调整权值而“收敛”于一个特定的输入输出关系的,所以不能被简化为函数拟合。 当然,前面提到的人工神经网络只是现有诸多模型之一,其它模型在某些方面可能更像人脑一些。尽管如此,目前的各种人工神经网络和人脑中的神经网络仍有巨大差别。仅仅因为一个计算机中用了这样一个网络,就期待它能像人脑一样工作,这未免太天真了。实际上这种网络的设计者主要关心的是其实用性,并非是否像人脑。 智能难以一“网”打尽 试图严格模拟人的神经网络的另有人在,只不过他们的目的主要不是为了实现人工智能,而只是想了解人脑的工作过程。有些研究者已经把“全脑仿真”(whole brain emulation)作为目标了。这项工作当然是很有意义的,因为“模拟”是我们认识一个对象或过程的有效手段。一般说来,只要我们能精确地描述一个过程,我们就可能编写计算机程序来模拟它。但即使我们真能精确地模拟人脑中神经网络的工作过程,这也离完整地实现人类智能有相当远的距离。 (责任编辑:本港台直播) |