梯度下降演算法、隨機梯度下降演算法(sgd)、小批量梯度下降演算法(mini-batch sgd)、動量法(momentum)、nesterov動量法有乙個共同的特點是:對於每乙個引數都用相同的學習率進行更新。
但是在實際應用中,各個引數的重要性肯定是不一樣的,所以我們對於不同的引數要動態的採取不同的學習率,讓目標函式更快的收斂。
adagrad演算法就是將每乙個引數的每一次迭代的梯度取平方累加後在開方,用全域性學習率除以這個數,作為學習率的動態更新。
再來看adagrad演算法表示為:
其中,r為梯度累積變數,r的初始值為0。
(1)從adagrad演算法中可以看出,隨著演算法不斷迭代,r會越來越大,整體的學習率會越來越小。所以,一般來說adagrad演算法一開始是激勵收斂,到了後面就慢慢變成懲罰收斂,速度越來越慢。
(2)在sgd中,隨著梯度
這是因為隨著更新次數的增大,我們希望學習率越來越慢。因為我們認為在學習率的最初階段,我們距離損失函式最優解還很遠,隨著更新次數的增加,越來越接近最優解,所以學習率也隨之變慢。
(3)經驗上已經發現,對於訓練深度神經網路模型而言,從訓練開始時積累梯度平方會導致有效學習率過早和過量的減小。adagrade在某些深度學習模型上效果不錯,但不是全部。
深度學習,ian goodfellow / yoshua bengio所著。
深度學習優化函式詳解(6)-- adagrad
adagrad原理
microstrong - csdn部落格
深度學習優化函式詳解(6) adagrad
深度學習優化函式詳解系列目錄 深度學習優化函式詳解 0 線性回歸問題 深度學習優化函式詳解 1 gradient descent 梯度下降法 深度學習優化函式詳解 2 sgd 隨機梯度下降 深度學習優化函式詳解 3 mini batch sgd 小批量隨機梯度下降 深度學習優化函式詳解 4 mome...
深度學習 深度學習基礎知識 Adagrad
adagrad是一種基於梯度的優化演算法 它將學習速率與引數相適應,對不同的變數提供不同的學習率 它增加了罕見但資訊豐富的特徵的影響 因此,它非常適合處理稀疏資料。在基本的梯度下降法優化中,有個乙個常見問題是,要優化的變數對於目標函式的依賴是各不相同的。對於某些變數,已經優化到了極小值附近,但是有的...
深度學習 優化方法
仍然是讀完deep learning之後的筆記和知識梳理,這些內容其實是偏理論層面的,後續的話可以結合 進行講解。dl關注的優化問題 尋找神經網路上的一組引數 顯著降低代價函式j j 通常包括整個訓練集上效能評估 er 經驗風險 和額外的正則化項 sr 結構風險 對於偏應用層面的可以直接看基本演算法...