Intriguing Properties of Vision Transformers

本论文系统研究了基于Transformer和CNN构造的图像分类器一些很多有趣的特性,包括纹理与形状信息的提取效果不同。作者对模型的鲁棒性,抗攻击性,抗噪声性,泛化性等诸多特性进行了较为系统的研究,并得出了很多有趣的结论。

另:笔者总结了一些前沿Transformer网络backbone的设计想法和实验结果。汇总于该 博客 中。

作者总结的视觉Transformer(ViT)的一些共性结论

1:Transformer对严重的遮挡,扰动和域偏移具有高的鲁棒性。在随机遮挡80%的图像内容,其在ImageNet上仍可保持高达60%的top-1精度(最好的效果)。

2:Transformer对于遮挡的高鲁棒性并不因为依赖**局部纹理信息**。相比之下CNN模型更加依赖局部信息。这同Transformer的全局先验和CNN的局部先验性质分析结论一致。在对ViT**形状信息**进行编码时,ViT可以展现出与人类视觉系统相当的形状识别能力。

3:使用ViT对shape进行编码会产生有趣的现象,可以对图像细分下去的patch进行分类,变相完成了分割任务。不过,同CNN模型相似,基于shape信息进行学习的ViT模型对一般的对抗攻击和图像腐蚀操作没有保持较好的效果。

4:可以将单个ViT模型提取的特征进行组合以创建特征集合,从而在few-shot learning, 细粒度识别, 场景识别和long-tail识别的一系列分类数据集上实现较高的准确率。实验表明,ViT的有效特征是由于通过自注意力机制可以产生的灵活和动态的感受野所带来的。

ViT对遮挡的鲁棒性

其实从ViT中的self-attention结构中,可以直观感受到,模型在特征提取阶段综合考虑了所有patch之间的信息。那么理所当然,ViT对遮挡的鲁棒性应当取得远超过CNN based模型的效果。实验结果同样能够佐证这个观点。

作者使用了三种遮挡方法Random PatchDrop,Salient(foreground) PatchDrop,Non-salient (background) PatchDrop。分别代表,所有图像patch随机丢弃一些,包含着重要信息的patch丢弃一些以及包含较为无关信息的patch丢弃一些,三种对特征影响各不相同。三种方法的示意图如下图所示:

对于每一种丢弃方法,作者按照丢弃patch的百分比从0%到100%分别进行对比实验。采用的模型有CNN中具有代表性的VGG、ResNet、SqueezeNet、DenseNet等,还有Visual Transformer中的DeiT家族、T2T家族、ViT家族等。实验结果如下图所示:

从上图中明显可见,在遮挡问题上,Transformer based模型的鲁棒性显著高于CNN based,这和理论定性分析结论一致。同时,在未丢弃patch的数据集上获得较高正确率的模型对于丢弃情况的效果仍然保持最好,这进一步佐证了Transformer based模型普遍能够保持对遮挡的鲁棒性。

为了进一步分析这种鲁棒性的来源,作者将DeiT-B模型不同层的注意力模块进行了可视化,全过程使用相同的Mask,模型基于ImageNet pretrained。可视化如下图所示:

从上图可见,DeiT模型的浅层主要关注遮挡区域的信息,而深层主要关注遮挡之外的区域,多次试验的结果大致相同。从这点我们也可以看出,更深的block对能够对图片的全局信息有更加精准的把握。不过12层同11层相比并没有较大的区别,所以这种深度的增加对全局信息的提取是否有一定的影响,目前未知。

作者同样思考,是否是因为class token在遮挡过程中的不变性导致了模型较高的鲁棒性。class token 类同CNN中的最后一层feature。在不同遮挡情况下,作者计算了原始图像和遮挡后图像class token/final features的相关性。同时,针对不同ImageNet中具体的超类(即大类别)均统计了对应的相关系数。两项任务的示意图在下图中统一表示:

视觉Transformer模型能否同时学习shape和texture特征?

Geirhos等人引入了Shape vs Texture的假设,并提出了一种训练框架来增强卷积神经网络(CNNs)中的shape偏差。作者对ViT模型进行了类似的分析,得出了其比CNN更偏向于(bias)形状提取,同时与人类视觉系统识别形状的能力相当。然而,这种方法会导致自然图像的精度显著下降。

为了解决这种问题,在第2种方法中,作者将shape token引入到Transformer体系结构中,专门学习shape信息,使用一组不同的Token在同一体系结构中建模Shape和Texture相关的特征。为此,作者从预训练的高shape偏差CNN模型中提取shape信息。而作者的这种蒸馏方法提供了一种平衡,既保持合理的分类精度,又提供比原始ViT模型更好的shape偏差。(此处相当于是提出了一种较为可行的蒸馏方法)

为了去除掉原始图像中的local texture信息,作者使用了经过风格化的ImageNet数据集SIN,该数据集大致样式如下图中的(b)所示:

因为该数据集已经大幅削弱了原始图像的局部纹理信息,所以作者训练DeiT模型的时候并未使用其他数据增强方法。作者同时对在基于shape信息的SIN数据集上的偏差和基于texture信息的ImageNet数据集上偏差进行了统计,如下图所示:

从上图可见,DeiT模型同样能够较好的学习数据集当中的shape信息,且同人类对shape的识别水平相当,而基于CNN的ResNet学习效果相比较差。因此Visual Transformer模型在进行图像分类的过程之中,并不会单一聚焦于texture特征,对于shape特征的学习能力也较为强。这种现象进而说明,Visual Transformer模型对于不同图像输入训练的结果较为灵活,提取的信息也更为多样。

