点击上方“计算机视觉工坊”,选择“星标”

干货第一时间送达

作者丨ChaucerG

来源丨集智书童

ViT 的最新进展在视觉识别任务中取得了出色的表现。卷积神经网络 (CNN) 利用空间归纳偏差来学习视觉表示,但这些网络是空间局部的。ViTs 可以通过其self-attention机制学习全局表示,但它们通常是heavy-weight的,不适合移动设备。

在本文中提出了Cross Feature Attention(XFA) 以降低 Transformer 的计算成本,并结合高效的mobile CNNs形成一种新颖的高效轻量级 CNN-ViT 混合模型 XFormer,可作为通用主干学习全局和局部表示。

实验结果表明,XFormer 在不同的任务和数据集上优于众多基于 CNNViT 的模型。在 ImageNet-1K 数据集上,XFormer 使用 550 万个参数实现了 78.5%top-1 准确率,在相似数量的参数下,比 EfficientNet-B0(基于 CNN)和 DeiT(基于 ViT)的准确率分别提高了 2.2%6.3%

XFormer的模型在转移到目标检测和语义分割任务时也表现良好。在 MS COCO 数据集上,XFormerYOLOv3 框架中超过 MobileNetV2 10.5 AP22.733.2 AP),只有 6.3M 参数和 3.8G FLOPs。在 Cityscapes 数据集上,只有一个简单的 all-MLP 解码器,XFormer 实现了 78.5mIoU15.3FPS,超过了最先进的轻量级分割网络。

1Method

一个标准的 ViT 模型首先使用patch size h×w 将输入 reshape为一系列flattened patches ,其中 和 表示token数。然后将 投影到固定的 D 维空间 并使用一堆transformer blocks来学习inter-patch表示。由于忽略了空间归纳偏差ViT 通常需要更多参数来学习视觉信息。此外,transformersself-attention 的昂贵计算导致优化此类模型的瓶颈。

图1 XFormer

在本节提出了 XFormer,这是高效、轻量级的 CNN-ViT 框架,以解决 ViT 中的上述问题。首先介绍了一种提高自注意力效率的新方法,然后说明了新的 CNN-ViT 混合模型的架构设计。

1.1 Cross Feature Attention (XFA)

1、Attention Overview

Transformer 的主要计算瓶颈之一在于 self-attention 。在最初的 self-attention 过程中, 首先用于通过线性投影生成query Q、key K 和value V。它们都具有相同的维度(N × D),其中 N 是图像token数,每个维度为 D。然后计算注意力分数为:

其中 σ 是 softmax 操作, 是head维度。计算注意力分数的计算复杂度为 。 self-attention 的二次复杂性导致了巨大的计算瓶颈,这使得 ViT 模型难以在移动设备上按比例缩小。

2、Efficient Attention

为了解决 self-attention 中的二次复杂性问题,作者提出了一种新的注意力模块结构,称为Cross Feature AttentionXFA)。在之前的工作之后,首先沿特征维度 D 对query Q 和key K 应用 L2 归一化:

在原始 self-attention 中的直觉是定位应该关注的重要图像块。

但是直接计算会导致不必要的冗余和计算开销。相反,作者为 K 构建了2个中间分数:查询上下文分数 和查询特征分数 。使用2个卷积核矩阵 和 沿token维度 N 计算 ,沿特征维度 D 计算 。借助卷积滤波器中间分数向量可以表示计算注意力图的更紧凑的表示,同时也降低了计算成本。 和 表示为:

最后,将Cross Feature Attention(XFA)定义为:

其中 λ 是一个温度参数,用于动态调整不同transformer层中的比例因子,从而提高训练稳定性。注意到归一化将注意力值限制在一定范围内,因此放弃了冗余且昂贵的 softmax 操作。与原始的具有二次复杂度的 self-attention 不同,XFA模块将计算成本从 降低到 .

3、Comparison with Self-attention

本文提出的 XFA 模块和原始注意力之间的主要区别是:

  1. XFA 通过构建中间查询上下文和特征分数,沿特征维度D计算注意力图,大大降低了计算成本;

  2. XFA 使用可学习的温度缩放参数来调整归一化,并且不受 softmax 操作的影响。

