梯度裁剪是深度学习中爆炸梯度问题的一种解决方案。tf.keras
API允许用户通过将^{tf.keras.optimizers.Optimizer
来使用渐变剪裁的变体。你知道吗
然而,当前实现独立于其他权重的梯度来剪裁每个权重的梯度。This is done in the ^{
if hasattr(self, "clipnorm"):
grads = [clip_ops.clip_by_norm(g, self.clipnorm) for g in grads]
if hasattr(self, "clipvalue"):
grads = [
clip_ops.clip_by_value(g, -self.clipvalue, self.clipvalue)
for g in grads
]
这有改变下降方向的潜在缺点,而如果梯度被其全局范数截断,则方向将保持不变。你知道吗
TensorFlow有一个^{Optimizer
类没有使用它。你知道吗
没有使用cdm来手动编写全局梯度(cdm)的方法是什么?你知道吗
我并不反对tf.GradientTape
解决方案,但我想知道是否还有其他方法。你知道吗
目前没有回答
相关问题 更多 >
编程相关推荐