【Paper Note】An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale

论文信息

文章题目:An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale
作者:Dosovitskiy, A., Lucas Beyer, Alexander Kolesnikov, Dirk Weissenborn, Xiaohua Zhai, Thomas Unterthiner, M. Dehghani, Matthias Minderer, Georg Heigold, S. Gelly, Jakob Uszkoreit and N. Houlsby
时间:2020
来源:ICLR 2021 / ArXiv
paper:http://arxiv.org/pdf/2010.11929v1
code:https://github.com/google-research/vision_transformer , https://github.com/lucidrains/vit-pytorch , https://github.com/likelyzhao/vit-pytorch
引用:Dosovitskiy, A., Beyer, L., Kolesnikov, A., et al (2020). An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale.ArXiv, abs/2010.11929.

总体认知

  • 研究的基本问题
    Transformer直接应用于图像领域,进行图像分类任务,而不修改Transformer架构,也不使用CNN。
  • 主要想法
    image分割成大小一致的patch,对应于NLP中的token,再将其进行嵌入表示,成为Transformer的输入。在patch前加入一个class表示,对应全局信息(图片分类),进行最终的预测。
  • 结果与结论
    在中规模数据上,表现一般。在大规模数据集预训练下,表现优异。且节省训练开销。
  • 不足与展望
    1.无法保留图像的二维结构信息(局部特性,归纳偏置),要依靠大量数据来弥补。
    2.预训练与微调的开销问题。如何更有效利用自监督的预训练。
    3.将transformer应用于cv中的其他领域。

Introduction

先前的研究,attention经常要跟CNN结合使用,而在本篇文章中,在图像块(image patches)的序列上应用纯粹的Transformer模型也可以表现得很好。

将一个标准Transformer直接应用到图像上,尽可能少的修改。为此,我们将图像分割成小块,并将这些块转化为线性嵌入序列,作为Transformer的输入。图像块(image patches)就相当于NLP任务中的单词(token)来做处理。并以有监督的方式训练图像分类模型。

当在中等规模的数据集(如ImageNet)上进行训练时,模型的准确率比同等规模的resnet低几个百分点。这一看似令人沮丧的结果是意料之中的:Transformer缺乏cnn所固有的一些归纳偏置(inductive biases),如平移不变性(translation equivariance)和局部性(locality),因此在数据量不足的情况下训练时不能很好地泛化

然而,如果在更大的数据集(1400 -300万张图像)上训练模型,情况就会发生变化。我们发现大规模的训练可以克服归纳偏置(inductive biases)。当ViT在足够的规模上进行预先训练,并迁移到具有较少数据量的任务时,可以获得出色的结果。

Method

VISION TRANSFORMER (VIT)

在这里插入图片描述

预处理

将一张图片(H×W×C)分割为N个图像块(P×P×C),图像块长宽为P和P,那么 N = ( H ∗ W ) / P 2 N=(H*W)/P^2 N=(HW)/P2
再把每个图像块展平后连接得到一个N×P^2×C的二维矩阵,这样就可以作
为Transformer的输入了。

在这里插入图片描述

但有一个问题,因为P是不固定的,那么得到的的每个patch的向量长度也是不一样的,为了模型不受patch size 大小的影响,作者引入了Linear Projection of Flattened Patches来把每个 P 2 × C P^2×C P2×

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值