https://blog.csdn.net/cppjava_/article/details/68941436
2.解决梯度爆炸问题的方法
通常会使用一种叫”clip gradients “的方法. 它能有效地权重控制在一定范围之内.
算法步骤如下。
- 首先设置一个梯度阈值:clip_gradient
- 在后向传播中求出各参数的梯度,这里我们不直接使用梯度进去参数更新,我们求这些梯度的l2范数
- 然后比较梯度的l2范数||g||与clip_gradient的大小
- 如果前者大,求缩放因子clip_gradient/||g||, 由缩放因子可以看出梯度越大,则缩放因子越小,这样便很好地控制了梯度的范围
- 最后将梯度乘上缩放因子便得到最后所需的梯度
- https://blog.csdn.net/u010814042/article/details/76154391
原文地址:https://www.cnblogs.com/ymjyqsx/p/9527532.html
时间: 2024-11-06 09:45:02