作者丨happy

编辑丨极市平台

导读

本文创造性的将MobileNet与Transformer进行了两路并行设计,穿插着全局与特征的双向融合,同时利用卷积与Transformer两者的优势达到“取长补短”的目的。

论文链接:https://arxiv.org/abs/2108.05895

已有的Transformer对标的CNN主要是ResNet系列,鲜少有对标端侧轻量模型的Transformer。本文则从轻量模型角度出发,在MobileNet与Transformer组合方面进行了探索,它创造性的将MobileNet与Transformer进行了两路并行设计,穿插着全局与特征的双向融合,同时利用卷积与Transformer两者的优势达到“取长补短”的目的。此外,受益于超轻量设计,所提Mobile-Former不仅计算高效,同时具有更强的表达能力。在ImageNet分类与COCO目标检测方面,所提Mobile-Former取得了显著优于MobileNetV3的性能。

Abstract

本文提出了一种新颖的Mobile-Former,它采用了MobileNet与Transformer两路并行设计机制,该架构充分利用了MobileNet的局部处理优势与Transformer的全局交互能力。Transformer与MobileNet的双向桥接促进了全局特征与局部特征的双向融合。

不同于现有的Vision Transformer,Mobile-Former中的Transformer包含非常少的(比如少于6个)、随机初始化tokens,进而产生了非常低的计算复杂度。结合所提轻量注意力,Mobile-Former不仅计算高效,同时具有更强的表达能力。在ImageNet分类任务上,从25M到500M Flops复杂度下,所提方案均取得了优于MobileNetV3的性能。比如,它凭借294MFlops计算量取得了比MobileNetV3高1.3%的top1精度且计算量节省17%;当迁移到目标检测时,Mobile-Former取得了比MobileNetV3高8.6AP的指标。

Method

上图给出了本文所提Mobile-Former整体架构示意图,MobileNet与Transformer之间通过双向注意力进行桥接。其中,Mobile以输入图像作为输入,并采用IBB(Inverted Bottleneck Block)提取局部特征;Former则以可学习参数(即tokens)作为输入,值得注意的是,这里的tokens采用了随机初始化方式而非已有ViT中的PatchEmbedding。这种处理机制可以有效的降低token的数量。

Mobile与Former之间通过双向桥连接以进行局部、全局特征融合。我们采用表示桥的两个方向,我们提出了一种轻量注意力机制模拟该双向桥。

Low Cost Two-Way Bridge

我们利用Cross Attention(交叉注意力)进行局部特征与全局token的信息融合。在标准交叉注意力的基础上引入以下两个改进以降低计算量:

  • 在Mobile的低通道部分计算交叉注意力;

  • 当位置数量比较,移除Mobile端的投影,而保持Former端不变;

假设局部特征为




,全局token为




,那么局部到全局轻量交叉注意力定义如下:

注:在这里,全局特征z为query,局部特征x为key与value。该过程可参见上图的
















类似地,全局到局部地交叉注意力(参见上图
















)定义如下:

Mobile-Former Block

由前面的Figure1可以看到,所提模型可以解耦为多个Mobile-Former模块的堆叠,每个模块包含一个Mobile子模块、一个Former子模块以及双向桥接。更具体详见上述Figure3.

Input and Output Mobile-Former模块包含两个输入:(1) 局部特征
















;(2) 全局tokens
















。该模块将输出更新后的局部特征











与全局tokens











并作为下一个模块的输入。

Mobile sub-block 该子模块以特征







作为输入,它在原始的IBB基础上进行了轻微改动:将ReLU替换为DReLU(Dynamic ReLU)。该子模块的输出表示















,它将用作
















的输入。

Former sub-block 它是一个标准多头Transformer模块,为节省节省量将FFN中的扩展比例从4调整为2。需要注意:Former子模块在两路交叉注意力之间进行处理,计算复杂度为

















,第一项为query与key之间的点乘;而第二项则覆盖线性投影与FFN。由于tokens数量非常少,故第一项可以忽略不记。


















