2019-04-04派森学习第136天

2019-04-04  本文已影响0人  每日派森

今天学习了tensorflow中的神经网络的几个优化器,现在总结比较一下各种优化器。

Optimizer

下面是 TensorFlow 中的优化器:

效果比较?

下面看一下几种算法在鞍点和等高线上的表现: 

性能比较1 性能比较2

上面两种情况都可以看出,Adagrad, Adadelta, RMSprop 几乎很快就找到了正确的方向并前进,收敛速度也相当快,而其它方法要么很慢,要么走了很多弯路才找到。

如何选择?

如果数据是稀疏的,就用自适应方法,即 Adagrad, Adadelta, RMSprop, Adam。

RMSprop, Adadelta, Adam 在很多情况下的效果是相似的。

Adam 就是在 RMSprop 的基础上加了 bias-correction 和 momentum。

随着梯度变的稀疏,Adam 比 RMSprop 效果会好。

整体来讲,Adam 是最好的选择。

很多论文里都会用 SGD,没有 momentum 等。SGD 虽然能达到极小值,但是比其它算法用的时间长,而且可能会被困在鞍点。

如果需要更快的收敛,或者是训练更深更复杂的神经网络,需要用一种自适应的算法。

上一篇 下一篇

猜你喜欢

热点阅读