adagrad:
对于每一个
wti
w
i
t
,都由前t-1对
wi
w
i
的梯度和的平方加上本次对
wi
w
i
梯度的平方再开根号。用这个值去除η。
缺点,随着update的次数增多,learning rate会变得特别小,最终导致提前结束训练。
δ是个小常数,通常设为10^-7。这个是防止右值太小的话稳定学习率。
RMSProp:
对于α我们自己定义,0到1之间,越小也就越代表我们越相信当前derivative对loss的影响。这样解决了adagrad的learning rate下降过快的问题。
Momentum:
思想是如图:
就像自然界中小球从高处滚动,虽然已经滑到了最低点,但是由于自身惯性还是会往前走点一点。
计算方式如图,λ是我们自己设置的参数,就是之前的移动方向对这次update的影响的大小,相当于权重:
解释:其实
vi
v
i
就是之前
vt−1...v0
v
t
−
1
.
.
.
v
0
的所有加权和。
这样做的好处是由于惯性我们有一定的可能跳出local minima,如图:
Adam
相当于RMSProp+Momentum