ICCV2021 | 重新思考视觉transformers的空间维度
论文:Rethinking Spatial Dimensions of Vision Transformers
代码:https://github.com/naver-ai/pit
获取:在CV技术指南后台回复“0006”
点个关注,专注于计算机视觉的技术总结、最新技术跟踪、经典论文解读。
前言:
由于基于transformers的架构在计算机视觉建模方面具有创新性,因此对有效架构的设计约定的研究还较少。从 CNN 的成功设计原则出发,我们研究了空间维度转换的作用及其对基于transformers的架构的有效性。
我们特别关注CNNs的降维原理;随着深度的增加,传统的 CNN 会增加通道维度并减少空间维度。我们凭经验表明,这种空间降维也有利于transformers架构,并在原始 ViT 模型上提出了一种新型的基于池化的视觉transformers (Pooling-based Vision Transformer--PiT)。
我们表明 PiT 实现了针对 ViT 的改进模型能力和泛化性能。在广泛的实验中,我们进一步表明 PiT 在图像分类、目标检测和鲁棒性评估等多项任务上优于baseline。
出发点
1. CNN 限制了空间交互,ViT 允许图像中的所有位置通过transformers层交互。
2. 虽然ViT 是一种创新架构,并且已经证明了其强大的图像识别能力,但它沿用了NLP中的 Transformer 架构,没有任何变化。
3. CNN 的一些基本设计原则在过去十年中已被证明在计算机视觉领域有效,但并未得到充分反映。
因此,我们重新审视了 CNN 架构的设计原则,并研究了它们在应用于 ViT 架构时的功效。
创新思路
CNN 以大空间尺寸和小通道尺寸的特征开始,并逐渐增加通道尺寸,同时减小空间尺寸。由于称为空间池化的层,这种维度转换是必不可少的。现代 CNN 架构,包括 AlexNet、ResNet和 EfficientNet,都遵循这一设计原则。
池化层与每一层的感受野大小密切相关。 一些研究表明,池化层有助于网络的表现力和泛化性能。 然而,与 CNN 不同的是,ViT 不使用池化层,而是在所有层中使用相同大小的空间。
首先,我们验证了 CNN 上池化层的优势。我们的实验表明,池化层证明了 ResNet 的模型能力和泛化性能。为了将池化层的优势扩展到 ViT,我们提出了一种基于池化的视觉transformers (PiT)。
PiT 是一种与池化层相结合的转换器架构。它可以像在 ResNet 中一样减少 ViT 结构中的空间大小。我们还研究了 PiT 与 ViT 相比的优势,并确认池化层也提高了 ViT 的性能。
最后,为了分析 ViT 中池化层的效果,我们测量了 ViT 的空间交互比,类似于卷积架构的感受野大小。我们展示了池化层具有控制自注意力层中发生的空间交互大小的作用,这类似于卷积架构的感受野控制。
Methods

网络架构维度配置的示意图
我们将 ResNet50 、Vision Transformer (ViT) 和基于池化的 Vision Transformer (PiT) 可视化;(a) ResNet50 从输入到输出逐渐下采样特征;(b) ViT 不使用池化层,因此所有层都保持特征维度;(c) PiT 涉及将层汇集到 ViT 中。
Pooling-based Vision Transformer(PiT)

PiT 架构的池化层
PiT 使用基于深度卷积的池化层,以小参数实现通道乘法和空间缩减。

