你认为CNN的归纳偏差,Transformer它没有吗?

©作者 |小欣

01 简介

最近,为了解决卷积神经网络的一些普遍存在的缺点,如对于上下文信息的建模差、全局信息理解差等缺点,有研究者开发了Vision Transformer和MLP-based模型。

虽然在视觉领域中使用了Transformer和Self-Attention解决了一些CNN模型存在的缺陷,同时也具有一定的创新型,但是到目前为止对于这种架构的鲁棒性还是比较模糊的。

尽管有一些工作提出数据增强对于模型的鲁棒性有一定的影响,但是针对模型架构对于鲁棒性的影响依旧需要进一步地探索和研究。

作者发现Transformer比ResNet-50和MLP-Mixers更鲁棒。

作者还发现,参数比ResNet-50少5倍的Vision Transformer具有更大的形状偏差。

02 相关工作

研究归纳偏差,如形状偏差纹理偏差,以及这些偏差如何提高模型的鲁棒性已经在CNN中得到广泛的探讨。

注释:这里的形状偏差是指网络结构对于形状的先验Bias,而纹理偏差则是网络结构对于纹理的先验Bias,它们同属于归纳偏差,即Inductive Bias。

这里先从数据增强和新架构入手开始讨论这个问题。

2.1、数据增强与训练策略

Geirhos等人在2019年进行了一项实证研究,以了解在ImageNet上训练的CNN学习到的归纳偏差。

在ImageNet数据集实验了几个数据增强方法后,实验结论是CNN在物体识别任务中更偏向于纹理特征,而人类则更偏向于形状特征。

但是,Hermann等人同年通过实验研究证明了CNN可以像学习纹理偏差一样,可以很容易学习形状偏差;因此Geirhos等人的结论很快就被反驳了。

同时,Hermann等人指出CNN学习到的归纳偏差可能仅仅依赖于它看到的数据,而不是结构本身。

最近的一项实证研究调查了形状偏差和Corruption鲁棒性是否存在直接关联。

Mummadi等人2021年通过在ImageNet上分别使用Standard Image、Standard Image+Stylized Image组合以及Standard Image+边缘映射的组合训练了不同的CNN模型以比较每个CNN模型的精度和Corruption鲁棒性,实验结果表明,在Standard Image+边缘映射的组合上训练的模型具有最大的形状偏差。

然而,对在Standard Image+Stylized Image组合上训练的模型在常见的Corruption方面表现最好。

Mummadi等人的结论是,风格化图像带来了形状偏差的增加,同时Corruption鲁棒性的提升也是由风格化图像带来的,而不是形状偏差直接带来的。

另一种方法阐述了一种通过在数据集中增强图像中形状和纹理冲突来进行Shape-Texture De-biased learning的算法。

该算法仍然是基于CNN,该算法在ImageNet-C和Stylized-ImageNet等方面得到了改进。

2.2、新架构

通过对不同的卷积神经网络结构进行了改进和重构,可以实现更高的图像分类任务的准确性。

最近,Transformer已经被改进和适应视觉任务,如图像分类。这里只介绍在实验中包含的Transformer架构。

Dosovitskiy等人在2021年通过使用Multi-Head Self-Attention和多层感知机的结合设计出一种称为Vision Transformer(ViT)的架构。

ViT通过将图像分割成固定数量patches,并对Patches通过线性投影映射得到的Patch Embedding进行图像分类。与CNN相比,这种架构在许多Baseline上都取得了出色的结果。

Bhojanapalli等人在2021年研究了几种不同的ViT和ResNet模型,以了解ViT和ResNet模型的鲁棒性。它们还展示了两种架构在面对不同的对抗性攻击(如PGD和FGSM)时的表现。

总体而言,ViT对Corruption的鲁棒程度至少与ResNets一样。

Liu等人于2021年提出ViT的一个变种,称为Swin Transformer(简称Swin);Swin通过类似卷积操作不断平移Patch来计算不同图像Patch Windows的Self-Attention,以实现图像分类等任务。这种操作会产生层次化的特征映射,为图像提供更好的全局表示。

Vision Transformer架构的另外两个变体是数据高效的图像转换器(DeiT)和带有 Class-Attention的Image Transformer (CaiT) 。DeiT使用了自定义蒸馏过程,没有卷积层,而CaiT的特点是Class-Attention层。

最近出现了一种名为MLP-Mixer的架构,旨在抛弃卷积和Self-Attention,而是通过两个基于MLP的层混合每个位置的特征和空间信息。该结构还在预处理中进行了显著的数据增强,以提高模型的准确性。

可以看出,到目前为止还没有发表过关于不同的Vision Transformer和MLP-Mixer在Corruption鲁棒性或形状偏差方面相互比较的研究。

03 本文方法

为了探索Vision Transformer和MLP-Mixer对Corruption的鲁棒性,作者进行了几个实验,包括4个预训练CNN、14个Vision Transformer和2个MLP-Mixer。

3.1、预训练模型

1、CNN模型

具体来说有以下4种模型:

