写在前面
大家好,我是Rocky。之前Rocky总结过很多关于AI算法竞赛的方法论、经验思考以及细节注意事项等方面的内容。虽然写了不同维度的文章,但是感觉比较零散,故Rocky在本文中将之前分享的核心观点和对AI算法竞赛最新的思考进行整合梳理,力求通过本文能让大家不再惧怕AI算法竞赛,并且在紧张的厮杀中能从容,能有收获。
----【目录】----
-
-
-
-
-
为什么要参加AI算法竞赛
参加AI算法竞赛的底层逻辑,Rocky这里主要总结以下几点:
学生时期
-
通过参加AI算法竞赛来入场AI领域,以赛代学,赛中学,学中赛。
-
-
-
-
工作时期
-
-
-
-
-
AI算法竞赛的赛题挖掘
Rocky认为,AI算法竞赛的赛题本质通常是成熟领域+创新领域的混合模式。
成熟领域包括图像分类,图像分割,目标检测,目标追踪,对抗攻防等。
创新领域则一般是在成熟领域中再往前走一到两步,主要表现形式如下:
-
结合实际场景,如智慧城市,智慧安防,智慧工业,智慧电商,智慧硬件等。
-
成熟领域中的难点方向,如规则限制,条件约束,细分场景(细粒度,小样本,多任务结合等),引入前沿概念(“以数据为中心”,“元宇宙”,“大模型”等)。
-
结合新兴研究方向(扩散模型,AIGC,可信AI,Transformer等)
当然,除此之外,还包括一些热身赛,入门赛等赛题形式,这些赛题往往比较直观简单,在此就不做赘述。
AI算法竞赛厮杀方法论
“优质AI算法竞赛就是算法领域的天下第一武道大会。” —— Rocky Ding(中国)
一个有足够资源背书,竞赛赛题切实新颖,参赛队伍卧虎藏龙,并有顶级学术会议分享机制的AI竞赛,可以称得算上优质。如果我们能在这样的AI竞赛中全力以赴,深度参与,那么最后一定会有比较丰富的收获与感悟。
为了帮助大家更好的参与“天下第一武道大会”,Rocky从工业界的角度出发,结合自身的多年竞赛厮杀经验,总结了一套全方位的AI算法竞赛厮杀方法论:
数据EDA(Exploratory Data Analysis)
磨刀不误砍柴工,对数据进行分析挖掘,从而对数据整体特征有更好的把握。我们可以从下面几个维度入手:
-
-
-
-
-
-
模型Baseline
一般选择SOTA模型或者竞赛打榜热门模型做baseline入场,再针对竞赛赛题的特点对模型结构进行针对性的优化。
比如在成熟领域,图像分类任务先上类ResNet模型,图像分割任务先上类U-Net模型,目标检测任务先上类YOLO模型。
我们可以直接将上述模型的预训练权重进行微调,一般会有不错的效果。搭建模型的框架推荐使用PyTorch,它本身代码比较轻量级,代码逻辑清晰,撰写方便,更重要的是,很多竞赛支持开源库(Fast.ai,Albumentations等)与预训练模型都有PyTorch的API,这让我们的idea能高效实现与验证。
在有了入场模型之后,接着再进行模型的替换,模型结构优化,多模型级联等尝试。
数据工程
针对赛题特点对数据进行增强,包括线下增强和线上增强等,一些常用的数据工程手段有:
-
常规数据增强(crop、pad、flip、resize、rotation、translation、noise等)
-
使用传统CV算法处理数据(传统CV算法API工具化)
-
高级数据增强(interpolation、cutmix、mosaic等)
-
数据特征组合(concate、stack,Patch等)
这里说一句题外话,AI技术发展到现阶段,数据护城河远远超过了模型以及相关的附带技术。所以从工业界角度看,
数据价值大于整个比赛,数据价值大于整个比赛,数据价值大于整个比赛。
前处理&后处理
通过一些前处理&后处理算法对模型进行更多的约束,从而提升模型的综合性能:
-
-
测试时增强(Test Time Augmentation,TTA)
-
-
消融实验
主要可以从以下几个方面进行:
-
-
-
-
-
-
-
-
-
同时高效的消融实验非常重要,因为深度学习模型训练时间一般较久,如果一个实验跑一周的话在竞赛中是完全不行的,这就考验参赛队伍的算力以及训练策略了。
持续优化闭环
良好的心态
竞赛短则1-2个月,长则半年,不同的竞赛时间段都需要保持一个合适的心态,在竞赛前期不要放松,在竞赛中期不要焦躁,在竞赛后期冲刺时保持心态平稳。
分类/分割/检测算法竞赛中的实用Tricks
本章节主要介绍AI算法竞赛中的“东邪、西毒、南帝、北丐以及中神通”。而AI算法竞赛的整体氛围,也犹如华山论剑一般,紧张刺激。
-
分类经典模型:ResNet,RVT, Swin,EfficientNet等。
-
分割经典模型:U-Net,deeplab,PSPNet,Mask R-CNN等。
-
检测经典模型:YOLOv5,Faster R-CNN,Cascade R-CNN等。
-
Model Exponential Moving Average参数更新策略。
-
-
-
-
-
-
测试时增强(Test Time Augmentation,TTA)
-
-
-
-
-
-
使用图像Patch的输入进行训练,以减少训练时间。
-
-
-
-
-
-
-
-
-
-
打完AI算法竞赛的日子
在新经济周期中,AI算法竞赛一定要和现金流业务拉通,竞赛成果需要快速转化沉淀,形成业务闭环。
并且可以参与到个人和组织的AI品牌软实力&影响力建设中(学术分享,高校合作,科研机构合作,组织竞赛等)
精致的结尾
最后,希望大家能在被压力,竞争,适应,迭代,及时复盘,打榜等关键词汇填充的竞赛周期里,不断成长,不断前进,从容地打完收工。