Alibaba Cloud German AI Challenge 比赛总结

赛季1:主要是hadxu和haowei在干活儿
赛季2:主要是我和haowei在干活儿

源码链接:https://github.com/lhwcv/cloud_german_rank10

赛题分析

题目数据来自卫星数据有18通道
各通道数据区间相差较大
比较麻烦的是验证集与测试集同分布,而训练集非同分布
而且训练集,验证集和测试集疑似存在很多伪重图片,造成线下cv和线上难以对上

个人一直很烦这种问题,大部分找不到很好的解决方案,只能采取一些维稳策略
毕竟只有良好的验证集才能帮助正确评估模型快速迭代优化方案
各位看客有比较好的解决方案望告知

解决方案

讲的很细,因为没啥东西,算是个抛砖引玉
个人感觉基础分类任务创新也是蛮难得,基本上看到都是loss啥变变

  1. 可见光通道所在的卫星数据进行亮度对比度数据增广
  2. 所有数据进行flip+rotate
  3. 数据z-score规范化使各通道范数相近(据队友实验数据好像归一化会严重掉分,不过我没这习惯hh)
  4. 卫星数据reflect放大,一直测试到160*160,因为春节大家都比较懒只测到这么大了,一直有涨
  5. 学习率三次衰减,再衰减线下虽还未过拟合,线上分数已经开始掉了
  6. label smooth -> label = (1-alpha)label+alpha(1-label)/16
  7. batch level ohem
  8. Nadam+pytorch
  9. deep backbone + light head
  10. 使用初版模型获得训练数据的fc特征,再聚类聚5类分fold(约几个千)
  11. 半监督伪标签,四份测试集取较高分数段滤掉部分低质量样本加入训练集训练
  12. TTA × 8
  13. 112,128,144,160大小图像差异集成,xcep + IncepResnetv2 + seresnext50 + resnet50集成

最后

恩,方案简简单单普普通通
模型也还行,春节期间比较忙,最后临时抱佛脚性质跑了四个模型
等着前排答辩完开个方案