前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ICLR2020|商汤提出新目标检测NAS方法:算力重分配(CRNAS)

ICLR2020|商汤提出新目标检测NAS方法:算力重分配(CRNAS)

作者头像
Amusi
发布2020-02-10 11:27:18
1.6K0
发布2020-02-10 11:27:18
举报
文章被收录于专栏:CVerCVer

作者:Jeff Liang(梁丰)

https://zhuanlan.zhihu.com/p/100010060

本文已由作者授权,未经允许,不得二次转载

介绍一下我在商汤科技&悉尼大学AutoML组ICLR2020最新文章,文章也会分享一些我对NAS的一些浅显的个人看法,希望能够对大家有所启发。

《Computation Reallocation for Object Detection》(CRNAS)

Author: Feng Liang, Chen Lin, Ronghao Guo, Ming Sun, Wei Wu, Junjie Yan, Wanli Ouyang

链接:https://arxiv.org/abs/1912.11234

Why is CRNAS ? (Motivation)

在今年7月正式决定要做检测NAS时,当时学界已经有了一些很不错的检测NAS文章,如DetNAS[1],NAS-FPN[2],NAS-FCOS[3],对于检测的各个组件(backbone, neck, head)都已经有相关的研究。既然占坑是没有机会了,那不如就去思考已有的工作还有上面可以改进的,为此,我们换了一个研究的视角,从检测这个问题本身去考虑NAS。

那检测的问题在哪呢?做过检测的应该都会想到一个重要方面物体的尺度(Scale),关于检测的尺度有非常多优秀的工作,详细了解可以参考[4]。在检测中,往往会直接将分类网络,如Res50拿过来做提取特征的主干网络(backbone),但是这么直接应用过来是不合适的,参考DetNet[5]。我们更进一步分析了这个Gap的可能的一大原因是两个任务的data相差太大。对Res50分类而言,ImageNet输入大小是224*224,但是对于检测而言,拿COCO为例,输入可能到800*1333,而且还需要去handle各个尺度的物体。那么我们如何才能设计(搜索)一个适合于检测的backbone呢?

这个时候,我们将网络的有效感受野ERF[6]与网络算力分配模式联系了起来。在Faster RCNN + FPN这一经典baseline中,我们希望FPN的各层有合适能力去检测对应大小的物体(Anchor Size)。当我们画出R50-FPN的各层的ERF时,发现对于P3而言(小物体),ERF挺大有冗余,但对于P5而言(大物体),ERF又不够有点稀疏,见下图Figure 1右上角。这也就是直接应用Res50作为backbone的问题,经过我们的stage的重分配之后,可以明显看到各层FPN有更加平衡的ERF,保证了最后的性能。

那通过什么方式可能改变算力分配,进而改变ERF影响最后结果呢?我们提出了两种方向,在不同分辨率(feature resolution)和不同的采样位置(spatial position)进行算力分配。我们做了大量的试验,从轻量级的MobileNetV2到重量级的ResNeXt101,都获得了稳定的涨点。我们搜索出来的模型也有非常好的可迁移性,可以迁移到其他的neck(NAS-FPN),其他的数据VOC,其他的任务实例分割(Mask RCNN)。

What is CRNAS ? (Approach)

为了进行算力重分配,我们构建了一个两级搜索来配合这个庞大的搜索空间。我们先进行stage的搜索,然后进行spatial的搜索。简单来说,先搜索各个stage的block number,再搜索各个位置的dilated conv的rate,因为dilated conv通过改变采样点的稀疏程度,可以改变网络的感受野。

1.Stage reallocation across different feature resolution

考虑到不同stage的block计算量大部分情况是一样的(因为downsample往往会带来channel数的翻倍),我们利用One-shot NAS[7]的方式构建超图,当超图训练完成后,我们去测试各种组合的性能,从其中挑选中最好的组合。我们也设计了可以重复利用的超图,也就是你训练了一个超图之后,我们可以从中挑选出这个系列中任何计算量下最好的模型,如Res18到Res101。

2. Operation reallocation across spatial position

