天天看點

花書+吳恩達深度學習(七)優化方法之基本算法(Momentum, Nesterov, AdaGrad, RMSProp, Adam)0. 前言1. 指數權重平均(exponentially weighted averages)2. Momentum 動量3. Nesterov 動量4. AdaGrad5. RMSProp6. Adam

目錄

0. 前言

1. 指數權重平均(exponentially weighted averages)

2. Momentum 動量

3. Nesterov 動量

4. AdaGrad

5. RMSProp

6. Adam

如果這篇文章對你有一點小小的幫助,請給個關注,點個贊喔~我會非常開心的~

花書+吳恩達深度學習(五)正則化方法(防止過拟合)

花書+吳恩達深度學習(六)優化方法之 Mini-batch(SGD, MBGD, BGD)

花書+吳恩達深度學習(七)優化方法之基本算法(Momentum, Nesterov, AdaGrad, RMSProp, Adam)

花書+吳恩達深度學習(八)優化方法之 Batch normalization

花書+吳恩達深度學習(九)優化方法之二階近似方法(牛頓法, CG, BFGS, L-BFGS)

0. 前言

在使用 Mini-batch 的時候,通常梯度估計的方向不直接指向最小值點,容易造成曲折波動的路線。

為了防止這種路線,改善梯度估計的方向,可對反向傳播作修改。

如下圖所示(圖源:深度學習),黑色路線是未修改的梯度估計方向,紅色路線是修改後的梯度估計方向:

花書+吳恩達深度學習(七)優化方法之基本算法(Momentum, Nesterov, AdaGrad, RMSProp, Adam)0. 前言1. 指數權重平均(exponentially weighted averages)2. Momentum 動量3. Nesterov 動量4. AdaGrad5. RMSProp6. Adam

1. 指數權重平均(exponentially weighted averages)

假設,

花書+吳恩達深度學習(七)優化方法之基本算法(Momentum, Nesterov, AdaGrad, RMSProp, Adam)0. 前言1. 指數權重平均(exponentially weighted averages)2. Momentum 動量3. Nesterov 動量4. AdaGrad5. RMSProp6. Adam

 表示前 

花書+吳恩達深度學習(七)優化方法之基本算法(Momentum, Nesterov, AdaGrad, RMSProp, Adam)0. 前言1. 指數權重平均(exponentially weighted averages)2. Momentum 動量3. Nesterov 動量4. AdaGrad5. RMSProp6. Adam

 個值的和,

花書+吳恩達深度學習(七)優化方法之基本算法(Momentum, Nesterov, AdaGrad, RMSProp, Adam)0. 前言1. 指數權重平均(exponentially weighted averages)2. Momentum 動量3. Nesterov 動量4. AdaGrad5. RMSProp6. Adam

 表示第 

花書+吳恩達深度學習(七)優化方法之基本算法(Momentum, Nesterov, AdaGrad, RMSProp, Adam)0. 前言1. 指數權重平均(exponentially weighted averages)2. Momentum 動量3. Nesterov 動量4. AdaGrad5. RMSProp6. Adam

 個值,則指數權重平均表示為:

花書+吳恩達深度學習(七)優化方法之基本算法(Momentum, Nesterov, AdaGrad, RMSProp, Adam)0. 前言1. 指數權重平均(exponentially weighted averages)2. Momentum 動量3. Nesterov 動量4. AdaGrad5. RMSProp6. Adam

根據 

花書+吳恩達深度學習(七)優化方法之基本算法(Momentum, Nesterov, AdaGrad, RMSProp, Adam)0. 前言1. 指數權重平均(exponentially weighted averages)2. Momentum 動量3. Nesterov 動量4. AdaGrad5. RMSProp6. Adam

 的不同,

花書+吳恩達深度學習(七)優化方法之基本算法(Momentum, Nesterov, AdaGrad, RMSProp, Adam)0. 前言1. 指數權重平均(exponentially weighted averages)2. Momentum 動量3. Nesterov 動量4. AdaGrad5. RMSProp6. Adam

 表示大約前 

花書+吳恩達深度學習(七)優化方法之基本算法(Momentum, Nesterov, AdaGrad, RMSProp, Adam)0. 前言1. 指數權重平均(exponentially weighted averages)2. Momentum 動量3. Nesterov 動量4. AdaGrad5. RMSProp6. Adam

 個數的平均。

被稱為指數的原因是,表達式遞歸展開,從 0 到 t 的權重表現為指數的形式:

花書+吳恩達深度學習(七)優化方法之基本算法(Momentum, Nesterov, AdaGrad, RMSProp, Adam)0. 前言1. 指數權重平均(exponentially weighted averages)2. Momentum 動量3. Nesterov 動量4. AdaGrad5. RMSProp6. Adam

因初始化 

花書+吳恩達深度學習(七)優化方法之基本算法(Momentum, Nesterov, AdaGrad, RMSProp, Adam)0. 前言1. 指數權重平均(exponentially weighted averages)2. Momentum 動量3. Nesterov 動量4. AdaGrad5. RMSProp6. Adam

 ,是以造成 

