TensorFlow知识图谱实战
上QQ阅读APP看书,第一时间看更新

3.1 BP神经网络简介

在介绍BP神经网络之前,人工神经网络是必须提到的内容。人工神经网络从20世纪40年代初到80年代经历了大约半个世纪,经历了低潮和高潮几起几落的发展过程。

1930年,B.Widrow和M.Hoff提出了自适应线性元件网络(ADAptive LINear NEuron,ADALINE),是一种连续取值的线性加权求和阈值网络。后来,在此基础上发展了非线性多层自适应网络。Widrow-Hoff的技术被称为最小均方误差(least mean square,LMS)学习规则,从此神经网络的发展进入第一个高潮期。

在有限范围内,感知器有较好的功能,并且收敛定理得到证明。单层感知器能够通过学习把线性可分的模式分开,但对像XOR(异或)这样简单的非线性问题却无法求解,这一点让人们大失所望,甚至开始怀疑神经网络的价值和潜力。

1939年,麻省理工学院著名的人工智能专家M.Minsky和S.Papert出版了颇有影响力的Perceptron一书,从数学上剖析了简单神经网络的功能和局限性,并且指出多层感知器还不能找到有效的计算方法,由于M.Minsky在学术界的地位和影响,其悲观的结论被大多数人不做进一步分析而接受;加上当时以逻辑推理为研究基础的人工智能和数字计算机的辉煌成就,大大降低了人们对神经网络研究的热情。

20世纪30年代末期,人工神经网络的研究进入低潮。尽管如此,神经网络的研究并未完全停顿下来,仍有不少学者在极其艰难的条件下致力于这一研究。

1943年,心理学家W.McCulloch和数理逻辑学家W.Pitts在分析、总结神经元基本特性的基础上提出神经元的数学模型(McCulloch-Pitts模型,简称MP模型),标志着神经网络研究的开始。受当时研究条件的限制,很多工作不能模拟,在一定程度上影响了MP模型的发展。尽管如此,MP模型对后来的各种神经元模型及网络模型都有很大的启发作用,在此后的1949年,D.O.Hebb从心理学的角度提出了至今仍对神经网络理论有着重要影响的Hebb法则。

1945年,冯·诺依曼领导的设计小组试制成功存储程序式电子计算机,标志着电子计算机时代的开始。1948年,他在研究工作中比较了人脑结构与存储程序式计算机的根本区别,提出了以简单神经元构成的再生自动机网络结构。但是,由于指令存储式计算机技术的发展非常迅速,迫使他放弃了神经网络研究的新途径,继续投身于指令存储式计算机技术的研究,并在此领域做出了巨大贡献。虽然,冯·诺依曼的名字是与普通计算机联系在一起的,但他也是人工神经网络研究的先驱(见图3.2)之一。

图3.2 人工神经网络研究的先驱们

1958年,F.Rosenblatt设计制作了“感知器”,它是一种多层的神经网络。这项工作首次把人工神经网络的研究从理论探讨付诸工程实践。感知器由简单的阈值性神经元组成,初步具备了诸如学习、并行处理、分布存储等神经网络的一些基本特征,从而确立了从系统角度进行人工神经网络研究的基础。

1972年,T.Kohonen和J.Anderson不约而同地提出具有联想记忆功能的新神经网络。1973年,S.Grossberg与G.A.Carpenter提出了自适应共振理论(Adaptive Resonance Theory,ART),并在以后的若干年内发展了ART1、ART2、ART3这3个神经网络模型,从而为神经网络研究的发展奠定了理论基础。

进入20世纪80年代,特别是80年代末期,对神经网络的研究很快从复兴转入新的热潮。这主要是因为:一方面经过十几年迅速发展的、以逻辑符号处理为主的人工智能理论和冯·诺依曼计算机在处理诸如视觉、听觉、形象思维、联想记忆等智能信息处理问题上受到了挫折;另一方面,并行分布处理的神经网络本身的研究成果使人们看到了新的希望。