● (1)AlexNet

● (2)VGG-16

● (3)GoogLeNet

● (4)ResNet-50

2、MLP-Mixer模型

具体来说MLP-Mixer架构的有2种不同变体:

● (1)MLP-Mixer Base

● (2)MLP-Mixer Large

3、Vision Transformer模型

作者选择4种最先进的Vision Transformer架构。包括了14中不同规模的模型,具体如下:

● (1)ViT:ViT-Base、ViT-Large

● (2)DeiT:DeiT-Base、DeiT-Base-Dist、Deit-Small、DeiT-Small-Dist、DeiT-Tiny、DeiT-Tiny-Dist

● (3)CaiT:CaiT-S24、CaiT-XXS

● (4)Swin:Swin-T-Tiny、Swin-T-Small、Swin-T-Base、Swin-Large

3.2、数据集

1、ImageNet-C

ImageNet-C是一个基准数据集,用于评估模型对常见Corruption的鲁棒性。

该数据集由19种不同的Corruption类型组成,这些Corruption类型分为五个一般Corruption类别(blur、weather、noise、digital和extra),分别对应5个不同的严重级别。

该数据集是建立在ILSVRC 2012验证集上的,该验证集有1000个类和50张验证图像,每个类总共50000张验证图像。

在ImageNet-C中,每一种Corruption类型有50000张图像对应一个严重级别。

2、Texture-Cue Conflict

这里还使用了Geirhos等人在2019提出的Texture-Cue Conflict数据集来评估模型的形状偏差。

Texture-Cue Conflict数据集由具有一个类的形状与另一个类的纹理相结合的图像组成。

这导致了在每张图像中形状和纹理的冲突。两种标签包括识别Ground Truth的形状和纹理的图像。

该数据集包括16个类,每类80张图片,总共1280张图片。

3.3、评估标准

由于评估的架构与CNN有很大的不同,所以在计算Corruption Error时,决定不再使用AlexNet的Corruption Error作为标准化因素。

相反,通过对Severity 2和Severity 5的Top-1 Error求和得到Corruption Error(CE)如下:

你认为CNN的归纳偏差,Transformer它没有吗?

其中f是给定的模型,s是Severity,c是Corruption。

为了计算平均CorruptionError(mCE),对给定模型计算的所有Corruption Error取平均值。

通常,mCE是通过平均所有Severity的Corruption Error来计算的,但是mCE计算中只包括Severity 2和Severity 5的Corruption Error。

所以作者只能使用这2种Severity来表示一个给定模型的总体mCE的平均值。

作者还提供了ILSVRC 2012验证图像的最高精度,因为这是用于创建ImageNet-C的数据集。这个指标将帮助理解模型如何在数据集上执行而不发生损坏。

每个预训练模型也在Texture-Cue Conflict数据集上进行评估,以计算形状偏差。模型的形状偏差是指在对图像进行分类时模型对形状的依赖程度,而纹理偏差是指模型对纹理的依赖程度。

如Geirhos所述,形状偏差的计算公式如下:

你认为CNN的归纳偏差,Transformer它没有吗?

04 实验结论

4.1、损坏鲁棒性

你认为CNN的归纳偏差,Transformer它没有吗?

本文在ImageNet-C上评估了每个预训练模型,并计算了mCE,通过观察表1可以总结为一下结论:

● 对于CNN模型:Top-1精度越高,mCE越低;

● 对于MLP-Mixer模型:Top-1精度越高,mCE越低;

● 对于Transformer模型:Top-1精度越高,mCE越低,但是该趋势均由于MLP-Mixer和CNN模型。

总的来说,获得最低mCE(34.63%)的模型是拥有1.97亿个参数的Swin Transformer-Large。该模型在未Corruption的ILSVRC 2012验证集上也表现得最好,最高精度为85.92%。

可能的原因是Swin-Transformer的移动窗口提供了更好的图像全局表示。

4.2、形状偏差

你认为CNN的归纳偏差,Transformer它没有吗?

与CNN相比,MLP-Mixers和Vision Transformer更倾向于形状,而且许多Vision Transformer模型的表现类似于MLP-Mixers。

值得注意的是,微小的数据高效Vision Transformer(DeiT tiny)架构的参数比ResNet-50少约5倍,其形状偏差为29.37%,而ResNet50为26.17%。

性能最好的Vision Transformer是ViT-Large模型,形状偏差为55.35%,参数为3.04亿个。

表1和表2强调了形状偏差和平均Corruption误差之间的逆关系。当一个模型对常见的损坏(较小的mCE)更鲁棒时,它的形状偏差就会增加。这里作者没有观察到形状偏差或mCE与参数数量之间的任何关系。

私信我领取目标检测与R-CNN/数据分析的应用/电商数据分析/数据分析在医疗领域的应用/NLP学员项目展示/中文NLP的介绍与实际应用/NLP系列直播课/NLP前沿模型训练营等干货学习资源。

上一篇:swin transformer 核心代码记录


下一篇:模型集成和级联