優化算法記錄

參考:
https://blog.csdn.net/wishchin/article/details/80567558
https://zhuanlan.zhihu.com/p/32262540

1.改進Adam的方法:前期用Adam,享受Adam快速收斂的優勢;後期切換到SGD,慢慢尋找最優解。這一方法以前也被研究者們用到,不過主要是根據經驗來選擇切換的時機和切換後的學習率。Adam+SGD—>AMSGrad

2.雖然Adam算法目前成爲主流的優化算法,不過在很多領域裏(如計算機視覺的對象識別、NLP中的機器翻譯)的最佳成果仍然是使用帶動量(Momentum)的SGD來獲取到的。Wilson 等人的論文結果顯示,在對象識別、字符級別建模、語法成分分析等方面,自適應學習率方法(包括AdaGrad、AdaDelta、RMSProp、Adam等)通常比Momentum算法效果更差。
https://www.cnblogs.com/wishchin/p/9199825.html

3.
自適應優化算法訓練出來的結果通常都不如SGD,儘管這些自適應優化算法在訓練時表現的看起來更好。 使用者應當慎重使用自適應優化算法。
自適應算法類似於過學習的效果,生成的模型面對整體分佈時是過擬合的。

4.
所以,談到現在,到底Adam好還是SGD好?這可能是很難一句話說清楚的事情。去看學術會議中的各種paper,用SGD的很多,Adam的也不少,
還有很多偏愛AdaGrad或者AdaDelta。可能研究員把每個算法都試了一遍,哪個出來的效果好就用哪個了

理解數據對於設計算法的必要性。優化算法的演變歷史,都是基於對數據的某種假設而進行的優化,那麼某種算法是否有效,就要看你的數據是否符合該算法的胃口了。

算法固然美好,數據纔是根本。

另一方面,Adam之流雖然說已經簡化了調參,但是並沒有一勞永逸地解決問題,默認參數雖然好,但也不是放之四海而皆準。因此,在充分理解數據的基礎上,依然需要根據數據特性、算法特性進行充分的調參實驗,找到自己煉丹的最優解。而這個時候,不論是Adam,還是SGD,於你都不重要了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章