tensorflow的几种优化器?

最近自己用CNN跑了下MINIST,准确率很低(迭代过程中),跑了几个epoch,我就直接stop了,感觉哪有问题,随即排查了下,同时查阅了网上其他人的blog,并没有发现什么问题

之后copy了一篇别人的代码,发现在第二个epoch的时候,准确率已经在80左右了,当时对比了下代码,自己的代码是没有问题的,问题出在哪?

经过排查,找到了问题,我使用Pycharm编写的,在train的优化算法的选取上,没有注意,直接用代码补全,选用的是Adadelta(这样的问题真的是蛋疼!!!!),之后我将优化器改为了Adam,结果是没有问题的,同样的学习率Adadelta准确率非常低,原因是迭代的非常慢。引入了今天的主题,我们应该怎么选取optimizer,不同的optimizer之间有哪些区别?

引入了今天的主题,关于tensorflow中几种优化算法。。。。。。

(本文只关注不同optimizer之间的异同,以及适用演变过程,适用场景,具体细节可以查阅相关资料)

咱们讨论的optimizer是基于BGD,SGD,Mini-batch gradient的基础之上,进行讨论的。感兴趣的同学可以自己查阅相关资料。。。。。。

推荐片相关的博客写的很好: https://blog.csdn.net/tsyccnh/article/details/76673073

             http://ruder.io/optimizing-gradient-descent/index.html#adam