VIT

An image is worth 16x16 words: transformers for image recognition at scale 将transformer首次应用在视觉任务中,并取得了超过CNN方法的性能。

标准的transformer接收一维的向量序列如 \((x_1, x_2, ..., x_N), x_i \in R^{D}\)。为了处理2D图像,将图像 \(X\in R^{H \times W \times C}\) 拆分成若干个小patch \({\bf x}_p \in R^{P \times P \times C}\),并将patch展平 \({\bf x}_p \in R^{P^2 C}\),其中patch的数量 \(N=HW/P^2\)。裁剪展平的图像块patch的维度是 \(P^2C\),一般经过线性投影变换将其映射为统一的维度D,参考公式1

类似于BERT的 class token,本文将一个可学习的embedding放置在表示过的图像块特征序列的首位(\({\bf z}_0^0 ={\bf z}_{cls}\)),这样有N+1 个Embedding token,经过transformer编码后得到的首位特征(\({\bf z}_L^0\)) 作为图像特征

为了将图像拆分序列后仍保留图像块间的位置信息,在图像块patch embedding基础上添加可以训练的位置特征,本文采用可学习的1维位置表示position embedding。因为对比了其它2D 位置表示没有达到更好的性能,故而就采用了1D 位置表示方式。

transformer编码包含了多头自注意MSA模块, MLP模块,归一化LN模块,每个模块后都有residual连接。公式表达上述过程如下:

\({\bf z}_0=[{\bf z}_{cls}; {\bf x}_p^1 \bf E; ...; {\bf x}_p^N \bf E]+{\bf E}_{pos}\), \({\bf E} \in R^{(P^2C) \times D},{\bf E}_{pos} \in R^{(N+1) \times D}\)

Token Labeling

常规图像分类任务是,经过backbone表示为一个向量\(x\in R^d\),再通过一个分类器得到在各个类别上的概率值,取概率值最大的类别作为该图片预测的类别。往往上述backbone若干layers,通常是将中间的feature map \(x\in R^{h \times w \times d}\) 经过某种池化得到最终的一维向量。而Token Label则是对池化前的feature map预测每个空间特征点的类别信息,而预测用的分类器仍使用原分类器。这种得到池化前的特征图各个空间点对应特征图片级语义类别的方法,叫做Token Labeling。

以ImageNet训练为例,除了图片本身的类别信息外;使用预训练的模型可以预测ImageNet数据池化前的特征图的各个空间点特征的语义类别,可以辅助训练分类任务(图片中目标物可能未占据整张图片,而池化前的特征图空间点特征也对应一个图片中局部区域)

上述表述是按照CNN思路,对于Transformer亦是如此,基于Transformer也是将图像拆分为若干的patch再生成Token。

