《Vision Permutator: A Permutable MLP-Like ArchItecture For Visual Recognition》论文笔记
论文题目:《Vision Permutator: A Permutable MLP-Like ArchItecture For Visual Recognition》
论文作者:Qibin Hou, Zihang Jiang, Li Yuan et al.
论文发表年份:2022.2
模型简称:ViP
发表期刊: IEEE Transactions on Pattern Analysis and Machine Intelligence
Abstract
在本文中,我们提出了一种概念简单、数据高效的类似MLP的视觉识别体系结构——视觉置换器(Vision Permutator)。不同于最近的类似MLP的模型大都沿着平坦的空间维度编码空间信息。由于认识到二维特征表示所携带的位置信息的重要性,Vision Permutator通过线性投影分别对沿高度和宽度维度的特征表示进行编码。这使得Vision Permutator可以沿着一个空间方向捕获远程依赖关系,同时保持沿着另一个方向的精确位置信息。由此产生的位置敏感输出,然后以相互补充的方式聚合,形成感兴趣的对象的表达。Vision Permutator由纯1 × 1卷积组成,但可以对全局信息进行编码。Vision Permutator也消除了对自注意力的依赖,因此效率更高。开源代码: https://github.com/Andrew-Qibin/VisionPermutator
Method
Vision Permutator从与Vision Transformers类似的tokenization操作开始,它将输入图像统一地分割为小块,然后将它们映射到带有线性投影的token embedding。然后将形状为“height×width×channels”的结果token embeddings到Permutator block序列中,每个Permutator block由一个用于空间信息编码的Permute-MLP和一个用于通道信息混合的Channel - MLP组成。Permute-MLP层如下图所示,
Permute-MLP层由三个独立的分支组成,每个分支沿特定的维度编码特征,即高度、宽度或通道维度。Channel-MLP模块的结构与Transformer中的前馈层相似,包括两个完全连接的层,中间有一个GELU激活。公式如下:
对于Channel信息编码,只需要一个权重WC∈RC×C的全连接层,就可以对输入X进行线性投影,得到XC。对于高度信息编码,首先对传入的分割好的每个tokens作维度变换(ex:Transpose the first (Height) dimension and the third (Channel) dimension: (H, W, C) → (C, W, H).)然后沿着通道维度连接它们作为Premute的输出,传入Linear Projection:连接权重为WH∈RC×C的全连接层,混合高度信息。再通过维度变换复原输入维度。对宽度信息编码作类似处理,最后讲三个分支的输出加和作为最后全连接层的输入。Linear Projection的输出公式表示如下:(最后输出再与input tokens作跳跃连接得到最终Permute-MLP的输出。)
Weighted Permute-MLP:上述方法只是简单地将所有三个分支的输出通过元素相加来融合。在这里,我们通过重新校准不同分支的重要性,进一步改进了上述Permute-MLP,并提出加权Permute-MLP。这可以通过利用分散注意力(split attention)实现。不同的是,分散注意力应用于XH、XW和XC,而不是由分组卷积生成的一组张量。在下文中,我们默认使用Permutator中的加权Permute-MLP。
Experiment
与ImageNet上最近的类MLP模型比较Top-1精度,所有模型都是在没有外部数据的情况下进行训练的。在相同的计算量和参数约束下,我们的模型始终优于其他方法。

