欢迎光临散文网 会员登陆 & 注册

43 树叶分类竞赛技术总结【动手学深度学习v2】

2022-03-22 10:43 作者:如果我是泡橘子  | 我要投稿

图片分类竞赛(树叶分类)


数据集


  • 176 类,18353 训练样本





已公开的代码合集


  • https://www.kaggle.com/c/classify-leaves/code





技术分析


1、数据增强:


  • 在测试的时候多次使用较弱的增强然后取平均(在测试的时候是在中心点 crop 出一张图片做预测,很多时候也有在四个角上 crop 一次,然后将五次所得的结果取平均)



2、使用多个模型预测,最后结果加权平均


  • 使用多个模型加权取平均的,也有使用单一模型多次训练然后取平均
  • 模型多为 ResNet 变种(对模型进行了更多的细节上的调整):DenseNet,ResNeXt,ResNeSt,EfficientNet



3、训练算法和学习率


  • 训练算法一般使用的是 SGD 或者 Adam(多为 Adam 或者其变种,SGD 通过仔细调参(如 momentum 等)通常能够获得比 Adam 更好的结果,但是 Adam 对学习率不太敏感,换句话说,Adam 在不需要过多调参的情况下也能够获得不错的加过,Adam 的结果更加平滑(可以理解为:如果两种算法的解集看成是同一坐标系中的两条二次函数曲线的话,SGD 所得的解集波峰比 Adam 更高,但是 SGD 对调参的要求也更高,Adam 的曲线更加平滑,虽然波峰比不上 SGD 但是相对来讲整体更加稳定,受参数的影响较小),所以在不那么关注优化算法而是对模型和数据进行改进的情况下,可以使用 Adam 来弱化调参队最终结果的影响)
  • 学习率基本上是固定不变的,也有可能经过一段时间之后下降一次:一般是基于 Cosine (好处是不用调参)或者是训练不动的时候往下调(每隔一定的 epoch 之后学习率下降一次)



4、清理数据


  • 真实数据中可能存在大量的噪音:可能是真实的数据本身存在噪音;也有可能是后期人为处理的时候可能会存在疏忽
  • 重复的图片可以手动去除
  • 数据集中图片背景较多:真实的物体占整个图片的区域比较小,可以进行裁剪,去除多余的背景
  • 树叶没有方向性:可以进行随机旋转
  • 跨图片增强:Mixup随机取两张图片,然后取一个随机权重,再将两张图片进行叠加(标号也进行叠加)得到一个新的训练图片参加训练);CutMix在不同的图片中随机采样一些块,然后取一个随机的权重将这些块进行随机的组合,最终所得的图片的标号也取决于随机组合的权重,这样做的好处是能够尽可能地关注数据中的局部信息





AutoGluon


https://www.kaggle.com/code/zhreshold/autogluon-vision-0-96-with-15-lines/notebook

  • 15 行代码,安装架训练总共耗时 100 分钟





总结


1、提升精度思路


  • 根据数据挑选增强
  • 使用新模型
  • 使用新优化算法:使用新的优化算法能够弱化调参对结果的影响,将注意力主要集中在使用新模型和数据增强上
  • 多个模型融合
  • 测试时使用增强



2、数据相对简单,排名有相对随机性



3、在工业界应用中


  • 使用模型融合和测试时增强比较少,计算代价过高
  • 通常固定模型超参数,而将精力主要花在提升数据质量(当一个模型投入使用之后,随着用户的增加,数据量也会越来越多,用户的实际行为也会随之改变,需要对新的数据进行标注和对旧数据的清理,这样的话数据的质量会越来越高)
  • 在工业应用中更关心数据,在模型固定的情况下,对数据进行调整和更新,提高数据的质量;在竞赛中更关心模型,在数据固定的情况下,对模型进行改进从而提升精度





----end----

其他参考

1、《动手学深度学习》,课程安排,https://courses.d2l.ai/zh-v2/assets/pdfs/part-2_9.pdf

43 树叶分类竞赛技术总结【动手学深度学习v2】的评论 (共 条)

分享到微博请遵守国家法律