反向传播算法的工作机制为对预测错误的神经元施以惩罚。从输出层开始,向上层次查找预测错误的神经元,微调这些神经元输入值的权重,以达到修复输出错误的目的。
神经元之所以给出错误的预测,原因在于它前面为其提供输入的神经元,更确切地说是由两个神经元之间的权重及输入值决定的。我们可以尝试对权重进行微调。
每次调整的幅度取决于以下两个方面:神经元各边权重的误差函数的偏导数和一个叫学习速率的参数(通常使用很小的值)。
计算出函数误差的梯度,再乘以学习速率,用总权重减去得到的值。梯度的符号由误差决定,每次对权重的修改都朝正确的预测值努力。
有时候,修正结果为局部最优,比起其他权重组合要好,但所得的各权重还不是最优组合。
反向传播算法从输出层,层层向上回溯到输入层。到达输入层后,所有边的权重更新完毕。