关注公众号,发现CV技术之美

本文分享论文『Resolution Adaptive Networks for Efficient Inference』,由清华黄高团队提出分辨率自适应的高效推理网络RANet!MSDNet加强版!

详细信息如下:

  • 论文链接:https://arxiv.org/abs/2003.07326

  • 项目链接:https://github.com/yangle15/RANet-pytorch

导言:

自适应推理是在深度网络中实现精度和计算成本之间动态权衡的有效机制,现有的工作主要是利用网络深度或宽度上的结构冗余。在本文中,作者关注输入样本的空间冗余,并提出了一种新的分辨率自适应网络(Resolution Adaptive Network,RANet),其灵感来源于低分辨率的表示足以对包含大对象的“简单”输入进行分类,而只有一些“困难”输入样本需要空间上的更详细信息。

在RANet中,输入图像首先被路由到一个轻量级子网络中,该子网络有效地提取低分辨率表示,高预测置信度的样本将提前退出网络,而无需进一步处理,从而降低计算资源。同时,网络中的高分辨率路径用于识别数据集中的“困难”样本。因此,RANet可以有效减少高分辨率输入的空间冗余。通过实验,作者在CIFAR-10、CIFAR-100和ImageNet数据集上证明了RANet的有效性。

      01      

Motivation

尽管计算机硬件的进步使得训练非常深的卷积神经网络(CNN)成为可能,如ResNe和DenseNet,但在许多应用中,深度CNN的高计算成本仍然是无法承受的。目前,很多方法已经被提出用来加速深层模型的推理,比如轻量级网络结构设计、网络剪枝和模型量化等等。其中,自适应推理的方案旨在通过动态调整网络结构或以每个输入为条件的参数来减少“简单”样本上的计算冗余,该方案已被证明具有良好的性能。

现有的自适应推理研究大多集中于减少“简单”图像的网络深度或宽度上。研究表明,不同样本的分类难度差异很大:其中一些样本可以用较少层或通道的小模型进行正确分类,而另一些样本可能需要较大的网络。目前在这一方向上也有很多的研究,比如MSDNet允许一些样本在一定的预测置信度条件下提早退出分类器。

在本文中,作者从一个新的角度来考虑自适应推理。现有研究集中于网络结构中的计算冗余,而本文的目标是利用数据样本中的信息冗余。本文的动机是,低分辨率特征表示足以对“简单”样本进行分类(如上图a所示),而包含细节的高分辨率特征对于准确识别某些“困难”样本(如上图b所示)是必要的。

同时,这也符合“coarse to fine processing ”的设计思想。从信号频率的角度,可以使用低分辨率特征中包含的低频信息对“简单”样本进行正确分类。当无法准确预测具有低分辨率特征的样本时,高频信息可以用于识别“困难”样本。

基于上述思想,作者提出了一种解决方案——分辨率自适应网络(Resolution Adaptive Network,RANet),它实现了在深层CNN中执行了分辨率自适应的思想。它由具有不同输入分辨率的子网络组成,“简单”样本通过处理低分辨率特征图的子网络进行分类。当前一个子网未能达到给定标准时,将采用分辨率较高的子网。同时,将前面子网络中的粗粒度特征重新利用并融合到当前子网络中。RANet的自适应机制通过避免在高分辨率特征上执行不必要的卷积,提高计算效率。

      02      

方法

2.1. Adaptive Inference Setting

作者提出了一个自适应推理的模型。作为一个带有K个分类器的网络,这些分类器添加在模型的不同深度。给定一个输入图像x,第k个分类器(,,)的输出可以表示为:

其中θ表示与第k个分类器对应部分网络的参数,每个元素是第c个类的预测置信度。

自适应模型根据样本的复杂性,动态分配适当的计算资源来预测样本。样本将在输出满足特定标准的第一个分类器处退出网络。在本文中,作者使用Softmax输出的最高置信度作为决策依据,阈值为。该过程可以表示为:

阈值用于控制测试时分类精度和计算成本之间的权衡。

2.2. Overall Architecture

