tensorflow 加速優化方法
阿新 • • 發佈:2018-02-26
toc data 並且 缺點 優化方法 效果 積累 速度 約束
1. stochastic gradient decent(CGD)
將data分小批放入神經網絡中進行計算
W += -Learning rate * dx
缺點:選擇合適的learning rate比較困難
速度慢
容易收斂到局部最優,並且在某些情況下可能被困在鞍點
2. momentum
模擬物理裏動量的概念,積累之前的動量來替代真正的梯度。(利用斜坡的慣性)
m = b1 * m - Learning rate * dx
W += m
特點:在相關方向加速SGD,抑制振蕩,從而加快收斂
依靠人工設置全局學習率,中後期分母上梯度平方的累加將會越來越大,使得訓練提前結束
3. adagrad
每一個參數的更新都有自己的學習率(不好走的鞋子)
v += dx^2
W += -Learning rate * dx / √v
特點:前期放大梯度,後期約束梯度,適合處理稀疏梯度
4. RMSProp
綜合了momentum和adagrad的優勢
v = b1 * v + (1 - b1) * dx^2
W += -Learning rate * dx / √v
特點:依賴於全局學習率
適合處理非平穩目標 - 對於RNN效果很好
5. Adam(又快又好)
m = b1 * m + (1 - b1) * dx
v = b2 * v + (1 - b2) * dx^2
W += -Learning rate * m / √v
特點:結合了Adagrad善於處理稀疏梯度和RMSprop善於處理非平穩目標的優點
對內存需求較小
為不同的參數計算不同的自適應學習率
也適用於大多非凸優化 - 適用於大數據集和高維空間
tensorflow 加速優化方法