adam代表的是adaptive moment estimation
基本上就是將momentum和rmsprop結合在一起
首先初始化,vdw=0,sdw=0,vdb=0,sdb=0
在第 t 次迭代中,要計算微分,用當前的mini-batch計算dw,db
接下來計算momentum指數加權平均數:
用rmsprop計算:
計算偏差修正:
最後更新權重,所以w,b更新後是
超引數β1常用的預設值為0.9
這是dw的移動平均數,也就是dw的加權平均數
計算這個微分dw,叫做第一矩
超引數β2,推薦使用0.999
建議 ε 為10-8
計算平方數的指數加權平均數dw2,叫做第二矩
加快學習演算法的乙個辦法就是隨時間慢慢減少學習率,稱為學習率衰減
減少a的本質在於,在學習初期,能承受較大的步伐
但當開始收斂的時候,小一些的學習率能讓步伐小一些
拆分成不同的mini-batch,第一次遍歷訓練集叫做第一代
第二次就是第二代,依此類推,
將設學習率:
衰減率:dec
ay−r
atedecay-rate
decay−
rate
代數:epo
ch−n
umepoch-num
epoch−
num初始學習率:ααα0
也有指數衰減:
其中a相當於乙個小於1的值
如α
αα = 0.95epoch-num
α
αα0,所以學習率呈指數下降
人們用到的其它公式有:
t 為 mini-batch 的數字
如果要建立乙個神經網路,通常梯度為零的點並不是這個圖中的區域性最優點,通常是鞍點
但是乙個具有高維度空間的函式,如果梯度為0
那麼在每個方向,它可能是凸函式,也可能是凹函式
如果在2萬維空間中,那麼想要得到區域性最優,所有的2萬個方向都需要是這樣
但發生的機率也許很小,也許是2-20000
更有可能遇到有些方向的曲線會這樣向上彎曲,另一些方向曲線向下彎,而不是所有的都向上彎曲
因此在高維度空間,更可能碰到鞍點
區域性最優不是問題,結果是平穩段會減緩學習
平穩段是一塊區域,其中導數長時間接近於0
花上很長時間慢慢抵達平穩段的這個點,因為左邊或右邊的隨機擾動,就能夠走出平穩段
像 momentum 或是 rmsprop ,adam 這樣的演算法,能夠加速學習演算法
在這些情況下,更成熟的優化演算法,如 adam 演算法,能夠加快速度,盡早往下走出平穩段
參考:
深度學習 筆記之優化演算法
本篇文章根據andrew ng的深度學習課程做個筆記。1.mini batch mini batch size 1 如果size為樣本個數m,就是批量梯度下降 batch gradient descent 2 如果size為1,就是隨機梯度下降法 stochastic gradient descen...
機器學習and 深度學習 and 優化演算法
ssh keygen t rsa c 我的ssh金鑰 將 我的金鑰 替換為新的自己命名的就行,然後github建倉進行ssh繫結 git remote v 檢視遠倉庫 git remote set url origin git github.com username newrepo.git 切換到自...
深度學習筆記 二
miou計算方法 p ij表示類 i被識別為類j的畫素總數,即p ii表示識別正確的真正例 true positive,tp 總數,而p ij和p ji則分別表示識別錯誤的假正例fp false positive,fp 總數和假反例fn false negative,fn 總數。語義分割j and ...