上图展示了展示了本文方法的框架图,它包含对应于不同分辨率的初始层和子网络,每个子网络在最后几个块上都有多个分类器。与MSDNet类似,作者在本文中采用了多尺度结构(multi-scale architecture)和密集连接(dense connection)。

尽管RANet和MSDNet具有相似的多尺度结构,但它们的结构设计和计算图存在着显著的差异。最显著的区别是RANet需要首先提取低分辨率特征,这与经典深度CNN(包括MSDNet、ResNet、DenseNet等)中提取高分辨率特征的传统设计惯例是不同的。

RANet的基本思想是,网络将首先基于最低空间分辨率的特征,使用第一个子网络预测样本,以避免对高分辨率特征执行卷积导致的高计算成本。如果第一个子网络对样本做出不可靠的预测,则低分辨率的中间特征将融合到具有更高分辨率的下一个子网络中。然后由下一个较高分辨率特征的子网络执行分类任务。重复此过程,直到一个子网络产生可靠的预测,或使用最后一个子网络。

RANet的自适应推理过程如上图所示:使用H个子网络(图中H=3)和输入样本x,网络将首先生成H个S尺度的基本特征图(例如,图中有3个尺度,s=1表示最低分辨率)。与子网络相对应的基本特征可以表示为。

然后,子网络1首先使用最小分辨率的特征执行分类任务。如果子网络1未能以高置信度实现分类结果,则将使用处理较大尺度特征()的子网络2对样本进行进一步分类。子网1中的中间特征会融合到子网2中。如果子网络2未能做出可靠的预测,将对子网络3重复此过程。

上述推理过程符合人类对图像识别的直觉。具有代表性特征的“简单”样本有时可以以高置信度正确分类,即使仅提供低分辨率表示。具有非典型特征的“困难”样本只能基于从高分辨率特征图中提取的具有细节的全局信息进行正确识别。

2.3. Network Details

2.3.1 Initial Layer

初始层用于生成S个尺度的H个基础特征,其垂直布局视为一个微型的“H层”卷积网络(如上图所示)。上图显示了有三个尺度的3个基本特征的RANet。第一个具有最大尺度的基本特征来自于常规卷积,后面低分辨率的特征由在上一个尺度的特征上进行步长>1的卷积获得。这些基本特征的尺度可以相同。例如,一个RANet可以具有3个尺度中的4个基本特征,其中最后两个基本特征的尺度具有相同的分辨率。

2.3.2 Sub-networks with Different Scales

由于初始层生成H个基础特征,因此本文的网络可以分为H个子网络,H个子网络由不同的卷积块组成。

Sub-network 1

具有输入的子网络1处理最低分辨率的特征。作者选用了l层的Dense Blocks作为子网络1,如上图所示。此外,每个Dense Blocks第i层的输出也会传到子网络2中以重用特征。通常,可以将子网络1视为具有多个分类器的DenseNet,用来处理最低分辨率的特征映射。

Sub-networks on larger-scale features

具有尺度s的子网络h处理基本特征,融合了上一个子网络(h-1)的特征。用于融合特征的卷积模块称为融合模块(如上图所示)。假设子网络(h-1)中有个块,那么子网络h的前个块都是融合模块。

作者设计了两种不同的特征融合方法。一个保持输入分辨率,如上图(b)所示,而另一个通过步长大于1的卷积层减小特征尺度,如上图(c)所示。

为了生成具有更高分辨率的新特征图作为输入,上图(b)中的融合模块首先用常规卷积来生成。上一个子网络中尺度(s-1)的特征通过Up-Conv(即,常规卷积+上采样)进行处理,这确保生成的特征具有相同的空间分辨率。然后,通过密集连接的concatenation融合得到的特征。

上图(c)中,下采样的融合模块使用步长大于1的卷积来减少空间维度,如蓝色虚线箭头所示,然后在池化操作之后执行密集连接的concatenation。由于当前子网中的特征尺度减小,因此前一个子网中的特征由常规卷积处理以保持低分辨率,然后在末端的块中进行融合。

子网络h可以通过以下方式构建:对于一个有个块的子网络,前个块可以看做是融合模块(Fusion Blocks),剩下的模块为常规的密集模块(Dense Blocks)。此外,作者在第个模块中进行了s次下采样,确保在附加分类器的每个子网络的末端,特征具有最低的分辨率。

