您好,登錄后才能下訂單哦!
Adam被攻擊的泛化問題和收斂問題是什么,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
最常用的Adam優化器,有著收斂速度快、調參容易等優點,但是也存在經常被人吐槽的泛化性問題和收斂問題。
因此,在很多大佬的代碼中,依然會使用傳統的SGD+momentum的優化器。
下面就隨便的談一談下面的問題,來讓大家擴展一下知識:
Adam被攻擊的泛化問題和收斂問題;
對機器學習有了解的朋友,應該對Adam優化器不陌生了。大體來說就是Momentum + Adagrad + RMSProp的結合。
【如果需要的話,之后可以簡單易懂的通俗講講各種類型的優化器的算法】
從Adam和SGDM中就可以得知,Momentum是一個很好的設計。
在討論模型泛化問題的時候,我們會希望模型找到的極小值(收斂位置),是一個比較平緩、不陡峭的位置!,原因看下圖:
左邊的那個收斂點是一個比較平緩的點,而右邊的是一個非常陡峭非常sharp的收斂點。而訓練集和測試集雖然要求同分布,但是其實還是會有微小的差別。
對于陡峭的收斂點,訓練集的損失可能會很小,但是測試集的損失很可能就很大。而平坦的收斂點就不會這樣。這就是泛化問題,有的時候也被看成過擬合現象。
但是我們也是無法直接證明Adam總是找到sharp的極小值。不過很多論文或多或少都只指出了Adam在測試的時候error會較大。
這里有一張圖,可以看到,雖然Adam在訓練集中收斂速度最快,但是測試集的效果并不是非常的好。
Adam在某些情況下會出現無法收斂的情況,最著名的關于這個問題的Adam的吐槽就是這個論文:2018 ICLR的best paper:On the Convergence of Adam and Beyond
但是這個問題其實并不是我們這種人經常會遇到的,反而泛化問題是一個真正的困擾。
大佬們經常用的一個learning rate scheduling方案就是warn-up+decay。
【warn-up】: 是指不要一開始用高的learning-rate,應該要從低的慢慢增大到base-learning rate。學習率從小到大。
【decay】: 隨著optimization的步數的增長,逐漸降低learning rate。
Decay的部分其實很常見,所有的人都會用,但是warn-up其實就有點詭異了,在ResNet的論文中其實可以看到這個。
Radam 是在warm up的時候提出了一些有效的策略。
關于Adam被攻擊的泛化問題和收斂問題是什么問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。