花書+吳恩達深度學習(七)優化方法之基本算法(Momentum, Nesterov, AdaGrad, RMSProp, Adam)0. 前言1. 指數權重平均(exponentially weighted averages)2. Momentum 動量3. Nesterov 動量4. AdaGrad5. RMSProp6. Adam

 等幾個初始點會較小,可進行偏差修正:

花書+吳恩達深度學習(七)優化方法之基本算法(Momentum, Nesterov, AdaGrad, RMSProp, Adam)0. 前言1. 指數權重平均(exponentially weighted averages)2. Momentum 動量3. Nesterov 動量4. AdaGrad5. RMSProp6. Adam

但是這種方法不常用,通常可以接受在開始階段的誤差,随着疊代更新,誤差會逐漸消失。

2. Momentum 動量

動量的方法旨在加速學習,特别是處理高曲率、小但一緻的梯度,或是帶噪聲的梯度。

動量算法通過指數權重平均,累計了之前的梯度,調整了梯度估計的方向。

花書+吳恩達深度學習(七)優化方法之基本算法(Momentum, Nesterov, AdaGrad, RMSProp, Adam)0. 前言1. 指數權重平均(exponentially weighted averages)2. Momentum 動量3. Nesterov 動量4. AdaGrad5. RMSProp6. Adam

注:

花書+吳恩達深度學習(七)優化方法之基本算法(Momentum, Nesterov, AdaGrad, RMSProp, Adam)0. 前言1. 指數權重平均(exponentially weighted averages)2. Momentum 動量3. Nesterov 動量4. AdaGrad5. RMSProp6. Adam

 的取值一般為 0.5,0.9,0.99 。

3. Nesterov 動量

Nesterov 和 Momentum 的差別在于,先施加目前的累計速度,然後再計算梯度。

花書+吳恩達深度學習(七)優化方法之基本算法(Momentum, Nesterov, AdaGrad, RMSProp, Adam)0. 前言1. 指數權重平均(exponentially weighted averages)2. Momentum 動量3. Nesterov 動量4. AdaGrad5. RMSProp6. Adam

但是,在 Mini-batch 的情況下,這并沒有改進收斂率。

4. AdaGrad

具有損失最大偏導的參數相應地有一個快速下降的學習率,而具有小偏導的參數在學習率上有相對較小的下降。

這可防止下降過快,或者在平坦區域下降過慢。

花書+吳恩達深度學習(七)優化方法之基本算法(Momentum, Nesterov, AdaGrad, RMSProp, Adam)0. 前言1. 指數權重平均(exponentially weighted averages)2. Momentum 動量3. Nesterov 動量4. AdaGrad5. RMSProp6. Adam

但是從訓練開始時累計梯度平方會導緻有效學習率過早和過量的減小。

5. RMSProp

RMSProp 修改 AdaGrad 以在非凸設定下效果更好,改變梯度累計為指數權重平均。

花書+吳恩達深度學習(七)優化方法之基本算法(Momentum, Nesterov, AdaGrad, RMSProp, Adam)0. 前言1. 指數權重平均(exponentially weighted averages)2. Momentum 動量3. Nesterov 動量4. AdaGrad5. RMSProp6. Adam

RMSProp 已被證明是一種有效且實用的深度神經網絡優化算法。

注:

花書+吳恩達深度學習(七)優化方法之基本算法(Momentum, Nesterov, AdaGrad, RMSProp, Adam)0. 前言1. 指數權重平均(exponentially weighted averages)2. Momentum 動量3. Nesterov 動量4. AdaGrad5. RMSProp6. Adam

 的取值一般推薦為 0.999,

花書+吳恩達深度學習(七)優化方法之基本算法(Momentum, Nesterov, AdaGrad, RMSProp, Adam)0. 前言1. 指數權重平均(exponentially weighted averages)2. Momentum 動量3. Nesterov 動量4. AdaGrad5. RMSProp6. Adam

 的取值一般推薦為 

花書+吳恩達深度學習(七)優化方法之基本算法(Momentum, Nesterov, AdaGrad, RMSProp, Adam)0. 前言1. 指數權重平均(exponentially weighted averages)2. Momentum 動量3. Nesterov 動量4. AdaGrad5. RMSProp6. Adam

 。

6. Adam

Adam 全稱是 Adaptive Moments Estimation 。

Adam 是結合了 Momentum 和 RMSProp 的算法。

花書+吳恩達深度學習(七)優化方法之基本算法(Momentum, Nesterov, AdaGrad, RMSProp, Adam)0. 前言1. 指數權重平均(exponentially weighted averages)2. Momentum 動量3. Nesterov 動量4. AdaGrad5. RMSProp6. Adam

如果這篇文章對你有一點小小的幫助,請給個關注,點個贊喔~我會非常開心的~

繼續閱讀