本文方法为二次复杂度问题提供了解决方案,并且对于资源受限的设备更有效且对移动设备更友好。

1.2 Building XFormer

1、MobileNetV3 Block

MobileNetV2 首先引入了inverted residuallinear bottleneck以构建更高效的层结构。MobileNetV3 随后添加了squeeze excitation (SE) 模块以处理更大的表示特征。最近的工作证明了通过在 ViT 的早期阶段结合卷积层来提高 ViT 性能的合法性。受这种直觉的启发,继续为轻量级模型探索这种 CNN-ViT 混合设计。MobileNetV3 块内的操作可以表述为:

其中 是前一层的输入特征, 是 MV3 Block 的输出特征,SEsqueeze excitation模块。 表示depth-wise卷积操作, 表示point-wise卷积操作。

2、XF Block

利用提出的Cross Feature Attention模块介绍了 XF Block,一个精心设计的轻量级 transformer moduleXF Block内的操作可以表述为:

其中 是前一层的输入特征, 是 XFA 模块的特征, 是 XF Block 的输出特征。LN 表示层归一化操作,MLP 为全连接层。

3、Patch Size Choice

对于较大的模型(ViT-Large),基于 ViT 的模型通常采用 8×816×16 甚至 32×32Patch Size。具有较大Patch Size的优点之一在于,对于分类等图像级任务,ViT 可以有效地提取图像块信息,而不会增加过多的计算开销。

最近的工作表明,当迁移到语义和实例分割等下游任务时,更小的Patch Size更受青睐,因为它可以增强 Transformer 学习更好的像素级信息的能力,这通常会带来更好的性能。

此外,随着Patch Size的减小,token数 N 会大得多。线性复杂度 XFA 模块可以避免潜在的计算瓶颈。在网络设计中,每个 XF 块的Patch Size设置为 2×2

4、XFormer

MobileNetV3XF Block 的基础上提出了 XFormer,这是一种 CNN-ViT 混合轻量级模型,由堆叠的 MobileNetV3 BlockXF Block 组成,用于学习全局和局部上下文信息。与之前设计高效 CNN 的工作一样,本文的网络由 块组成,用于提取原始图像特征,在特征由 CNNtransformer blocks处理后,使用 、全局池化和全连接层来产生最终的 logit 预测。

在主要处理块中,XFormer 有5个阶段。前2个阶段仅包含 MobileNetV3 Block (MV3) ,因为卷积块比全 ViT 模型更能提取重要的图像级特征表示,并随后帮助转换器块看得更清楚。最后三个阶段中的每一个都包括一个 MV3 块和几个 XF 块。结合来自 MV3 块的局部归纳偏差和来自 Transformer Block 的全局信息,网络可以学习更全面的特征表示,可以轻松地转移到不同的下游任务。

先前关于 ViT 的工作表明,应在更深的Transformer layers中使用更大的 MLP 比率,并且 Q-K-V 维度应相对小于嵌入维度,以便在性能和模型大小之间进行更好的权衡。作者遵循这些建议并相应地设计轻量级模型。对于三个不同阶段的 XF Block ,它们的 MLP 比率、嵌入维度和 Q-K-V 维度分别设置为(2、2、3)、(144、192、240)和(96、96、96)。在全连接层中将 ReLU 替换为 GELU 激活;在所有其他层中使用 SiLU。对于 MV3 Block,扩展比均设置为 4。规格如表 1 所示。

5、Model efficiency

模型的总参数大小只有 550 万。与类似大小的基于 ViT 的模型相比,本文的模型可以更有效地处理高分辨率图像并避免潜在的内存瓶颈(见表 2)。

例如,当输入分辨率为 1024×1024 时,与使用原始自注意力的 MobileViT 相比,XFormer 的推理速度提高了近 2 倍,GPU 内存使用量减少了 32%。本文的模型可以轻松处理高分辨率吞吐量,而不会出现内存瓶颈。最重要的是,XFormer 提供了比比较模型更好的精度(参见表 3),在模型大小和性能之间实现了很好的平衡。

2实验

2.1 图像分类

2.2 目标检测

2.3 语义分割

3参考

[1].Lightweight Vision Transformer with Cross Feature Attention

本文仅做学术分享,如有侵权,请联系删文。

