打破Transformer宿命!新秀VOLO开源!横扫CV多项记录,首个超越87%的模型
点击下方卡片,关注“CVer”公众号
AI/CV重磅干货,第一时间送达
作者丨Happy 审稿|邓富城
转载自丨极市平台
导读
一直以来,Transformer的性能距离最佳的CNN仍存在差距,而今天由颜水成团队开源的新秀VOLO打破了这一宿命,成为了ImageNet数据上首个无需额外数据达到87.1%的模型。
近来,Transformer在CV领域遍地开花,取得了非常好的性能,指标屡创新高。但Transformer的性能距离最佳的CNN仍存在差距,不由产生出一种Transformer不过如此的感觉。可是,就在今天,Transformer领域的新秀VOLO打破了Transformer无法打败最优CNN的宿命,成为了ImageNet数据上首个无需额外数据达到87.1%的模型;与此同时,VOLO在下游语义分割任上也创新了新记录,比如Cityscapes数据上的84.3%,ADE20K数据上的54.3%。
paper: https://arxiv.org/abs/2106.13112
code: https://github.com/sail-sg/volo
Abstract
视觉识别任务已被CNN主宰多年。基于自注意力的ViT在ImageNet分类方面表现出了极大的潜力,在没有额外数据前提下,但其性能距离最优秀的CNN仍具有差距。
本文旨在缩小上述性能差异并证实:基于注意力的模型确实可以做的比CNN更好。我们发现:限制ViT在ImageNet分类方面性能的主要原因在于其将细粒度特征编码为词表达过程的低效性。为解决该问题,本文提出了一种新颖的outlook
注意力并构建了一种广义架构Vision Outlooker
(VOLO)。不同于仅仅聚焦于粗粒度全局依赖建模的自注意力,所提Outlook注意力旨在更高效的将细粒度特征与上下文信息编码到词表达中,而这对于识别性能非常重要,但往往被自注意力所忽视。
实验结果表明:无需任务额外训练数据,所提出的VOLO成为ImageNet分类任务上首个达到87.1%top1精度的模型。此外,预训练VOLO在下游任务上的迁移能力同样非常好,比如,在语义分割任务上,所提方案在ADE20K验证集上达到了54.3%,在Cityscapes验证集上达到了84.3%的mIoU指标,均创下了新记录。
Method
本文所提方法可以视作两阶段架构,第一个阶段包含多个用于生成细粒度词表达的Outlookers;第二个阶段采用Transformer序列集成全局信息。在每个阶段的开始,我们需要采用一个块嵌入模块将词表达映射到期望的形状。
Outlooker
Outlooker包含一个用于空间信息编码的outlook注意力层与一个用于通道间信息交互的多层感知器。给定C维词表达输入,Outlooker可以表示为如下形式:
Outlook Attention
Outlook注意力非常简单、高效且易于实现(见上图),其背后隐含的主要洞察在于:
每个空间位置的特征是足够成分并用于生成近邻特征聚合的注意力权值;
稠密的局部空间聚合可以高效的编码细粒度信息。
对于每个空间位置(i,j),Outlook注意力计算局部窗口内全部相似性。不用于自注意力仅需Query-Key矩阵乘(即),outlook通过简单的reshape操作简化了上述过程。
给定输入X,每个C维词首先采用两个线性层投影为Outlook权值与。假设表示局部窗口内所有值,即
Outlook Attention
位置(i,j)处的Outlook权值可以直接用作注意力权值,并reshap为后接Softmax函数。因此,值投影可以写成如下形式:
Dense Aggregation
Outlook注意力采用稠密方式聚合上述投影值表达,描述如下:
下图给出了Pytorch风格的伪代码实现,其中Eqn3,Eqn4, Eqn5对应上面三个公式。
Multi-Head Outlook Attention
多头Outlook注意力的实现非常简单,假设头数为N。我们仅需调节的形状为。因此,outlook权值与值嵌入被均匀的拆分为N份:。对于每对,Outlook注意力分别计算后并结果拼接构成多头Outlook注意力的输出。
Discussion
本文所提Outlook注意力继承了卷积与自注意力各自的优点,包含如下:
它通过度量成对词表达之间的相似性编码了空间信息,比卷积更加高效;
它采用滑动窗口形式在细粒度层面编码局部词表达,在某种程度上保持了对视觉任务非常重要的位置信息;
生成注意力权值的方式简单且高效。
Network Architecture Variants
我们在LV-ViT基础上构建了本文所提VOLO,在ImageNet上仅需150M参数即可取得86.2%的top1精度。原始的LV-ViT采用块嵌入模块将输入投影为的词,然后通过一系列Transformer模块在词上进行处理。为利用细粒度词表达,在第一阶段,我们调整了块嵌入模块并的图像块进行词化,而非;后接Outlookers堆叠生成细粒度的更具表达能力的词表达。在第二阶段,我们采用另一个块嵌入模块进行词下采样,然后采用一系列Transformer编码全局信息。
基于上述网络架构,我们构建了五个版本的VOLO,见下表。
Experiments
我们首先在ImageNet上进行了所提方法的性能对比,然后在下游任务上进行迁移能力对比。
ImageNet Classification
上表给出了所提方法与其他CNN、Transformer等方法的性能对比,从中可以看到:
在不同水平模型下,所提方法均取得了比其他方案更佳的性能;
以VOLO-D1为例,它仅需26.6M参数,在224分辨率即可取得84.2%的top1精度,在384分辨率可以进一步提升到85.2%,显著优化其他同等参数量的模型;
当模型参数量提升到296M,所提方案在ImageNet上达到了87.1%的top1精度,此为无额外训练数下的新记录。也即是说,VOLO-D5是业界首个仅需ImageNet训练数据即可达到87.1%top1精度的模型
所提方案在RealTop1与V2Top1基准上同样取得了最佳指标。VOLO-D4仅需193M参数量即可超过其他模型,包含CaiT-M48与NFNet。
更具体地,所提方法在ImageNetV2上的表现更佳。比如VOLO-D3可以在此前最佳指标的基础上提升0.8%且参数量更少;而VOLO-D5则可以进一步将模型性能提升到78%。
Semantic Segmantation
接下来,我们以前述预训练模型在语义分割任务上进行迁移能力验证。
上面两个表分别给出了Cityscapes与ADE20K数据上的性能对比,从中可以看到:
在Cityscapes数据上,所提方法超过了其他所有方法,包含最近的SegFormer-B5.
所提VOLO-D4+UperNet取得了当前最佳84.3%,以0.3%指标优于此前最佳,创造了Cityscapes验证集的新记录。
在ADE20K数据集上,所提方法同样取得了超过其他所有方法的性能。
VOLO-D5+UperNet的组合取得了54.3%的指标,同样取得了ADE20K数据上的新记录。
Ablation Analysis
上表对比了模型缩放的性能影响,从中可以看到:
模型缩放有助于提升模型性能,比如VOLO-D1到VOLO-D2可以带来1%的性能提升,VOLO-D5可以带来额外的1%提升;
更高分辨率的微调同样可以带来性能提升,约1%。
上表对比了,Outlooker数量与头数的影响对比,从中可以看到:
当步采用Outlooker时,基线模型的性能为83.3%,添加Outlooker可以提升模型型性能,当增加到4时性能达到饱和。Outlooker与Transformer的比例约为1:3时取得最佳性能。
Outlooker中使用更多的头可以带来轻微的性能提升且几乎不会造成额外参数量提升。
全文到此结束,更多消融实验与分析建议查看原文。
本文亮点总结
1. 本文发现,限制ViT在ImageNet分类方面性能的主要原因在于其将细粒度特征编码为词表达过程的低效性。
2. VOLO可以视作两阶段架构,第一个阶段包含多个用于生成细粒度词表达的Outlookers;第二个阶段采用transformer序列集成全局信息。
3. 无需任务额外训练数据,VOLO成为ImageNet分类任务上首个达到87.1%top1精度的模型。预训练VOLO在下游任务上的迁移能力也非常好,在语义分割任务中,在ADE20K验证集上达到了54.3%,在Cityscapes验证集上达到了84.3%的mIoU指标,均创下了新记录。
VOLO论文下载后台回复:VOLO,即可下载论文PDF和代码
CVPR和Transformer资料下载后台回复:CVPR2021,即可下载CVPR 2021论文和代码开源的论文合集
后台回复:Transformer综述,即可下载最新的两篇Transformer综述PDF
CVer-Transformer交流群成立
扫码添加CVer助手,可申请加入CVer-Transformer 微信交流群,方向已涵盖:目标检测、图像分割、目标跟踪、人脸检测&识别、OCR、姿态估计、超分辨率、SLAM、医疗影像、Re-ID、GAN、NAS、深度估计、自动驾驶、强化学习、车道线检测、模型剪枝&压缩、去噪、去雾、去雨、风格迁移、遥感图像、行为识别、视频理解、图像融合、图像检索、论文投稿&交流、PyTorch和TensorFlow等群。
一定要备注:研究方向+地点+学校/公司+昵称(如Transformer+上海+上交+卡卡),根据格式备注,可更快被通过且邀请进群
▲长按加小助手微信,进交流群▲点击上方卡片,关注CVer公众号
整理不易,请给点赞和在看
打破Transformer宿命!新秀VOLO开源!横扫CV多项记录,首个超越87%的模型相关推荐
- 打破Transformer宿命,新秀VOLO开源!横扫CV多项记录,首个超越87%的模型
点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 导读 一直以来,Transformer的性能距离最佳的CNN仍存在差距,而今天由颜水成团队开源的新秀V ...
- 重大里程碑!VOLO屠榜CV任务,无需额外数据,首个超越87%的模型
点击上方"迈微AI研习社",选择"星标★"公众号 关注公众号 迈微AI研习社 重磅干货,第一时间送达 大家好,我是Charmve,每晚七点不见不散! >& ...
- 【深度学习】重大里程碑!VOLO屠榜CV任务,无需额外数据,首个超越87%的模型...
近来,Transformer在CV领域遍地开花,取得了非常好的性能,指标屡创新高.但Transformer的性能距离最佳的CNN仍存在差距,不由产生出一种Transformer不过如此的感觉. 可是, ...
- 2021 CV NLP CTR 多模态深度学习 超越SOTA新模型整理
1 自监督 1.1 MAE 模型简介: Masked Autoencoders Are Scalable Vision Learners 恺明提出一种用于计算机视觉的可扩展自监督学习方案Masked ...
- 重大里程碑!VOLO屠榜CV任务,无需额外数据,首次在ImageNet 上达到87.1%
链接:https://arxiv.org/abs/2106.13112 代码:https://github.com/sail-sg/volo 作者单位:新加坡国立大学颜水成团队 导读 近期Transf ...
- 又一任务被Transformer攻陷!NVIDIA开源HORST,用Transformer解决早期动作识别和动作预期任务...
关注公众号,发现CV技术之美 本文分享论文『Higher Order Recurrent Space-Time Transformer for Video Action Prediction』,由 N ...
- 继 Swin Transformer 之后,MSRA 开源 Video Swin Transformer,在视频数据集上SOTA
关注公众号,发现CV技术之美 继上半年分享的『基于Transformer的通用视觉架构:Swin-Transformer带来多任务大范围性能提升』.『Swin Transformer为主干,清华等提出 ...
- VOLO开源:首次在ImageNet上达到87.1%
点击上方"机器学习与生成对抗网络",关注星标 获取有趣.好玩的前沿干货! 文章来源 :量子位 仅分享,侵删 自打Transformer横空出世以来,它在CV领域就取得了很多不俗的效 ...
- 首个中文Stable Diffusion模型开源;TPU演进十年;18个PyTorch性能优化技巧 | AI系统前沿动态...
1. TPU演进十年:Google的十大经验教训 希腊神话中,特洛伊战争的起因是两方争夺世界上最美的女人--海伦,后世诗人将海伦的美貌"令成千战舰为之起航".TPU就像海伦,它的出 ...
最新文章
- webp-imageio 如何编译及使用
- 验证mongodb副本集并实现自动切换primary~记录过程
- IOS开发之UI手势
- Vue.js入门第一课
- 效率神器!开源快捷启动工具
- android jsoup简书,jsoup爬虫简书首页数据做个小Demo
- python处理csv数据-Python处理csv文件
- 表格里面怎么打多个√_Excel怎样在表格里打√?
- java 类库_Java基础类库
- matlab答案1 8章,MATLAB第1-8章答案
- 最新win7/win10/XP系统下载_「装机系统」_百度云
- 新基建促进智能化基础设施管控平台的搭建
- 人工智能与就业系列调研 | 老板电器的新蝶变
- 喝咖啡的好处和坏处及注意事项
- 015-包、crate、模块
- RAKsmart高防服务器怎么样
- 【天坑】BLAST比对序列时遭受的痛苦
- 2021-02-14
- Matlab实现图像简单的几何校正
- AT指令和MQTT基础
热门文章
- Java-webservice根据wsdl文件生成代码文件
- 武汉市下吴地形图国家2000地方坐标转WGS84案例
- Java课设对对碰_第11章对对碰游戏(图形版)(Java游戏编程原理与实践教程课件).ppt...
- 手机二要素认证接口怎么用?手机号姓名验证怎么操作?
- 为企业上云号脉,听听这些ISV如何说?
- OUT指令时,就进入了I/O端口读写周期
- centos 6.3下rarlinux 与wireshark的安装
- 基于C#的可编程仪器标准命令(SCPI)实践 (附源代码)
- Linux学习5之查找文件中的某个字符串并返回所在行号
- WPF 加OxyPlot 开发一个曲线图的小demo,设置最高点,最低点,平均值