反向传播算法

       深度神经网络如CNN、FCN等结构中包含两类参数:超参数和可调整参数。 其中超参数指需要预先设定的初始化参数,如网络层数、激活函数、卷积核大小等等。 可调整参数指的是在模型训练过程中被不断调整的参数,主要指隐藏层的权重和偏置项等,可调整参数直接决定了模型输出结果的精度。因此深度神经网络模型训练的目的是为了得到最佳的模型参数组合,最常用的模型训练方法是反响传播算法(Back Propagation),又称BP算法。

       反向传播算法的原理是利用链式求导法则计算实际输出结果与理想结果之间的损失函数对每个权重参数或偏置项的偏导数,然后根据优化算法逐层反向地更新权重或偏置项,它采用了前向-后向传播的训练方式,通过不断调整模型中的参数,使损失函数达到收敛,从而构建准确的模型结构。

       反向传播算法可分为三个步骤:

      (1)前向传播。将样本数据输入至网络,数据从输入层经过逐层计算传送到输出层,得到相应的实际输出结果。

      (2)反向计算第L层神经元i的误差项,它表示网络的损失函数E对神经元的输出值的偏导数。

      (3)根据优化算法计算每个神经元参数的梯度,并更新每个参数。

        以深度学习中有监督学习网络为例,对于每一个训练样本都有输入值Xk(k=1,...,n。n为样本个数)和对应的理想值Yk(k=1,...,n),Yk也叫标记值(Label)。每一个输入值Xk经过前向传播得到的最终输出结果为预测值。为了评估一个模型,通常定义一个损失函数(Loss Function)(也可称为目标函数)来评估模型的损失,即预测值与理想值之间的差距,常用的损失函数有均方根误差、交叉熵等等。

反向传播算法_第1张图片

 

     梯度下降是指函数值下降最快的方向,因此通过不断迭代修改参数可以使函数收敛至阈值区间内。梯度下降算法的通用公式如下: 

反向传播算法_第2张图片

根据上式推导神经网络中参数的梯度下降算法的公式为:

反向传播算法_第3张图片

 

反向传播算法_第4张图片

反向传播算法_第5张图片

     梯度下降优化算法是模型训练过程中的重要算法思想,它包括多种形式,如批量梯度下降法、随机梯度下降法、小批量梯度下降法等等。为了使模型训练更加高效,在此基础上提出了其它优化算法,也取得一定成果。

 

 

你可能感兴趣的:(反向传播算法)