【新智元导读】浙江大学联手西湖大学发布全新数据混合策略AutoMix,具有更高的准确率和更低的计算需求,一同发布的还有一个all-in-one的数据混合仓库!
数据增强一直是图像领域的基本操作,能够在数据量不变的情况下,增强神经网络的泛化性能,尤其是对Transformer等大参数量的模型来说,数据量不够很容易导致欠拟合。
数据混合增强(data mixing augmentation)技术是一种新兴的增强方法,比如说需要对狗和猫的图像进行分类,图像混合的过程是对两幅图像进行简单的平均,然后再重新计算图像的标签值,可以为不同的类提供了连续的数据样本,直观地扩展了给定训练集的分布,使得网络的泛化性能更强。早期的混合增强技术主要依赖于手工策略,比如Mixup通过对数据对进行线性组合的方式生成新样本;CutMix则是设计一套patch替换策略,随机从其他图像中替换patch。而近期的一些研究方法则利用图像中的显著性(saliency)信息通过复杂的离线优化方式来混合样本和标签。尽管通过这种方法训练的模型准确率更高,但计算的复杂度也很高。
为了权衡准确率和复杂度,浙江大学和西湖大学的作者提出了一个新型自动混合策略(AutoMix)框架,实现了「参数化」,并且可以直接用于多个分类任务中。
论文链接:https://arxiv.org/pdf/2103.13027
同时,研究人员还将众多mixup相关的方法实现在开源框架OpenMixup中,支持多种主流网络架构(CNNs, ViTs, etc.)、各类实验设定和常用数据集 (CIFAR, ImageNet, CUB-200, etc.),并提供了常用数据集上mixup benchmark。
仓库链接:https://github.com/Westlake-AI/openmixup
OpenMixup能够支持主流自监督学习算法(对比学习和Masked Image Modeling)。
1 Summary
我们发表于ECCV2022 (Oral)的工作尝试并实现了一种具有「闭环自反馈」的学习框架(AutoMix)以解决「数据-模型」动态系统中的复杂度和准确性的权衡问题。具体来讲这是一个数据随模型变化,模型随数据更新的双层优化问题。
不同于固定的数据增广策略的模式(独立于模型的优化),AutoMix将参数化后的mixup数据增广策略融入到判别模型中,形成一个完整的数据与模型相互学习的闭环系统,即同时学习mixup样本的(1)生成任务和 (2)判别任务。(1)是根据判别模型的状态自适应的学习精确的数据生成策略;(2)则是基于所学习的增广策略来增强模型对数据中重要特征的判别能力。这两种子任务服务于一个相同的优化目标,具有自一致性。大量实验也表明,判别式模型在AutoMix的闭环自学习系统(自一致性+闭环反馈)中具有更高效学习效率和明显的性能提升。 2 Background
神经网络模型(DNNs)的泛化性能在机器学习领域一直受到广泛的关注和研究,DNNs能兼具高性能和泛化性通常需要满足两个条件:1)过参数化的模型。2)充足的训练样本。但是,在数据量不足或DNNs模型复杂度过高的情况下,模型容易出现过拟合现象,导致性能和泛化能力明显下降。
数据增强(Data Augmentation, DA)算法作为一种DNNs正则化手段能够显著提升模型的泛化性能,而基于数据混合(Data Mixing)的一系列数据增强算法,兼顾了样本和标签。基于混合的增广算法通过凸性组合(Convex Combination)来生成虚拟样本和标签,达到扩充样本量和提高数据分布多样性的目的。
样本混合增强算法的核心问题是如何生成合理的混合样本以及对应的混合标签,在图像分类任务中,一般固定混合标签的生成方式,改进混合图像的生成算法。如下图所示,CutMix将一张图像的局部区域随机替换为另一张图像的对应区域,并根据混合图像上不同像素的面积比例生成混合标签。但是由于CutMix在原图上选取局部区域的位置和尺寸均是随机选择,可能出现被切割的区域不包含分类任务相关目标的现象,这将导致混合标签与混合图像中目标的语义不匹配而误导模型的优化。
为了解决该问题,PuzzleMix和Co-Mixup等基于图像显著性区域(Saliency Region)和组合优化算法设计了较为精确的样本混合策略,使得类别相关的区域在混合后的样本中保留下来。但是这种间接优化方式引入了大量的额外运算开销,这对于追求高效的数据增广方法而言是极为不利的。因此,该工作主要讨论了以下两个问题:
如何设计一个准确的混合策略来提升目标任务性能?
如何高效的解决mixup生成和分类的双层优化问题?
为了解决这两个问题,我们先对mixup问题进行了重定义并提出了「闭环自反馈」框架:automatic mixup(AutoMix)。如下图所示,AutoMix不仅可以精确定位目标区域并准确生成混合样本,而且在一定程度上减少了额外计算成本,提高了训练效率。3 Preliminary 3.1 Mixup training 对于输入样本 和其对应的标签 。我们通过cross-entropy (CE) loss来学习一个分类器:基于以上,我们进一步考虑mixup classification问题:给定样本混合函数,标签混合函数,和从中采样的样的混合比例。我们可以得到混合后的样本 with 和标签 with . 与上式相似,我们可以通过mixup cross-entropy (MCE) loss来学习一个新的分类器 :3.2 Mixup reformulation 通过我们可以发现mixup training有以下两种特征(1)需要设计额外样本和标签的混合函数和。(2)的分类性能取决于混合函数的设计。因此,我们很自然的把mixup训练拆分成两个互相接收互益反馈的子任务(i)混合样本生成(ii)混合样本分类。我们最终的目的是训练一个好的分类器,故mixup样本生成是服务于分类任务的辅助任务。一般情况下,我们会使用one-hot形式对标签进行编码,基于这种信息固定且无序的标签编码方式,标签混合函数会直接采用线性插值的方式对标签进行混合: