反向传播

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

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

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

 

前向传播

反向传播

反向传播

反向传播

 

反向传播算法

反向传播

有一层隐层

输入为2维向量x

输出为2维向量y

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

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

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

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

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

链式法则

**函数的导数反向传播

反向传播

反向传播

反向传播

根据链式 法则:

反向传播

反向传播

定义:反向传播

反向传播

重要结论:反向传播

反向传播

反向传播

反向传播

反向传播

反向传播

反向传播

反向传播

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

反向传播

反向传播

反向传播

反向传播

对于偏置项,有:

反向传播

 

BP四项基本原则

反向传播

反向传播

反向传播

反向传播

 

矩阵形态

Hadamard乘积,element-wise product

反向传播

反向传播

反向传播

反向传播

反向传播

 

梯度消失

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

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

 

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

反向传播

 

Zig zag

思考一下反向传播的两个权重反向传播

反向传播

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

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

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

反向传播

 

交叉熵损失

二分类问题:反向传播

反向传播

交叉熵损失:反向传播

反向传播

反向传播