关注上方深度学习技术前沿”,选择“星标公众号”

资源干货,第一时间送达!

作者:dwilimeth

知乎链接:https://zhuanlan.zhihu.com/p/132533771

本文仅供参考学习,如有侵权,请联系删除!

- 论文:https://arxiv.org/abs/2004.05565

- 代码(即将开源):https://github.com/facebookresearch/mobile-vision

今天介绍一篇 Facebook 工作 FBNet 的升级版本 FBNetV2: Differentiable Neural Architecture Search for Spatial and Channel Dimensions。

本文的搜索空间相比于 FBNet 提升了将近  倍,搜到了一个和 EfficientNet B0 精度接近,但是 FLOPs 小了 20% 的网络结构。代码会开源在 Github。

Motivation

首先回顾一下基于 DARTS 的这种可微分的网络结构搜索方法 (Differentiable Neural Architecture Search) :一般是构造一个包含所有候选结构的超图 (super graph),然后从中选一条 single path 做为最终的网络结构。

作者指出,基于 DARTS 的方法有两个缺点:

1. 搜索空间相对较小。由于要把很大的 super graph 以及 featuremap 存在 GPU 上,显存的限制就使得 DARTS 系列方法的搜索空间,比基于 RL,进化算法方法的搜索空间要小;

2. 搜索代价会随着每层的选择的增加线性增长。每在 supergraph 中增加一个新的搜索维度,显存和计算量都会大幅增长,这也就制约了搜索空间不能太大。

作者的改进方向就是在几乎不引入显存和计算量代价的情况下,相比于 FBNet,搜索空间加入了 channels 和 input resolution 两个维度,从而把搜索空间提升了将近  倍。怎么做到的呢?主要是两点改进:

1. 对 supergraph 中的 channel / input resolution 选项加入 mask

2. 复用 supergraph 中所有选项的 featuremap

下面进行详细的介绍。

Channel Search

channel masking机制

把不同的 channel 加入搜索空间,之前的 DNAS 系列方法就是把不同的选项融进 supergraph,这样会带来接近  种选择的可能。为了减少搜索 channel 时候的计算量,作者构造了 channel masking的机制,把不同 channel 的最终输出,表征为和一个 mask 相乘的形式。

具体的做法如上图所示。右边那个灰色的长方体表示一个 shape 为 (c, h, w) 的 tensor,和左边的 mask 向量 M 相乘的结果。M 可以拆解为多个 mask  和对应的 Gumbel Softmax 的系数  的乘积和。通过调节左边的 mask,就能得到等价的不同 channel 的结果。相当于对一个大的 tensor,mask 掉额外的 channel,得到相应的别的 channel 的结果。

想要进行加权和,首先就会遇到上图 Step A 中的问题:channel 不同,对应的 tensor shape 不用,无法直接相加。为了解决这个问题,可以引入 Step B 中的方法:对输出做 zero padding,使之shape 对齐(也就是图中蓝色部分),然后就可以加权和了。Step B 和 Step C 是等价的。Step C 相当于对卷积的 filter 进行 mask。随后作者又进行了一个简化的假设,假设所有的 weighting 共享,也就是 Step D 的形式。Step E 和 Step D 是等效的,即为最终的 channel masking 机制。

Input Resolution Search

spatial subsampling 机制

上面说了在 channel 维度的做法。在 Spatial 维度的做法也是类似的,作者也想构造一种加权和的形式表征不同分辨率的 feature。如上图 A 所示,不同分辨率的 tensor 不能直接相加。图 B 说明了在边缘 padding 的方式不行,pixel 无法对齐。图 C 说明了为了让 pixel 对齐,要采用这种 Interspersing zero-padding 的形式。但是图 C 这种方式会又带来感受野 mis-alignment 的问题:如图 D 所示,Interspersing zero-padding 之后,一个 3x3 的 kenel 有效感受野变成了 2x2。所以图 E 才是作者最终的解决方法:和 F 运算完之后再 padding。

Search Space

通过上述的Channel masking 和 Resolution subsampling 机制,FBNet V2 的搜索空间就可以在 channel 和 spatial 维度扩展了。FBNet V2有三个不同的系列:FBNetV2-F, FBNetV2-P, FBNetV2-L。分别对应的优化目标为Flops,参数量和大模型。下表是大模型 FBNetV2-P 的搜索空间:

输入为288x288x3。channel 维度的搜索体现在表格种的 number of filters f,比如说可能是 16 到 28 之间步长为 4 的一个值。spatial 维度的搜索体现在表格中的block expansion rate e,从 0.75 到 4.5,步长为 0.75。

TBS 就是指待搜的 block。这些 TBS 对应的 block 具体的搜索空间如下表:

可以看出,组成的 block type 就是由 3x3 或者 5x5 的 depth-wise conv + SE + relu / hswith 组成。

这三个系列最后搜出来的结果,在 ImageNet 上的结果如下表:

同样是以 FBNetV2-P 为例子,和其他方法的对比如下图:

总结一下,本文的贡献点主要在于提出了一种 channel 维度的 mask 机制 和 spatial 维度的 subsampling 机制,能扩大 DNAS 系列方法的搜索空间,同时几乎不增加显存和计算开销。

重磅!DLer-计算机视觉交流群已成立!

欢迎各位Cver加入计算机视觉微信交流大群,本群旨在交流图像分类、目标检测、点云/语义分割、目标跟踪、机器视觉、GAN、超分辨率、人脸检测与识别、动作行为/时空/光流/姿态/运动、模型压缩/量化/剪枝、NAS、迁移学习、人体姿态估计等内容。更有真实项目需求对接、求职内推、算法竞赛、干货资讯汇总、行业技术交流等,欢迎加群交流学习!

