在训练深度神经网络 (DNN) 时,无 Hessian (HF) 优化技术与梯度下降技术(例如随机梯度下降 (SGD)、批量梯度下降、自适应梯度下降)相比如何?
在什么情况下人们应该更喜欢 HF 技术而不是梯度下降技术?
最佳答案
我认为如果有人知道其中的区别,那么有助于了解何时何地使用每种方法。我尝试阐明这些概念。
梯度下降是一种一阶优化方法,已被 用于神经网络的训练,因为二阶方法,例如 牛顿法,在计算上是不可行的。然而,二阶方法比一阶方法表现出更好的收敛特性,因为它们还考虑了误差空间的曲率。
此外, 一阶方法需要对减少参数进行大量调整,即 特定于应用程序。他们也有陷入局部最优的倾向 并表现出缓慢的收敛。
牛顿法不可行的原因是计算 Hessian 矩阵,耗时过长。为了克服这个问题,提出了“Hessian free”学习,即可以使用牛顿法而不直接计算 Hessian 矩阵。
我不想详细介绍,但据我所知,对于深度网络,强烈建议使用 HF 优化(与 HF 方法相比也有很多改进),因为它花费的时间要少得多训练,或使用带有动量的 SGD。
关于neural-network - DNN 训练的无 Hessian 优化与梯度下降,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31571316/