轉 彈性反向傳播(RProp)和均方根反向傳播(RMSProp)


from http://blog.csdn.net/tsq292978891/article/details/78619384

都是一種權值更新算法,類似於SGD算法,其中,RMSProp是RProp算法的改良版。

RProp算法

  1. 首先為各權重變化賦一個初始值,設定權重變化加速因子與減速因子。
  2. 在網絡前饋迭代中當連續誤差梯度符號不變時,采用加速策略,加快訓練速度;當連續誤差梯度符號變化時,采用減速策略,以期穩定收斂。
  3. 網絡結合當前誤差梯度符號與變化步長實現BP,同時,為了避免網絡學習發生振盪或下溢,算法要求設定權重變化的上下限。

不同權值參數的梯度的數量級可能相差很大,因此很難找到一個全局的學習步長。 
靠參數梯度的符號,動態的調節學習步長 
適用於full-batch learning,不適用於mini-batch learning

缺點:不能應用於mini-batch learning中。 
原因:

假設有一個在線學習系統,batch==1,初始的學習步長較小,在其上應用prop算法。這里有十組訓練數據,前九組都使得梯度符號與之前的梯度符號相同,那么學習步長就會增加九次;而第十次得來的梯度符號與之前的相反,那么學習步長就會減小一次。這樣一個過程下來,學習步長會增長很多(增大了9次學習步長,只減小了一次學習步長),如果系統的訓練數據集非常之大,那學習步長可能頻繁的來回波動,這樣肯定是不利於學習的。  

改進版,rmsprop算法: 
rmsprop算法不再孤立地更新學習步長,而是聯系之前的每一次梯度變化情況,具體如下。

  1. rmsprop算法給每一個權值一個變量MeanSquare(w,t)用來記錄第t次更新步長時前t次的梯度平方的平均值。
  2. 然后再用第t次的梯度除上前t次的梯度的平方的平均值,得到學習步長的更新比例。
  3. 根據此比例去得到新的學習步長。如果當前得到的梯度為負,那學習步長就會減小一點點;如果當前得到的梯度為正,那學習步長就會增大一點點。

這樣看來,rmsprop算法步長的更新更加緩和。 
這些算法並不能完全解決局部最小值問題,只是使得參數收斂的速度更快。針對是否能收斂到全局最優解,還與模型的初始化有關。

這里寫圖片描述 
為了得到所需的全局優化算法。兩種流行的全局優化算法是粒子群優化算法(PSO)和遺傳算法(GA)。


免責聲明!

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



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