tensorflow 加速優化方法


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善於處理非平穩目標的優點

   對內存需求較小

   為不同的參數計算不同的自適應學習率

   也適用於大多非凸優化 - 適用於大數據集和高維空間

 6. 優化器

用於改變學習效率

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM