neural-network - DNN 训练的无 Hessian 优化与梯度下降

标签 neural-network mathematical-optimization deep-learning gradient-descent hessian-matrix

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

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

最佳答案

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

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

此外, 一阶方法需要对减少参数进行大量调整,即 特定于应用程序。他们也有陷入局部最优的倾向 并表现出缓慢的收敛。

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

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

关于neural-network - DNN 训练的无 Hessian 优化与梯度下降,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31571316/

相关文章:

machine-learning - CNN中每个卷积层之后产生的特征图的数量

machine-learning - 为什么旋转不变神经网络没有用于流行比赛的获胜者?

tensorflow - Keras错误: expected dense_input_1 to have 3 dimensions

python - 使用谷歌运筹学工具进行约束优化

python - 为什么 fit() 期间的训练集准确度与对相同数据使用预测后计算出的准确度不同?

R 等效于 MATLAB 的 fmincon 用于约束优化?

algorithm - 矩阵乘法子问题图顶点度

networking - 用于对声音进行分类的时间 CNN : cur_target assertion

java - RNTN在java中的实现

python - 使用预训练的权重和偏差预测自己的图像无法正常工作