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

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

来源:晓飞的算法工程笔记 公众号

论文: Resolution Adaptive Networks for Efficient Inference

Introduction


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

Method


Adaptive Inference Setting

  构建包含K个分类器的自适应模型,对于输入图片\(x\),第\(k\)个分类器的输出如公式1,\(\theta_k\)为分类器对应的子网参数,部分参数是分类器间共享的,\(p_c^k\in [0, 1]\)\(c\)类别置信度。

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

Overall Architecture

  RANet的整体结构如图2所示,包含初始层(Initial Layer)和\(H\)个对应不同分辨率的子网,每个子网包含多个分类器。具体流程先使用初始层获得不同分辨率的特征图,然后使用最低分辨率的子网进行预测,如果子网没有获得可靠的结果,则使用下一个分辨率稍大的子网进行预测,重复直到获得可靠的结果或者到达最大分辨率子网。
  在重复迭代预测的过程中,高分辨率层会融合低分辨率层的特征。尽管RANet已经在初始层对图片进行了从细​粒度到粗粒度的处理,子网仍然会继续对其进行下采样,直到特征图大小为\(s=1\) scale(表示初始层产生的最小分辨率),分类器只加在最后几个特征图大小\(s=1\) scale的block上。

Network Details

  • Initial Layer

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

  • Sub-networks with Different Scales

  Sub-network 1处理分辨率最低的特征图\(x_0^{1,1}\),使用图3(a)的\(l\)层regular Dense Blocks,每层的输出\(x_i^{1,1}\)都将传递到Sub-network 2中
  输入大小为\(s\) scale的Sub-network \(h\)(\(h>1\))处理基础特征\(x^{s,h}\),并且使用图3(b,c)的Fusion Blocks来融合自Sub-network (\(h-1\))的特征,包含两种类型,一种为图3b的保持特征图大小的类型,另一种为图3c的降低特征图大小类型。对于低维特征的上采样视当前特征的大小使用Up-Conv(Regular-Conv+Bilinear interpolation)或Regular-Conv,对于前后特征也会进行连接,具体结构细节见图3。
  对于输入为\(s\) scale的Sub-network \(h\)的建立如下:假设\(h\)子网包含\(b_h\) blocks,block 1至 block \(b_{h-1}(b_{h-1} < b_{h})\)为Fusion Blocks,特征会下采样\(s\)次,保证输出的特征图为\(s=1\) scale进行分类,剩余的block为regular Dense Blocks。

  • Transition layer

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

  • Classifiers and loss function

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

Resolution and Depth Adaptation

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

Experiments


Anytime Prediction

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

Budgeted Batch Classification

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

Visualization and Discussion

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

Conclusion


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

参考内容



如果本文对你有帮助,麻烦点个赞或在看呗~
更多内容请关注 微信公众号【晓飞的算法工程笔记】

work-life balance.

posted @ 2020-05-01 11:43  晓飞的算法工程笔记  阅读(888)  评论(0编辑  收藏  举报