Effects of the pooling layer in vision transformer (ViT)
我们在网络架构的各个方面将我们的基于池化的视觉transformer (PiT) 与原始 ViT 进行了比较。PiT 在容量、泛化性能和模型性能方面优于 ViT。
Spatial interactio
self-attention层在交互token数量上也有限制,因此交互区域是根据空间大小来确定的。
我们使用 ImageNet 上的预训练模型测量了 ViT 和 PiT 的空间交互区域。空间交互的标准是基于注意力矩阵的 soft-max 之后的分数。我们使用 1% 和 10% 作为阈值,计算超过阈值的交互发生的空间位置的数量,并通过将交互位置的数量除以空间标记的总大小来计算空间交互比率。
在 ViT 的情况下,交互作用平均在 20%-40% 之间,并且由于没有池化层,因此数值不会因层而有显着变化。PiT 减少了token的数量,同时通过池化增加了头部。
因此,如图 5 (a) 所示,早期层的交互率很小,但后一层显示出接近 100% 的交互率。为了与 ResNet 进行比较,我们将阈值更改为 10%,结果如图 5 (b) 所示。

在 ResNet 的情况下,3x3 卷积意味着 3x3 空间交互。因此,我们将 3x3 除以空间大小,并将其作为近似值与注意力的交互率进行比较。虽然 ViT 的交互率在各层中是相似的,但 ResNet 和 PiT 的交互率随着它通过池化层而增加。
Architecture

该表显示了 ViT 和 PiT 的spatial sizes, number of blocks, number of heads, channel size, 和FLOPs。PiT 的结构设计为尽可能与 ViT 相似,并具有更少的 GPU 延迟。
Conclusion
我们验证了 PiT 在各种任务上提高了 ViT 的性能。在 ImageNet 分类中,PiT 和在各种规模和训练环境下都优于 ViT。此外,我们还比较了 PiT 与各种卷积架构的性能,并指定了 Transformer 架构优于 CNN 的规模。
我们使用检测头进一步测量 PiT 在目标检测方面的性能。 基于 ViT 和 PiT 的 DETR在 COCO 2017 数据集上进行训练,结果表明 PiT 作为主干架构甚至比 ViT 更适合图像分类以外的任务。最后,我们通过稳健性基准验证了 PiT 在各种环境中的性能。


本文来源于公众号 CV技术指南 的论文分享系列。
欢迎关注公众号 CV技术指南 ,专注于计算机视觉的技术总结、最新技术跟踪、经典论文解读。
在公众号中回复关键字 “技术总结” 可获取以下文章的汇总pdf。

其它文章
经典论文系列 | 目标检测--CornerNet & 又名 anchor boxes的缺陷
在做算法工程师的道路上,你掌握了什么概念或技术使你感觉自我提升突飞猛进?
ICCV2021 | 重新思考视觉transformers的空间维度的更多相关文章
- ICCV2021 |重新思考人群中的计数和定位:一个纯粹基于点的框架
		
 论文:Rethinking Counting and Localization in Crowds:A Purely Point-Based Framework 代码:https://github ...
 - ICCV2021 | Swin Transformer: 使用移位窗口的分层视觉Transformer
		
 前言 本文解读的论文是ICCV2021中的最佳论文,在短短几个月内,google scholar上有388引用次数,github上有6.1k star. 本文来自公众号CV技术指南的论文分享系 ...
 - ICCV2021 | 用于视觉跟踪的学习时空型transformer
		
 前言 本文介绍了一个端到端的用于视觉跟踪的transformer模型,它能够捕获视频序列中空间和时间信息的全局特征依赖关系.在五个具有挑战性的短期和长期基准上实现了SOTA性能,具有实时性,比 ...
 - CVPR2021 | 重新思考BatchNorm中的Batch
		
 前言 公众号在前面发过三篇分别对BatchNorm解读.分析和总结的文章(文章链接在文末),阅读过这三篇文章的读者对BatchNorm和归一化方法应该已经有了较深的认识和理解.在本文将介绍一篇关于 ...
 - ICCV2021 | MicroNet:以极低的 FLOPs 改进图像识别
		
前言:这篇论文旨在以极低的计算成本解决性能大幅下降的问题.提出了微分解卷积,将卷积矩阵分解为低秩矩阵,将稀疏连接整合到卷积中.提出了一个新的动态激活函数-- Dynamic Shift Max,通过 ...
 - ICCV2021 | Vision Transformer中相对位置编码的反思与改进
		
