深度学习中优化算法的总结
机器学习界有一群炼丹师,他们每天的日常是:
拿来药材(数据),架起八卦炉(模型),点着六味真火(优化算法),就摇着蒲扇等着丹药出炉了。
不过,当过厨子的都知道,同样的食材,同样的菜谱,但火候不一样了,这出来的口味可是千差万别。火小了夹生,火大了易糊,火不匀则半生半糊。
机器学习也是一样,模型优化算法的选择直接关系到最终模型的性能。有时候效果不好,未必是特征的问题或者模型设计的问题,很可能就是优化算法的问题。
说到优化算法,入门级必从 SGD 学起,老司机则会告诉你更好的还有 AdaGrad / AdaDelta,或者直接无脑用 Adam。可是看看学术界的最新 paper,却发现一众大神还在用着入门级的 SGD,最多加个 Momentum 或者 Nesterov,还经常会黑一下Adam。比如 UC Berkeley 的一篇论文就在 Conclusion 中写道:
https://blog.youkuaiyun.com/fishmai/article/details/52510826