在得到stage的结果之后,我们利用dilated conv来完成不同位置稀疏的采样。与第1步一样,我们也是利用One-shot NAS[7]的方式构建超图,但是最后evaluate的方式不是EA,而是一种贪心的算法,具体的可以参考本文和本组另外一篇文章PCNAS[8]。

How is CRNAS ? (Experiments & Results)

从结果上面来看,经过我们的CRNAS,所有的模型在COCO上均有1.5-1.9 mAP左右的提升,而且这些提升都没有带来任何的计算量增长,在文章中也有很多的analysis和ablation study,在这就不再赘述。

我们搜索出的模型有非常好的可迁移性,可以迁移到其他的neck(NAS-FPN),其他的数据VOC,其他的任务实例分割(Mask RCNN)。

最后来理解一下搜索出的模型,在我们搜索的不同类型的网络结构中,我们都发现了一个有趣的趋势,就是CRNAS趋向于将更多的block以及更多的dilated conv堆叠在网络的deep stage。这与主图Figure 1是遥相呼应的,更一步验证了直接的采用分类网络作为backbone不太合适。并且这与结果中,APl的增长远大于APs的现象也是一致的。

Future NAS.

去年的ICLR2019,有DARTS[9],ProxylessNAS[10]这些非常不错搜索方法的文章。今年的则更多的是对NAS的诠释与理解,以及在各个task上的应用,参考 ICLR2020 NAS收录。个人拙见,对NAS的研究一方面可以去研究NAS的核心问题,比如结构与参数,参数与性能的关系,这个可能涉及到神经网络或者优化的本质问题。一方面可以将NAS看成一个booster,去对各个任务进行具体任务痛点的分析,采用NAS方法进一步利用已有的资源提升性能。

最后的最后,给我们组打一个广告(重要)

商汤研究院AutoML组,在NAS网络结构搜索,自动化训练策略等方面均有不错的研究。两年时间里,团队发表18NIPS一篇,19CVPR一篇,19ICCV两篇,19NIPS一篇,20ICLR一篇,20CVPR三篇在投,在工程侧,团队维护automl相关的工具链,对各个业务算法进行automl赋能。本组长期招聘优秀实习生与全职员工,大组长的主页在这Ming sun(https://msunming.github.io/),指导老师是悉尼大学的欧阳万里老师,欢迎联系组长Chen Lin(linchen@sensetime.com),也可以联系我liangfeng@sensetime.com

谢谢大家!

[1] Chen, Yukang, et al. "Detnas: Neural architecture search on object detection."arXiv preprint arXiv:1903.10979(2019).

[2] Ghiasi, Golnaz, Tsung-Yi Lin, and Quoc V. Le. "Nas-fpn: Learning scalable feature pyramid architecture for object detection." Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2019.

[3] Wang, Ning, et al. "NAS-FCOS: Fast Neural Architecture Search for Object Detection."arXiv preprint arXiv:1906.04423(2019).

[4] Zou, Zhengxia, et al. "Object Detection in 20 Years: A Survey."arXiv preprint arXiv:1905.05055(2019).

[5] Li, Zeming, et al. "Detnet: A backbone network for object detection."arXiv preprint arXiv:1804.06215(2018).

[6] Luo, Wenjie, et al. "Understanding the effective receptive field in deep convolutional neural networks."Advances in neural information processing systems. 2016.

[7] Guo, Zichao, et al. "Single path one-shot neural architecture search with uniform sampling."arXiv preprint arXiv:1904.00420(2019).

[8] Li, Xiang, et al. "Improving One-shot NAS by Suppressing the Posterior Fading."arXiv preprint arXiv:1910.02543(2019).

[9] Liu, Hanxiao, Karen Simonyan, and Yiming Yang. "Darts: Differentiable architecture search." arXiv preprint arXiv:1806.09055 (2018).

[10] Cai, Han, Ligeng Zhu, and Song Han. "Proxylessnas: Direct neural architecture search on target task and hardware."arXiv preprint arXiv:1812.00332(2018).

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-01-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 CVer 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Why is CRNAS ? (Motivation)
  • What is CRNAS ? (Approach)
    • 1.Stage reallocation across different feature resolution
      • 2. Operation reallocation across spatial position
      • How is CRNAS ? (Experiments & Results)
      • Future NAS.
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档