LSTM 中的学习率衰减

learning rate decay in LSTM

我目前正在重现 http://karpathy.github.io/2015/05/21/rnn-effectiveness/. There are codes already implemented in tensorflow and the code I am referring to is at https://github.com/sherjilozair/char-rnn-tensorflow/blob/master/train.py 中描述的 char-RNN 代码 我对学习率有疑问 decay.In 优化器定义为 AdamOptimizer 的代码。当我浏览代码时,我看到一行如下:

for e in range(args.num_epochs):
        sess.run(tf.assign(model.lr, args.learning_rate * (args.decay_rate ** e)))

通过衰减常数调整学习率。 我的问题是:Adam 优化器不是让我们能够控制学习率吗?为什么我们在这里仍然使用关于学习率的衰减率?

我认为您指的是 RMSprop 而不是 Adam,您链接的两个代码都使用 RMSprop。 RMSprop 仅缩放梯度以使其范数不会太大或太小。因此,当我们必须在几个 epoch 后放慢训练速度时,降低学习率很重要。