前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【调参经验】图像分类模型的调参经验前言调参经验与我交流

【调参经验】图像分类模型的调参经验前言调参经验与我交流

作者头像
keloli
发布2018-12-04 14:48:07
1.9K0
发布2018-12-04 14:48:07
举报

前言

用深度学习做图像分类任务也有近一年时间了,从最初模型的准确率只有60%到后来调到有80%,再到最后的90%+的准确率,摸索中踩了很多坑,也总结出了一些经验。现在将一些自己觉得非常实用的模型训练经验写下来作为记录,也方便后来者借鉴验证。

调参经验

  • 模型选择 通常我会使用一个简单的CNN模型(这个模型一般包含5个卷积层)将数据扔进去训练跑出一个baseline,这一步工作主要是为了验证数据集的质量。如果这个模型训练结果很差就不要先调试模型,需要检查一下你的训练集数据,看看图像的质量,图像标签是否正确,模型的代码是否正确等等,否则就是在做无用功,毕竟:garbage in,garbage out
  • 超参数的选择 调参是项技术活,调得好CVPR,调不好下海搬砖。 通常要选的超参数有卷积核大小和数目,批训练(batch size)大小,优化函数(optimizer),学习率等等,一般来说卷积核用33或者55的,batch szie 用16或者32不会过拟合,optimizer用Adam(学习率建议用论文中默认的,我试过调整Adam的学习率,效果或都没有默认的好),激活函数用relu这个应该是大家的共识吧。还有就是先跑几百个epoch看loss的变化趋势。
  • 数据预处理 训练数据对模型的影响是决定性的,提高训练数据的质量,就是在提高模型的准确率。 图像预处理的时候一般我会抽出部分图像观察,对图像中的噪声进行滤波,图像标签要验证一下,其他的预处理就结合实际情况来看了。一般来说,数据清洗的工作占比是多于写模型的工作。
  • 数据增强 数据增强已经是训练深度网络的常规操作了,这味丹药有利于增加训练数据量,减少网络过拟合程度,男女老少,居家旅行必备良药。 常用的数据增强方法包括:图像缩放图像翻转图像裁剪图像色彩的饱和度、亮度和对比度变换。 海康威视在ImageNet上曾经用过PCA Jittering方的法,但是由于这个方法的计算量过大,我没有在自己的训练中使用过。他们还使用了有监督的数据增强的方法,有兴趣的同学可以研究一下。

有监督的数据增强方法.png

  • 数据不平衡的处理 如果训练数据中各类样本数目差距较大,很有可能会导致部分类别的准确率很低,从根本上解决样本不平衡的问题就是要把样本变平衡。 一种是增加样本少的类别的图像数目,用上述的数据增强方法。 另一种就是直接将样本多的类别图像数目减少,可以说是非常简单粗暴了。 当然,也有人提出类别权重的方法,增加少样本在训练时的权重,间接地增强了图像数目。
  • 自己的数据生成器 一开始用框架接口,慢慢地写自己的接口。特别是当任务变得复杂,数据规模变大时,框架提供的接口不能满足你的需求,这时你需要有自己的data generation function。例如,我使用keras时............... 黏贴自己的部分源码
  • 其他提示 具体任务不同可能某些经验不能适用,...........
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018.10.27 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 调参经验
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档