与最优化方法(如梯度下降法)结合使用。1974年,美国科学家P.J.沃博斯[注]在其博士论文中首次给出了一种如何训练一般网络的学习算法。1986年,美国科学家D.E.鲁梅尔哈特[注]等人将其成功地应用于多层神经网络的训练当中。误差反向传播算法是训练多层神经网络的重要方法,在2007年左右兴起的深度学习中,误差反向传播算法仍然是训练深度网络的主流方法。
误差反向传播算法结合梯度下降来训练和学习神经网络的连接权重。该算法循环迭代两个步骤:激励传播和权重更新,直到网络的输出对输入的响应达到预期。具体过程如下:训练数据通过输入层输入人工神经网络,数据通过中间层(也称隐含层或隐藏层)逐层前向传播到输出层,通过定义损失函数,可比较神经网络实际输出和期望输出的差异,从而得到输出层每一神经元的误差值;这些误差值从输出层逐层反向传播至中间层,并分摊至各层神经元,以获得各层神经元的误差信号;误差反向传播算法通过计算损失函数相对于各层网络连接权重的梯度来更新网络权重,这一过程可逐步减少通过损失函数所定义的响应误差。
误差反向传播算法通常被应用于有监督学习,但它也可以被用于无监督学习,比如自编码网络的权重学习。