
基于Mixup的数据增强已经被证明在训练过程中对模型进行泛化是有效的,特别是对于Vision transformer(ViT),因为它们很容易过拟合。
然而,以往基于Mixup的方法有一个潜在的先验知识,即目标的线性插值比率应该与输入插值中提出的比率保持一致。这可能会导致一种奇怪的现象,有时由于增广的随机过程,Mixup图像中没有有效的对象,但标签空间中仍然有响应。
为了弥补输入空间和标签空间之间的差距,本文提出了TransMix,它基于Vision transformer的Attention Map mix labels。Attention Map对相应输入图像的加权越高,标签的置信度越大。TransMix非常简单,只需几行代码就可以实现,无需向基于ViT的模型引入任何额外的参数和flop。
实验结果表明,在ImageNet分类上,该方法能在不同尺度上持续改进各种基于ViT的模型。在ImageNet上使用TransMix进行预处理后,基于ViT-C的模型在语义分割、目标检测和实例分割方面也表现出了较好的可移植性。在评估4个不同的基准时,TransMix也表现得更加健壮。
论文链接:
https://arxiv.org/abs/2111.09833
代码:
https://github.com/Beckschen/TransMix
作者建议TransMix在注意力图的指导下分配Mix标签,其中注意力图被明确定义为Multi-head self-attention A。在分类任务中,class token是一个query q,其对应的key k为所有的输入tokens,class attention是class token到输入token的注意力映射,总结出哪些输入令token对最终分类器最有用。然后建议使用class attention A来mix标签。
算法1以pytorch风格提供了TransMix的伪代码。干净的伪代码表明,只需几行代码就可以以即插即用的方式提高性能。

内容中包含的图片若涉及版权问题,请及时与我们联系删除


评论
沙发等你来抢