文 / Neil Houlsby 研究员 和 Dirk WeissenbornSella Nevo, 高级软件工程师,Google Research
自 20 世纪 80 年代,卷积神经网络 (CNN) 就已应用于计算机视觉中,但直到 2012 年 AlexNet 的性能远远超过当时最为先进的图像识别方法时,这一技术才算走到行业前列。实现这一突破要归功于两个因素:
ImageNet 等训练集的出现;
使用商业 GPU 硬件为训练提供了更强的计算能力。
因此,自 2012 年起,CNN 就已成为视觉任务的首选模型。
使用 CNN 的好处在于,它们无需手动设计的视觉特征,而是直接从数据“端到端”执行学习任务。但是尽管 CNN架构本身专为图像设计,无需手动提取特征,但其对计算能力要求很高。展望下一代可扩展视觉模型,人们可能会思考这种特定于领域的设计是否有必要,或者考虑是否可以成功利用更多与领域无关的高效计算架构来获得 SOTA 的成果。
我们朝这个方向迈出了第一步,推出了 Vision Transformer (ViT)。这是一种尽可能基于最初为基于文本的任务而设计的 Transformer 架构的视觉模型。ViT 将输入图像表示为一系列图块,类似于在将 Transformer 应用于文本时使用的一系列单词嵌入,并且可直接预测图像的类别标签。使用充足的数据进行训练时,ViT 可表现出卓越的性能,优于与之对等的先进 CNN,而所需资源仅为后者的四分之一。为了促进这一领域的进一步研究,我们开源了代码和模型。
Vision Transformer
https://arxiv.org/abs/2010.11929Transformer
https://papers.nips.cc/paper/7181-attention-is-all-you-need.pdf代码和模型
https://github.com/google-research/vision_transformer
Vision Transformer 将输入图像视为一系列图块,类似于自然语言处理 (NLP) Transformer 生成的一系列词嵌入
Vision Transformer
Transformer 将文本中一系列单词作为输入,然后将其用于分类、翻译或其他 NLP 任务。对于 ViT,我们尽量避免修改 Transformer 设计,使其能够直接对图像(而不是文字)进行处理,同时观察模型能够自行学到多少有关图像结构的知识。
ViT 会将图像分为方块网格,通过连接一个方块中所有像素通道,然后将其线性投影到所需的输入维度,将每个方块展平为单个矢量。Transformer 与输入元素的结构无关