1. 程式人生 > >tensorflow 加速優化方法

tensorflow 加速優化方法

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 加速優化方法