1982年,美国加州工学院的物理学家J.Hoppfield提出了HNN(Hoppfield Neural Network)模型,并首次引入了网络能量函数概念,使网络稳定性研究有了明确的判据,其电子电路实现为神经计算机的研究奠定了基础,同时也开拓了神经网络用于联想记忆和优化计算的新途径。

1983年,K.Fukushima等提出了神经认知机网络理论;D.Rumelhart和J.McCelland等提出了PDP(parallel distributed processing)理论,致力于认知微观结构的探索,同时发展了多层网络的BP算法,使BP网络成为目前应用最广的网络。1985年,D.H.Ackley、G.E.Hinton和T.J.Sejnowski将模拟退火概念移植到Boltzmann机模型的学习之中,以保证网络能收敛到全局最小值。

反向传播(backpropagation,如图3.3所示)一词的使用出现在1983年后,它的广泛使用是在1985年D.Rumelhart和J.McCelland所著的Parallel Distributed Processing这本书出版以后。1987年,T.Kohonen提出了自组织映射(self organizing map,SOM)。1987年,美国电气和电子工程师学会IEEE(institute for electrical and electronic engineers)在圣地亚哥(San Diego)召开了盛大规模的神经网络国际学术会议,国际神经网络学会(international neural networks society)也随之诞生。

图3.3 反向传播

1988年,国际神经网络学会的正式杂志Neural Networks创刊。从1988年开始,国际神经网络学会和IEEE每年联合召开一次国际学术年会。1990年,IEEE神经网络会刊问世,各种期刊的神经网络特刊层出不穷,神经网络的理论研究和实际应用进入了一个蓬勃发展的时期。

BP神经网络(见图3.4)的代表者是D.Rumelhart和J.McCelland。BP神经网络是一种按误差逆传播算法训练的多层前馈网络,是目前应用最广泛的神经网络模型之一。

图3.4 BP神经网络

BP算法(反向传播算法)的学习过程由信息的正向传播和误差的反向传播两个过程组成。

  • 输入层:各神经元负责接收来自外界的输入信息,并传递给中间层各神经元。
  • 中间层:中间层是内部信息处理层,负责信息变换,根据信息变化能力的需求,中间层可以设计为单隐藏层或者多隐藏层结构。
  • 隐藏层:传递到输出层各神经元的信息,经进一步处理后,完成一次学习的正向传播处理过程,由输出层向外界输出信息处理结果。

当实际输出与期望输出不符时,进入误差的反向传播阶段。误差通过输出层按误差梯度下降的方式修正各层权值,向隐藏层、输入层逐层反传。周而复始的信息正向传播和误差反向传播过程是各层权值不断调整的过程,也是神经网络学习训练的过程,此过程一直进行到网络输出的误差减少到可以接受的程度或者预先设定的学习次数为止。

目前神经网络的研究方向和应用很多,反映了多学科交叉技术领域的特点,主要的研究工作集中在以下几个方面:

  • 生物原型研究。从生理学、心理学、解剖学、脑科学、病理学等生物科学方面研究神经细胞、神经网络、神经系统的生物原型结构及其功能机理。
  • 建立理论模型。根据生物原型的研究,建立神经元、神经网络的理论模型,其中包括概念模型、知识模型、物理化学模型、数学模型等。
  • 网络模型与算法研究。在理论模型研究的基础上构建具体的神经网络模型,以实现计算机模拟或硬件的仿真,以及网络学习算法的研究。这方面的工作也称为技术模型研究。
  • 人工神经网络应用系统。在网络模型与算法研究的基础上,利用人工神经网络组成实际的应用系统。例如,完成某种信号处理或模式识别的功能、构建专家系统、制造机器人等。

纵观当代新兴科学技术的发展历史,人类在征服宇宙空间、基本粒子、生命起源等科学技术领域的进程中历经了崎岖不平的道路。我们也会看到,探索人脑功能和神经网络的研究将伴随着重重困难的克服而日新月异。