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

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

论文地址:https://arxiv.org/abs/2105.10497
项目地址:https://git.io/Js15X

这篇论文主要介绍并验证了ViT的一些有趣的特性,而且文章的组织结构是通过不断根据实验结果和猜测提出新的问题并去验证的形式,非常推荐细读。

文章主要介绍了ViT在遮挡、形状纹理偏好、对抗与自然干扰、迁移学习的一些内容,下面也是按照这些方面来介绍。

遮挡(Occlusions)

对于遮挡的建模,作者采用了一种命名为PatchDrop的方法,即选取所有patches的一个子集,将其像素值置为0;根据子集选取方法的不同又可以划分成三种方法:

  • Random PatchDrop(随机)
  • Salient (foreground) PatchDrop(显著/前景)
  • Non-salient (background) PatchDrop(非显著/背景)
【CV Transformer 论文笔记】Intriguing Properties of Vision Transformers

在ImageNet的验证集(50K张图片)上进行视觉识别任务的比较,随着不同PatchDrop方法的Infomation Loss(即PatchDrop中遮挡的比例)的升高,各类模型的Top-1准确率变化如下图:

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

可以看出第一列中CNN模型对于信息丢失的抵抗力都比较弱,其中ResNet50是表现最好的,因此之后使用ResNet50与DeiT(第二列)、ViT(第三列)及T2T(第四列)3个Tranformer模型作比较,可以看出Transformer模型处理遮挡的鲁棒性是远强于CNN模型的。

为了更好地理解针对此类遮挡的模型行为,作者将不同层的注意力头可视化:
【CV Transformer 论文笔记】Intriguing Properties of Vision Transformers

可以发现虽然初始层关注所有区域,但更深的层倾向于更多地关注非遮挡区域的剩余信息

随后,作者验证了这种逐层变化是否会导致对抗遮挡的Token不变性,因此作者定义了原始图像与遮挡图像之间特征的相关系数

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

其中E[·]和σ(·)分别是均值和标准差操作。u 和 v 是指在整个 ImageNet 验证集上定义的原始和遮挡图像的特征图。

【CV Transformer 论文笔记】Intriguing Properties of Vision Transformers
从上表可以看出,与 ResNet50 特征相比,来自 Transformer 的类Token明显更鲁棒,不会丢失过多的信息。

此外,作者将 ImageNet 中12 个类别的相关系数可视化,发现即使对于相对较小的对象类型,如昆虫、食品和鸟类,其变化趋势也是相同的。
【CV Transformer 论文笔记】Intriguing Properties of Vision Transformers

形状 vs. 纹理

作者实验发现,在特意增强形状偏好的训练计划下,ViT 模型比 CNN 强得多,并且可以做到与人类视觉系统识别形状的能力相当。 然而,这种情况下会导致其对自然图像识别的准确性显着下降。

为了解决这个问题,在Transformer架构中引入了一个专注于学习形状的Shape Token,从而使用不同的标记对同一架构内的形状和纹理相关特征进行建模。

因此,我们从具有高形状偏差的预训练 CNN 模型中提取形状信息 [9]。 与原始 ViT 模型相比,我们的蒸馏方法在高分类精度和强形状偏差之间进行了平衡的权衡

为了从训练数据中移除局部纹理线索,作者通过将ImageNet风格化创建了名为 SIN 的新数据集。由于SIN本身具有较少的纹理细节,因此训练过程没有使用数据增强和标签平滑
【CV Transformer 论文笔记】Intriguing Properties of Vision Transformers

从上图右图可以看出,与类似的容量 CNN 模型相比,在 ImageNet 上训练的 ViT 表现出更高的形状偏差,同时在SIN上训练模型能使模型获得更高的形状偏好。从左图可以看出,DeiT-S-SIN取得了可以媲美人类视觉的偏好。

Shape Distillation

作者引入Shape Tokens 并采用注意力蒸馏来从 ResNet50-SIN 中提取形状知识。 并且通过辅助Token的控制可以获取动态的 ViT 特征,从而实现 ViT模型在分别使用单独Token时表现出高形状或高纹理偏好。
为了证明这些不同的Token确实模拟了独特的特征,作者计算了蒸馏模型 DeiT-T-SIN 和 DeiT-S-SIN 的class和shape token之间的余弦相似度, 结果分别为 0.35 和 0.68,明显低于DeiT-T 和 DeiT-S 的 class和蒸馏 token之间的相似度 0.96 和 0.94。

位置编码

ViT使用位置编码来保留patch间的位置信息。 那么位置编码是不是导致 ViT 在遮挡处理下表现出色的原因呢?
作者将原图像进行不同size的patches的随机打乱,来进行验证。
【CV Transformer 论文笔记】Intriguing Properties of Vision Transformers
【CV Transformer 论文笔记】Intriguing Properties of Vision Transformers

当打乱patches时,DeiT比CNN模型能更好地保持精度。作者认为这表明位置编码对于分类决策并不是绝对重要的,右图表明在没有位置编码的情况下,ViT 表现得相当好,并且比使用位置的 ViT 实现了更好的排列不变性。
但是我个人认为这个比较并没有什么意义,ViT本身就是并行处理所有Patch,所以肯定比CNN应对随机打乱的效果好,而且不使用位置编码,直接去除了空间信息,肯定应对打乱更加得心应手。

位置编码还是使得ViT更加接近人类视觉系统的一种方式,尽管位置编码并不能非常有效地引入空间信息。

对抗干扰和自然干扰( Adversarial and Natural Perturbations)

通过计算各种合成常见损坏(例如雨、雾、雪和噪声)的平均损坏误差 (mCE) (数值越低越好)来测试模型对于自然干扰的鲁棒性。
【CV Transformer 论文笔记】Intriguing Properties of Vision Transformers
从上图结果可以看出,经过增强训练的ViT模型比CNN(Augmix)的效果更好,但是没经过增强训练的反而不如CNN模型。

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

由于形状偏差与稳健性的权衡 ,在 SIN 上训练的 ViT 和 CNN 比在 ImageNet 上训练的模型更容易受到对抗性攻击的影响。

迁移学习

【CV Transformer 论文笔记】Intriguing Properties of Vision Transformers
实验表明,最后4个ViT Blocks 更具有辨别性,因此作者使用在ImageNet上预训练的ViT模型的最后4个blocks的输出特征作为迁移学习的tokens,事实上也确实是最后4个blocks的迁移学习表现最好,但在个别数据集上使用所有blocks的效果更好,但这回带来4倍的参数量。
【CV Transformer 论文笔记】Intriguing Properties of Vision Transformers
而且相对来说,CNN模型在迁移学习上的表现也不如ViT模型。

总结

文章提出并分析了 ViT 的以下有趣特性:
(a)Transformer 对严重的遮挡、扰动和域偏移具有高度的鲁棒性,例如,即使在随机遮挡 80% 的图像内容后,在 ImageNet 上仍保持高达 60% 的 top-1 准确率。
( b)对遮挡的鲁棒性不是由于纹理偏差,相反与 CNN 相比,ViT 对局部纹理的偏差要小得多。当正确训练以编码基于形状的特征时,ViT 展示了与人类视觉系统相媲美的形状识别能力。
(c)使用 ViT 对形状表示进行编码会产生一个有趣的结果,即无需像素级监督即可进行准确的语义分割。
(d) 可以组合来自单个 ViT 模型的现成特征来创建特征集合,从而在传统和少样本学习范式中的一系列分类数据集上实现高准确率。ViT 的有效特征可能是由于通过自注意机制的灵活、动态的感受野实现的。

上一篇:linux io performance


下一篇:Linux驱动之互斥量