Adam 算法:梯度一阶矩的平均加权估计
是的,Adam 算法中直接引入了梯度的一阶矩的平均加权估计。
Adam 算法是一种自适应学习率算法,它结合了 Adagrad 和 RMSprop 的优点。除了维护梯度的二阶矩(平方梯度的移动均值)外,Adam 算法还维护了梯度的一阶矩(梯度的移动均值)。
具体而言,Adam 算法维护两个变量:第一个变量是梯度的一阶矩估计(即梯度的移动均值),用于调整学习率的方向;第二个变量是梯度的二阶矩估计(即梯度平方的移动均值),用于调整学习率的尺度。
Adam 算法的更新规则如下:
m = beta1 * m + (1 - beta1) * gradient
v = beta2 * v + (1 - beta2) * (gradient ** 2)
learning_rate = initial_learning_rate * sqrt(1 - beta2^t) / (1 - beta1^t)
parameter = parameter - learning_rate * m / (sqrt(v) + epsilon)
其中,m 是梯度的一阶矩估计,v 是梯度的二阶矩估计,beta1 和 beta2 是用于控制一阶矩和二阶矩的衰减速率的超参数,t 是迭代次数,epsilon 是一个小的正值,用于避免除以零的情况。
通过引入梯度的一阶矩估计,Adam 算法能够自适应地调整学习率的方向。这使得 Adam 算法在优化过程中既能够在不同特征间提供不同的学习率尺度,又能够自适应地调整学习率的方向以更好地适应不同的数据分布。
原文地址: https://www.cveoy.top/t/topic/bjVd 著作权归作者所有。请勿转载和采集!