所提轻量交叉注意力用于将局部特征融合到全局token。相比标准注意力,为节省计算量,移除了投影矩阵












,其计算复杂度为






























在这里,交叉注意力用于将全局token融合到局部特征。由于局部特征为query,全局特征为key、value。因此,这里保留了投影矩阵












而移除了投影矩阵







。其计算复杂度为













Computational Complexity Mobile-Former模块的四部分具有不同的计算复杂度,其中Mobile子模块共享了最多的计算复杂度


















,而Former子模块与两路桥接贡献了不到20%的计算复杂度。

Network Specification

上表给出了所提Mobile-Former的网络架构示意图,它由11个不同输入分辨率的Mobile-Former模块构成,所有Mobile-Former均具有6个维度为192的全局token。stem由






卷积+轻量bottleneck构成,分类头则采用以局部特征全局均值池化与全局token的首个元素拼接作为输入并通过两个全连接层预测。

Downsample Mobile-Former Block 注意到stage2-5均具有一个下采样版本的Mobile-Former模块。在Mobile-Former模块中的Mobile子模块从三个层(pointwise->depthwise->pointwise)调整为四层(depthwise->pointwise->depthwise->pointwise),其中第一个depthwise用于降低特征分辨率。

Mobile-Former 变种 按照计算复杂度,Mobile-Former具有7个不同计算量的模型,详细信息见下表(注:26M计算量的模型与52M的模型结构类似,区别在于将所有






卷积替换为g=4的组卷积)。

Experiments

接下来,我们从ImageNet分类与COCO目标检测两个方面对所提方案进行性能验证。

ImageNet Classification


上表对比了MobileNetV3、EfficientNet、ShuffleNetV2、WeightNet与所提方案的性能对比,从中可以看到:在相近计算量下,所提方案具有更少的计算量、更高的性能。这说明:该并行设计机制可以有效的提升特征表达能力。

上表对比了所提方案与DeiT、T2T-ViT、PVT、ConViT、CoaT以及Swin的性能,从中可以看到:所提方案取得了更佳的性能,同时具有更少的计算量(少3-4倍)

上表比较不同轻量型模型的计算量-性能对比图,可以看到:Mobile-Former取得了显著优于其他CNN与ViT的性能-精度均衡

Object Detection

上表对比了COCO目标检测任务上的性能对比,从中可以看到:

  • 在相近计算复杂度下,所提方案以8.3+AP指标优于MobileNetV3与ShuffleNet;

  • 相比ResNet与ViT,所提方案取得了更高的AP指标、同时具有更低的FLOPs。具体来说,Mobile-Former-508M取得了比ResNet50更高的性能,同时计算量低7倍。

Ablation and Discussion

接下来,我们对所提Mobile-Former进行更深入的分析与讨论,这里以Mobile-Former-294M作为基线。

Mobile-Former is Effective

从上表可以看到:

  • 相比Mobile,Former与Bridge仅占用10.6%计算复杂度,但带来了2.6%的性能提升;

  • 采用DY-ReLU可以带来额外的1%性能提升。

上表对比了Mobile的卷积核尺寸的性能影响,可以看到:提升卷积核尺寸带来的性能提升可以忽略

Mobile-Former is Efficient

Mobile-Former不仅能够有效的编码局部特征与全局信息,同时计算高效,关键在于:Former仅需非常少的全局tokens。

Number of tokens in Former 上表对比了不同数量token时模型性能可以看到:甚至仅需一个全局token仍可取得非常好的性能(77.7%),当采用了3个与6个token时,模型性能提升分别为0.5%、0.7%。这表明:紧致的全局token对于Mobile-Former的高效性非常重要。

Token dimension 上表对比不同token维度的模型性能对比,从中可以看到:当维度从64提升到192过程中,性能从76.8%提升到了77.8%,此后性能收敛。当token数量为6,维度为192时,Former与Bridge的总计计算量仅占总体计算量的12%。

