【发布时间】:2017-03-28 14:03:37
【问题描述】:
我正在尝试运行基于 U-net 架构的图像分割代码。在实验过程中,我发现 Adam 优化器的运行速度比动量优化器慢得多。我不确定这是否是这两个优化器之间的共同观察?还是应该是依赖数据的观察?
【问题讨论】:
标签: computer-vision tensorflow deep-learning
我正在尝试运行基于 U-net 架构的图像分割代码。在实验过程中,我发现 Adam 优化器的运行速度比动量优化器慢得多。我不确定这是否是这两个优化器之间的共同观察?还是应该是依赖数据的观察?
【问题讨论】:
标签: computer-vision tensorflow deep-learning
使用 Adam 的优化比使用 Momentum 的优化运行得慢,因为前者需要为每个参数累积第一和第二时刻的指数移动平均值,因为它是一种自适应学习率算法。 相反,后者不需要跟踪过去的梯度,也不需要为每个参数应用具有不同值的更新规则。
因此,您的观察是正确的,但它不依赖于数据,优化算法本身需要进行额外的计算,因此执行时间(对于每个训练步骤)较慢。
优点是使用自适应学习率算法,即使单步较慢,您也可以更快地达到最小值。
【讨论】:
这可能取决于您的框架;例如,MxNet 的这个问题:https://github.com/dmlc/mxnet/issues/1516。根据我的经验,Adam 倾向于在更少的时期内收敛,尽管我意识到这与优化器快速运行不同。
【讨论】: