梯度裁剪是否会降低 RNN 的有效性
Does Gradient Clipping reduce effectiveness of a RNN
为了防止梯度爆炸,我们使用梯度裁剪。
在逐元素裁剪中,我们使用像 [-10,10].
这样的数字
如果梯度超过 10,则更改为 10。
由于我们将梯度更改为随机数,为什么它不会影响 RNN 的效率。
梯度裁剪保证梯度向量g的范数至多为x。这有助于梯度下降具有合理的行为,即使模型的损失情况是不规则的。下图显示了损失景观中具有极其陡峭悬崖的示例。在没有裁剪的情况下,参数会采取巨大的下降步骤并离开“好”区域。通过裁剪,下降步长受到限制,参数保持在“好”区域。
总的来说,它的好处多于它可能对模型造成的伤害,这就是为什么它不会影响效率,而且更实际的选择是归一化梯度而不是裁剪它,这可能会提供更好的效果结果。
为了防止梯度爆炸,我们使用梯度裁剪。
在逐元素裁剪中,我们使用像 [-10,10].
这样的数字
如果梯度超过 10,则更改为 10。
由于我们将梯度更改为随机数,为什么它不会影响 RNN 的效率。
梯度裁剪保证梯度向量g的范数至多为x。这有助于梯度下降具有合理的行为,即使模型的损失情况是不规则的。下图显示了损失景观中具有极其陡峭悬崖的示例。在没有裁剪的情况下,参数会采取巨大的下降步骤并离开“好”区域。通过裁剪,下降步长受到限制,参数保持在“好”区域。
总的来说,它的好处多于它可能对模型造成的伤害,这就是为什么它不会影响效率,而且更实际的选择是归一化梯度而不是裁剪它,这可能会提供更好的效果结果。