ADADELTA: AN ADAPTIVE LEARNING RATE METHOD(2012)

文末给出算法的具体实现,心急的话可以直接跳到最后看
写完了才发现有大神写过了,理论也更完备一些

优势

  • 该方法不需要手动调整学习速率
  • 对超参数不敏感
  • 将对每个维度的学习率单独分离出来
  • 最小化梯度下降时的计算量
  • 对大梯度,噪声,不同架构具有很好的健壮性
  • 对本地或分布式环境都可很好的应用

以下介绍一下该算法的一些背景知识

学习率退火

  • 在验证准确率趋于平稳的时候降低学习率
  • 或者依据迭代了多少周期来控制学习率
  • 然而依然需要添加额外的参数控制学习率衰减的速度

Per-Dimension First Order Methods(将对每个维度的学习率单独分离出来?)

由于参数矢量的每个维度都可以以完全不同的方式与全局cost相关,所以可以补偿这些差异的每维度学习速率通常是很有用的。

动量法

  • 当梯度指向同一个方向时,加速
  • 当梯度的符号一直在改变时(震荡),减速


    迭代公式
  • ρ用于减速之前的学习率
  • 对于长峡谷状的cost表面而言有了不错的改进(相对于SGD)
  • 动量法可以将全局学习率依据维度区分出来

ADAGRAD

  • 2012年之前的一个新的方法

  • 仅仅使用一阶信息但是有一些二阶的性质和思路在里面(??)


    ADADELTA: AN ADAPTIVE LEARNING RATE METHOD(2012)_第1张图片
    ADAGRAD
  • η:所有维度共享的学习率
    分母是对之前学习率在每个维度的平方的累和(每个维度的梯度是最前所有的梯度在这个维度上的累和,所以是一直增加的)

  • 由于这种动态速率随着梯度幅度的倒数而增长,所以较大的梯度具有较小的学习率,而小梯度具有较大的学习率。

  • 因为神经网络中不同层之间的梯度的差距通常达到几个数量级,所以这种方法可以被考虑在内

  • 分母中梯度的积累与退火有这类似的效果,降低了学习的速率。由于梯度在分母中的积累,学习率将逐渐下降最终至0(这个不好)

  • 因为无视了梯度的大小,这种方法对于参数的初始条件和对应的梯度大小可能是敏感的,初始梯度大的话,之后的学习速率会下降。但是可以通过增加全局学习率来缓解这种情况。

使用Second Order Information

  • 上述方法仅利用梯度和函数评估来优化目标,二阶方法(如牛顿法或准牛顿法)可以使用黑塞矩阵或近似值。当然计算可能会因此变得更加昂贵。
  • 计算黑塞矩阵(多元函数二阶导数打那个矩阵)的逆矩阵开销太大,可以通过对它做对角矩阵的倒数近似(?diagonal approximation)黑塞矩阵的逆矩阵来减少计算量(仅需再多一次额外的forward and back-propagation)


    ADADELTA: AN ADAPTIVE LEARNING RATE METHOD(2012)_第2张图片
    update
  • μ是改善小曲率区域的黑塞矩阵调节的小常数。
  • 引入黑塞矩阵和类ADAGRAD项可以减轻对指定学习率的需要( Schaul发现)


    ADADELTA: AN ADAPTIVE LEARNING RATE METHOD(2012)_第3张图片

ADADELTA METHOD

对ADAGRAD以下缺点的改进:

  • 学习率的持续退火(或shrink)
  • 需要人工选择学习率

改进方法1:Accumulate Over Window

  • 在一个window w 内对梯度累和,而不是所有的梯度。
  • 因为存放 w 之前的梯度是低效的,所以可以用对先前所有梯度均值(使用RMS即均方根值实现)的一个指数衰减作为代替的实现方法。


    ADADELTA: AN ADAPTIVE LEARNING RATE METHOD(2012)_第4张图片

改进方法2:Correct Units with Hessian Approximation

  • 改进希望∆xx之间的units一致(?量纲一致,不是很清楚),而SGD,Momentum,ADAGRAD中的units并不一致,所以他们的参数更新都是unitsless的
    SGD/Momentum/ADAGRAD:unitsless
  • 但是使用黑塞矩阵的话可以保证units一致(因为二阶)


    Hessian Approximation: correct units
  • 基于[Becker&LeCun 1988]的近似方法


    ADADELTA: AN ADAPTIVE LEARNING RATE METHOD(2012)_第5张图片
  • 进而


    ADADELTA: AN ADAPTIVE LEARNING RATE METHOD(2012)_第6张图片
  • 最后得出近似黑塞矩阵的逆矩阵的表达式


  • 其中假设x附近的曲率是平滑的,而Xt-1可以近似xt
  • 最后的x更新表达式


    ADADELTA: AN ADAPTIVE LEARNING RATE METHOD(2012)_第7张图片
  • 由于RMS始终大于0,确保了X更新的方向始终与负梯度同向。
  • 分子作为一个加速项,作为动量在时间窗口w上积累先前的梯度。
  • 分母与ADAGRAD相关,因为每维度的平方梯度信息有助于平衡每个维度的进度,而是在一个窗口w上计算,以确保后期的训练。

最终算法的具体实现

ADADELTA: AN ADAPTIVE LEARNING RATE METHOD(2012)_第8张图片
具体实现

你可能感兴趣的:(ADADELTA: AN ADAPTIVE LEARNING RATE METHOD(2012))