作为深度学习领域的破冰之作,BP神经网络重新燃起了人们对深度学习的热情.它解决了DNN中的隐层传递中的权重值的计算问题.那么,BP算法思想是什么?它又是如何实现的呢?这就是本节的研究内容.
一.BP算法的提出及其算法思想
神经网络主要是由三个部分组成的,分别是:1) 网络架构 2) 激活函数 3) 找出最优权重值的参数学习算法.
BP算法就是目前使用较为广泛的一种参数学习算法.
BP(back propagation)神经网络是1986年由Rumelhart和McClelland为首的科学家提出的概念,是一种按照误差逆向传播算法训练的多层前馈神经网络。
既然我们无法直接得到隐层的权值,能否先通过输出层得到输出结果和期望输出的误差来间接调整隐层的权值呢?BP算法就是采用这样的思想设计出来的算法,它的基本思想:学习过程由信号的正向传播(求损失)与误差的反向传播(误差回传)两个过程组成。如图1所示为BP算法模型示意图.
图1 BP算法模型示意图
二.BP算法
2.1 BP算法的一般流程
根据BP算法的基本思想,可以得到BP算法的一般过程:
1) 正向传播FP(求损失).在这个过程中,我们根据输入的样本,给定的初始化权重值W和偏置项的值b, 计算最终输出值以及输出值与实际值之间的损失值.如果损失值不在给定的范围内则进行反向传播的过程; 否则停止W,b的更新.
2) 反向传播BP(回传误差).<