具有随机梯度下降的剪切梯度

时间:2018-07-02 11:55:38

标签: neural-network deep-learning gradient recurrent-neural-network clipping

我正在训练递归神经网络,但我想应用削波梯度。我正在使用sgd。可以将剪切梯度与为小批量计算的梯度总和一起使用吗?

1 个答案:

答案 0 :(得分:0)

剪切梯度之和无效。您应该单独剪切每个渐变。

以下是Tensorflow中用于梯度剪切的快速代码段:

max = 20
grads = tf.gradients(loss, tf.trainable_variables())
grads, _ = tf.clip_by_global_norm(grads, max)  # gradient clipping
grads_and_vars = list(zip(grads, tf.trainable_variables()))
optimizer = tf.train.AdamOptimizer(learning_rate)
train_op = optimizer.apply_gradients(grads_and_vars)