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论文解析相关推荐

  1. 【CV Transformer 论文笔记】Intriguing Properties of Vision Transformers

    论文地址:https://arxiv.org/abs/2105.10497 项目地址:https://git.io/Js15X 这篇论文主要介绍并验证了ViT的一些有趣的特性,而且文章的组织结构是通过 ...

  2. FAN(Understanding The Robustness in Vision Transformers)论文解读,鲁棒性和高效性超越ConvNeXt、Swin

    FAN(Understanding The Robustness in Vision Transformers)论文解读,鲁棒性和高效性超越ConvNeXt.Swin < center > ...

  3. Vision Transformer论文精读(1/2)

    目录 一.大致概况 二.论文精读 (1)前述 (2)摘要.引言 (3)结论 (4)相关工作 三.参考链接 精读论文 <AN IMAGE IS WORTH 16X16 WORDS: TRANSFO ...

  4. 【ARXIV2205】EdgeViTs: Competing Light-weight CNNs on Mobile Devices with Vision Transformers

    [ARXIV2205]EdgeViTs: Competing Light-weight CNNs on Mobile Devices with Vision Transformers 论文:https ...

  5. 车道线检测:LSTR论文解析

    车道线检测:End-to-end Lane Shape Prediction with Transformers论文解析 1. Abstract 2. Introduction 3. Related ...

  6. 【读点论文】EfficientFormer: Vision Transformers at MobileNet Speed,运用纯transformer架构对比卷积模型在终端上部署的推理速度

    EfficientFormer: Vision Transformers at MobileNet Speed Abstract 视觉transformer(ViT)在计算机视觉任务中取得了快速的进展 ...

  7. 论文阅读-Combining EfficientNet and Vision Transformers for Video Deepfake Detection(深度鉴伪)

    一.论文信息 论文名称:Combining EfficientNet and Vision Transformers for Video Deepfake Detection 论文代码:https:/ ...

  8. 论文阅读笔记:Intriguing properties of neural networks

    论文阅读笔记:Intriguing properties of neural networks 深度学习对抗样本的开山之作 要点 以往的观点认为深度神经网络的高层特征中每一个分量描述了一种特质,但是这 ...

  9. 对抗样本论文阅读Intriguing properties of neural networks

    Intriguing properties of neural networks 文章提出了神经网络中的两个有趣的特性,首次提出了对抗样本adversarial examples的概念 Represe ...

最新文章

  1. 2022-2028年中国无菌手套产业发展动态及投资趋势预测报告
  2. wallpaper怎么改后缀_腾讯微信视频号怎么引流?腾讯视频号引流有哪些方法?
  3. linux sockaddr_in头文件,linux网络编程常用头文件
  4. asp.net网页出现名称以无效字符开头的解决方法
  5. C语言程序设计 练习1-13
  6. ACL 2020 | 用于多领域端到端任务型对话系统的动态融合网络
  7. SQL Server 2008 - Cannot set a credential for principal 'sa'.
  8. 我的INI 配置文件读写动态库
  9. 广数系统加工中心编程_CNC数控加工中心编程指令详解
  10. 一款简单好用的动画/游戏制作软件|源码编辑器|编程猫南宁体验中心
  11. 内存映射(Memory Map)
  12. three.js 05-01 之 PlaneGeometry 几何体
  13. 海康大华摄像头GB/T28181接入国标视频平台如何选择主码流还是子码流
  14. shell 中的括号(小括号,花括号)
  15. 史玉柱10大广告法则:洞悉人性敢投入精于执行
  16. 小程序 wx.navigateTo和 wx.redirectTo区别
  17. java基础实战练习_JAVA入门第三季第七章实战练习
  18. 原画人物怎么设计?角色原画设计技巧 分享!
  19. mips架构汇编指令
  20. python求因子代码_Python量化入门:饱受青睐的三因子模型「附代码及数据」

热门文章

  1. unity, AnimatorCullingMode踩坑
  2. 充电系统(交流慢充,直流快充)
  3. laravel view
  4. 串口发送+RAM+VGA传图
  5. 西班牙计算机专业排名,西班牙大学及专业排名
  6. 帝国国王科技大学上机题解(二)
  7. UEFI和传统引导的区别有哪些
  8. 新站如何使用好百度站长平台工具
  9. CYP音乐emlog主题免费版
  10. 经典面试题【老鼠喝水】