干货下载与学习

后台回复:巴塞罗自治大学课件,即可下载国外大学沉淀数年3D Vison精品课件

后台回复:计算机视觉书籍,即可下载3D视觉领域经典书籍pdf

后台回复:3D视觉课程,即可学习3D视觉领域精品课程

计算机视觉工坊精品课程官网:3dcver.com

1.面向自动驾驶领域的多传感器数据融合技术

2.面向自动驾驶领域的3D点云目标检测全栈学习路线!(单模态+多模态/数据+代码)
3.彻底搞透视觉三维重建:原理剖析、代码讲解、及优化改进
4.国内首个面向工业级实战的点云处理课程
5.激光-视觉-IMU-GPS融合SLAM算法梳理和代码讲解
6.彻底搞懂视觉-惯性SLAM:基于VINS-Fusion正式开课啦
7.彻底搞懂基于LOAM框架的3D激光SLAM: 源码剖析到算法优化
8.彻底剖析室内、室外激光SLAM关键算法原理、代码和实战(cartographer+LOAM +LIO-SAM)

9.从零搭建一套结构光3D重建系统[理论+源码+实践]

10.单目深度估计方法:算法梳理与代码实现

11.自动驾驶中的深度学习模型部署实战

12.相机模型与标定(单目+双目+鱼眼)

13.重磅!四旋翼飞行器:算法与实战

14.ROS2从入门到精通:理论与实战

15.国内首个3D缺陷检测教程:理论、源码与实战

16.基于Open3D的点云处理入门与实战教程

重磅!计算机视觉工坊-学习交流群已成立

扫码添加小助手微信,可申请加入3D视觉工坊-学术论文写作与投稿 微信交流群,旨在交流顶会、顶刊、SCI、EI等写作与投稿事宜。

同时也可申请加入我们的细分方向交流群,目前主要有ORB-SLAM系列源码学习、3D视觉CV&深度学习SLAM三维重建点云后处理自动驾驶、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、深度估计、学术交流、求职交流等微信群,请扫描下面微信号加群,备注:”研究方向+学校/公司+昵称“,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进去相关微信群。原创投稿也请联系。

▲长按加微信群或投稿

▲长按关注公众号

3D视觉从入门到精通知识星球:针对3D视觉领域的视频课程(三维重建系列、三维点云系列、结构光系列、手眼标定、相机标定、激光/视觉SLAM自动驾驶等)、知识点汇总、入门进阶学习路线、最新paper分享、疑问解答五个方面进行深耕,更有各类大厂的算法工程人员进行技术指导。与此同时,星球将联合知名企业发布3D视觉相关算法开发岗位以及项目对接信息,打造成集技术与就业为一体的铁杆粉丝聚集区,近4000星球成员为创造更好的AI世界共同进步,知识星球入口:

学习3D视觉核心技术,扫描查看介绍,3天内无条件退款

圈里有高质量教程资料、答疑解惑、助你高效解决问题

觉得有用,麻烦给个赞和在看~  

