【Paper Reading】ViT:An Image is worth 16X16 Words:Transformers for Image Recognition at Scale

背景

Transformer已经在NLP领域取得了许多的进展,并且拥有较好的可解释性,本文的主要工作是将Transformer迁移到图片分类的任务中。
作者在大规模数据集上取得了较好的效果,在中等规模的数据集上取得比CNN差一点的结果。作者了也做了分析,原有的CNN很适合处理图像,主要有两个优势:

  1. 局部性:空间上相近的相似点,他们的特征也是相似的。
  2. 空间不变性(平移不变性):CNN kernel在计算的过程中整体上是共享参数的,所以一个图像块不论在图像中的哪个位置,其通过CNN后特征都是一样的。

方法

网络结构如下图所示。

  1. 首先将图像split成为许多的patch,由这些patch组成来输入到Transformer Encoder的序列。patch的大小一般为16X16。
  2. patch一般会flatten之后经过Linear Projection。线性映射在不同patch之间是不是共享参数的?
  3. 线性映射完成之后会再和position embedding结合,输入到Transformer Encoder里面去。注意:第一个位置 0会concat一个向量,这个向量会默认融合其他patch的信息,从而输入到MLP Head中取。这个*是怎么得到的?这个*一开始就是个Learnable 的参数,在不停的学习更新。
    network architecture
    cls token

相关变种

  1. T2T-ViT
    上面文章中也分析了,ViT在中等规模数据集上打不过ResNet的原因,主要一个是缺少局部性。为了解决这个问题,依图的作者们提出了T2T的module,用来融合Token之间的局部相关性。
    在我来看,这个T2Tmodule相当于是借鉴了CNN的卷积操作。T2T module的定义如下图所示。
    在这里插入图片描述
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值