FFN in Former 从上表可以看到:移除FFN会带来0.3%的性能下降。这说明:FFN在Mobile-Former中的重要性很有限。这是因为:FFN并非Mobile-Former中仅有的通道融合模块。

Multi-head Attention via MLP 从上表可以看到:MLP替换MHA会导致0.5%的性能下降。相比MHA,MLP的计算更高效,但它是一种静态操作,不会根据输入自适应调整。

Limitations

Mobile-Former的主要局限在于模型大小,原因有如下两个:

  • 并行设计对于参数共享不够高效,合适因为Mobile、Former以及Bridge均有各自的参数。尽管Former由于token数量少而计算高效,但并不会节省参数量;

  • Mobile-Former的分类头有过多参数量,比例高达40%。当从图像分类任务切换到目标检测任务后(分类头会被移除),该问题可以得到缓解。

本文亮点总结

1.Mobile-Former由11个不同输入分辨率的Mobile-Former模块构成,所有Mobile-Former均具有6个维度为192的全局token。stem由






卷积+轻量bottleneck构成,分类头则采用以局部特征全局均值池化与全局token的首个元素拼接作为输入并通过两个全连接层预测。

2.Mobile-Former中的Transformer包含非常少的(比如少于6个)、随机初始化tokens,进而产生了非常低的计算复杂度。结合所提轻量注意力,Mobile-Former不仅计算高效,同时具有更强的表达能力。

如果觉得有用,就请分享到朋友圈吧!

△点击卡片关注极市平台,获取最新CV干货

公众号后台回复“CVPR21检测”获取CVPR2021目标检测论文下载~

极市干货

深度学习环境搭建:如何配置一台深度学习工作站?

实操教程:OpenVINO2021.4+YOLOX目标检测模型测试部署|为什么你的显卡利用率总是0%?

算法技巧(trick):图像分类算法优化技巧|21个深度学习调参的实用技巧

极市平台签约作者#

happy

知乎:AIWalker

AIWalker运营、CV领域八年深耕码农

研究领域:专注low-level领域,同时对CNN、Transformer、MLP等前沿网络架构保持学习心态,对detection的落地应用甚感兴趣。

公众号:AIWalker

作品精选

  • ResNet被全面超越了,是Transformer干的:依图科技开源“可大可小”T2T-ViT,轻量版优于MobileNet

  • 何恺明团队最新力作SimSiam:消除表征学习“崩溃解”,探寻对比表达学习成功之根源

  • 基于深度学习的数据增广技术一览

投稿方式:

添加小编微信Fengcall(微信号:fengcall19),备注:姓名-投稿

△长按添加极市平台小编

觉得有用麻烦给个在看啦~  