Transition layer

在网络中,作者实现了过渡层(Transition layer)来进一步压缩每个子网络中的特征映射。过渡层由1×1卷积后面接上BN层和ReLU层实现,过渡层进一步保证了所提出网络的计算效率。

Classifiers and loss function

作者在不同子网络的最后几个块中加上了分类器,在训练阶段,输入样本依次通过不同的子网络,每个分类的损失函数均为交叉熵损失函数,RANet的总体损失函数设置为这些分类器的损失之和,在实验中,作者为每个损失分类器的损失函数赋予了相同的权重。

2.4. Resolution and Depth Adaptation

本文提出的RANet可以同时实现MSDNet中采用的深度自适应和分辨率自适应,上显示了MSDNet(左)和RANet(右)之间的主要区别。在RANet中,具有小尺度输入的Dense Blocks被依次激活,深度自适应在单个尺度内进行。

如果前一个子网络不能进行高置信度的预测,则输入样本将传播到下一个子网络,并重复深度自适应的过程,直到预测置信度满足标准,或达到整个网络的最后一个分类器。这种推理方案自然地结合了分辨率和深度自适应,实现了MSDNet的显著性能提升。

      03      

实验

3.1. Anytime Prediction

在anytime prediction设置中,作者评估自适应网络中的所有分类器,上表展示了相应的 计算量和准确率。可以看出,本文的RANet具有性能和计算量上的优势。

3.2. Budgeted Batch Classification

上表展示了budgeted batch classification设置下,本文方法和其他方法的性能和计算量对比,可以看出,本文方法在性能和计算量上的优越性。

3.3. Visualization and Discussion

作者还可视化了一些“简单样本”和“困难样本”的例子。

Multiple objects

从上图可以看出,图中包含多个目标的样本通常为困难样本。

Tiny objects

从上图可以看出,图中目标较小的样本通常为困难样本。

Objects without representative characteristics

从上图可以看出,图中的目标没有显著特征的样本通常为困难样本。

      04      

总结

在本文中,作者提出了一种基于多尺度密集连接结构的分辨率自适应神经网络——RANet。RANet首先将处理粗粒度特征的轻量级子网络用于图像分类。具有高预测置信度的样本将提前从网络中退出,具有更精细细节的较大尺度特征将仅进一步用于那些在上一个子网络中没有得到高置信度输出的样本。这种分辨率自适应机制和RANet中各子网的深度自适应保证了其较高的计算效率。在三个图像分类基准数据集上的实验结果证明了RANet的有效性。

▊ 作者简介

研究领域:FightingCV公众号运营者,研究方向为多模态内容理解,专注于解决视觉模态和语言模态相结合的任务,促进Vision-Language模型的实地应用。

知乎/公众号:FightingCV

END

欢迎加入「超分辨率」交流群

