对于一阶动量与二阶动量的理解:
我的理解是一阶动量为过去各个时刻梯度的线性组合,而二阶动量自然是过去各个时刻梯度的平方的线性组合。举个例子:我们取 为最近两个时间步的加权和,如
(这里的加权值之和不一定要为1,只要是线性组合即可),
也可以取为过去所有时刻的平均值,如
。
二阶动量就是过去各个时刻梯度的平方的线性组合
一阶矩和二阶矩的概念和作用?
假设梯度g是一个随机变量,随机变量g的一阶矩和二阶矩分别为E(g)和E(g的平方),一阶矩表示梯度均值,二阶矩表示其方差。由于我们只能得到的是样本,所以通常做法就是用样本据作为近似,每个时刻的梯度是随机变量的一系列样本值
一阶矩用来控制模型更新的方向,二阶矩用来控制补偿(学习率)!!!