【深度学习】Transformer 向轻量型迈进!微软与中科院提出两路并行的 Mobile-Former...相关推荐

  1. Transformer 向轻量型迈进,微软与中科院提出两路并行的 Mobile-Former

    作者丨happy 编辑丨极市平台 本文原创首发于极市平台,转载请获得授权并标明出处. VisionTransformer向轻量型迈进,微软与中科大提出两路并行的Mobile-Former 已有的Tra ...

  2. 【深度学习】百度:YOLOX和NanoDet都没我优秀!轻量型实时目标检测模型PP-PicoDet开源...

    作者丨happy 编辑丨极市平台 导读 百度提出新型移动端实时检测模型PP-PicoDet.本文对anchor-free策略在轻量型检测器中的应用进行了探索:对骨干结构进行了增强并设计了一种轻量Nec ...

  3. 轻量型模型比肩千亿大模型,新一代中文语言模型孟子,刷新CLUE纪录!

    转自:机器之心 近日,澜舟科技 - 创新工场团队与上海交通大学.北京理工大学等单位联合研发的中文语言模型-孟子轻量型模型,超越腾讯.搜狗等公司,在中文语言理解评测 CLUE 榜单上登顶第一,刷新业界记 ...

  4. 轻量型「孟子」模型比肩千亿大模型!AI大牛周明率队刷新CLUE新纪录

    AI 科技评论报道 编辑 | 陈大鑫 近日,澜舟科技-创新工场团队与上海交通大学.北京理工大学等单位联合研发的中文语言模型-孟子轻量型模型,超越腾讯.搜狗等公司,在中文语言理解评测CLUE榜单上登顶第 ...

  5. 百度:YOLOX和NanoDet都没我优秀!轻量型实时目标检测模型PP-PicoDet开源

    作者丨happy    编辑丨极市平台 导读 百度提出新型移动端实时检测模型PP-PicoDet.本文对anchor-free策略在轻量型检测器中的应用进行了探索:对骨干结构进行了增强并设计了一种轻量 ...

  6. 【移动端最强架构】LCNet吊打现有主流轻量型网络(附代码实现)

    点击上方,选择星标或置顶,不定期资源大放送! 阅读大概需要5分钟 Follow小博主,每天更新前沿干货 [导读]之前详细介绍了轻量级网络架构的开源项目,详情请看深度学习中的轻量级网络架构总结与代码实现 ...

  7. Raspkate - 基于.NET的可运行于树莓派的轻量型Web服务器

    最近在业余时间玩玩树莓派,刚开始的时候在树莓派里写一些基于wiringPi库的C语言程序来控制树莓派的GPIO引脚,从而控制LED发光二极管的闪烁,后来觉得,是不是可以使用HTML5+jQuery等流 ...

  8. 【轻量型卷积网络】ResNeXt网络解析

    [轻量型卷积网络]ResNeXt网络解析 文章目录 [轻量型卷积网络]ResNeXt网络解析 1. 介绍 2. 模型 2.1 组卷积 2.2 ResNeXt-block 2.3 为什么 group = ...

  9. 目标检测算法——YOLOv5/YOLOv7改进结合轻量型Ghost模块

    >>>深度学习Tricks,第一时间送达<<< 论文题目:<GhostNet:More Features from Cheap Operations> ...

最新文章

  1. 《OpenCV3编程入门》学习笔记5 Core组件进阶(五)离散傅里叶变换(DFT)
  2. 开发你的第一个LYNC应用-第二部分
  3. StoreFront 登陆页面的话持续时间
  4. springboot使用shiro配置多个过滤器和session同步案例
  5. Boost:BOOST_VERIFY_MSG扩展的用法测试程序
  6. 7-1 叶节点求和 (30 分)
  7. 小巧Linux发行版本,老机器也不愁
  8. php_mysql操作
  9. .gitignore忽略文件提交服务器
  10. 苹果计算机取消用户名和密码进入不,苹果手机刷机过后进不了桌面要id账号和密码但是忘记了怎么处理?...
  11. Vscode Opencv4.5.2环境搭建
  12. echarts柱形图x轴y轴互换_echarts X Y轴互换后显示问题
  13. 【风马一族_php】数组函数
  14. 云端原生数据泄露事件解析
  15. 目前企业如何看待培训机构出来的程序员?
  16. 单目三维目标检测之CaDDN论文阅读
  17. CAS机制是什么,如何解决ABA问题
  18. 不同粒径大小的金纳米粒子|单分散小粒径金纳米颗粒|黄色纳米颗金粒粒径2nm
  19. @Valid和@Validated验证List集合--网络踩坑记录
  20. 人体检测技术之毫米波雷达

热门文章

  1. springMVC 几种页面跳转方式
  2. 用VS向SharePoint中部署添加List 并指定应用的Content Type
  3. spring-mvc(基础)
  4. 凉凉夜色为我思念成河
  5. Hihocoder-1135-Magic Box
  6. 引用变量和指针变量初探
  7. 树莓派slam_SLAM+语音机器人DIY系列:(五)树莓派3开发环境搭建——6.树莓派USB与tty串口号绑定...
  8. python计时器timeit返回秒数_python中的计时器timeit的使用方法
  9. Matlab学习一本通,matlab基础教程
  10. python memoryerror_使用Scikit-learn时的Python MemoryError