如何动态地找到最佳学习率和衰减率?
像tf.train.exponential_decay这样的函数不能根据不同的情况动态改变,因为起始率和衰减率是预先定义的。
发布于 2017-05-09 02:34:11
这是一个开放的研究问题,但在大批量回溯线搜索可能是有用的。
请注意,对于足够小的邻域,您的损失函数近似为线性,因此,如果您采取足够小的步骤,您可以预测您的损失减少将是什么。
所以你的想法是,你看一下预测的损失减少与实际减少相比。如果它太接近了,你就太保守了,你就会增加你的步长。如果太远了,反其道而行之。
在TensorFlow中没有内置的原语来实现这一点,但是您可以使用较低级别的操作来实现它。下面是一个关于MNIST自动编码器的端到端示例:https://github.com/yaroslavvb/stuff/tree/master/line_search_example
学习率很快上升到0.05,然后在你收敛之后,它就不能取得进展,所以它降到了零。

https://stackoverflow.com/questions/43851215
复制相似问题