Adadelta--学习笔记

  1. 自适应学习率调整
  2. 神经网络经典五大超参数:
    1. 学习率(Leraning Rate)
    2. 权值初始化(Weight Initialization)
    3. 网络层数(Layers)
    4. 单层神经元数(Units)
    5. 正则惩罚项(Regularizer|Normalization)
  3. 历史:Vapnik做SVM支持向量机的时候,通过巧妙的变换目标函数,避免传统神经网络的大部分超参数,尤其是以自适应型的支持向量替代人工设置神经元,这使得SVM可以有效免于过拟合之灾。
  4. 超参数优化问题的解决方法:
    1. Pre-Traning自适应调出合适的权值初始化值。
    2. LSTM长短期记忆网络,可视为“神经网络嵌套神经网络”,自适应动态优化层数。
    3. AdaGrad,自适应来调整学习率。
  5. 常规优化方法:
    1. 一个超参数(常数)的退火公式:

      模拟退火基于一个梯度法优化的事实:在优化过程中,Weight逐渐变大,因而需要逐渐减小学习率,保证更新平稳。

    2. 动量法:引入动量因子在更新中引入0.9这样的不平衡因子,使得:

      1. 在下降初期,使用前一次的大比重下降方向,加速;

      2. 在越过函数谷面时,异常的学习率,会使得两次更新方向基本相反,在原地”震荡“此时,动量因子使得更新幅度减小,协助越过函数谷面。

      3. 在下降中后期,函数面局部最小值所在的吸引盆数量较多,一旦陷进吸引盆当中,Gradient→0,但是前后两次更新方向基本相同。此时,动量因子使得更新幅度增大,协助跃出吸引盆。

    3. AdaGrad思路基本是借鉴L2 Regularizer,不过此时调节的不是W,而是Gradient:
      1. AdaGrad过程,是一个递推过程,每次从τ=1,推到τ=t,把沿路的Gradient的平方根,作为Regularizer。
      2. 分母作为Regularizer项的工作机制如下:
        1. 训练前期,梯度较小,使得Regularizer项很大,放大梯度。[激励阶段]
        2. 训练后期,梯度较大,使得Regularizer项很小,缩小梯度。[惩罚阶段]
      3. 由于Regularizer是专门针对Gradient的,所以有利于解决Gradient Vanish/Expoloding问题。所以在深度神经网络中使用会非常不错。
      4. 缺陷:
        1. 初始化W影响初始化梯度,初始化W过大,会导致初始梯度被惩罚得很小。此时可以人工加大η的值,但过大的η会使得Regularizer过于敏感,调节幅度很大。
        2. 训练到中后期,递推路径上累加的梯度平方和越打越多,迅速使得Gradinet被惩罚逼近0,提前结束训练
  6. AdaDelta:
    1. 基本思想是用一阶的方法,近似模拟二阶牛顿法。
    2. 缺陷:
      1. 局部最小值:
        1. 从多个数据集情况来看,AdaDelta在训练初期和中期,具有非常不错的加速效果。但是到训练后期,进入局部最小值雷区之后,AdaDelta就会反复在局部最小值附近抖动。
        2. 主要体现在验证集错误率上,脱离不了局部最小值吸引盆。这时候,切换成动量SGD,如果把学习率降低一个量级,就会发现验证集正确率有2%~5%的提升,这与常规使用动量SGD,是一样的。之后再切换成AdaDelta,发现正确率又退回去了。再切换成动量SGD,发现正确率又回来了。
        3. 注:使用Batch Norm之后,这样从AdaDelta切到SGD会导致数值体系崩溃,原因未知。
          1. 人工学习率的量级降低,给训练造成一个巨大的抖动,从一个局部最小值,抖动到了另一个局部最小值,而AdaDelta的二阶近似计算,或者说所有二阶方法,则不会产生这么大的抖动,所以很难从局部最小值中抖出来。
          2. 这给追求state of art的结果带来灾难,因为只要一直用AdaDelta,肯定是与state of art无缘的。基本上state of art的结果,最后都是SGD垂死挣扎抖出来的。这也是SGD为什么至今在state of art的论文中没有废除的原因。
      2. 精度
        1. eps的数值不是固定的。
        2. 1e-6在Caffe Cifar10上就显得过小了,1e-8比较适合。
        3. 这意味着不同数值比例体系,精度需要人工注意。
        4. paper里高精度反而没低精度好,说明精度也有比较大抖动。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值