大家好,我是Rocky。
之前趁着空闲时间短暂参加了AAAI2022“以数据为中心”的鲁棒机器学习竞赛,并分享线上得分前1%的Baseline思路。
我认为“以数据为中心”是深度学习尤其CV落地应用的一个非常有价值的思考维度,故本文将回顾这个比赛的整体逻辑,通过对竞赛中大家分享的观点以及自己思考的沉淀,提炼总结这个比赛中有价值的Trick与思路。
当然,最后我也会谈谈“以数据为中心”对工业界的价值与启示,在这里抛砖引玉,希望能和大家一起交流~
附上竞赛官网:
https://tianchi.aliyun.com/competition/entrance/531939/introduction
So,enjoy(与本文的BGM一起食用更佳哦):
- 干货篇
----【目录先行】----
- 赛题逻辑&&思路切入点
- 各路方法&&Trick的“华山论剑”
- 给工业界的启示
----【赛题逻辑&&思路切入点】----
首先,基本的赛题特点在本系列的第一篇文章中已经介绍,[人人都是算法工程师]系列之“以数据为中心”的AAAI算法竞赛前1%Baseline分享,大家可以按需取用。
在这里要补充一些比赛中的强约束,初赛和复赛的模型都被固定为两个指定的模型(ResNet50&DenseNet121|WideResNetPreActResNet),训练数据不超过5w张,训练迭代次数不超过200次,BatchSize不超过256。
而到目前为止,工业界和学术界能从这个赛题特点作为思路切入点的维度可以总结如下:
- 数据增强
- 对抗样本
- 标签细化
- 参数调节
- 多模态信息融合(在这个竞赛中,多模态没有太多可操作空间)
----【各路方法&&Trick的“华山论剑”】----
本章节主要介绍本次竞赛中的“东邪、西毒、南帝、北丐以及中神通”
战略思路:
- 基于目标导向的优化:由于迭代次数和数据量的限制,我们可以先用远超5w体量的数据集和远超200的迭代次数训练一个“目标”模型,接下来整个竞赛厮杀过程都将使用这个“目标”模型来筛选增强样本和引导对抗样本的生成,并通过训练来优化模型来逼近这个“目标”模型。
- 尽量拟合训练集与测试集的数据分布,能让模型达到最优的性能。
- 方法的适度性:由于训练集,训练迭代次数等限制,我们使用的的对抗攻击与数据增强等方法的强度无需过强,能不断提升模型鲁棒性与泛化性为宜。
- 增强算法:使用类corruption操作(颜色抖动,形变,噪声,模糊,天气变化等)进行数据增强,增强模型的鲁棒性。
- 使用在线的数据增强:VerticalFlip、HorizontalFlip、RandomRotate、ElasticTransform、Affine、RandomCrop、ColorJitter等。
- 使用AutoAugment,RandAugment,TrivialAugment集成的增强算法。
- 使用mixup、cutmix和GAN等算法生成新数据。
- 使用余弦相似度或者Face-NMS来筛选相似的图片加入数据集。
- 使用分布外的补充数据集来丰富模型需要学习的数据分布。
- 对抗攻击:PGD,APGD,Auto Attack,DI-FGSM,UAP,DeepFool,AdvDrop等。对抗扰动限制使用无穷范数效果最好。虽然对抗样本对模型的泛化性与鲁棒性有很大的提升,但是由于这些算法一般都基于L范数的扰动限制,无法让模型适应一些让图像语义信息变化不大,但是使图像像素有较大幅度的变化的情况,如改变亮度和对比度,增加模糊与噪声。
- 损失函数:使用DLR损失,W距离损失,Logit Loss等作为对抗攻击算法的损失函数。
- 使用模型集成的方法来生成对抗样本。
- 标签细化:标签平滑,对抗标签,模型蒸馏(使用大模型带动小模型训练)与自蒸馏,样本标签平衡。
- 参数调节:使用带动量的SGD优化器(从稳定性上看是最优选择),Adam优化器(收敛速度较快,但可能存在收敛质量不足的情况),学习率(0.01-0.001),BatchSize(过大的BatchSize会使模型优化的过于保守,过小的BatchSize会导致模型不稳定收敛)

----【给工业界的启示】----
本次竞赛的逻辑给工业界模型训练的鲁棒性与泛化性维度提供了很多有价值的思考。
在工业界的开发流程里,实用的“以数据为中心”的算法应该是以即插即用的通用框架来展现。竞赛中所展现的方法与思路,为工业界提炼与集成通用框架提供了素材。
本次竞赛限制了训练集的总数,这与主流的实时对抗样本训练过程不同,使得对抗样本与对抗训练的效果权重收到了较大的约束,同时突出了增强类方法的思考可能性。增强类方法(如噪声与模糊)去掉了图像中的细节信息,使得模型更加关注图像的整体信息,而对抗样本使模型更加关注一些细节的热图特征。在工业界的很多需求与功能场景中,数据获取是困难的,底层也是约束训练数据的训练问题,训练逻辑与本次竞赛是相似的,而增强类方法与对抗训练方法的混用无疑给了工业界一些新的思路。
如何使简单模型具备强大的性能,即鲁棒性与泛化性,是工业界里一个重要的课题,实际场景对模型的前向耗时,功耗,稳定性有较高的要求,而这些是实验室里复杂大模型所不具备的。而这次竞赛无疑是这个逻辑下的大型试验现场。
内容中包含的图片若涉及版权问题,请及时与我们联系删除


评论
沙发等你来抢