我在用亚当方法处理咖啡。它有一个增量/epsilon调谐参数(用于避免除以零)。在caffe中,它的默认值是1e-8。我可以把它改成1e-6或1-e0。从tensorflow,我听说这个参数会影响训练的性能,特别是有限的数据集。
一般情况下,epsilon的默认值1e-8可能不是很好的默认值。例如,当在ImageNet上培训盗梦空间网络时,当前的最佳选择是1.0或0.1。
如果有人尝试过改变这个参数,请给我一些关于这个参数对性能的影响的建议。
发布于 2017-07-26 20:40:02
考虑Adam的更新方程: epsilon是为了防止在梯度的标准偏差为零的情况下(指数衰减的平均值)除以零。
为什么低价值的epsilon会引起问题?也许在某些情况下,有些参数比其他参数更适合于良好的价值观,而epsilon太低意味着这些参数获得了巨大的学习率,并被推开了那些好的价值观。在resnet这样的例子中,很多层对很大一部分示例几乎没有影响,我想这将是一个更大的问题。
另一方面,设置较高的epsilon既限制了参数化的学习速率效应,又降低了所有的学习速率,减缓了训练的速度。仅仅因为学习率太高,就有可能找到更高价值的epsilon的例子。
https://stackoverflow.com/questions/45328839
复制相似问题