前言 在计算机视觉中,相对位置编码的有效性还没有得到很好的研究,甚至仍然存在争议,本文分析了相对位置编码中的几个关键因素,提出了一种新的针对2D图像的相对位置编码方法,称为图像RPE(IRPE). ...
 - ICCV2021 | SOTR:使用transformer分割物体
		
前言 本文介绍了现有实例分割方法的一些缺陷,以及transformer用于实例分割的困难,提出了一个基于transformer的高质量实例分割模型SOTR. 经实验表明,SOTR不仅为实例分割提供了 ...
 - ICCV2021 | 渐进采样式Vision Transformer
		
 前言 ViT通过简单地将图像分割成固定长度的tokens,并使用transformer来学习这些tokens之间的关系.tokens化可能会破坏对象结构,将网格分配给背景等不感兴趣的区域,并引 ...
 - ICCV2021 | Tokens-to-Token ViT:在ImageNet上从零训练Vision Transformer
		
 前言 本文介绍一种新的tokens-to-token Vision Transformer(T2T-ViT),T2T-ViT将原始ViT的参数数量和MAC减少了一半,同时在ImageNet上从 ...
 
随机推荐
- 互联网巨头们的 SRE 运维实践「GitHub 热点速览 v.21.27」
			
作者:HelloGitHub-小鱼干 本周大热点无疑是前几天 GitHub 发布的 Copilot,帮你补全代码,给你的注释提出建议,预测你即将使用的代码组件-如此神奇的 AI 技术,恰巧本周微软也开 ...
 - 13.7Cloneable接口
			
要点提示:Cloneable接口给出了一个可克隆对象.
 - Defense:SMB协议漏洞利用与控制CVE-2017-7494("永恒之蓝")攻防实验
			
漏洞描述 1. 服务器打开了文件/打印机共享端口445,让其能够在公网上访问 2. 共享文件拥有写入权限 3. 恶意攻击者需猜解Samba服务端共享目录的物理路径 Samba是在Linux和UNIX系 ...
 - Hystrix 使用说明
			
1.什么情况下会触发 fallback 方法 名字 描述 触发fallback EMIT 值传递 NO SUCCESS 执行完成,没有错误 NO FAILURE 执行抛出异常 YES TIMEOUT ...
 - 小程序之app.json not found
			
起因 最近在部署几款小程序时,发现ext.json文件会被忽略不上传,查了一下资料发现原来是需要升级开发者工具了. 没想到升级以后,再开发项目时,就报错 app.json not found 解决方法 ...
 - PHP7与php5
			
php在2015年12月03日发布了7.0正式版,带来了许多新的特性,以下是不完全列表: 性能提升:PHP7比PHP5.6性能提升了两倍. Improved performance: PHP 7 is ...
 - XCTF simple js
			
思路分析: 进入靶场, 随便输入,肯定是错误的,f12看下源码,结合题目说js,把js代码单独拿出来看看. function dechiffre(pass_enc){ var pass = " ...
 - asp.net mvc请求流程
			
收对应用程序的第一个请求 > 执行路由 > 创建 MVC 请求处理程序 > 创建控制器 > 执行控制器 > 调用操作 > 执行结果
 - QT从入门到入土(一)——Qt5.14.2安装教程和VS2019环境配置
			
引言 24岁的某天,承载着周围人的关心,一路南下.天晴心静,听着斑马,不免对未来有些彷徨.但是呢,人生总要走陌生的路,看陌生的风景,所幸可以听着不变的歌,关心自己的人就那么多.就像是对庸常生活的一次越 ...
 - vue(16)vue-cli创建项目以及项目结构解析
			
vue-cli创建项目 上一篇我们安装了vue-cli,接下来我们就使用该脚手架进行创建项目 1.进入一个目录,创建项目 创建项目命令如下: vue create <Project Name&g ...