深度学习梯度爆炸与梯度消失

Posted syw-home

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了深度学习梯度爆炸与梯度消失相关的知识,希望对你有一定的参考价值。

背景

了解深度学习中的梯度爆炸与消失的原因,及如何处理梯度爆炸与消失。

梯度消失

梯度消失是激活函数和权重矩阵初始化值,这两个因素决定的。

sigmoid函数,求导的最大值为0.25

根据链式求导法则:导数小于0.25,如果初始化的W值,再小于1,这样逐个相乘后,会导致偏差为0,最终导致网路中的参数无法优化

梯度爆炸

依然根据链式求导法则:如果初始化的W值>10,则每一层的乘积大于1,这样逐个相乘后,会导致一个非常大权重更新,这就是梯度爆炸

解决方案

  1. 好的参数初始化方式,如He初始化
  2. 非饱和激活函数 ReLU
  3. 批量规范化
  4. 梯度截断
  5. 更快的优化器

参考

  1. https://blog.csdn.net/junjun150013652/article/details/81274958

以上是关于深度学习梯度爆炸与梯度消失的主要内容,如果未能解决你的问题,请参考以下文章

深度学习中的梯度消失与梯度爆炸及解决方案

深度学习系列DNN中梯度消失和梯度爆炸的原因推导

深度学习100问之深入理解Vanishing/Exploding Gradient(梯度消失/爆炸)

梯度爆炸和梯度消失的本质原因

[人工智能-深度学习-36]:卷积神经网络CNN - 简单地网络层数堆叠导致的问题分析(梯度消失梯度弥散梯度爆炸)与解决之道

数值稳定性 梯度爆炸 梯度消失 + 模型初始化和激活函数 动手学深度学习v2 pytorch