參考博客: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優化器,因爲只有參數更新方法發生了更改。
這個論文感覺也沒有講的很清楚,看完了的我還是不是很理解。