10.2 Caffe学习与应用 -训练(卷积层参数、池化层参数、学习率、正则化)

10.2训练

一、卷积层参数tricks

  • 图片输入是2的幂次方,例如32、64、96、224等。
  • 卷积核大小是3*3或者5*5。
  • 输入图片上下左右需要用0来补充,即padding,且假如卷积核大小是5那么padding就是2(图片左右上下都补充2),卷积核大小是3padding大小就是1。

二、池化层参数tricks

  • pooling层也能防止过拟合,使用overlapped pooling,即用来池化的数据有重叠,但是pooling的大小不能超过3,常用的池化是2*2。

  • max pooling 比avg pooling 效果会好一些。

三、学习率

  • 0.1是学习率的常用值
  • 在实际中,如果在验证集上看不到性能的提升(如损失函数值下降或者准确率上升),那就可以对当前的学习率除以2(或5)看看效果并循环这一过程,或许能给你一个惊喜。    

四、正则化:预防过拟合

    过拟合,就是拟合函数需要顾忌每一个点,最终形成的拟合函数波动很大。在某些很小的区间里,函数值的变化很剧烈。这就意味着函数在某些小区间里的导数值(绝对值)非常大,由于自变量值可大可小,所以只有系数足够大,才能保证导数值很大。而正则化是通过约束参数的范数使其不要太大,所以可以在一定程度上减少过拟合情况。

     常用防止过拟合方法:

  • L1正则化
  • L2正则化
  • 最大模限制
  • dropout

    有一个比较好的讲解L1、L2正则化文章:https://blog.csdn.net/jinping_shi/article/details/52433975

    1)  L1正则化

       下图是Python中Lasso回归的损失函数,式中加号后面一项α||w||1α||w||1即为L1正则化项:

        

       L1正则化是指权值向量ww中各个元素的绝对值之和,通常表示为||w||1||w||1。

      L1正则化作用:可以产生稀疏权值矩阵,即产生一个稀疏模型,可以用于特征选择 。

      2)L2正则化

       L2正则化可以防止模型过拟合(overfitting);一定程度上,L1也可以防止过拟合。

       下图是Python中Ridge回归的损失函数,式中加号后面一项α||w||22α||w||22即为L2正则化项。

        

    L2正则化是指权值向量ww中各个元素的平方和然后再求平方根(可以看到Ridge回归的L2正则化项有平方符号),通常表示为||w||2。

    3)最大模限制

    4)Dropout

        Dropout 是一个超级有效、简单且是前阵子由 Srivastava 等人提出《Dropout: A Simple Way to Prevent Neural Networks from Overfitting》的,它是其它正则方法(如 L1 、 L2 、 最大模限制 )的补充。在训练中, dropout 可理解为对整个神经网络进行抽样(出的网络),并基于输入数据仅仅更新抽样网络的参数。(因为这些抽样得到的网络是共享参数的,所以这些抽样出的网络的权重参数并非是独立的)。

      

         

猜你喜欢

转载自blog.csdn.net/wtj318_/article/details/82850920
今日推荐