DeepLearning(基于caffe)优化策略(3)--调参篇

        我们都知道,DeepLearning是一个非常好用的方法,纵使很多人认为DeepLearning是炼药炉,学习它的是炼药师,但不可否认的是,很多场景下,DeepLearning有着非常好的效果,比如说人脸识别等等。

        DeepLearning中有着成千上万个参数(每一层都有很多的参数),调参自然而然也就成为了一个不可避免的话题。接下来,总结一下深度学习中的调参方法。

      1.训练的数据要尽量准确(包括训练的特征以及标注)

         数据是训练的起始阶段,也是重要阶段。数据的好坏直接决定了模型的效果,就好比你要学习的东西本身就是模棱两可的,那自然不会有太好的效果。

      2.做好相应的归一化操作

        详细请见:http://blog.csdn.net/sihailongwang/article/details/72818603

        如果不进行必要的归一化的话,就会使得各个特征相差很小,减小学习的速率,增加网络时间,并有可能导致无法收敛。

      3.初始化参数也很重要

        推荐论文:《On the importance of initialization and momentum in deep learning》

        设置太大了,影响收敛的速度,甚至无法达到收敛,设置太小了,则参数寻优的时候会不动。

        虽然原则上是随机找一堆参数初始值,然后通过随机梯度下降,找到最好的参数,但是在这篇论文中,论证了初始权值选好的话,会对效果以及收敛速度有着明显的作用,当然如何设置初始化参数,不仅需要在大量实践经验总结而来,而且还要经常看一些paper。

      4.使用momentum

        还是刚才那篇论文,论文中讲到使用Momentum的效果有目共睹的,还提到了NAG(Nesterovs Accelerated Gradient),并将CM(Classical Momentum)和NAG进行了对比(论文中的结论:While each iteration of NAG may only be slightly more effective than CM at correcting a large and inappropriate velocity,and NAG is able to avoid these oscillations almost entirely

      5.梯度更新步长

      6.梯度归一化

        就是结果除以minibatch size,这样就可以不显示依赖minibatch size了

      7.限制权重参数的最大值

        不然迭代的容易飞了。

      8.使用dropout

        详细请见:http://blog.csdn.net/sihailongwang/article/details/72847382

        在Caffe框架中,会有专门的Dropout层可以使用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值