势头用于减少连续迭代中权重变化的波动:
在哪里是误差函数,- 权重向量,- 学习率。
重量衰减惩罚权重变化:
问题是在反向传播期间结合这两种技巧是否有意义,它会产生什么影响?
势头用于减少连续迭代中权重变化的波动:
重量衰减惩罚权重变化:
问题是在反向传播期间结合这两种技巧是否有意义,它会产生什么影响?
是的,使用这两种技巧很常见。他们解决不同的问题,可以很好地协同工作。
一种思考方式是,权重衰减会改变被优化的函数,而动量会改变你走向最优的路径。
通过将系数缩小到零,权重衰减可确保您找到具有小幅度参数的局部最优值。这通常对于避免过度拟合至关重要(尽管对权重的其他类型的约束也可以起作用)。作为附带的好处,它还可以通过使目标函数更凸来使模型更容易优化。
一旦你有了一个目标函数,你就必须决定如何在它上面移动。梯度上的最陡下降是最简单的方法,但你说得对,波动可能是一个大问题。增加动力有助于解决这个问题。如果您正在使用批量更新(这对于神经网络来说通常是一个坏主意),牛顿型步骤是另一种选择。新的“热”方法基于 Nesterov 的加速梯度和所谓的“Hessian-Free”优化。
但无论您使用这些更新规则中的哪一个(动量、牛顿等),您仍在使用相同的目标函数,该目标函数由您的误差函数(例如平方误差)和其他约束(例如重量衰减)决定. 决定使用哪一个时的主要问题是您将多快获得一组好的权重。