反向传播

Rumelhart、Hinton和Williams(1986年)提出的一般Delta法则

Parter(1985年)也独立地得出过相似的算法,他称之为学习逻辑

Lecun(1985年)也研究出大致相似的学习法则

 

前向传播

反向传播_第1张图片

 

反向传播算法

反向传播_第2张图片

有一层隐层

输入为2维向量x

输出为2维向量y

x所对应的期望输出(ground truth)为t

若y≠t,则说明参与计算的权重w不恰当,需要进行调整。

调整的手法,即为反向传播。

反向传播算法的核心,是通过比较输出y和真值t,对参与计算的w进行调整。

其计算方法是从网络的输出层开始,向输入层方向逐层计算梯度并更新权重,与前馈运算正好相反。

链式法则

激活函数的导数

反向传播_第3张图片

根据链式 法则:

反向传播_第4张图片

定义:

重要结论:

反向传播_第5张图片

反向传播_第6张图片

对于,我们来计算损失函数对于它的偏导数(也就是梯度):

反向传播_第7张图片

反向传播_第8张图片

对于偏置项,有:

反向传播_第9张图片

 

BP四项基本原则

 

矩阵形态

Hadamard乘积,element-wise product

反向传播_第10张图片

 

梯度消失

BP2中我们可以看到,计算梯度时包含了激活函数的导数

如果使用函数sigmoid,那么它的导数为sigmoid'(x)=sigmoid(x)*[1-sigmoid(x)]

 

其最大值为0.25,而越往两侧,越接近0在方向传播时,每一层的△都逐层减小最终消失。

反向传播_第11张图片

 

Zig zag

思考一下的两个权重

若h1、h2都是sigmoid函数的输出,则h1、h2>0

那么两个权重得到的更新值△要么同时为正,要么同时为负

如果这两个权重恰好要求一个增加,另一个减小,那么:

反向传播_第12张图片

 

交叉熵损失

二分类问题:反向传播_第13张图片

反向传播_第14张图片

交叉熵损失:

反向传播_第15张图片

反向传播_第16张图片

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