Administrator
发布于 2022-10-24 / 3 阅读
0

vision transformer

VTAB:视觉任务适应性基准(visual task adaptation benchmark),是一个多元的、切实且具有挑战性的表征基准,基于以下原则:在所需领域内数据有限的情况下,找到更好的能够在未见任务上实现 更优性能的表征。是用户选择最佳预训练表征的基准。

SOTA:全称是state of the art,是指在特定任务中目前表现最好的方法或模型。

摘要:transformer的体系结构已经成为了自然语言处理任务的事实上的标准,但它在计算机视觉上的 应用仍然有限。在视觉上,注意力要么与卷积神经网络结合使用,要么用于代替神经网络中的某些组成 部分,同时要保证其整体结构不变。我们证明了这种对CNN的依赖是不必要的,直接应用与图像patch 序列的transformer结构能够在图像的分类任务上表现的很好。在对大量数据进行预先训练,并将其转 移到多个中型或小型图像识别基准测试(ImageNet、CIFAR-100、VTAB等)时,Vision Transformer与最先进的卷积网络相比获得了出色的结果,同时需要训练的计算资源大大减少。

网络结构:

Vision Transformer将输入图片分为了多个patch,再将每个patch经过Linear Projection of Flattened Patches层投影为固定长度的向量送入Transformer,后续encoder的操作与原始Transformer中完全相同,由于是对图片进行分类,因此在输入序列中加入一个特殊的token,该token对应的输出即为最后的 类别预测。

(1)patch embedding:假设输入图片大小为224x224,将图片分为固定大小的patch,patch大小为16x16,则每张图片生成224x224/16x16=196个patch,即输入序列长度为196,每个patch的维度为16x16x3=768,线性投射层的维度为768xN (N=768),因此输入通过线性投射层之后的维度依然为

196x768,即一共有196个token,每个token的维度是768。这里还需要加上一个特殊字符cls,因此最 终的维度是197x168。到目前为止,已经通过patch embedding将一个视觉问题转化为了一个seq2seq 问题。

(2) position embedding:Vision Transformer同样需要输入位置编码来保留位置信息,Vision Transformer采用了标准可学习的1-D位置编码,在输入transformer encoding前将patch embedding 与position embedding按元素相加,而不是拼接。

(3) LN/multi-head attention/LN:LN输出维度依然是197x768。多头自注意力时,先将输入映射到q,k,v,如果只有一个头,qkv的维度都是197x768,如果有12个头(768/12=64),则qkv的维度是197x64,一共有12组qkv,最后再将12组qkv的输出拼接起来,输出维度是197x768,然后在过一层LN,维度依然是197x768。

(4) MLP:将维度放大再缩小回去,197x768放大为197x3072,再缩小变为197x768,一个block之后维度依然和输入相同,都是197x768,因此可以堆叠多个block。最后会将特殊字符cls对 应的输出 zL0 作为encoder的最终输出 ,代表最终的image presentation。

实验: ViT 并不像 CNN 那样具有 Inductive Bias,若直接在 ImageNet 上训练,同 level 的 ViT 效果不如 ResNet。但若先在较大的数据集上预训练,然后再对特定的较小数据集进行微调,则效果优于ResNet。比如 ViT 在Google 私有的 300M JFT 数据集上预训练后,在 ImageNet 上的最好的 Top-1 ACC 可达 88.55%,这在当时已和 ImageNet上的 SOTA 相当了 (Noisy Student EfficientNet-L2 效果为88.5%,Google 最新的 SOTA 是 Meta Pseudo Labels,效果可达 90.2%)

为了探究数据集的大小对VIT性能的影响,作者又做了如下实验:(1)在不断增大的数据集上预训练 VIT模型,ImageNet, ImageNet-21k, and JFT-300M数据集(2)在9M、30M和90M的随机子集以及完整的JFT300M数据集上训练模型。均发现数据集越大,VIT的效果更好。 作者也探究了不同架构之间的性能:Transformer(VIT)、ResNet(BIT)、Hybrid,发现在相同的计 算预算下,VIT通常优于BIT。Hybrid在较小的计算预算下略优于VIT,但在较大的模型中,这种差异消 失了。