RANet:MSDNet加强版!清华黄高团队提出分辨率自适应的高效推理网络RANet!相关推荐

  1. 圆形的CNN卷积核?华中科大清华黄高团队康奈尔提出圆形卷积,进一步提升卷积结构性能!

    作者丨小马 编辑丨极市平台 写在前面 目前正常卷积的感受野大多都是一个矩形的,因为矩形更有利于储存和计算数据的方便.但是,人类视觉系统的感受野更像是一个圆形的.因此,作者就提出,能不能将CNN卷积核的 ...

  2. ICLR2021 | 清华大学黄高团队:显存不够?不妨抛弃端到端训练

    智源导读:本文主要介绍清华大学黄高团队被ICLR2021接收的一篇文章:Revisiting Locally Supervised Learning: an Alternative to End-to ...

  3. 克服DIMM近存计算系统的通信瓶颈,清华软件定义芯片团队提出DIMM间广播技术 | ISCA 2021...

    允中 发自 凹非寺 量子位 编辑 | 公众号 QbitAI 2021年6月14日-6月17日,第48届国际计算机体系结构大会(ISCA)通过线上模式顺利召开.清华大学魏少军.刘雷波教授团队作了题为&q ...

  4. 顶刊TPAMI 2022!清华刘玉身团队提出SPD:雪花反卷积网络

    点击下方卡片,关注"CVer"公众号 AI/CV重磅干货,第一时间送达 点击进入->[计算机视觉]微信技术交流群 转载自:图形学与几何计算 点云形状补全与生成是三维计算机视觉 ...

  5. 清华鲁继文团队提出DynamicViT:一种高效的动态稀疏化Token的ViT

    [导读] 由于随着ViT中的token数量的增长,会导致计算成本呈平方级急剧增加!近期,清华黄高团队提出了自适应序列长度的DVT方案,本篇文章,我们将介绍另一种方法.6月3日,清华鲁继文教授团队提出了 ...

  6. 27岁博士毕业,32岁成清华博导!黄高助理教授:DenseNet发明者

    近期,各校优秀的青年学者喜获杰青的新闻频出,小募关注到在2020年清华大学一位32岁的博导已获得了优青,可谓是青年俊才!今天让我们一起来走近他的故事吧~ >>>> 黄高,道林镇 ...

  7. CPT:刷爆少样本REC任务!清华刘知远团队提出跨模态预训练Prompt Tuning

    关注公众号,发现CV技术之美 本文分享论文『CPT: Colorful Prompt Tuning for Pre-trained Vision-Language Models』,由清华刘知远团队提出 ...

  8. 清华BAAI唐杰团队提出第一个开源的通用大规模预训练文本到视频生成模型CogVideo,含94亿超大参数量!代码即将开源!...

    关注公众号,发现CV技术之美 我爱计算机视觉 专业计算机视觉技术分享平台,"有价值有深度",分享开源技术与最新论文解读,传播视觉技术的业内最佳实践.知乎/微博:我爱计算机视觉,官网 ...

  9. CMU贺斌教授团队提出FAST-IRES技术,利用高密度EEG产生脑信号源的动态图像

    图片来源于[2] 卡耐基梅隆大学生物医学工程系系主任贺斌教授的研究团队提出将高密度脑电图(EEG)作为动态功能神经成像的未来范例,这研究成果标志着实现 NIH BRAIN计划目标的道路上的一个重要里程 ...

最新文章

  1. linux之权限和chmod、chown命令
  2. Qt D-Bus类型系统
  3. WordPress 短代码集
  4. java循环一年月份天数和_javawhile循环编写输入某年某月某日,判断这一天是这一年的第几…...
  5. 自定义notebook扩展插件_Anaconda3中的Jupyter notebook添加扩展插件
  6. vue框架:变更页面background背景颜色 - 代码篇
  7. java_interface的用法_Java注释@interface的用法
  8. java day49【综合案例day01】
  9. .NET单元测试(四):用例设计
  10. testbed 桩函数设置
  11. html5点击刷新的效果,HTML5 手机屏幕下拉(下刷)动作的弹性刷新效果
  12. AD单片机九齐单片机NY8B062D SOP16九齐
  13. 根据银行卡号获取开户行和银行LOGO
  14. COSTDOWN版本的NRF51802和NRF51822的复位问题
  15. Rk 平台显示屏调试
  16. 读书笔记-《领导力21法则》
  17. 服务器虚拟化太金苹果专业十,合作能力
  18. 微信公众号:我们可以用它来干什么?
  19. c#如何wmf图片转换成png图片_【C#】使用fo-dicom完成BMP,JPG,PNG图片转换为DICOM文件-阿里云开发者社区...
  20. 金融数量分析2:Markowitz均值方差模型

热门文章

  1. 一文搞懂C语言回调函数
  2. Eigen--Matrix
  3. 【图像处理】透视变换 Perspective Transformation(小细节修正和推导流程补充)
  4. 利用制表位快速居中对齐公式,同时公式编号靠右对齐
  5. matlab数学实验十,数学实验(MATLAB版)
  6. CSU 1558 和与积
  7. php属性赋值吗,php – 设置类中属性的默认值
  8. python生成指定长度的列表_如何在python中创建固定大小列表?
  9. 【script】数据处理的瑞士军刀 pandas
  10. mac nginx加载php 配置,Mac下Nginx安装环境配置详解