梯度下降算法 |
優點 |
缺點 |
BGD(batch) |
1、相對噪聲低 2、凸函數可以收斂到全局小值 |
|
SGD |
1、收斂速度快 2、有機會跳出局部最小值 |
1.失去所有向量化帶來的加速(無法利用矩陣操作加速計算過程) 2.噪聲大 3.永遠不會收斂,一直在最小值附近波動
|
MBGD(mini-batch) (事實上很多論文將之稱爲SGD) |
|
不能收斂到最小值,在最小值附近波動
|
Momentum
|
收斂速度非常快 |
參數採用相同的學習率,對於稀疏數據不友好 |
Adagrad |
爲不同的參數設置不同的學習率,易於處理稀疏數據
|
學習率不斷較小最終達到一個非常小的值,模型學習速度很慢 |
RMSprop |
|
相對於Adagrad收斂速度慢 |
Adam |
1、結合了Adagrad善於處理稀疏梯度和RMSprop善於處理非平穩目標的優點
|
可能不收斂或者收斂到局部最小值 |
1.SGD + Momentum
被大量用在CNN 、NLP 問題上
2.Adam + SGD
Adam加速收斂過程,可能陷入到局部最小值或無法收斂,此時用小學習率 SGD 幫助 adam 跳出局部最小值。