神经网络:权重变化动量和权重衰减

机器算法验证 神经网络 优化 正则化 梯度下降
2022-01-15 11:01:27

势头α用于减少连续迭代中权重变化的波动:

Δω一世(+1)=-ηw一世+αΔω一世(),
在哪里(w)是误差函数,w- 权重向量,η- 学习率。

重量衰减λ惩罚权重变化:

Δω一世(+1)=-ηw一世-ληω一世

问题是在反向传播期间结合这两种技巧是否有意义,它会产生什么影响?

Δω一世(+1)=-ηw一世+αΔω一世()-ληω一世

1个回答

是的,使用这两种技巧很常见。他们解决不同的问题,可以很好地协同工作。

一种思考方式是,权重衰减会改变被优化的函数,而动量会改变你走向最优的路径

通过将系数缩小到零,权重衰减可确保您找到具有小幅度参数的局部最优值。这通常对于避免过度拟合至关重要(尽管对权重的其他类型的约束也可以起作用)。作为附带的好处,它还可以通过使目标函数更凸来使模型更容易优化。

一旦你有了一个目标函数,你就必须决定如何在它上面移动。梯度上的最陡下降是最简单的方法,但你说得对,波动可能是一个大问题。增加动力有助于解决这个问题。如果您正在使用批量更新(这对于神经网络来说通常是一个坏主意),牛顿型步骤是另一种选择。新的“热”方法基于 Nesterov 的加速梯度和所谓的“Hessian-Free”优化。

无论您使用这些更新规则中的哪一个(动量、牛顿等),您仍在使用相同的目标函数,该目标函数由您的误差函数(例如平方误差)和其他约束(例如重量衰减)决定. 决定使用哪一个时的主要问题是您将多快获得一组好的权重。