機器學習 深度學習入門 優化器原理與比較

2021-09-18 08:14:40 字數 2102 閱讀 7495

梯度下降法是最基本的一類優化器,目前主要分為三種梯度下降法:標準梯度下降法(gd, gradient descent),隨機梯度下降法(sgd, stochastic gradient descent)及批量梯度下降法(bgd, batch gradient descent)。

評價:標準梯度下降法主要有兩個缺點

評價:

評價:

優點:

缺點:

動量優化方法是在梯度下降法的基礎上進行的改變,具有加速梯度下降的作用。一般有標準動量優化方法momentum、nag(nesterov accelerated gradient)動量優化方法。

nag在tensorflow中與momentum合併在同一函式tf.train.momentumoptimizer中,可以通過引數配置啟用。

自適應學習率優化演算法針對於機器學習模型的學習率,傳統的優化演算法要麼將學習率設定為常數要麼根據訓練次數調節學習率。極大忽視了學習率其他變化的可能性。然而,學習率對模型的效能有著顯著的影響,因此需要採取一些策略來想辦法更新學習率,從而提高訓練速度。 

目前的自適應學習率優化演算法主要有:adagrad演算法,rmsprop演算法,adam演算法以及adadelta演算法。

優點

缺點:

雖然adam演算法目前成為主流的優化演算法,不過在很多領域裡(如計算機視覺的物件識別、nlp中的機器翻譯)的最佳成果仍然是使用帶動量(momentum)的sgd來獲取到的。wilson 等人的**結果顯示,在物件識別、字元級別建模、語法成分分析等方面,自適應學習率方法(包括adagrad、adadelta、rmsprop、adam等)通常比momentum演算法效果更差。

其中有**指出adam在某些情況下可能存在不收斂,錯過全域性最優解的情況。

終於結束的漫長的理論分析,下面對各種優化器做一些有趣的比較。

(1) 示例一

上圖描述了在乙個曲面上,6種優化器的表現,從中可以大致看出:

① 下降速度:

② 下降軌跡:

上圖在乙個存在鞍點的曲面,比較6中優化器的效能表現,從圖中大致可以看出:

上圖比較了6種優化器收斂到目標點(五角星)的執行過程,從圖中可以大致看出:

① 在執行速度方面

② 在收斂軌跡方面

講解比較詳細的文章

機器學習and 深度學習 and 優化演算法

ssh keygen t rsa c 我的ssh金鑰 將 我的金鑰 替換為新的自己命名的就行,然後github建倉進行ssh繫結 git remote v 檢視遠倉庫 git remote set url origin git github.com username newrepo.git 切換到自...

深度學習優化器

深度學習演算法在許多情況下都涉及優化,我們經常使用解析優化去證明或設計演算法。在深度學習的諸多優化問題中,最難的是神經網路的設計,這其中的優化問題非常重要,代價也很高,因此研究者們開發了一組專門為此設計的優化技術,也就是我們本文中要介紹的 神經網路優化器。這些優化器主要關注一類特定的優化問題 尋找神...

深度學習 優化器

神經網路的訓練過程是通過迭代更新超引數來最小化損失函式的過程,最終目標是找到使損失函式最小,最能準確 的超引數組合。而在更新迭代超引數時就需要用到不同的優化器,本文簡要介紹幾種常用的優化器。計算t時刻損失函式關於當前引數的梯度 計算t時刻的一階動量mt 與梯度相關的函式 和二階動量vt 與梯度平方相...