为什么我们不使用非常量学习率来获得除神经网络之外的梯度体面?

机器算法验证 机器学习 深度学习 优化 梯度下降
2022-01-21 11:36:55

深度学习文献中充满了在梯度下降中使用非恒定学习率的巧妙技巧。指数衰减、RMSprop、Adagrad 等东西很容易实现,并且在每个深度学习包中都可用,但它们似乎在神经网络之外不存在。这有什么原因吗?如果是人们根本不关心,那我们有理由不必关心神经网络之外的事情吗?

1个回答

免责声明:我在神经网络之外的优化方面没有太多经验,所以我的回答会明显有偏见,但有几件事起作用:

  • (深度)神经网络有很多参数这有几个含义:

    首先,它只是因为计算 Hessian 和高阶导数变得不可行而排除了高阶方法。在其他领域,这可能是比对 SGD 的任何调整更好的有效方法。

    其次,虽然SGD 很棒,但它往往慢得不切实际。这些改进的 SGD 变体主要实现了更快的训练,同时可能会失去 SGD 的一些好的特性在其他领域,SGD 训练时间可能不是瓶颈,因此通过加速获得的改进可能可以忽略不计。

  • 训练(深度)神经网络是非凸优化,我不知道该领域有显着的凸松弛结果。与其他领域不同,神经网络并不专注于可证明的全局最优解,这导致投入更多精力来改进损失表面的属性及其在优化过程中的遍历。

    在其他领域,采用凸松弛和获得全局最优解可能是关注的中心,而不是优化算法,因为一旦问题被定义为凸问题,优化算法的选择并不能提高解的质量.

我想这个答案并没有涵盖所有可能的方面,我自己也对其他意见感到好奇。