深度學習的優化算法

原文鏈接:https://ai.yanxishe.com/page/TextTranslation/1971

參考博客:https://ai.yanxishe.com/page/TextTranslation/1971

1、梯度下降

2、小批量梯度下降

  • 當batch_size = 訓練集樣本數時,這被稱爲批量梯度下降。此時會有遍歷整個數據集後纔開始學習的問題。 

  • 當batch_size = 1時,稱爲隨機梯度下降。它沒有充分利用矢量化,訓練變得非常緩慢。  

  • 因此,通常的選擇是64或128或256或512。這取決於具體案例和系統內存,如我們應該確保一個min-batch應該能夠裝入系統內存。  

3、動量梯度下降法

爲什麼需要動量梯度下降法呢?

因爲在使用小批量隨機梯度下降時,每個小批量求的梯度與全批量的梯度是有差別的,就會導致梯度震盪,雖然總體是往最優梯度的方向走的。動量梯度下降是爲了減緩梯度的震盪。

 

先介紹一個概念:指數加權平均。

指數加權平均中的指數表示各個元素所佔權重呈指數分佈。假設存在數列:

{Q1​,Q2​,Q3​,Q4​...........}

觀察各項前面的係數不難得到從Q1到Q100  各數權重呈指數分佈。
 

可以看出指數加權平均是有記憶平均,每一個V VV都包含了之前所有數據的信息。

接下來介紹動量梯度下降法:

回顧一下梯度下降法每次的參數更新公式:

梯度更新的公式變爲:

4、RMSProp均方根傳播法

與動量類似,它是一種抑制在y軸上運動的技術

直覺告訴我們,當我們用一個大數除以另一個大數時,結果會變得很小。在我們的例子中,第一個大數是db,第二個大數是db的加權平均值²。我們引入了兩個新的變量Sdb和SdW,以跟蹤db²和dW²的加權平均。db和Sdb相除會得到一個更小的值,它抑制了在y軸上的運動。其中引進ε是爲了避免除0異常情況。對於W的更新也是類似,也就是x軸上的值。 

 

5、AdaM代表自適應動量法

它將Momentum法和RMSprop法結合一起,使Adam成爲一個非常強大和快速的優化器。並利用誤差修正方法解決加權平均計算中的冷啓動問題,也就是加權平均值的前幾個值與實際值相差太遠。V和S分別源自於Momentum和RMSprop。  

值得注意的是,在計算時,我們用了2個不同的β值。β1用於計算Momentum相關的部分,而β2用於計算RMSprop相關的部分。同樣,我們仍然可以使用基於小批量方法的AdaM優化器,因爲只有參數更新方法發生了更改。  

 

這個論文感覺也沒有講的很清楚,看完了的我還是不是很理解。

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