【问题标题】:Clipping Gradient with stochastic gradient descent用随机梯度下降裁剪梯度
【发布时间】:2018-12-10 15:36:27
【问题描述】:

我正在训练一个循环神经网络,但我想应用剪裁梯度。我正在使用 sgd。我可以使用剪裁梯度来计算为小批量计算的梯度总和吗?

【问题讨论】:

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


    【解决方案1】:

    剪切梯度的总和没有效果。您应该单独剪辑每个渐变。

    这里是一个在 Tensorflow 中进行梯度裁剪的快速代码 sn-p:

    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)
    

    【讨论】:

      猜你喜欢
      • 2016-06-13
      • 2016-09-25
      • 2021-12-18
      • 1970-01-01
      • 2021-02-20
      • 1970-01-01
      • 2011-07-04
      • 2016-05-16
      • 2019-06-19
      相关资源
      最近更新 更多