在训练 RNN 或 CNN 时,何时需要执行梯度裁剪?我对后者特别感兴趣。剪辑的一个好的起始值是多少?(当然可以调)
训练深度神经网络时的梯度裁剪
机器算法验证
深度学习
2022-03-25 03:11:17
1个回答
当您遇到渐变消失或渐变爆炸的问题时,您可能希望执行渐变剪裁。但是,对于这两种情况,都有更好的解决方案:
当梯度变得太大并且你得到数值溢出时,就会发生梯度爆炸。这可以通过将网络的权重初始化为较小的值来轻松解决。如果这不起作用,则代码中可能存在错误。
当优化卡在鞍点时会发生梯度消失,梯度变得太小而无法进行优化。这可以通过使用带有动量或 RMS prop 或两者的梯度下降(也称为 Adam 优化器)来解决。
渐变裁剪上限的起始值会小于变量可以采用的最大数。对于下限,我会说它是特定于问题的,但可能从 1e-10 之类的东西开始。
其它你可能感兴趣的问题