VIT论文笔记的更多相关文章

  1. Deep Learning论文笔记之(四)CNN卷积神经网络推导和实现(转)

    Deep Learning论文笔记之(四)CNN卷积神经网络推导和实现 zouxy09@qq.com http://blog.csdn.net/zouxy09          自己平时看了一些论文, ...

  2. 论文笔记之:Visual Tracking with Fully Convolutional Networks

    论文笔记之:Visual Tracking with Fully Convolutional Networks ICCV 2015  CUHK 本文利用 FCN 来做跟踪问题,但开篇就提到并非将其看做 ...

  3. Deep Learning论文笔记之(八)Deep Learning最新综述

    Deep Learning论文笔记之(八)Deep Learning最新综述 zouxy09@qq.com http://blog.csdn.net/zouxy09 自己平时看了一些论文,但老感觉看完 ...

  4. Twitter 新一代流处理利器——Heron 论文笔记之Heron架构

    Twitter 新一代流处理利器--Heron 论文笔记之Heron架构 标签(空格分隔): Streaming-process realtime-process Heron Architecture ...

  5. Deep Learning论文笔记之(六)Multi-Stage多级架构分析

    Deep Learning论文笔记之(六)Multi-Stage多级架构分析 zouxy09@qq.com http://blog.csdn.net/zouxy09          自己平时看了一些 ...

  6. Multimodal —— 看图说话(Image Caption)任务的论文笔记(一)评价指标和NIC模型

    看图说话(Image Caption)任务是结合CV和NLP两个领域的一种比较综合的任务,Image Caption模型的输入是一幅图像,输出是对该幅图像进行描述的一段文字.这项任务要求模型可以识别图 ...

  7. 论文笔记(1):Deep Learning.

    论文笔记1:Deep Learning         2015年,深度学习三位大牛(Yann LeCun,Yoshua Bengio & Geoffrey Hinton),合作在Nature ...

  8. 论文笔记(2):A fast learning algorithm for deep belief nets.

    论文笔记(2):A fast learning algorithm for deep belief nets. 这几天继续学习一篇论文,Hinton的A Fast Learning Algorithm ...

  9. 论文笔记:Towards Diverse and Natural Image Descriptions via a Conditional GAN

    论文笔记:Towards Diverse and Natural Image Descriptions via a Conditional GAN ICCV 2017 Paper: http://op ...

  10. 【论文笔记】Malware Detection with Deep Neural Network Using Process Behavior

    [论文笔记]Malware Detection with Deep Neural Network Using Process Behavior 论文基本信息 会议: IEEE(2016 IEEE 40 ...

随机推荐

  1. [OpenCV实战]39 在OpenCV中使用ArUco标记的增强现实

    文章目录 1 什么是ArUco标记? 2 在OpenCV中生成ArUco标记 3 检测Aruco标记 4 增强现实应用 5 总结和代码 5.1 生成aruco标记 5.2 使用aruco增强现实 6 ...

  2. Hello 2023 A-D

    比赛链接 A 题意 给一个字符串每个物品对应的灯的照明方向,L/R 能照亮它左侧/右侧的所有物品(不包括自己对应的物品),现在能交换相邻两个灯一次(不改变照明方向),问能否找亮所有物品. 题解 知识点 ...

  3. ACWJ_00扫描器

    第一部分:词法扫描介绍 ​ 我们从一个简单的词汇扫描器开始我们的编译器编写之旅.正如我在之前部分所提到的,扫描器的任务是从输入语言中(用来编译的语句)识别词法元素或者是符号. ​ 我们将定义一个只有5 ...

  4. 使用Rancher管理K3s

    rancher中国镜像站地址 https://rancher-mirror.oss-cn-beijing.aliyuncs.com/ https://rancher-mirror.rancher.cn ...

  5. 突如其来的"中断异常",我(Java)该如何处理?

    # **一.何为异常?** ## 1.生活中的实例 生活中存在许多不正常: 上班路上自行车掉链子 上厕所手机掉马桶 下班回家钥匙丢失 ....... 2.程序中的实例 我们的代码中也许存在许多纰漏,导 ...

  6. 【实战】yolov8 tensorrt模型加速部署

    [实战]yolov8 tensorrt模型加速部署 TensorRT-Alpha基于tensorrt+cuda c++实现模型end2end的gpu加速,支持win10.linux,在2023年已经更 ...

  7. python 第一二次教学笔记之数据操作

    对Python 有一个认知 记住这是一个动态类型的,弱类型语言 ds =111.0 #弱类型 前面不用写明是具体什么类型 haobo=10 haobo = ds #类型转换不再有高低之分 hoabo ...

  8. Codeforces Round #601 (Div. 2) A-E

    比赛链接 A 题意 给两个数字 \(a,b\) ,每次操作可以使 \(a\) 加上 \(+1,+2,+5,-1,-2,-5\) 中的一个数,求最少多少次操作可以将 \(a\) 变成 \(b\) . 题 ...

  9. 作业详解及流程控制之for循环

    作业详解及流程控制之for循环 目录 作业详解及流程控制之for循环 一.作业详解 1.根据用户输入内容打印其权限 2.编写用户登录程序 4.猜年龄的游戏 二.流程控制之for循环 三.while循环 ...

  10. VMware虚拟软件使用方法、网络配置与远程连接排错方法

    一.虚拟软件使用方法 1. 软件启动方法 系统当中有些软件是可以多次启动,多实例 vmware不具有多实例功能 2. 软件关闭注意事项 尽量选择挂起虚拟主机关闭软件 3. 虚拟主机拍快照(后悔药 月光 ...