梯度消失与梯度爆炸
反向传播(Back-Propagation, BP)是对多层人工神经网络进行梯度下降的算法,也就是用链式法则以网络每层的权重为变数计算损失函数的梯度,以更新权重来最小化损失函数。
神经网络中参数的更新大致分为正向传播与反向传播两个步骤。
正向传播
正向传播(forward propagation或forward pass) 指的是:按顺序(从输入层到输出层)计算和存储神经网络中每层的结果。假设有这样一个神经网络结构:
其中
反向传播
通过一次正向传播可以得到一组预测值,通过比较与真实值
例如
根据链式求导法则有:
梯度消失与梯度爆炸
在上一节中可以看到某一参数需要更新的量(梯度在该分量的模)包含若干的激活函数的导数的乘积。当网络层数很多而激活函数的导数又小于1时,连乘可能会导致梯度变得非常的小,即所谓的梯度消失。反之,梯度变得非常的大,即梯度爆炸。
解决方案
更换激活函数
最常见的方案就是更改激活函数,现在神经网络中,除了最后二分类问题的最后一层会用
使用Batchnorm层
使用残差结构
简单的理解,就是让深层网络通过走捷径,让网络不那么深层,这样梯度消失的问题就缓解了。
正则化
之前提到的梯度爆炸问题,一般都是因为
- Post title:梯度消失与梯度爆炸
- Post author:Kotori Y
- Create time:2022-08-16 15:15
- Update time:2022-08-16 23:23
- Post link:https://blog.iamkotori.com/2022/08/16/梯度消失与梯度爆炸/
- Copyright Notice:All articles in this blog are licensed under BY-NC-SA unless stating additionally.
Comments