梯度爆炸的解决办法:clip gradient
来源:互联网 发布:大学一个人知乎 编辑:程序博客网 时间:2024/05/19 16:35
1.梯度爆炸的影响
在一个只有一个隐藏节点的网络中,损失函数和权值w偏置b构成error surface,其中有一堵墙,如下所示
损失函数每次迭代都是每次一小步,但是当遇到这堵墙时,在墙上的某点计算梯度,梯度会瞬间增大,指向某处不理想的位置。如果我们使用缩放,可以把误导控制在可接受范围内,如虚线箭头所示
2.解决梯度爆炸问题的方法
通常会使用一种叫”clip gradients “的方法. 它能有效地权重控制在一定范围之内.
算法步骤如下。
- 首先设置一个梯度阈值:clip_gradient
- 在后向传播中求出各参数的梯度,这里我们不直接使用梯度进去参数更新,我们求这些梯度的l2范数
- 然后比较梯度的l2范数||g||与clip_gradient的大小
- 如果前者大,求缩放因子clip_gradient/||g||, 由缩放因子可以看出梯度越大,则缩放因子越小,这样便很好地控制了梯度的范围
- 最后将梯度乘上缩放因子便得到最后所需的梯度
3. 有无clip_gradient在GRU模型中的结果比较
- 无clip_gradient
可以很清楚地发现在2000次迭代出发生了梯度爆炸,最终影响了训练的效果。
- 有clip_gradient
可以发现clip_gradient在前期有效了控制了梯度爆炸的影响,使得最终的loss能下降到满意的结果
阅读全文
0 0
- 梯度爆炸的解决办法:clip gradient
- 梯度消失(vanishing gradient)和梯度爆炸(exploding gradient)
- 关于梯度消失,梯度爆炸的问题
- 梯度爆炸
- 机器学习总结(九):梯度消失(vanishing gradient)与梯度爆炸(exploding gradient)问题
- 梯度消失,梯度爆炸
- 梯度爆炸和梯度消失的本质原因
- Caffe源码解读:防止梯度爆炸的措施-梯度裁剪
- 基本的gradient descent梯度下降法
- 深度学习基础之-梯度弥散和梯度爆炸及解决办法
- 梯度爆炸与梯度消失
- 梯度弥散与梯度爆炸
- 梯度消失和梯度爆炸
- 梯度弥散和梯度爆炸
- 梯度弥散和梯度爆炸
- 梯度消失与梯度爆炸
- 梯度弥散和梯度爆炸
- 梯度消失/爆炸浅析
- ROS学习(基于Ubuntu 15.04 和ROS Jade)第三章 ROS核心教程 之 10 创建ROS消息和ROS服务
- 求解区间最值
- Android 监听Home键、Back键、多任务键最新解决方法
- 点击表头排序时,"分组"及"分组明细"的数据层次关系不变
- Spring 注解的DI
- 梯度爆炸的解决办法:clip gradient
- Python学习笔记-循环
- android控制音量键按下的操作
- 误入前端三年,一个文科生的独白(中)
- 浅谈Vue(Vue项目搭建)
- ajax 调用 java webapi 多个参数(二)
- 微信开发高级群发接口
- Magic FZU
- 下载36氪 播氪的音频