深度学习调参

作者:Captain Jack
链接:https://www.zhihu.com/question/25097993/answer/127472322
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

深度学习 14. 深度学习调参,CNN参数调参,各个参数理解和说明以及调整的要领。underfitting和overfitting的理解,过拟合的解释

简短的注意事项

  1. 预处理: -mean/std zero-center就够了, PCA, 白化什么的都用不上., 反正CNN能学习encoder, PCA用不用其实关系不大, 大不了网络里面自己学习出来
  2. shuffle, shuffle, shuffle.网络原理的理解最重要, CNN的conv这块, 你得明白sobel算子的边界检测.
  3. Dropout, Dropout, Dropout(不仅仅可以防止过拟合, 其实这相当于做人力成本最低的Ensemble, 当然, 训练起来会比没有Dropout的要慢一点, 同时网络参数你最好相应加一点, 对, 这会再慢一点).CNN更加适合训练回答是否的问题, 如果任务比较复杂, 考虑先用分类任务训练一个模型再finetune.。
  4. 无脑用ReLU(CV领域).。
  5. 无脑用3x3.。
  6. 无脑用xavier。
  7. LRN一类的, 其实可以不用. 不行可以再拿来试试看.。
  8. filter数量2^n.多尺度的图片输入(或者网络内部利用多尺度下的结果)有很好的提升效果.第一层的filter, 数量不要太少. 否则根本学不出来(底层特征很重要).。
  9. sgd adam 这些选择上, 看你个人选择. 一般对网络不是决定性的. 反正我无脑用sgd + momentum.。
  10. batch normalization我一直没用, 虽然我知道这个很好, 我不用仅仅是因为我懒. 所以要鼓励使用batch normalization.不要完全相信论文里面的东西. 结构什么的觉得可能有效果, 可以拿去试试. 。
  11. 你有95%概率不会使用超过40层的模型.。
  12. shortcut的联接是有作用的.暴力调参最可取, 毕竟, 自己的生命最重要. 你调完这个模型说不定过两天这模型就扔掉了.机器, 机器, 机器. Google的inception论文, 结构要好好看看.一些传统的方法, 要稍微了解了解. .
  13. 激活函数我们现在基本上都是采用Relu,而momentum一般我们会选择0.9-0.95之间,weight decay我们一般会选择0.005, filter的个数为奇数,而dropout现在也是标配的存在。这些都是近年来论文中通用的数值,也是公认出好结果的搭配。所以这些参数我们就没有必要太多的调整。
  14. 14.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值