ViT(Vision Transformer)学习

ViT(Vison Transformer)学习

Paper:An image is worth 16×16 words: transformers for image recognition at scale. In ICLR, 2021.

Transformer 在 NLP领域大放异彩,并且随着模型和数据集的不断增长,仍然没有表现出饱和的迹象。这使得使用更大规模的数据对Transformer结构进行训练得到表现更优的模型成为了一种解决问题的方案。受 NLP 中 Transformer 成功的启发,作者尝试将标准 Transformer 直接应用于图像,并进行尽可能少的修改。为此,作者将图像拆分为补丁,并提供这些补丁的线性嵌入序列作为 Transformer 的输入。 在 NLP 应用程序中,图像补丁的处理方式与标记(单词)相同。 并以监督方式训练图像分类模型。

模型概述

image-20210701092752310

主要流程如下:

  • 将图像分割成固定大小的块,作为三维张量
  • 将三维张量向量化为一维序列
  • 对一维序列采用共享参数的Dense层进行嵌入
  • 将线形层输出结果进行位置嵌入编码,输入给多层Transformer叠加的 Transformer Encoder 进行编码
  • 对编码结果进行 Softmax,以输出作为分类矩阵

张量向量化

image-20210701112205853

将分割的图像块张量扁平化为向量

对向量进行嵌入

采用Dense层对向量进行嵌入

image-20210701112247321

同时,所有的 Dense 层共享参数信息

image-20210701112308252

对 embedding 进行位置编码

image-20210701112352794

即对位置信息进行编码并与 embedding 进行加和

使用Transformer Encoder 进行处理

image-20210701112511362

将编码结果输入多层堆叠的 Transformer,并最终使用 [CLS] 的输出作为分类结果

大数据集预训练

image-20210701112531315

模型在大规模数据集上进行预训练,在目标数据集上进行 finetuning ,并最终在目标数据集的测试集上进行测试

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值