該篇論文借鑑了Adashift中的核心思想,即梯度越大,更新步長越小。論文中,通過加強過去的梯度的權重,以避免神經網絡參數優化時,因爲遇到某個過大的梯度,進而導致後面整個參數優化速度降低、陷入局部最優解以至於不收斂。
論文使用下面的公式來定義二階動量更新的權重參數。
此處,而在後面的論文中,作者證明了時符合理論要求。
對於Adam的參數更新,其二階動量更新公式,即:
可以看到隨着值的增減的係數逐漸增大。而對於作者提出的NosAdam,其二階動量的更新公式可寫爲:
在NosAdam的二階動量更新公式中,的係數逐漸降低,相對來說,即增加了過去的梯度對參數更新的影響。
作者也對爲何增加過去梯度的權重的原因,做了解釋。在下面的實驗中,作者通過引入一個large gradient展示了AMSGrad與NosAdam在面對這樣的梯度時,不同的結果。可以看到,AMSGrad由於large gradient的出現,導致的值增大,進而導致參數優化收斂速度降低,甚至不收斂。而NosAdam則避開這個問題,實現了較好的收斂。
下面貼上作者的算法僞碼,論文鏈接: