梯度消亡(Gradient Vanishing)和梯度爆炸(Gradient Exploding)
文章目录
- 一、梯度消失
- 1.1 定义
- 1.2 梯度消亡(Gradient Vanishing)前提
- 1.3 产生的原因
- 1.4 解决方案
- 二、梯度爆炸
- 2.1 解决方法
一、梯度消失
1.1 定义
神经⽹络靠输⼊端的⽹络层的系数逐渐不再随着训练⽽变化,或者
变化⾮常缓慢。随着⽹络层数增加,这个现象越发明显
1.2 梯度消亡(Gradient Vanishing)前提
- 使⽤基于梯度的训练⽅法(例如梯度下降法)
- 使⽤的激活函数具有输出值范围⼤⼤⼩于输⼊值的范围,例如
logistic(逻辑斯函数), tanh(双曲正切)
1.3 产生的原因
梯度下降法依靠理解系数的微⼩变化对输出的影响来学习⽹络的系数的值。如果⼀个系数的微⼩变化对⽹络的输出没有影响或者影响极⼩,那么就⽆法知晓如何优化这个系数,或者优化特别慢。造成训练的困难。
使用梯度下降法训练神经网络,如果激活函数具备将输出值的范围相对于输入的值大幅度压缩,那么就会出现梯度消亡。
例如,双曲正切函数(tanh) 将-∞到∞的输入压缩到-1到+1之间。除开在输入为-6,+6之间的值,其它输入值对应的梯度都非常小,接近0.
1.4 解决方案
- 激活函数ReLu: f(x) = max(0, x)
输入大于0,梯度为1,否则0. - 激活函数LeakyReLu: f(x) = max(ax,x)
输入大于等于0,梯度为1,否则为a
采⽤不使⽤梯度的⽹络训练⽅法
: https://link.springer.com/article/10.1007/s10898-012-9951-y(Derivativefree optimization: a review of algorithms and comparison of software implementations)
3.1.基于遗传、进化算法
https://www.ijcai.org/Proceedings/89-1/Papers/122.pdf
https://blog.coast.ai/lets-evolve-a-neural-network-with-a-genetic-algorithm-code-included-8809bece164
3.2.粒⼦群优化
(Particle Swarm Optimization, PSO)
https://visualstudiomagazine.com/articles/2013/12/01/neural-network-training-using-particle-swarm
optimization.aspx
https://ieeexplore.ieee.org/document/1202255/?reload=true
二、梯度爆炸
当gradient<1时产生梯度消失,gradient>1产生梯度爆炸,定义、产生原因都类似。
2.1 解决方法
梯度剪切(Gradient Clipping):其思想是设置一个梯度剪切阈值,然后更新梯度的时候,如果梯度超过这个阈值,那么就将其强制限制在这个范围之内。
其他解决方法:https://blog.csdn.net/qq_25737169/article/details/78847691
梯度消亡(Gradient Vanishing)和梯度爆炸(Gradient Exploding)相关推荐
- 理解RNN、LSTM、GRU和Gradient Vanishing
最近在学习cs224n: Natural Language Processing with Deep Learning课程时,对RNN.LSTM和GRU的原理有了更深一层的理解,对LSTM和GRU如何 ...
- 梯度消亡--学习笔记
梯度消亡 一. 梯度消亡 神经网络靠输入端的网络层的系数逐渐不再随着训练而变化,或者变化非常缓慢 随着网络层数增加,这个现象越发明显 梯度消亡的前提: 使用基于梯度的训练方法(如梯度下降法) 使用的激 ...
- 机器学习总结(九):梯度消失(vanishing gradient)与梯度爆炸(exploding gradient)问题
(1)梯度不稳定问题: 什么是梯度不稳定问题:深度神经网络中的梯度不稳定性,前面层中的梯度或会消失,或会爆炸. 原因:前面层上的梯度是来自于后面层上梯度的乘乘积.当存在过多的层次时,就出现了内在本质上 ...
- 梯度消失和梯度爆炸_梯度消失梯度爆炸-Gradient Clip
梯度爆炸与梯度消失 实际现象: 当我们使用sigmoid function作为激活函数时,随着神经网络的隐藏层数增加,训练误差反而增大,造成了深度网络的不稳定. 梯度弥散: 靠近输出层的hidden ...
- 梯度爆炸gradient explode和梯度消失gradient vanish
梯度消失:什么是梯度消失?下图是Bengio等人2012年论文On the difficulty of training recurrent neural networks中提到的说法,当梯度快速的变 ...
- 机器学习中的梯度消失问题vanishing gradient
翻译自Nikhil Garg的Quora回答. 梯度消失是使用梯度下降方法的神经网络中出现的问题,其表现是,在反向回馈(backpropagation)中使整个网络难以调节前面几层的参数(Parame ...
- 梯度下降(BGD)、随机梯度下降(SGD)、Mini-batch Gradient Descent、带Mini-batch的SGD
原文:http://blog.csdn.net/llx1990rl/article/details/44001921 梯度下降(BGD).随机梯度下降(SGD).Mini-batch Gradient ...
- Lesson 4.34.4 梯度下降(Gradient Descent)基本原理与手动实现随机梯度下降与小批量梯度下降
Lesson 4.3 梯度下降(Gradient Descent)基本原理与手动实现 在上一小节中,我们已经成功的构建了逻辑回归的损失函数,但由于逻辑回归模型本身的特殊性,我们在构造损失函数时无法采用 ...
- [机器学习] ML重要概念:梯度(Gradient)与梯度下降法(Gradient Descent)
本文转自:https://blog.csdn.net/walilk/article/details/50978864 引言 机器学习栏目记录我在学习Machine Learning过程的一些心得笔记, ...
最新文章
- 【ACM】二叉搜索树(Binary Search Tree /BS Tree) 小结
- java异常处理试题答案_Java 面试题和答案 - (下)
- Timus 1049 Brave Balloonists
- 腾讯与Github的魔幻会面背后的故事…
- 关 于 正 则 表 达 式 的 类 习 题
- 11.Pipelines
- 参数等效模型可以用于_华北电力大学 陈宁、齐磊 等:适用于柔性直流电网操作过电压分析的混合式高压直流断路器端口等效模型...
- 根据用指定的月份,打印该月所属的季节(if else)3,4,5 春季 6,7,8 为夏季 9,10,11 秋季 12,1,2为冬季(switch 与 if(){}else{})两种写法
- 数据库设计规范化的五个要求
- 【三维CAD设计经验分享】CrownCAD设计:零件3D建模设计
- ES6class与ES3构造函数区别
- vue中使用快递鸟打印订单
- 阿泰,水晶报表--pull模式样板
- 计算机加法的运算规则,计算机眼中的加法运算
- MODBUS TCP/IP通信协议及测试方法
- Tiled瓦片地图的使用
- 【北京】No317| 在京在读研究生,可静可动,乐观,脾气好,很佛系的女孩,喜欢运动,旅游,读书,小吃货一枚,谈恋爱比较粘人...
- yolov3与yolov4效果对比_知识精讲 | Yolov3和Yolov4核心内容、代码梳理_创事记(5)
- 基于动态窗口法(DWA)的局部避障算法研究及MATALB的实现
- STC-ISP一直显示“正在检测目标单片机”的解决办法
热门文章
- matlab 双曲正割脉冲,matlab画双曲正割(急)!!!!!!!!!!!!!!!!!!!!!!...
- 开发者涨薪指南:提升软、硬实力
- STM32 定时器编码器模式时,如何理解编码器计数
- .Net Core3.1 Centos离线部署
- python中列表的平均值_Python中列表的平均值
- SpeedPan百度云不限速下载
- 解决 There is no getter for property named ‘null‘ in ‘class 报错
- php 自动抢红包机制,用脚本实现自动抢红包
- 浏览器劫持(病毒)事件处置
- 用 BOX-COX 变换进行数据正态性处理