三星提出XFormer | 超越MobileViT、DeiT、MobileNet等模型相关推荐

  1. 微软提出CoDi:开创性多模态扩散生成模型,实现4种模态任意输入输出

    点击下方卡片,关注"CVer"公众号 AI/CV重磅干货,第一时间送达 点击进入->[多模态和Transformer]交流群 萧箫 发自 凹非寺 转载自:量子位(QbitAI ...

  2. CVPR 2023 | 微软提出RODIN:首个3D扩散模型高质量生成效果,换装改形象一句话搞定!...

    点击下方卡片,关注"CVer"公众号 AI/CV重磅干货,第一时间送达 点击进入->[扩散模型]微信技术交流群 转载自:微软亚洲研究院 编者按:近日,由微软亚洲研究院提出的 ...

  3. MIT提出Matlab插件mNeuron:实现深度模型神经元的可视化

    MIT提出Matlab插件mNeuron:实现深度模型神经元的可视化 By 黄小天2017年6月27日 15:49 近日,麻省理工学院(MIT)Antonio Torralba 等人发表了一篇题为&l ...

  4. CVPR 2021 前景背景分开建模,UCLA 视觉研究组提出用于视频预测的动态语义模型...

    关注公众号,发现CV技术之美 本文分享 CVPR 2021 论文『Learning Semantic-Aware Dynamics for Video Prediction』,前景背景分开建模,UCL ...

  5. 香侬科技提出中文字型的深度学习模型Glyce,横扫13项中文NLP记录

    香侬科技近期提出 Glyce,首次在深度学习的框架下使用中文字形信息(Glyph),横扫 13 项中文自然语言任务记录,其中包括:(1) 字级别语言模型 (2) 词级别语言模型 (3) 中文分词 (4 ...

  6. 【AI周报】首款高容错通用量子计算机原型登上Nature;SIGIR 2022 | 快手联合武汉大学提出序列推荐的多粒度神经模型

    01 # 行业大事件 首款高容错通用量子计算机原型登上Nature 理论上,量子计算机可以解决常规计算机在宇宙生命周期时间内也无法解决的问题.然而,我们需要大量的工程和技术才能将其「理论上」的能力兑现 ...

  7. #今日论文推荐# 多边形战士模型,微软提出19亿参数的超大通用模型BEIT-3,刷榜多个CV和多模态任务

    #今日论文推荐# 多边形战士模型,微软提出19亿参数的超大通用模型BEIT-3,刷榜多个CV和多模态任务 语言.视觉和多模态预训练的大融合正在出现.在这项工作中,作者引入了一个通用的多模态基础模型 B ...

  8. #今日论文推荐# 多边形战士模型!微软提出19亿参数的超大通用模型BEIT-3,刷榜多个CV和多模态任务

    #今日论文推荐# 多边形战士模型!微软提出19亿参数的超大通用模型BEIT-3,刷榜多个CV和多模态任务 语言.视觉和多模态预训练的大融合正在出现.在这项工作中,作者引入了一个通用的多模态基础模型 B ...

  9. 超越ShuffleNet、MobileNet、MobileViT等模型的新backbone FasterNet

    论文地址:https://arxiv.org/abs/2303.03667 摘要: 为了设计快速神经网络,许多工作都集中在减少浮点运算(FLOPs)的数量上.然而,作者观察到FLOPs的这种减少不一定 ...

最新文章

  1. 链表 -- 双向循环链表(线性表)
  2. Tomcat 和 JVM 的性能调优总结
  3. mysql数据类型不写(),MYSQL 数据类型
  4. mysql cluster java_Java学习笔记(十):MySQL集群安装配置
  5. opengl 流程梳理
  6. java 中的正则表达式_Java中的正则表达式–软介绍
  7. printf sizeof c语言,你可能对 sizeof(i++) 有点误解。。。
  8. 三折线弹塑性滞回模型matlab,动力弹塑性滞回模型-迈达斯汇总.doc
  9. Android 系统(145)---ODM 开发用户常见需求文档(七)
  10. [转]如何写出让同事无法维护的代码?
  11. 最基本的01背包问题
  12. 国考省考行测:言语理解与表达,主旨理解,结构分析法,总分结构
  13. canvas--初识canvs、绘制:线型、简单图形、渐变背景颜色、绘制动画、canvs形变、事件绑定
  14. 编曲软件FL Studio 20.99中文版2023最新免费下载
  15. pageSize不生效
  16. 计算机速成课 第二集 电子计算机
  17. 排队器拦截_如何绕过浏览器的弹窗拦截机制
  18. 千锋android 开发视频教程,千锋教育Android开发视频
  19. Invalid value earliest for configuration auto.commit.interval.ms: Not a number of type INT
  20. html5+一屏一区域内容,iPhoneX页面安全区域与内容重叠问题

热门文章

  1. iOS开发——网络连接判断
  2. 你的网站为什么被黑?
  3. windows分区整数
  4. DC / DC boost电路带闭环控制
  5. 模拟a标签实现带header的下载
  6. 蒙古风币WSEC得到了政府更多的支持
  7. 关于java内存管理和OSR的一个小实验
  8. 岩藻糖基化硫酸软骨素(Fucosylated Chondroitin Sulfate)
  9. 分享2款设备管理系统源码:Springboot医院设备管理+物联网云监控IOT设备管理
  10. 安徽科技学院 信网学院网络文化节 赵涛