RANet : 分辨率自适应网络效果和性能的best trade-off | CVPR 2020

作者 | VincentLee
来源 | 晓飞的算法工程笔记

简介

深度CNN带来了性能提升的同时也带来了过高的计算量,许多研究放在了如何进行网络加速上面,其中比较直接的是根据样本难易程度进行自动调整的自适应网络。基于对自适应网络的研究,论文提出了自适应网络RANet(Resolution Adaptive Network),思想如图1所示,网络包含多个不同输入分辨率和深度子网,样本先从最小的子网开始识别,若结果满足条件则退出,否则继续使用更大的子网进行识别,子网的特征不是独有的,下一级别的子网会融合上一级别的子网特征,从实验来看,论文在效果和性能上取得了很不错的trade-off。

方法

Adaptive Inference Setting

构建包含K个分类器的自适应模型,对于输入图片 ,第 个分类器的输出如公式1, 为分类器对应的子网参数,部分参数是分类器间共享的, 类别置信度。

自适应网络根据图片的复杂程度动态选择合适的计算分支,即若当前分类器的输出达到预期,则退出,论文采用softmax输出的置信度来进行判断,如公式2和公式3所示。

Overall Architecture

RANet的整体结构如图2所示,包含初始层(Initial Layer)和 个对应不同分辨率的子网,每个子网包含多个分类器。具体流程先使用初始层获得不同分辨率的特征图,然后使用最低分辨率的子网进行预测,如果子网没有获得可靠的结果,则使用下一个分辨率稍大的子网进行预测,重复直到获得可靠的结果或者到达最大分辨率子网。

在重复迭代预测的过程中,高分辨率层会融合低分辨率层的特征。尽管RANet已经在初始层对图片进行了从细粒度到粗粒度的处理,子网仍然会继续对其进行下采样,直到特征图大小为  scale(表示初始层产生的最小分辨率),分类器只加在最后几个特征图大小  scale的block上。

Network Details

  • Initial Layer

初始层用于生成 个基础特征,特征有 个尺寸,图2的初始层包含3个不同尺寸的特征,第一个特征通过Regular-Conv层产生,后面的特征通过Strided-Conv层产生。

  • Sub-networks with Different Scales

Sub-network 1处理分辨率最低的特征图 ,使用图3(a)的 层regular Dense Blocks,每层的输出 都将传递到Sub-network 2中。

输入大小为  scale的Sub-network  ( )处理基础特征 ,并且使用图3(b,c)的Fusion Blocks来融合自Sub-network ( )的特征,包含两种类型,一种为图3b的保持特征图大小的类型,另一种为图3c的降低特征图大小类型。对于低维特征的上采样视当前特征的大小使用Up-Conv(Regular-Conv+Bilinear interpolation)或Regular-Conv,对于前后特征也会进行连接,具体结构细节见图3。

对于输入为  scale的Sub-network  的建立如下:假设 子网包含  blocks,block 1至 block  为Fusion Blocks,特征会下采样 次,保证输出的特征图为  scale进行分类,剩余的block为regular Dense Blocks。

  • Transition layer

RANet也使用了DeseNet稠密的transition layer,具体为 卷积+BN+ReLU,为了简单没有在图2体现。

  • Classifiers and loss function

分类器加在每个子网的后几个block中,在训练阶段,样本会按顺序传给所有的子网,最终的损失是每个分类器计算交叉熵损失加权累积,具体逻辑和权重跟MSDNet一样。

Resolution and Depth Adaptation

RANet的整体结构和MSDNet十分类似,论文与其进行了对比,MSDNet的分类器放到分辨率最低的路径中,如果中间的分类器没有得到符合预期的结果,则会进行下一步全部尺寸的推理预测。而RANet则是从低尺寸到高尺寸逐步使用不同的子网进行推理预测,这样的方式能更好地自适应结合深度和分辨率。

实验

Anytime Prediction

限制单图的计算量FLOPs,直接记录自适应网络中所有分类器的性能以及其计算量进行对比。

Budgeted Batch Classification

限制一批图片的资源总量,需要根据资源总量设定阈值来控制推理的提前退出,记录自适应网络的性能以及对应的资源限制。

Visualization and Discussion

图7展示了RANet识别的一些样例,easy为前阶段的分类器能识别成的样本,hard为前阶段识别失败,但后阶段能识别成功的样本,主要的挑战为多目标、小目标和类间特征不明显的物体。

结论

基于对自适应网络的研究,论文提出了自适应网络RANet(Resolution Adaptive Network)来进行效果与性能上的取舍,该网络包含多个不同输入分辨率和深度的子网,难易样本的推理会自动使用不同的计算量,并且子网间的特征会进行融合,从实验结果来看,在性能和速度上取得了很不错的trade-off。

参考内容

  • MSD: Multi-Self-Distillation Learning via Multi-classifiers within Deep Neural Networks - https://arxiv.org/abs/1911.09418

  • 论文地址:https://arxiv.org/abs/2003.07326

  • 论文代码:https://github.com/yangle15/RANet-pytorch

【end】


欢迎所有开发者扫描下方二维码填写《开发者与AI大调研》,只需2分钟,便可收获价值299元的「AI开发者万人大会」在线直播门票!

推荐阅读全球呼吸机告急!医疗科技巨头美敦力“开源”设计图和源代码使用大batch优化深度学习:训练BERT仅需76分钟 | ICLR 2020
互联网之父确诊新冠,一代传奇:任谷歌副总裁、NASA 访问科学家
微软为一人收购一公司?破解索尼程序、写黑客小说,看他彪悍的程序人生!在Kubernetes上部署一个简单的、类PaaS的平台,原来这么容易!2020年,这20个大家都认识的加密交易所过得怎么样?你点的每个“在看”,我都认真当成了AI
发布了1375 篇原创文章 · 获赞 1万+ · 访问量 685万+

猜你喜欢

转载自blog.csdn.net/dQCFKyQDXYm3F8rB0/article/details/105354904