基本上讲,Adam就是将day8.2提到的momentum动量梯度下降法和day8.3提到的RMSprop算法相结合的优化算法

首先初始化 S = 0 S= 0 V = 0 V= 0

On iteration t:

  compute dw,db using current Mini-batch

  V = βv+  (1-β)dW  V= βv +  (1-β)db    先做momentum

  S = βS+  (1-β)dWS= βS +  (1-β)db再做RMSprop

偏差修正:V= v / (1 - β),V= v / (1 - β)

        S= S / (1 - β),S= S / (1 - β)

W = W - α(V / sqrt.S+ε),b = b - α(V / sqrt.S+ε)

超参数的设定:

α:learning rate,需要一系列的尝试

β:0.9 (为了计算dw) one moment一阶矩

β:0.999 (为了计算dw) second moment二阶矩

ε:10

注意除α需要设定外,Adam算法的β、β、ε三个参数都不必去设定,根据Andrew Ng的解释来看很少有业内人士改变Adam算法原文的这三个参数

Adam = adaptive moment estimation

05-11 20:07