優化器:SGD > Momentum > AdaGrad > RMSProp > Adam
SGD 隨機梯度下降
在這裡SGD和min-batch是同一個意思,抽取m個小批量(獨立同分布)樣本,通過計算他們平梯度均值。後面幾個改進演算法,均是採用min-batch的方式。
momentum
1.動量方法主要是為了解決Hessian矩陣病態條件問題(直觀上講就是梯度高度敏感於引數空間的某些方向)的。
2.加速學習
3.一般將引數設為0.5,0.9,或者0.99,分別表示最大速度2倍,10倍,100倍於SGD的演算法。
4.通過速度v,來積累了之間梯度指數級衰減的平均,並且繼續延該方向移動:
要是當前時刻的梯度與歷史時刻梯度方向相似,這種趨勢在當前時刻則會加強;要是不同,則當前時刻的梯度方向減弱。
假設每個時刻的梯度g總是類似,那麼由
我們可以直觀的看到每次的步長為:
即當動量引數設為0.5,0.9,或者0.99,分別表示最大速度2倍,10倍,100倍於SGD的演算法。
AdaGrad
1.簡單來講,設定全域性學習率之後,每次通過,全域性學習率逐引數的除以歷史梯度平方和的平方根,使得每個引數的學習率不同
2.效果是:在引數空間更為平緩的方向,會取得更大的進步(因為平緩,所以歷史梯度平方和較小,對應學習下降的幅度較小)
3.缺點是,使得學習率過早,過量的減少,驗證集上效果好,測試集上效果差
RMSProp
1.AdaGrad演算法的改進。鑑於神經網路都是非凸條件下的,RMSProp在非凸條件下結果更好,改變梯度累積為指數衰減的移動平均以丟棄遙遠的過去歷史。
2.經驗上,RMSProp被證明有效且實用的深度學習網路優化演算法。
相比於AdaGrad的歷史梯度:
RMSProp增加了一個衰減係數來控制歷史資訊的獲取多少:
## Adam
1.Adam演算法可以看做是修正後的Momentum+RMSProp演算法
2.動量直接併入梯度一階矩估計中(指數加權)
3.Adam通常被認為對超引數的選擇相當魯棒
4.學習率建議為0.001
其實就是Momentum+RMSProp的結合,然後再修正其偏差。
相關文章
- Optimizer: SGD, SGD with Momentum, Adagrad, RMSProp, Adam, AdamW
- 轉:深度學習筆記:優化方法總結(BGD,SGD,Momentum,AdaGrad,RMSProp,Adam)深度學習筆記優化
- 研究一下不同梯度下降的最佳化器和自己的最佳化器的比較(SGD,Momentum,AdaGrad,Adam)梯度
- 速度媲美Adam,效能堪比SGD:北大、浙大學霸本科生提出全新優化演算法AdaBound優化演算法
- Salesforce提出SWATS:訓練中自動由Adam切換為SGD而實現更好的泛化效能Salesforce
- 走入五彩斑斕神經網路世界:關於梯度下降、RMSprop優化器的研究神經網路梯度優化
- Adam作者大革新, 聯合Hinton等人推出全新優化方法Lookahead優化
- 優化器優化
- 優化器提示優化
- 打靶記錄16——Momentum
- oracle 的優化器Oracle優化
- 查詢優化器優化
- 【摘】 oracle優化器Oracle優化
- Oracle的優化器Oracle優化
- 【論文考古】量化SGD QSGD: Communication-Efficient SGD via Gradient Quantization and EncodingEncoding
- Adam Monroe Music Wurlitzer Mac(虛擬樂器外掛)Mac
- 優化-瀏覽器快取和壓縮優化優化瀏覽器快取
- 前端效能優化之桌面瀏覽器優化策略前端優化瀏覽器
- 前端效能優化——桌面瀏覽器前端優化策略前端優化瀏覽器
- 瀏覽器前端優化瀏覽器前端優化
- 【筆記】oracle 優化器筆記Oracle優化
- 優化器的侷限優化
- PG 優化器的精彩優化
- 共享儲存器優化優化
- Adam真的是最好最佳化器嗎?有人認為不過是神經網路進化的結果神經網路
- 前端效能優化 —— 移動端瀏覽器優化策略前端優化瀏覽器
- Oracle資料的優化器有兩種優化方法:Oracle優化
- CUDA優化之執行配置和暫存器優化優化
- 【SQL優化器】初始化引數SQL優化
- [原始碼解析] PyTorch分散式優化器(2)----資料並行優化器原始碼PyTorch分散式優化並行
- 前端效能優化之移動端瀏覽器優化策略前端優化瀏覽器
- 利用Oracle 10g SQL優化器(STA)優化語句Oracle 10gSQL優化
- 【效能優化】CBO優化器兩個內建的假設優化
- C++編譯器優化C++編譯優化
- CSS 選擇器效能優化CSS優化
- SQL優化器探討(zt)SQL優化
- 優化器的發展程式優化
- 淺談編譯器優化編譯優化