CVPR2021 | 华为诺亚实验室提出Transformer in Transformer
前言:
transformer用于图像方面的应用逐渐多了起来,其主要做法是将图像进行分块,形成块序列,简单地将块直接丢进transformer中。然而这样的做法忽略了块之间的内在结构信息,为此,这篇论文提出了一种同时利用了块内部序列和块之间序列信息的transformer模型,称之为Transformer-iN-Transformer,简称TNT。
主要思想

TNT模型把一张图像分为块序列,每个块reshape为像素序列。经过线性变换可从块和像素中获得patch embedding和pixel embedding。将这两者放进堆叠的TNT block中学习。
在TNT block中由outer transformer block和inner transformer block组成。
outer transformer block负责建模patch embedding上的全局相关性,inner block负责建模pixel embedding之间的局部结构信息。通过把pixel embedding线性映射到patch embedding空间的方式来使patch embedding融合局部信息。为了保持空间信息,引入了位置编码。最后class token通过一个MLP用于分类。
通过提出的TNT模型,可以把全局和局部的结构信息建模,并提高特征表示能力。在精度和计算量方面,TNT在ImageNet和downstream 任务上有非常优异的表现。例如,TNT-S所在ImageNet top-1上在只有5.2B FLOPs的前提下实现了81.3%,比DeiT高了 1.5%。
一些细节

对照这个图,用几个公式来介绍。

MSA为Multi-head Self-Attention。
MLP为Multi Layer Perceptron。
LN为Layer Normalization。
Vec为flatten。
加号表示残差连接。
前两个公式是inner transformer block,处理块内部的信息,第三个公式是将块内部的信息通过线性映射到patch embedding空间,最后两个公式是outer transformer block,处理块之间的信息。
位置编码的方式看下面的图就足了。

模型参数量和计算量如下表所示:

Conclusion

最近把公众号(CV技术指南)所有的技术总结打包成了一个pdf,在公众号中回复关键字“技术总结”可获取。

本文来源于公众号CV技术指南的技术总结系列,更多内容请扫描文末二维码关注公众号。

CVPR2021 | 华为诺亚实验室提出Transformer in Transformer的更多相关文章
- 学界 | 华为诺亚方舟实验室提出新型元学习法 Meta-SGD ,在回归与分类任务中表现超群
学界 | 华为诺亚方舟实验室提出新型元学习法 Meta-SGD ,在回归与分类任务中表现超群 机器之心发表于机器之心订阅 499 广告关闭 11.11 智慧上云 云服务器企业新用户优先购,享双11同等 ...
- 华为终端开放实验室Android Beta 4测试能力上线
7月26日,Android P Beta 4发布(即Android P DP5),此版本为开发者最后一个预览版本,也预示着Android P正式版即将与大家见面. 为保证开发者在正式版本来临前做 ...
- 华为终端开放实验室Android P Beta 4测试能力上线
7月26日,Android P Beta 4发布(即Android P DP5),此版本为开发者最后一个预览版本,也预示着Android P正式版即将与大家见面. 为保证开发者在正式版本来临前做好充分 ...
- (转)The Evolved Transformer - Enhancing Transformer with Neural Architecture Search
The Evolved Transformer - Enhancing Transformer with Neural Architecture Search 2019-03-26 19:14:33 ...
- Batch Size对神经网络训练的影响
前言 这篇文章非常全面细致地介绍了Batch Size的相关问题.结合一些理论知识,通过大量实验,文章探讨了Batch Size的大小对模型性能的影响.如何影响以及如何缩小影响等有关内容. 本文来 ...
- 经典论文系列 | 缩小Anchor-based和Anchor-free检测之间差距的方法:自适应训练样本选择
前言 本文介绍一篇CVPR2020的论文,它在paperswithcode上获得了16887星,谷歌学术上有261的引用次数. 论文主要介绍了目标检测现有的研究进展.anchor-based和 ...
- 计算机视觉--CV技术指南文章汇总
前言 本文汇总了过去本公众号原创的.国外博客翻译的.从其它公众号转载的.从知乎转载的等一些比较重要的文章,并按照论文分享.技术总结三个方面进行了一个简单分类.点击每篇文章标题可阅读详细内容 欢迎关注 ...
- 自动网络搜索(NAS)在语义分割上的应用(一)
[摘要]本文简单介绍了NAS的发展现况和在语义分割中的应用,并且详细解读了两篇流行的work:DARTS和Auto-DeepLab. 自动网络搜索 多数神经网络结构都是基于一些成熟的backbone, ...
- ACNet:用于图像超分的非对称卷积网络
编辑:Happy 首发:AIWalker Paper:https://arxiv.org/abs/2103.13634 Code:https://github.com/hellloxiaotian/A ...
随机推荐
- Go的切片
目录 切片 一.切片的创建 1.先创建数组,再引用 二.切片的修改 三.切片的长度和容量 四.使用make创建切片 五.切片的修改和追加 1.修改 2.追加:append 六.切片的函数传值 七.多维 ...
- 进位&&大数字符串处理
Have Fun with Numbers Notice that the number 123456789 is a 9-digit number consisting exactly the nu ...
- Android Layout属性
通用属性 android:layout_height android:layout_width 值 含义 fill_parent/match_parent 高度或者宽度对齐到父控件 wrap_cont ...
- 剑指 Offer 60. n个骰子的点数 + 动态规划 + 空间优化
剑指 Offer 60. n个骰子的点数 Offer_60 题目详情 题解分析 package com.walegarrett.offer; /** * @Author WaleGarrett * @ ...
- 第十届蓝桥杯省赛-试题E: RSA 解密
试题E: RSA 解密 这里涉及到很多数论的知识:质因子分解,扩展欧几里得算法,快速幂算法,利用快速乘算法求解快速幂(mod太大导致不能直接乘,而是需要使用加法来替代乘法) 另外还需要注意扩展欧几里得 ...
- three.js cannon.js物理引擎之齿轮动画
郭先生今天继续说一说cannon.js物理引擎,并用之前已经学习过的知识实现一个小动画,知识点包括ConvexPolyhedron多边形.Shape几何体.Body刚体.HingeConstraint ...
- Linux速通08 网络原理及基础设置、软件包管理
使用 ifconfig命令来维护网络 # ifconfig 命令:显示所有正在启动的网卡的详细信息或设定系统中网卡的 IP地址 # 应用 ifconfig命令设定网卡的 IP地址: * 例:修改 et ...
- Django 页面缓存的cache_key是如何生成的
页面缓存 e.g. @cache_page(time_out, key_prefix=key_prefix) def my_view(): ... 默认情况下,将使用配置中的default cache ...
- 痞子衡嵌入式:盘点国内车规级MCU厂商
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是国内车规级MCU厂商及其产品. 在汽车电子领域,MCU的应用非常广泛,大到车身控制与动力总成,小到雨刷车窗等控制单元,都离不开MCU的身 ...
- apk动态调试
android.os.Debug类提供了isDebuggerConnected()用于检测是否有调试器链接: AndroidManifest的application节点中加入android:debug ...