作者针对这样Visual Transformer这种特性也设计了一种针对性的知识蒸馏方法(利用额外的shape token),该方法不属于Transformer普适特性的范畴,因此简单将论文对应部分截图如下。

作者使用该蒸馏方法之后,模型在ImageNet的top1上均一定的提升。不过该提升是在SIN数据集上,在正常的ImageNet数据集上构造额外的shape token,然后使用该知识蒸馏的方法是否能够对模型最终效果有所提升,作者并没有进行类似实验。

视觉Transformer是否真的需要位置编码?

通过将原始图像分割成若干个patch,再利用形状信息对分割后的patch进行归类,Transformer能通过该方式变相完成图像分割任务。那么进一步的思考就是,是否ViT对图像的空间结构信息十分敏感,在数学表达上就是self-attention中添加的Position encoding部分,在显式结构上,就是图像patch之间的相对顺序。

作者从是否具有特征编码,原始patch数量,patch打乱的程度三个角度,分别分析了对模型性能指标的影响。打乱的示意图和最终实验结果如下图所示:

在按照不同shuffle grid size进行打乱的情况下,模型在ImageNet上的变化符合预期。无论是否增加位置编码,原始图片按照patch进行打乱均会非常显著的降低模型在图像分类任务上的性能。这同人类经验一致,shuffle之后相当于将原始图片变成了若干个拼图,而直观看上去并不能直接完成拼图的过程,这对模型的影响也是一致的。

较为惊讶的其实是相同shuffle情况下,位置编码的影响。从Fig8中明显可见,随着grid size的增大,添加位置编码会降低模型的性能。这也能间接说明,位置编码的存在会降低模型的泛化性。在grid size较低时,位置编码的作用较低(虽然确实能够适当提点)。对于模型泛化性来讲,现有的位置编码并不能起到积极的作用。

视觉Transformer对对抗信息和自然扰动的鲁棒性,适用于图像分类的token。

对于视觉ViT来讲,作者用对抗攻击和添加自然界的噪声,然后测了平均损坏误差(MCE)。在ImageNet或SIN上未经增强训练的卷积网络和Transformer模型更容易受到图像干扰的影响。这些发现与此一致,表明数据增强对于提高常见干扰的鲁棒性是很必要的。

对于对抗攻击来讲,在正常数据集上训练,ViT比CNN based模型要高。基于SIN数据集训练的模型的ViT,相比CNN鲁棒性更低。这是由于模型在对shape和texture信息的权衡不同导致的。

作者进一步探寻,不同层数patch对应的token对最终分类的贡献程度。这里的点其实也较为显然,更深层(9-12层)的Transformer架构中patch对应的token更能够好的反应patch对应的信息,利用这些token的信息能够更好地实现图像分类效果。

针对上述结论,作者同样提出了对应的 迁移学习 方法。作者从不同的块连接class token(可选地结合平均补丁标记),并训练一个线性分类器来将特征转移到下游任务。一个patch token是通过沿着patch维度进行平均生成的。最后4个块的class token连接得到了最好的迁移学习性能。然后作者通过实验证明了,这样迁移的效果在诸多图像识别数据集上都有较好的迁移性能。

Intriguing Properties of Vision Transformers[论文地址](https://arxiv.org/pdf/2105.10497.pdf)本论文系统研究了基于Transformer和CNN构造的图像分类器一些很多有趣的特性,包括纹理与形状信息的提取效果不同。作者对模型的鲁棒性,抗攻击性,抗噪声性,泛化性等诸多特性进行了较为系统的研究,并得出了很多有趣的结论。作者总结的视觉Transformer(ViT)的一些共性结论1:Transformer对严重的遮挡,扰
遮挡(Occlusions) 对于遮挡的建模,作者采用了一种命名为PatchDrop的方法,即选取所有patches的一个子集,将其像素值置为0;根据子集选取方法的不同又可以划分成三种方法: Random PatchDrop(随机) Salient (foreground) PatchDrop(显著/前景) Non-salient (background) PatchDrop(非显著/背景) 在ImageNet的验证集(50K张图片)上进行视觉识别任务的比较,随着不同PatchDrop方法的Infom
1、注意力机制有助于提升 泛化能力 ,因为会使损失函数平滑化。 2、VIT的进步是因为数据特异度(specificity)高,不是因为长距离依赖性。(当前很多人认为VIT work的原因是因为VIT的距离比较长,不像CNN只有一个短局部的信息建模) 3、VIT会受非突的损失函数的 寒假可以看点自己感兴趣的 论文 了,今年大火的对比学习和一些 Transform er 相关的 论文 一直存着没看 列个 论文 清单,有空的话慢慢看过去 Contrastive Learni ng A Survey on Contrastive Self-sup er vised Learni ng 【20.11】 A Simple Framework for Contrastive Learni ng of Visual Representations(SimCLR)【ICML2020 随着 Vision Transform er 的发展,利用CNN与 Transform er 相结合、基于纯 Transform er 设计的网络架构层出不穷。与此同时,相当一部分研究聚焦于探讨 Transform er 的必要性,并由此出现了多层感知机(Multi lay er p er ceptron, MLP)、傅里叶变换(Fou ri er transform )等替代 Transform er 组件构建backbone的研究。 本文力图将现有前沿同 Transform er 相关或力图替代 Transform er 结构的相关研究汇总到一起,将