2

Hessian-Free (HF) 优化技术与用于训练深度神经网络 (DNN) 的梯度下降技术(例如随机梯度下降 (SGD)、批量梯度下降、自适应梯度下降)相比如何?

在什么情况下应该更喜欢 HF 技术而不是梯度下降技术?

4

2 回答 2

4

我认为如果有人知道其中的区别,那么知道何时何地使用每种方法会有所帮助。我试图阐明这些概念。

梯度下降是一种一阶优化方法,已用于神经网络的训练,因为二阶方法(例如牛顿法)在计算上是不可行的。然而,二阶方法显示出比一阶方法更好的收敛特性,因为它们还考虑了误差空间的曲率。

此外,一阶方法需要大量调整减少参数,这是特定于应用程序的。它们还倾向于陷入局部最优并表现出缓慢的收敛。

牛顿法不可行的原因是 Hessian 矩阵的计算耗时过长。为了克服这个问题,提出了“Hessian free”学习,其中可以使用牛顿方法而不直接计算 Hessian 矩阵。

我不想详细说明,但据我所知,对于深度网络,强烈建议使用 HF 优化(HF 方法也有很多改进),因为训练所需的时间要少得多,或者使用带有动量的 SGD。

于 2016-12-31T19:58:14.360 回答
2

简而言之,HFO 是一种避免梯度消失问题的方法,该问题来自(天真地)在深度网络中使用反向传播。然而,深度学习是为了避免这个问题调整学习和/或架构,所以最终它归结为每个特定网络模型(和策略,如预调整)和 HFO 之间的具体比较。最近有很多关于这个主题的研究,但尚未完全探索。在某些情况下,它表现得更好,在某些情况下则不然。Afaik(可能很快就会过时)基于 Elman 的 RNN(不是 LSTM)从中受益最多。

Tl;dr:SGD 仍然是 goto 方法,尽管存在缺陷。直到有人找到更好的非 SGD 学习方式。HFO 是许多建议之一,但尚未发现它是最先进的。

于 2015-08-03T10:59:23.007 回答