在本研究中,作者提出了混合(Mixed)和掩蔽(Masked)图像建模(MixMIM),这是一种简单但有效的MIM方法,适用于各种层次的视觉Transformer。现有MIM方法将输入token的随机子集替换为一个特殊的[MASK]符号,目的是从损坏的图像重建原始图像token。然而,作者发现使用[MASK] token会大大减慢训练速度,并由于较大的掩蔽率(例如,BEiT中的40%),会导致训练和微调不一致。相反,作者将一个图像的mask token替换为另一个图像的视觉token,即创建一个混合图像。然后,作者进行双重重建,从混合输入中重建原始两幅图像,这显著提高了效率。虽然MixMIM可以应用于各种架构,但本文探索了一种更简单但更强大的层次Transformer,并使用MixMIM-B、-L和-H进行缩放模型。实验结果表明,MixMIM可以有效地学习高质量的视觉表示。
1 论文和代码地址
论文地址:https://arxiv.org/abs/2205.13137
代码地址:https://github.com/Sense-X/MixMIM
2 Motivation
以自监督的方式利用未标记的视觉数据来学习表示是一件有趣但富有挑战性的事情。继自然语言处理领域的BERT之后,掩蔽图像建模(MIM)预训练视觉表征在各种下游视觉任务(包括图像分类、目标检测、语义分割、视频分类)中展现出了强大的能力。
现有MIM方法通常使用[MASK] token替换部分输入token,并旨在恢复原始图像块。然而,使用[MASK] token会导致两个问题。一方面,预训练中使用的[MASK] token从未出现在网络微调阶段,导致预训练-网络微调不一致。另一方面,预训练网络在处理非信息性[MASK]符号时浪费了大量计算,使得预训练低效。当使用较大的掩蔽率时,这些问题会变得更加严重。例如,在BEiT中,在预训练中使用40%的掩蔽比率,即,40%的输入token被[MASK]符号替换。因此,BEiT需要相对更多的epoch进行预训练。此外,由于高掩蔽率导致了大量的与训练-微调不一致,BEiT在下游任务上的性能受到限制。
MAE不存在上述问题,因为它丢弃了mask token,并且只在轻量级解码器中使用了[MASK]符号。然而,MAE破坏了输入图像的2D结构,并且不适用于卷积网络或者层次的ViT结构。因此,目前如何用MIM有效与训练一个层次ViT结构(如Swin Transformer)是一个问题。
在这项工作中,作者提出了MixMIM,这是一种广义MIM方法,它利用了BEiT和MAE的优点,又避免了它们的局限性。给定训练集中的两幅随机图像,MixMIM创建一幅以随机混合mask为输入的混合图像,并训练一个层次ViT来重建两幅原始图像以学习视觉表示。从一个图像的角度来看,不是用特殊的[MASK]符号替换图像的mask token,而是用另一个图像的视觉token替换mask token。MixMIM采用编码器-解码器设计。编码器处理混合图像以获得两个部分掩蔽图像的隐藏表示,而解码器重建两个原始图像。
自注意操作有一个全局感受野,每个token都可以和其他token交互。完全融合两个部分图像的token也会导致预训练和微调的差异,因为这两组token可能来自外观显著不同的图像。为了避免引入新的差异,MixMIM使用了一种掩蔽注意机制来明确防止两组token之间的交互。此外,作者在层次编码器的不同阶段通过最近插值对混合掩码进行上采样,以匹配attention map的分辨率。
MixMIM可以广泛应用于预训练层次VIT,如Swin Transformer、PVT等。本文的MixMIM还探索了一种轻量级架构,将Swin Transformer修改为预训练和知识迁移的编码器。由于层次结构,MixMIM自然可以应用于目标检测和语义分割。根据实验结果发现,在模型尺寸和FLOPs相似的情况下,MixMIM在广泛的下游任务上始终优于BEiT和MAE,包括ImageNet、iNaturalist和Places上的图像分类、COCO上的目标检测和实例分割以及ADE20K上的语义分割。
内容中包含的图片若涉及版权问题,请及时与我们联系删除
评论
沙发等你来抢