引入
在单层感知机模型中,对于输入与输出之间的权重调整依赖于预测产生的误差,由于不含隐藏层,误差可以直接计算得到。而对于多层网络来说,由于隐藏层的存在,输入输出之间的权重变得复杂,显然直接计算并不合理,而是需要通过从输出到输入反方向逐层计算。
由于是从输出到输入,所以我们一定需要先有一个正向传播的过程。使得样本从输入层开始,由上至下逐层经隐节点计算处理,最终样本信息被传送到输出层节点,得到预测的结果。再根据正向传播得到的结果也就是预测经行误差计算。
由于有了误差和输出,以及之前传播过来的网络,就有了反向传播的原材料,可以开始进行反向传播了。反向传播无法直接计算隐节点的预测误差,但却可以利用输出节点的预测误差来逐层估计隐节点的误差,也就是将输出节点的预测误差反方向传播到上层隐节点,逐层调整连接权重,直至输入节点和隐节点的权重全部得到调整,使得网络输出值越来越逼近实际值。
细节
每个神经元都由两个单元组成。第一个单元的功能是把每个输入信号和对应权重系数( w i w_{i} wi)作乘积然后对这些乘积求和。第二个单元实现了一个非线性函数。这个函数也称为神经元激活函数(neuron activation function)。如下图所示,信号 e e e是加法器(即第一个单元)的输出信号,而 y = f ( e ) y = f(e) y=</