1 简介

本文根据2021年《AN IMAGE IS WORTH 16X16 WORDS: TRANSFORMERS FOR IMAGE RECOGNITION AT SCALE》翻译总结的。在本文中提出了模型Vision Transformer (ViT),其没有使用CNN,而是参考NLP领域的Transformer处理图像,即图像领域纯的Transformer。

该模型之前,主要是ResNet之类的CNN网络在图像领域占主导地位。

ViT是在大规模数据上进行监督预训练,然后在小的下游数据进行fine-tune(微调)。ViT暂时没有使用自监督(SELF-SUPERVISION),类似NLP的mask训练,这个可以后面进一步探讨下。

当预训练数据量小时(ImageNet),ViT表现不如ResNet;但当预训练数据量大时(JFT-300M),ViT表现超越ResNet。Transformers 缺乏 CNN 固有的一些归纳偏置 (inductive biases),例如平移等效性和局部性 (translation equivariance and locality),因此在数据量不足的情况下训练时不能很好地泛化。

如上所述,ViT有两个特点,一是采用纯Transformer,没有CNN;二是基于大量的预训练数据。

2 方法

在这里插入图片描述

在这里插入图片描述

结合着上面模型架构图和公式一起说明,
1) 将图像 H * W * C(如224 * 224 * 3,高 * 宽 * channel)拆成固定大小P * P(如16 * 16)的小块(patch),然后线性embed他们,加上位置embed,最后输入到标准的transformer。
在这里插入图片描述

整个过程就是上面的公式1. 其中D是embedding的维度

2) multiheaded self-attention (MSA),如公式2.
3) MLP包括两个带有GELU非线性的层。如公式3.
4) Fine-tune时,去掉预训练的预测head,换成一个零初始化的D*K的feedforword层,其中K表示下游任务的分类数量。

实验中,我们采用了如下一些模型:

在这里插入图片描述

3 实验

可以看到我们的模型ViT,在各任务中基本是最好的,尤其是ViT-H。
在这里插入图片描述

ViT与ResNet、和混合模型Hybird(CNN+transformer)相比,在相同的计算能力下,ViT准确率高于ResNet;对于小的模型时,混合模型Hybird表现好于ViT,但当变成大模型时,差距就不存在了。
在这里插入图片描述

下图说明,当预训练数据量小时(ImageNet),ViT表现不如ResNet;但当预训练数据量大时(JFT-300M),ViT表现超越ResNet。

在这里插入图片描述

GitHub 加速计划 / vi / vision
36
0
下载
pytorch/vision: 一个基于 PyTorch 的计算机视觉库,提供了各种计算机视觉算法和工具,适合用于实现计算机视觉应用程序。
最近提交(Master分支:2 个月前 )
6b56de1c Co-authored-by: Nicolas Hug <nh.nicolas.hug@gmail.com> 13 小时前
dccf4666 13 小时前
Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