📜  梯度下降的优化技术

📅  最后修改于: 2021-04-16 09:18:19             🧑  作者: Mango

梯度下降是一种迭代优化算法,用于查找函数的最小值。一般的想法是将参数初始化为随机值,然后在每次迭代时朝“斜率”的方向走一些小步。梯度下降法在有监督的学习中被广泛使用,以最小化误差函数并找到参数的最佳值。

已经为梯度下降算法设计了各种扩展。其中一些将在下面讨论:

  • 动量法:该方法用于通过考虑梯度的指数加权平均值来加速梯度下降算法。使用均值可使算法以更快的方式收敛到最小值,因为消除了不常见方向的梯度。动量法的伪代码如下。
    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 + ε
    
  • 亚当优化:亚当优化算法结合了动量法和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