进群请备注:研究方向+地点+学校/公司+昵称(如图像分类+上海+上交+小明)

广告商、博主请绕道!

???? 长按添加,邀请您进群!

超越MobileNetV3!Facebook提出更轻更快的FBNetV2相关推荐

  1. ShuffleNetV2-Yolov5 更轻更快易于部署的yolov5

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 毕设的一部分,前段时间,在yolov5上进行一系列的消融实验,让他更轻(Flops更小,内存占用更低, ...

  2. YOLOv5-Lite:更轻更快易于部署的YOLOv5

    QQ交流群:993965802 本文版权属于GiantPandaCV,未经允许请勿转载 前言: 毕设的一部分,前段时间,在yolov5上进行一系列的消融实验,让他更轻(Flops更小,内存占用更低,参 ...

  3. 「NLP」ALBERT:更轻更快的NLP预训练模型

    目前在NLP领域,出彩的预训练模型的新工作,几乎都是基于BERT的改进,前面我们就介绍了XLNET.今天我来介绍一个更新的工作,相比于BERT,它更轻量,效果也要好. 作者 | 小Dream哥 编辑 ...

  4. 【NLP】ALBERT:更轻更快的NLP预训练模型

    目前在NLP领域,出彩的预训练模型的新工作,几乎都是基于BERT的改进,前面我们就介绍了XLNET.今天我来介绍一个更新的工作,相比于BERT,它更轻量,效果也要好. 作者&编辑 | 小Dre ...

  5. 金升阳 | 更轻更小的R3系列金属导轨电源 ——LI75/120-23BxxR3

    金升阳通过技术方案革新.技术平台升级,推出了性价比更高.体积更小.功能更完善的升级版R3金属导轨电源LI75/120-23BxxR3.该系列满足UL61010认证要求,实现关键物料国产化,支持305V ...

  6. ps3slim安装linux,更轻更薄更有型 索尼PS3 Superslim评测

    直到目前,似乎有关PlayStation 3的介绍已经言无不尽.2006年以来,这款来自索尼的游戏主机发布了至少有400个不同款式:包括不同的硬盘容量.不同的功能.不同的机箱外形,当然了价格也不尽相同 ...

  7. 更轻更好用的蓝牙耳机,日常佩戴更舒适,QCY Crossky Link体验

    平时为了方便接打电话,我经常会戴上一副蓝牙耳机,不过戴久了入耳式的耳机,总感觉不舒服,上个月我看到一款设计很新颖的开放式耳机,来自我之前用过的一个国产品牌,最近到手后试了试,感觉质量不错,适合日常工作 ...

  8. 中小企业信息化,“轻”和“快”是方向

    中小企业有着自身的特殊性,在观念改变和专业服务产品到位后,中小企业轻装上阵,实现高效办公.快捷管理.快速发展的愿望并不遥远. 时间刚过早上七点,韩信吃完早餐,便坐到沙发上看起了新闻,查看手机日历也是这 ...

  9. 苹果公司提出Mobile-ViT | 更小更轻精度更高,MobileNets或成为历史

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 作者丨ChaucerG 来源丨集智书童 MobileviT是一个用于移动设备的轻量级通用可视化Tran ...

最新文章

  1. [转]html5: postMessage解决跨域和跨页面通信的问题
  2. 审批政策中收入与负债核实
  3. python绘制如下图形、小三角形边长20_在编程中发现数学之美——使用Python小龟绘制多边形...
  4. 2021ICPC(澳门) - LCS Spanning Tree(广义后缀自动机)
  5. 选择交换机需要了解的一些性能参数
  6. redis分布式锁java代码_基于redis实现分布式锁
  7. 【Elasticsearch】Resizing Elasticsearch shards for fun and profit
  8. Sandcastle Help File Builder(.NET帮助文档工具)的版本选择心得——支持VS2010至VS2015,高版本项目文件问题...
  9. 课程设计之贪吃蛇小游戏制造
  10. UVA-2【NOI2014】起床困难综合症
  11. 关于 IBM Tivoli Storage Manager在Oracle中的应用
  12. allergro音乐术语什么意思_音乐术语
  13. dcs系统opc服务器设置,如何配置紫金桥软件与DCS的OPC进行通讯
  14. Auto.js实现自动删除朋友圈照片
  15. python 计算器封装_用 Python 写个计算器
  16. 原生video标签隐藏底部功能按钮
  17. C语言学习(三)内存初识、数据在内存中的保存形式、程序载入内存
  18. 如何优雅地跟老板请假?
  19. c语言函数参数的含义,C语言函数的含义
  20. ARM AArch32和AArch64通用寄存器、状态寄存器

热门文章

  1. Daily Scrum 10.27
  2. .net课堂流水账_20110118
  3. 深入理解计算机系统 -资料整理 高清中文版_在所不辞的博客-CSDN博客_深入理解计算机系统第四版pdf
  4. 一份用动画演示操作系统的各个过程的资料
  5. tensorflow1.14.0安装不上,报错
  6. Clipping input data to the valid range for imshow with RGB data ([0..1] for floats or [0..255] for i
  7. 计算机网络:自顶向下方法(第七版)Wireshark实验指南
  8. log4j用法http://zengjinliang.javaeye.com/blog/171550
  9. 计算机主机房的消防配置包括,信息安全等级保护之技术要求→物理安全→防火...
  10. 《AI系统周刊》第5期:Cerebras发布可运行120万亿参数AI模型的CS-2芯片