什么是Gradient Descent的替代品?

Nus*_*rat 10 machine-learning neural-network gradient-descent logistic-regression

Gradient Descent存在局部最小值的问题.我们需要运行梯度下降指数时间来找到全局最小值.

任何人都能告诉我梯度下降的任何替代方案的优缺点.

谢谢.

Mar*_*oma 19

请参阅我的硕士论文以获得非常相似的列表:

神经网络的优化算法

  • 基于渐变
    • 梯度下降的味道(只有一阶梯度):
      • 随机梯度下降: 在此输入图像描述
      • 迷你批量梯度下降:
      • 学习率调度:
        • 动量:
        • RProp和迷你批量版本RMSProp
        • AdaGrad
        • Adadelta()
        • 指数衰减学习率
        • 绩效调度
        • Newbob调度
      • 速传
      • Nesterov加速梯度(NAG):解释
    • 更高阶梯度
      • 拟牛顿法
        • BFGS
        • L-BFGS
    • 不确定它是如何工作的
      • 亚当(自适应矩估计)
        • AdaMax
      • 共轭梯度
  • 备择方案
    • 遗传算法
    • 模拟退火
    • 玩弄
    • 马尔可夫随机场(graphcut/mincut)

您可能还想查看我关于优化基础知识的文章和Alec Radfords漂亮的GIF:12,例如

其他有趣的资源是:

权衡

我认为所有发布的优化算法都有一些具有优势的场景.一般权衡是:

  • 你一步到底有多大改进?
  • 你能多快计算一步?
  • 算法可以处理多少数据?
  • 是否保证找到当地的最低标准?
  • 优化算法对您的功能有什么要求?(例如,可分为一次,两次或三次)


小智 8

如果找到真正的全局最小值很重要,那么与使用的方法最小化的函数相比,这是一个更大的问题,然后使用诸如模拟退火的方法.这将能够找到全局最小值,但可能需要很长时间才能找到.

在神经网络的情况下,局部最小值不一定是那么大的问题.一些局部最小值是由于您可以通过置换隐藏层单元或取消网络的输入和输出权重来获得功能相同的模型.此外,如果局部最小值仅略微不是最优的,那么性能差异很小,所以它并不重要.最后,这是一个重要的观点,拟合神经网络的关键问题是过度拟合,因此积极地搜索成本函数的全局最小值可能导致过度拟合和表现不佳的模型.

添加正则化项,例如权重衰减,可以帮助平滑成本函数,这可以稍微减少局部最小值的问题,并且无论如何我都会建议作为避免过度拟合的手段.

然而,避免神经网络中的局部最小值的最佳方法是使用高斯过程模型(或径向基函数神经网络),其具有较少的局部最小值问题.