论文题目:ConvMAE: Masked Convolution Meets Masked Autoencoders
论文地址:https://arxiv.org/abs/2205.03892
代码地址:https://github.com/Alpha-VL/ConvMAE
摘要
视觉变压器(Vision transformer, ViT)已成为广泛应用于各种视觉任务的架构。用于特征预训练的掩膜自编码和多尺度混合卷积-变压器架构可以进一步释放ViT的潜力,从而在图像分类、检测和语义分割方面取得最先进的性能。在本文中,我们的ConvMAE框架证明了多尺度混合卷积-变压器通过掩码自编码方案可以学习更多的判别表示。然而,直接使用原始掩蔽策略会导致计算成本高和预训练微调差异。为了解决这个问题,我们采用了掩码卷积防止卷积块中的信息泄漏。为了保证计算效率,提出了一种简单的逐块屏蔽策略。我们还建议更直接地监督编码器的多尺度特征,以增强多尺度特征。与MAE-Base相比,ConvMAE-Base将ImageNet-1K微调精度提高了1.4%。在目标检测上,经过25个epoch微调的ConvMAEBase算法比经过100个epoch微调的MAE-Base算法分别高出2.9%的APbox和2.2%的AP mask。代码和预训练模型可在https://github.com/Alpha-VL/ConvMAE上获得。
介绍
文章出发点
MAE在各种下游视觉任务上实现了高性能,出优越的学习能力和可扩展性。MAE采用非对称编码器和解码器架构,其中编码器的mask部分由解码器重构。
局部归纳偏置和层次表示可以来提高ViT的性能。局部卷积和全局变换操作相结合,在多种图像任务上有明显的改进。基于局部和全局操作的性能良好的多尺度骨干主要以监督的方式进行训练。
此文章研究的出发点在于:具有局部和全局操作的多尺度骨干网是否可以利用在监督学习上表现良好的性能来增强掩码自编码范式
存在的问题
-
当前掩码自动编码框架采用的掩码策略不能天真地用于ConvMAE,因为所有oken都需要保留在后面的transformer阶段。这导致预训练大型和庞大模型的计算成本难以承受,失去了MAE在 transformer编码器中省略掩码令牌的效率优势。
-
此外,使用卷积 transformer编码器直接预训练会导致预训练微调差异,因为在微调阶段只处理可见标记。
提出解决方案
ConvMAE的编码器将输入图像逐步抽象为多尺度 token 嵌入,而解码器则对 mask token 对应的像素进行重构。
-
对于早期的高分辨率 token 嵌入,采用卷积块对局部内容进行编码。
-
对于后期的低分辨率 token 嵌入,转换器块用于聚合全局上下文。
因此,编码器在不同阶段获得局部和全局视场,并产生判别性的多尺度特征。ConvMAE编码器部分由强混合卷积和transformer主干网驱动,专注于使基本的混合卷积-transformer架构适用于掩码自动编码。
ConvMAE采用一种分块屏蔽策略,首先获得 transformer 后期的掩码,然后在早期卷积阶段逐步将掩码采样到更大的分辨率。这样,后期处理的 token 可以完全分离为屏蔽 token 和可见 token ,并继承了MAE的计算效率。
为了防止信息泄露,在早期的卷积块中加入了 mask 卷积,避免了后期掩模和可见区域的特征混淆,保证了训练的有效性,同时可以自然地集成到混合卷积-变压器体系结构中,以实现掩码自动编码。
ConvMAE的目标不是设计新的体系结构,而是通过mae风格的预训练和一些有见地的修改来释放混合体系结构所带来的强大表示。与以往掩码自编码的改进不同,ConvMAE将分层表示结构引入到MAE中。
创新点
-
提出了强而高效的自监督框架ConvMAE,该框架易于实现,但在不同的任务上表现出色。
-
所提出的ConvMAE自然生成分层表示,在目标检测方面表现出良好的性能。
-
与mai - base相比,ConvMAE-Base在多个任务以及数据集上提高了精度
模型框架
ConvMAE的目标是学习判别性的多尺度视觉表示,并在将MAE应用于conv-transformer网络时防止预训练-微调差异。在conv-transformer 编码器的特征映射上直接应用原始掩蔽策略会使 transformer 在预训练过程中保留所有 token,影响训练效率。我们引入了一种分层屏蔽策略,并在卷积阶段引入了屏蔽卷积,以确保只有少量可见 token 输入到 transformer 层。
编码器由3个级组成,输出空间分辨率分别为H/4 × W/4、H/8 × W/8、H/16 × W/16,其中H × W为输入图像分辨率。
前两个卷积阶段使用卷积块将输入转换为标记嵌入E1(H/4 × W/4 ×C1)和E2H/8 × W/8 ×C2)。卷积块遵循 transformer块的设计原则,只将自注意运算替换为5 × 5深度卷积。 transformer第三级使用常用的自注意块获得令牌嵌入E3(H/16 × W/16 ×C3)。在每个阶段之间,使用stride-2卷积将令牌采样到之前空间分辨率的一半。
阶段1和阶段2的局部卷积视场相对较小,阶段3的变形块从粗粒度特征中聚集融合特征,将视场扩展到整个图像。在 transformer第3级输入处加入绝对位置嵌入可以获得最佳性能。显示影响有限的cls token在编码器中被删除。
块掩码策略
从H/4×W/4特征映射中均匀地屏蔽阶段1的输入令牌将导致阶段3的所有令牌具有部分可见的信息,并且需要保留所有阶段3令牌。因此,首先生成随机掩码来屏蔽p%(例如,75%)的阶段3输入令牌,并将掩码上采样2倍和4倍,以分别获得屏蔽阶段2和阶段1输入的相应块掩码。在编码过程中丢弃三个阶段对应的掩码符号,并由解码器重建用于特征学习。这样,ConvMAE只需要在耗时的转换块中保留少至25%的令牌用于训练,并且不会影响ConvMAE的效率。
然而,前两个阶段的5 × 5深度卷积自然会导致接受域大于掩码补丁,并且在重建掩码令牌时导致信息泄漏。为了避免这种信息泄露,保证预训练的质量,在前两个阶段采用了掩码卷积,使被掩码区域不参与编码过程。掩码卷积的使用对ConvMAE的优异性能至关重要,通过从阶段中去除部分掩码令牌来防止预训练测试差异。
解码与损失计算
原始MAE的解码器将来自编码器的可见令牌Ed和掩码令牌[mask]作为输入,并将它们转换成堆叠的变压器块用于图像重建。
ConvMAE编码器获得多尺度特征E1, E2, E3,同时捕获细粒度和粗粒度图像信息。为了更好地监督这种多粒度表示的预训练,我们使用stride-4和stride-2卷积将E1和E2下采样到与E3相同的大小,并通过线性层融合多粒度令牌以获得可见令牌Ed。
使用来自MAE的相同损失来重建被掩盖的图像补丁,并且在目标函数中只考虑被掩盖的补丁的重建。
实验
下游任务:图像检测、语义分割、视频理解
消融实验
-
随着预训练时间的延长,大多数下游任务的性能都有所提高
-
用MAE的输入令牌随机屏蔽取代提出的块掩码策略。ImageNet1K微调精度从84.6%下降到84.2%,验证了所提出的简单块屏蔽策略可以缓解预训练-微调的差异
-
掩模卷积可以防止由于卷积中的窗口重叠而导致的信息泄漏。去除掩模卷积后,ImageNet1K的微调精度从84.6%下降到81.5%,说明卷积阶段的信息泄漏阻碍了掩模自编码过程中的特征学习
-
阶段1和阶段2的卷积核大小。较大的内核大小对ConvMAE在ImageNet-1K精度上的性能几乎没有影响。假设阶段3中的变压器块已经提供了一个全局FOV,可以抵消大内核带来的增益。
-
多尺度解码器纳入ConvMAE-base中,并对200和1600 epoch进行预训练。结果表明融合多粒度令牌进行掩码重建可以产生强大的表示。
-
ConvMAE不仅获得了强大的最终结果,而且还显著提高了各种任务的收敛速度
总结
-
通过transformer输入所需要的mask,逐层上采样到卷积层
-
卷积块遵循 transformer的设计原则,只将自注意运算替换为5 × 5深度卷积,实现卷积中的mask
-
特征多尺度融合