梯度下降是一种迭代优化算法,用于寻找函数的最小值。一般的想法是将参数初始化为随机值,然后在每次迭代中沿着“斜率”的方向采取小步。梯度下降法在有监督学习中被广泛应用于最小化误差函数和寻找参数的最优值。
null
为梯度下降算法设计了各种扩展。下面将对其中一些问题进行讨论:
- 动量法 :该方法通过考虑梯度的指数加权平均值来加速梯度下降算法。使用平均值可以使算法更快地收敛到极小值,因为向不常见方向的梯度会被抵消。动量法的伪代码如下所示。
V = 0 for each iteration i: compute dW V = β V + (1 - β) dW W = W - α V
V和dW分别类似于加速度和速度。α是学习率,β通常保持在0.9。
- RMSprop RMSprop是由多伦多大学的Geoffrey Hinton提出的。直觉是对梯度二阶矩(dW)应用指数加权平均法 2. )。此操作的伪代码如下所示:
S = 0 for each iteration i compute dW S = β S + (1 - β) dW2 W = W - α dW⁄√S + ε
- 亚当优化 :Adam优化算法结合了动量法和RMSprop,以及偏差校正。这种方法的伪代码如下:,
V = 0 S = 0 for each iteration i compute dW V = β1 S + (1 - β1) dW S = β2 S + (1 - β2) dW2 V = V⁄{1 - β1i} S = S⁄{1 - β2i} W = W - α V⁄√S + ε
Adam的提议者Kingma和Ba为超参数推荐了以下值。
α = 0.001 β1 = 0.9 β2 = 0.999 ε = 10-8
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END