Adam算法 讨论区


#1

http://zh.diveintodeeplearning.org/chapter_optimization/adam.html


#2

算法的数学公式里面:
$$\mathbf{g}^\prime := \frac{\eta \hat{\mathbf{v}}}{\sqrt{\hat{\mathbf{s}} + \epsilon}} $$

应该改成:
$$\mathbf{g}^\prime := \frac{\eta \hat{\mathbf{v}}}{\sqrt{\hat{\mathbf{s}}} + \epsilon} $$
其中的epsilon放到sqrt外面,这样才跟下文的adam函数的定义相同,也跟《深度学习》中的adam算法相同。 :grinning:
都是用于数值稳定的常数,其实我不太知道应该是什么数量级的比较好。放在sqrt里面还是外面,因为都是非负数,所以主要还是数量级上的区别吧。
在《深度学习》书里面,AdaGrad的算法,默认的epsilond为1e-7,但是书中它放在了sqrt外面,而沐大神的教程里是放到了sqrt里面。唉,这点区别,也不知道该怎么做实验,看看哪个数量级好。 :joy:


#3

用adam作为optimizer,是否还有必要使用learning rate schedule呢?