深入浅出讲解梯度消失和梯度爆炸问题(原因、解决方法)
- 本文收录于《深入浅出讲解自然语言处理》专栏,此专栏聚焦于自然语言处理领域的各大经典算法,将持续更新,欢迎大家订阅!
- 个人主页:有梦想的程序星空
- 个人介绍:小编是人工智能领域硕士,全栈工程师,深耕Flask后端开发、数据挖掘、NLP、Android开发、自动化等领域,有较丰富的软件系统、人工智能算法服务的研究和开发经验。
- 如果文章对你有帮助,欢迎
关注
、点赞
、收藏
、订阅。
梯度消失和梯度爆炸产生的原因:
传统的神经网络通常是基于BP算法优化权重参数的,即通过损失函数计算的误差通过梯度反向传播的方式对神经网络中的权重进行更新,其中用到的是连乘形式的链式法则。
梯度消失:产生的原因基本上是网络太深或是采用了不恰当的损失函数,如sigmoid函数、tanh函数等。由于sigmoid函数的导数最大值是0.25,因而通过链式法则,导致靠近输入层的权重更新缓慢甚至停滞。
梯度爆炸:产生的原因一般是深层网络或是权重初始化过大的情况,伴随着传统神经网络的链式法则,梯度会越来越大,训练过程中,很容易使得权重的值也越来越大导致溢出等情况。
解决方法:
由于梯度消失和梯度爆炸都是由于网络太深或是权重更新过大或是过小,并且伴随着链式乘法法则导致的,主要有以下几种解决方法:
- 预训练+微调
- 换成Relu、LeakyRelu等非饱和的激活函数
- 梯度剪切、梯度正则
- 使用Batch Normalization
- 使用LSTM或是GRU等
- 使用残差结构
- 神经网络权重初始化(Xavier, He初始化等)
关注微信公众号【有梦想的程序星空】,了解软件系统和人工智能算法领域的前沿知识,让我们一起学习、一起进步吧!
深入浅出讲解梯度消失和梯度爆炸问题(原因、解决方法)相关推荐
- 梯度消失和梯度爆炸_梯度消失、爆炸的原因及解决办法
一.引入:梯度更新规则 目前优化神经网络的方法都是基于反向传播的思想,即根据损失函数计算的误差通过梯度反向传播的方式,更新优化深度网络的权值.这样做是有一定原因的,首先,深层网络由许多非线性层堆叠而来 ...
- 梯度消失与梯度爆炸解释
目录 what & why how what & why 首先,什么是梯度爆炸.梯度消失,或者说,emmmm,什么是梯度?下面通过一个神经网络来解释一下,(字不好还请见谅) 之前看到吴 ...
- 2.1.4 对梯度消失和梯度爆炸的近似解决方案
梯度消失与梯度爆炸 如图所示 对于一个层数比较深的网络,如100层,如果w的参数设置的比1大,最后迭代训练的结果是wlwlw^l,将会是一个非常大的数,反之如果w的参数设置的比1小,经过迭代训练之后结 ...
- 1.10 梯度消失与梯度爆炸-深度学习第二课《改善深层神经网络》-Stanford吴恩达教授
←上一篇 ↓↑ 下一篇→ 1.9 归一化输入 回到目录 1.11 神经网络的权重初始化 梯度消失与梯度爆炸 (Vanishing/Expanding Gradients) 训练神经网络,尤其是深度神经 ...
- 【算法】梯度消失与梯度爆炸
概念 梯度不稳定 在层数比较多的神经网络模型的训练过程中会出现梯度不稳定的问题. 损失函数计算的误差通过梯度反向传播的方式,指导深度网络权值的更新优化.因为神经网络的反向传播算法是从输出层到输入层的逐 ...
- 【深度学习】梯度消失和梯度爆炸问题的最完整解析
作者丨奥雷利安 · 杰龙 来源丨机械工业出版社<机器学习实战:基于Scikit-Learn.Keras和TensorFlow> 编辑丨极市平台 1 梯度消失与梯度爆炸 正如我们在第10章中 ...
- sigmoid函数解决溢出_梯度消失和梯度爆炸及解决方法
一.为什么会产生梯度消失和梯度爆炸? 目前优化神经网络的方法都是基于BP,即根据损失函数计算的误差通过梯度反向传播的方式,指导深度网络权值的更新优化.其中将误差从末层往前传递的过程需要链式法则(Cha ...
- 梯度消失和梯度爆炸_知识干货-动手学深度学习-05 梯度消失和梯度爆炸以及Kaggle房价预测...
梯度消失和梯度爆炸 考虑到环境因素的其他问题 Kaggle房价预测 梯度消失和梯度爆炸 深度模型有关数值稳定性的典型问题是消失(vanishing)和爆炸(explosion). 当神经网络的层数较多 ...
- 普通RNN的缺陷—梯度消失和梯度爆炸
之前的RNN,无法很好地学习到时序数据的长期依赖关系.因为BPTT会发生梯度消失和梯度爆炸的问题. RNN梯度消失和爆炸 对于RNN来说,输入时序数据xt时,RNN 层输出ht.这个ht称为RNN 层 ...
- 批量标准化BN方法简介【避免了梯度消失和梯度爆炸、加速网络的收敛、优化网络结构】
一. 本文的内容包括: 1. Batch Normalization,其论文:https://arxiv.org/pdf/1502.03167.pdf 2. Layer Normalizaiton,其 ...
最新文章
- GPUtil是一个Python模块,使用nvidia-smi从NVIDA GPU获取GPU状态
- 《妙解Hibernate 3.X》读书笔记一-Hibernate概述及环境搭建
- CTFshow 命令执行 web77
- mysql 5.7 修改配置文件_如何找到并修改MySQL57的配置文件m
- python web开发项目 源码_真零基础Python开发web
- 剑指offer 旋转数组的最小数字
- 推荐几个电子/嵌入式方向的公众号
- linux内核定义的常用信号6,linux复习
- 充分掌握网络工作原理及底层实现 大家都做什么项目啊?
- 怎么在长方体上挖孔_华为P50将至,颜值升级!用上和三星旗舰一样的中置挖孔屏?...
- pic单片机c语言读eeprom,PIC单片机的EEPROM读写实例及说明
- 概率就是个冷冰冰的坑
- 初入职场,如何快速脱颖而出?
- Kotlin 新版来了,支持跨平台!
- NLP特征工程(待完善细节)
- Wifi源码学习(Android5.1)之wifi开关
- 众筹网站项目第七天之zTree树形结构实现(2)
- php+advanced
- 乔布斯遗失16年采访:A级人才的自尊心,不需要呵护
- java毕业设计牙科诊所管理系统Mybatis+系统+数据库+调试部署
热门文章
- zooKeeper篇-zk的选举机制
- 风暴数码论坛教程--初识Android
- 风云唐太宗(上部)精要
- 戴尔r720服务器装爱快路由系统,笔记本虚拟机里安装爱快软路由做单臂路由
- 易语言教程数据库删除命令
- findfont: Font family ['DejaVu Sans'] not found. Falling back to DejaVu Sans.
- 雪球网基于沪深300的评论爬虫
- 华为手机序列号前三位_华为手机SN码里隐藏的秘密,选购手机必备冷知识!
- vmware虚拟机的作用
- 程序员工资高会封顶吗?网友:会谢顶