深度学习调参技巧

眉间皱痕 提交于 2020-01-29 03:35:18

调参技巧


网络设计

  • 下采样在网络的前几层密度大一些

    • 尽可能用微弱的精度损失来换取速度提升
  • 使用小卷积核

    • 有利于网络走向更深 并且有更好的识别鲁棒性
  • 能用可分离卷积替代的一定要替代

    • 可分离卷积的参数和计算量都是线性增长的

拟合

欠拟合 训练集,测试集准确率都很低

  • 增加层数
  • 减小dropout
  • 减小L2正则值
  • 增加节点数

模型超参数

一般在小数据集上合适的参数,在大数据集上效果也不会太差。因此可以尝试对数据进行精简,以提高速度

  • 学习率
    学习率一般就比正则值,dropout值重要,最先确定,在对数尺度上进行超参数搜索 从1-0.001
  • dropout
    一般设置成0.5
  • BatchSize

优化器

SGD

Momentum

  • 一个已经完成的梯度+步长的组合不会立刻消失,只是会以一定的形式衰减
  • 改进自SGD算法,让每一次的参数更新方向不仅仅取决于当前位置的梯度,还受到上一次参数更新方向的影响
  • 多更新一部分上一次迭代的更新量,来平滑这一次迭代的梯度[为了抑制SGD的震荡]
  • 物理的角度上解释,就像是一个小球滚落的时候会受到自身历史动量的影响,所以才叫动量(Momentum)算法

NAG

  • 通俗解释
    动量走了一步,那个时候的下降方向(能够让算法提前看到前方的地形梯度,如果前面的梯度比当前位置的梯度大,那我就可以把步子迈得比原来大一些,如果前面的梯度比现在的梯度小,那我就可以把步子迈得小一些) 然后用下一个点的梯度方向,与历史累积动量相结合
  • 本质
    是多考虑了目标函数的二阶导信息,怪不得可以加速收敛了

Adam

自学习,速度快

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!