優化演算法 3 RMSProp演算法和Adam演算法

2021-08-17 20:34:12 字數 1585 閱讀 4943

rmsprop演算法全稱root mean square prop演算法。

從前面的例子可以知道,當我們利用梯度下降法的時候,雖然橫軸也在前進,但縱軸擺動太大。假設縱軸是b橫軸是w,假如我們想減弱b的幅度,加快或者不減少w的前進,rmsprop演算法就可以起到這個作用。

其執行過程是這樣的:

那麼該演算法是怎麼起作用的呢?對於b方向,我們想減少b的擺動。所以對於sd

w sdw

,sdb sdb

,我們希望sd

w sdw

較小,這樣在w:=

w−αd

ws√d

w w:=w

−αdw

sdw除數就會較小,那麼更新的就會大一些,同樣sd

b sdb

較大,這樣在b:=

b−αd

bs√d

b b:=b

−αdb

sdb除數就會較大,那麼更新的就會小一些,減少了縱軸的擺動。

所以,rmsprop和momentum演算法有相似的一點是都可以消除下降過程中的擺動。

w和b只是為了方便展示才使用的,實際上對於高維度w來說,可能縱軸是w1,w3..而橫軸是w2,w4等。

這個演算法中的

β β

和動量梯度下降法的不是同乙個。

為了防止sd

w sdw

接近為0,一般會在sd

w sdw

加上乙個很小的

ϵ ϵ

,比如說10−

8 10−8

。這只是為了保證數值能穩定一些。

在深度學習的歷史上,包括許多志明研究者在內提出了優化演算法,並很好的解決了一些問題。但隨後這些優化演算法被指出並不能一般化,不能適用於多種神經網路。時間久了,深度學習圈子裡的人開始多少有些質疑全新的演算法。很多人覺得動量下降演算法很好用,很難找到更優化的演算法了。所以rmsprop和adam演算法是少有的經受人們質疑的2種演算法,已被證實可以適用不同的深度學習結構。

adam演算法基本上是將momentum和rmsprop結合在一起。

adam,讀作/艾德穆,不是額呆穆/(音標不會打)演算法是非常常用的演算法,其全稱是adaptive moment estimation。β1

β

1用來計算微分dw

d

w,叫做第一矩(first moment),β2

β

2用來計算平方數的指數加權平均數,叫做第二矩(second moment),所以adam的名字由此而來。

演算法 演算法優化

傳統最優化方法的設計思想主要是通過傳統的序列計算實現的,無法與硬體的並行架構完美相容,這降低了傳統最優化方法在具有大資料背 計算為核心的分布式優化應運而生,這也使得最優化方法得到了比以往任何時候都更加廣泛的應用。平行計算要首先把乙個問題分解成若干個可以同時計算的子問題 部分 並將每個子問題進一步細分...

python優化演算法 python 優化演算法

設k k,n 是從金鑰k開始的長度為n的唯一數的個數.然後,k k,n 1 sum k i,n 其中i在可以從鍵k跳轉到的鍵的範圍內.這可以使用動態程式設計有效地計算 這是一種占用o n 時間和o 1 空間的方法 jumpmap map int,x for x in 46,68,79,48,039,...

演算法 AES演算法優化

演算法優化主要就是在矩陣相乘中,優化的方式也很簡單,就是空間換時間。aes演算法的矩陣是有特點的,矩陣如下 02 03 01 01 01 02 03 01 01 01 02 03 03 01 01 02 每一豎行都是02 01 01 03 組成。分析矩陣相乘 02 03 01 01 a1 02 a1...