Adam:一種隨機優化方法


 我們介紹Adam,這是一種基於一階梯度來優化隨機目標函數的算法。

 

簡介:

    Adam 這個名字來源於 adaptive moment estimation,自適應矩估計。概率論中矩的含義是:如果一個隨機變量 X 服從某個分布,X 的一階矩是 E(X),也就是樣本平均值,X 的二階矩就是 E(X^2),也就是樣本平方的平均值。Adam 算法根據損失函數對每個參數的梯度的一階矩估計和二階矩估計動態調整針對於每個參數的學習速率。Adam 也是基於梯度下降的方法,但是每次迭代參數的學習步長都有一個確定的范圍,不會因為很大的梯度導致很大的學習步長,參數的值比較穩定。it does not require stationary objective, works with sparse gradients, naturally performs a form of step size annealing。

 

 

 下面是在實驗室作報告的ppt,關於ADAM。

 

 

 

 

 

附錄:

 

隨機目標函數

隨即目標函數的含義是,在訓練過程的每一次迭代中,目標函數是不一樣的。有時候因為內存不夠大或者其他的原因,算法不會一下子讀取全部記錄來計算誤差,而是選擇選擇對數據集進行分割,在每次迭代中只讀取一部分記錄進行訓練,這一部分記錄稱為minibatch,這樣每次迭代所使用的小批量數據集就是不同的,數據集不同,損失函數就不同,因此就有隨機目標函數的說法。另外還有一個原因就是,采用小批量方式來進行訓練,可以降低收斂到局部最優的風險(想象一個在凹凸不平的地面上運動的小球,小球很容易陷入一些小坑,這些小坑並不是最低點)。

 

 

數據集:

 

[1]http://www.cnblogs.com/tornadomeet/p/3258122.html

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM