NosAdam論文解析

該篇論文借鑑了Adashift中的核心思想,即梯度越大,更新步長越小。論文中,通過加強過去的梯度的權重,以避免神經網絡參數優化時,因爲遇到某個過大的梯度,進而導致後面整個參數優化速度降低、陷入局部最優解以至於不收斂。
論文使用下面的公式來定義二階動量更新的權重參數β2\beta_2
β2,t=Bt1Bt\beta_{2,t}=\frac{B_{t-1}}{B_{t}}
此處Bt=k=1tbkB_t=\sum_{k=1}^t b_k,而bkb_k在後面的論文中,作者證明了bk=kγb_k=k^{-\gamma}時符合理論要求。
對於Adam的參數更新,其二階動量vtv_t更新公式,即:
vtAdam=k=1t(1β2)β2tkgk2 v_t^{Adam}=\sum_{k=1}^{t} (1-\beta_2)\beta_2^{t-k}g_k^2
可以看到隨着kk值的增減gt2g_t^2的係數逐漸增大。而對於作者提出的NosAdam,其二階動量的更新公式可寫爲:
vtNosAdam=k=1tgk2bkBtv_t^{NosAdam}=\sum_{k=1}^{t} g_k^2\frac{b_k}{B_t}
在NosAdam的二階動量更新公式中,gt2g_t^2的係數逐漸降低,相對來說,即增加了過去的梯度對參數更新的影響。

作者也對爲何增加過去梯度的權重的原因,做了解釋。在下面的實驗中,作者通過引入一個large gradient展示了AMSGrad與NosAdam在面對這樣的梯度時,不同的結果。可以看到,AMSGrad由於large gradient的出現,導致vtv_t的值增大,進而導致參數優化收斂速度降低,甚至不收斂。而NosAdam則避開這個問題,實現了較好的收斂。
在這裏插入圖片描述

下面貼上作者的算法僞碼,論文鏈接
在這裏插入圖片描述

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