与ImageNet上的经典CNN和Vision Transformer的精度比较。所有模型都是在没有外部数据的情况下进行训练的。在相同的计算和参数约束下,我们的模型可以与一些强大的基于CNN和基于Transformer的模型竞争。
.
《Vision Permutator: A Permutable MLP-Like ArchItecture For Visual Recognition》论文笔记的更多相关文章
- [place recognition]NetVLAD: CNN architecture for weakly supervised place recognition 论文翻译及解析(转)
https://blog.csdn.net/qq_32417287/article/details/80102466 abstract introduction method overview Dee ...
- 论文笔记系列-Auto-DeepLab:Hierarchical Neural Architecture Search for Semantic Image Segmentation
Pytorch实现代码:https://github.com/MenghaoGuo/AutoDeeplab 创新点 cell-level and network-level search 以往的NAS ...
- 论文笔记——Rethinking the Inception Architecture for Computer Vision
1. 论文思想 factorized convolutions and aggressive regularization. 本文给出了一些网络设计的技巧. 2. 结果 用5G的计算量和25M的参数. ...
- 论文笔记:Fast Neural Architecture Search of Compact Semantic Segmentation Models via Auxiliary Cells
Fast Neural Architecture Search of Compact Semantic Segmentation Models via Auxiliary Cells 2019-04- ...
- 论文笔记:ProxylessNAS: Direct Neural Architecture Search on Target Task and Hardware
ProxylessNAS: Direct Neural Architecture Search on Target Task and Hardware 2019-03-19 16:13:18 Pape ...
- 论文笔记:DARTS: Differentiable Architecture Search
DARTS: Differentiable Architecture Search 2019-03-19 10:04:26accepted by ICLR 2019 Paper:https://arx ...
- 论文笔记:Progressive Neural Architecture Search
Progressive Neural Architecture Search 2019-03-18 20:28:13 Paper:http://openaccess.thecvf.com/conten ...
- 论文笔记:Auto-DeepLab: Hierarchical Neural Architecture Search for Semantic Image Segmentation
Auto-DeepLab: Hierarchical Neural Architecture Search for Semantic Image Segmentation2019-03-18 14:4 ...
- 论文笔记系列-DARTS: Differentiable Architecture Search
Summary 我的理解就是原本节点和节点之间操作是离散的,因为就是从若干个操作中选择某一个,而作者试图使用softmax和relaxation(松弛化)将操作连续化,所以模型结构搜索的任务就转变成了 ...
随机推荐
- 单调栈_Largest Rectangle in a Histogram
题面 https://flowus.cn/xjsc01/share/395ca9dc-315c-4bd5-a942-016709980c03 这里还有很多笔记(归纳好的) https://www.ac ...
- InvalidClassException异常_原理和解决方案和练习_序列化集合
InvalidClassException异常_原理和解决方案 当JVM反序列化对象的时候,能找到class文件,但是class文件在序列化对象之后发生了修改,那么反序列化操作也会失败,抛出一个Inv ...
- python 生成Windows快捷方式
此处以虚拟机镜像快捷方式为例 link_filepath:快捷方式的生成路径 win32_cmd:需要执行的应用程序 arg_str:exe的参数 快捷方式的目标:由win32_cmd + arg_s ...
- php date函数和首位带0问题
一.带零 echo date('Y-m-d'); 2012-08-08 二.不带零 echo date('Y-n-j'); 2012-8-8 以下为参数详解(转载): a - "am&quo ...
- 论文翻译:2022_Time-Frequency Attention for Monaural Speech Enhancement
论文地址:单耳语音增强的时频注意 引用格式:Zhang Q, Song Q, Ni Z, et al. Time-Frequency Attention for Monaural Speech Enh ...
- 【Java面试】怎么防止缓存击穿的问题?
"怎么防止缓存击穿?" 这是很多一二线大厂面试的时候考察频率较高的问题. 在并发量较高的系统中,缓存可以提升数据查询的性能,还能缓解后端存储系统的并发压力.可谓是屡试不爽的利器. ...
- 让 DolphinScheduler 1.3.4 开启 Netty 日志打印,解决流程实例一直在运行中的问题
关于新一代大数据任务调度 - Apache DolphinScheduler Apache DolphinScheduler(incubator) 于 17 年在易观数科立项, 19 年 8 月进 ...
- Spring MVC组件之HandlerMapping
Spring MVC组件之HandlerMapping HandlerMapping概述 HandlerMapping组件的作用解析一个个Request请求,并找到相应处理这个Request的Hand ...
- Python 工匠:一个关于模块的小故事
前言 模块(Module)是我们用来组织 Python 代码的基本单位.很多功能强大的复杂站点,都由成百上千个独立模块共同组成. 虽然模块有着不可替代的用处,但它有时也会给我们带来麻烦.比如,当你接手 ...
- 第三课:nodejs npm和vue
1.安装node js 2.node js给windows提供了一个可以直接执行js的环境{node提供翻译} 3.npm是包管理器 a.npm是nodejs的组成部分 b.管 包(package) ...