超参数优化以及实践方法论

超参数优化以及实践方法论(待续)

主要参考:

  1. 《Deep Learning》
  2. 《neural network and deep learning》(ng)
  3. 《neural networks and deep learning》(by Michael Nielsen)
  4. 《Neural Networks Tricks of the Trade》

根据不同的参考文献给出不同的调优思路和有关技巧。

目录

  1. 实践方法论
  2. 超参数优化思路

实践方法论

  1. 动量和学习率衰减的SGD是很好的算法,但比较难调;Adam比较方便实用,但可能不能收敛到最优解;

  2. 批标准化(BN)对卷积网络比较有用;

  3. 在一开始就应该采用比较温和的正则化以及提前终止

  4. Dropout比较容易实现,但在全连接层之后使用效果相对明显,对卷积层有明显效果的正则化为DropBlock

  5. 全连接层神经元大于256一般就要Dropout,比率一般在0.2-0.5之间,很多论文不用的原因除了有BN外可能还有相当大的数据集;

  6. shuffle是必要的;

  7. 数据增强很有用,不论是语音数据还是图像数据;

  8. 如果不知道网络会不会收敛,先让网络在很小的数据集子集上过拟合,如果过拟合,则说明可以收敛;

  9. PReLU代替ReLU;

  10. 好的初始化权重方法很重要;

  11. 应用中多考虑Ensemble方法,尽管学术界不应该使用;

  12. 学习曲线很重要,手工调参的依据基本就靠它;

  13. 使用大约128(0.005)到256(0.01)的 mini-batch大小;

  14. 对很复杂的模型(如GoogLeNet)的修改要慎重;


超参数优化思路

neural networks and deep learning (by Michael Nielsen)

Michael在这里的思路为:固定一个合适容量的模型,然后对学习率 η \eta η,mini-batch size和正则化参数 λ \lambda λ进行优化,给出比较明确的下述步骤:

  1. 快速实现一个可行的模型结构,确定好隐层数目以及隐层单元数;

  2. 按经验给定其他超参数(除学习率,mini-batch大小和正则化以外的超参数);

  3. 在不考虑正则化的情况下对学习率 η \eta η进行优化,会得到一个合适的初始值;

  4. 通过实验确定mini-batch的大小;

  5. 精确的调整学习率 η \eta η

  6. 进行正则化,调整超参数 λ \lambda λ

  7. 重新优化学习率 η \eta η

  8. 早停(early stopping)则在实验中观察确定,10(20)个epoch中验证损失没有增加就终止。

Deep Learning
  • 学习率 η \eta η可能是最重要的超参数,如果只有时间调一个超参数,就调学习率 η \eta η

  • 如果训练误差大于目标误差,则考虑增大模型容量,主要通过增加隐层单元或层数以及减少正则化实现;

  • 如果测试误差大于目标误差,且训练误差较小时,考虑减小模型容量,主要通过增加正则化实现;

  • 增加模型容量的方法:增加隐层单元数,最优的学习率,降低权重衰减,降低Dropout比率;

  • 通常最佳模型为正则化的很好的大规模模型

没有给出明确的调参步骤,但对每个参数的影响进行说明,手工调参的时候记住要用综合考虑测试误差和训练误差。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值