当我设置epsilon=10e-8
时,AdamOptimizer
不起作用。当我将其设置为1时,它就可以正常工作。
最佳答案
epsilon避免在上式中除以零误差,同时在梯度几乎为零时更新变量。因此,理想情况下,ε值应该很小。但是,分母中的epsilon较小将进行较大的权重更新,并且在随后的归一化中,较大的权重将始终归一化为1。
因此,我想当您使用小epsilon进行训练时,优化器将变得不稳定。
需要权衡的是,制作ε(和分母)越大,重量更新就越小,因此训练进度会越慢。大多数时候,您希望分母能够变小。通常,ε值大于10e-4会更好。
关于machine-learning - epsilon超参数如何影响tf.train.AdamOptimizer?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43221065/