作家
登录

如何一步一步提高图像分类准确率?

作者: 来源: 2017-09-28 11:05:01 阅读 我要评论

四、大年夜模型入手,应用一些改进办法

接下来的步调是大年夜模型角度进行一些改进,这方面的改进是出生论文的重要区域,因为某一个特定问题对某一个模型的改进千变万化,没有办法全部去测验测验,是以一般会实验一些general的办法,比如批正则化(batch normalization)、权重衰减(weight decay)。我这诚实验了4种改进办法,接下来依次介绍。

  1. 权重衰减(weight decay):对于目标函数参加正则化项,限制权重参数的个数,这是一种防止过拟合的办法,这个办法其实就是机械进修中的l2正则化办法,只不过在神经收集中旧瓶装新酒改名为weight decay [3]。
  2. dropout:在每次练习的时刻,让某些的特点检测器停过工作,即让神经元以必定的概率不被激活,如许可以防止过拟合,进步泛化才能 [4]。
  3. 批正则化(batch normalization):batch normalization对神经收集的每一层的输入数据都进行正则化处理,如许有利于让数据的分布加倍平均,不会出现所稀有据都邑导致神经元的激活,或者所稀有据都不会导致神经元的激活,这是一种数据标准化办法,可以或许晋升模型的拟合才能 [5]。
  4. LRN:LRN层模仿生物神经体系的侧克制机制,对局部神经元的晃荡创建竞争机制,使得响应比较大年夜的值相对更大年夜,进步模型泛化才能。

为了进行比较实验,实验1只应用权重衰减,实验2应用权重衰减+dropout,实验3应用权重衰减+dropout+批正则化,实验4应用权重衰减+dropout+批正则化+LRN,同样都练习5000轮,不雅察到loss变更曲线、练习集精确率变更曲线和验证集精确率变更曲线对比如下图。

结不雅分析:我们不雅察练习曲线和验证曲线,跟着每一个模型晋升的办法,都邑使练习集误差和验证集精确率有所晋升,个中,批正则化技巧和dropout技巧带来的晋升异常明显,而如不雅同时应用这些模型晋升技巧,会使验证集的精确率大年夜82%阁下晋升至88%阁下,晋升效不雅十分明显。而对于测试集,精确率也晋升至85.72%。我们再留意看左图,应用batch normalization之后,loss曲线不再像之前会出现先降低后上升的情况,而是一向降低,这解释batch normalization技巧可以加强模型练习的稳定性,并且可以或许很大年夜程度地晋升模型泛化才能。所以,如不雅能提出一种模型改特技巧并且大年夜道理上解释同时也使其实用于各类模型,那么就是异常好的立异点,也是我想挑衅的偏向。如今测试集精确率晋升至85%阁下,接下来我们大年夜其他的角度进行调参。

六、加深收集层数,会产生什么工作?

在很多关于神经收集的论文中,都采取了变更进修率的技巧来晋升模型机能,大年夜致的设法主意是如许的:

  1. 起首应用较大年夜的进修率进行练习,不雅察目标函数值和验证集精确率的收敛曲线。
  2. 如不雅目标函数值降低速度和验证集精确率上升速度出现减缓时,减小进修率。
  3. 轮回步调2,直到减小进修率也不会影响目标函数降低或验证集精确率上升为止。

为了进行比较实验,实验1只应用0.01的进修率练习,实验2前10000个batch应用0.01的进修率,10000个batch之后进修率降到0.001,实验3前10000个batch应用0.01的进修率,10000~20000个batch应用0.001的进修率,20000个batch之后进修率降到0.0005。同样都练习5000轮,不雅察到loss变更曲线、练习集精确率变更曲线和验证集精确率变更曲线对比如下图。

如今深度进修大年夜热,所以,在计算资本足够的情况下,想要获得模型机能的晋升,大年夜家最常见打的设法主意就是增长收集的深度,让深度神经收集来解决问题,然则简单的收集堆叠不必定就能达到很好地效不雅,抱着深度进修的设法主意,我按照plain-cnn模型 [6],我做撩苡锫来的实验。

  1. 卷积层1:卷积核大年夜小3*3,卷积核移动步长1,卷积核个数16,激活函数ReLU,应用batch_normal和weight_decay,接下来的n层,卷积核大年夜小3*3,卷积核移动步长1,卷积核个数16,激活函数ReLU,应用batch_normal和weight_decay。
  2. 卷积层2:卷积核大年夜小3*3,卷积核移动步长2,卷积核个数32,激活函数ReLU,应用batch_normal和weight_decay,接下来的n层,卷积核大年夜小3*3,卷积核移动步长1,卷积核个数32,激活函数ReLU,应用batch_normal和weight_decay。
  3. 卷积层3:卷积核大年夜小3*3,卷积核移动步长2,卷积核个数64,激活函数ReLU,应用batch_normal和weight_decay,接下来的n层,卷积核大年夜小3*3,卷积核移动步长1,卷积核个数64,激活函数ReLU,应用batch_normal和weight_decay。
  4. 池化层:应用全局池化,对64个隐蔽单位分别进行全局池化。
  5. 全连接层:隐蔽层单位数10,激活函数softmax,应用batch_normal和weight_decay。

为了进行比较实验,进行4组实验,每组的收集层数分别设置8,14,20和32。同样都练习5000轮,不雅察到loss变更曲线、练习集精确率变更曲线和验证集精确率变更曲线对比如下图。

结不雅分析:我们惊奇的发明,加深了收集层数之后,机能反而降低了,达不到本来的验证集精确率,收集层数大年夜8层增长到14层,精确率有所上升,但大年夜14层增长到20层再增长到32层,精确率不升反降,这解释如不雅收集层数过大年夜,因为梯度衰减的原因,导致收集机能降低,是以,须要应用其他办法解决梯度衰减问题,使得深度神经收集可以或许正常work。


  推荐阅读

  刘强东:当初选择社会学专业是觉得对从政有帮助

刘强东:我的大年夜学生活整体来说照样很充分的。读书的四年,我应用课余时光打工,也实现了上大年夜学之前给本身定的“不问家里要钱”的目标。大年夜学除了常识体系搭建和价值不雅的培养,我在经商膳绫擎>>>详细阅读


本文标题:如何一步一步提高图像分类准确率?

地址:http://www.17bianji.com/lsqh/37650.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)