深度学习从0到1
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

4.1 BP神经网络介绍及发展背景

BP神经网络是1986年由鲁姆哈特(Rumelhart)和麦克利兰(McClelland)为首的科学家提出的概念,他们在“Parallel Distributed Processing[1]一书中对BP神经网络进行了详细的分析。BP神经网络是一种按照误差逆向传播算法训练的多层前馈神经网络,它是20世纪末期神经网络算法的核心,也是如今深度学习算法的基础。

感知器对人工神经网络的发展发挥了极大的作用,但是它的结构只有输入层和输出层,不能解决非线性问题的求解。明斯基(Minsky)和派珀特(Papert)在颇具影响力的“Perceptron”一书中指出,简单的感知器只能求解线性问题,能够求解非线性问题的网络应该具有隐藏层,但是对隐藏层神经元的学习规则还没有合理的理论依据。从前面介绍的感知器学习规则来看,其权值的调整取决于期望输出与实际输出之差:

但是对于各个隐藏层的节点来说,不存在已知的期望输出,因而该学习规则不能用于隐藏层的权值调整。

BP算法的基本思想是:学习过程由信号的正向传播和误差的反向传播两个过程组成。

正向传播时,把样本的特征从输入层进行输入,信号经过各个隐藏层的处理后,最后从输出层传出。对于网络的实际输出与期望输出之间的误差,把误差信号从最后一层逐层反传,从而获得各个层的误差学习信号,然后再根据误差学习信号来修正各层神经元的权值。

这种信号正向传播与误差反向传播,然后各层调整权值的过程是周而复始地进行的。权值不断调整的过程,也就是网络学习训练的过程。进行此过程直到网络输出误差减小到预先设置的阈值以下,或者是超过预先设置的最大训练次数。