2016-08-02 11 views
0

現在、http://karpathy.github.io/2015/05/21/rnn-effectiveness/に記載されているchar-RNNのコードを再現しています。テンソルフローで既に実装されているコードがあり、私が参照しているコードはhttps://github.com/sherjilozair/char-rnn-tensorflow/blob/master/train.pyにあります。コードでは、オプティマイザはAdamOptimizerとして定義されています。コードを調べると、次のような行が表示されました。LSTMにおける学習率の低下

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

崩壊定数で学習率を調整します。 私の質問は、アダムオプティマイザが学習率をコントロールできるようにしていませんか?なぜここでも学習率に関して減衰率を使用していますか?

答えて

0

私はあなたがRMSpropを意味し、アダムではないと思います。リンクしたコードの両方がRMSpropを使用しています。 RMSprop標準偏差が大きすぎたり小さすぎたりしないように勾配のスケールを調整します。したがって、いくつかのエポック後に訓練を遅くしなければならないときに、学習率を減衰させることが重要です。

関連する問題