前言:
反向传播是深度学习的基础核心,如果掌握了这个,其它的模型会很容易理解。
这里面结合前面的多层感知机,深入了解一下权重数是如何更新的
目录:
1: 多层感知机节点间的权重系数更新
2: 反向传播的基本思路
3: 整体训练流程
一 多层感知机节点间的权重系数更新
我们常见的DNN 结构
问题:
t层的权重系数如何更新求梯度呢?
上图 影响到t层j节点,j节点影响到t+1层m个节点。这里假设t+1为最后一层
前向传播公式
设损失函数
梯度更新
这里面重点看一下t-1 层到t 层 i,j 节点之间权重系数更新过程.
上面公式可以简化
其中
只跟当前层的输出有关系
通过上面可以更进一步看出梯度爆炸和梯度弥散的原理
二 反向传播的基本思路(DNN)
输入
向量x,
前向传播
损失函数
梯度更新过程: 主要利用了向量的链式求导原理,以及梯度和迹之间的关系。
假设一共L 层,
step1: 先计算最后一层
设
step2: 利用链式法则,递归的求出每一层的
step3: 利用梯度和迹之间的关系,求出每一层的梯度
证明:
三 整体训练流程
Train: