CVPR2019 | 特定平台下的高效网络结构搜索

作者:渣渣鸣 https://zhuanlan.zhihu.com/p/69852042 本文已授权,未经允许,不得二次转载

这篇文章是我在公司实习过程中做出的一点工作,很幸运被CVPR收录,但是美签被特朗普关了。下雨天打孩子——闲着也是闲着,趁着他们去长滩开会,在成都写篇文章,宣传下我们的工作。

arXiv:https://arxiv.org/abs/1903.03777

1、Background

CNN在多个计算机视觉方向都有着重要的应用,但是需要消耗大量的计算资源,在嵌入式平台和移动平台的部署仍存在很大的困难。但是不同平台计算特性差异性非常大,即使是相同的平台,不同的实现框架的计算性能都可能会有所不同,设计出一个能最大化特定平台效率的网络结构,做到精度和速度的权衡,是一个非常重要的事情。

目前的NAS工作大多使用FLOPS等指标来衡量模型的复杂度和速度,但是这个指标无法将平台的计算特性考虑进搜索的过程。本文通过提出一种对搜索空间迭代剪枝的方式来做搜索,用训练出的已知模型来估计不需要再考虑的搜索空间,最终可以画出一条性能和延时的边界,也就得到了一系列帕累托最优模型。

2、Method

和已有的NAS算法类似,这部分依次介绍搜索空间构建、搜索算法和性能指标。

搜索空间如下图所示

其中stage 3-5是我们需要搜索的部分。经过评估,我们在TX2平台上选择了ResNet的building block为basic block。其中stage 3-5的block数量和宽度都是未知的,但我们人为规定了一个规则,就是后一层的宽度不能低于前一层,保证网络的通道数是一个单调不减的序列。对于搜索空间之中的每个网络,我们都使用了一个字符串去编码它的结构,如64-64——128-256——256就表示了stage 3有两层,宽度64,stage 4有2层,宽度128和256,stage 5有一层,宽度256 。

这样的话,网络的结构可以有无限种,搜索空间无限大,但很多模型是我们不需要的,也就是其推理时间不在区间内的模型。

这是因为我们关注的性能指标就是特定平台上的推理时间,我们并不需要在该平台下推理时间过长的模型。对于推理时间,我们与FBNet、ProxylessNAS的方法不谋而合,均是通过查找表去预测,实验发现这种方法确实是非常的稳定。

本文的核心,就在于下面要介绍的偏序关系。

我们通过实验发现,模型的结构之间可能存在着一些偏序关系,当两个网络存在偏序关系时,其性能与延时之间的关系也是确定的。值得注意的是,这样的偏序关系并不存在于搜索空间中任意一对模型,本算法所剪枝掉的,也仅仅是搜索空间中与已训练模型之间满足偏序关系的模型。

那么为什么要提出偏序关系呢?

以上图为例,搜索空间中每一个点都对应着上图坐标系中的一个模型。我们对找到的每一个w,都希望能得到与其相关的需要剪枝掉的搜索空间Pw,Pw代表着无论是速度还是精度都不如w的模型们,但是Pw这部分包含的模型究竟是什么样的呢?我们不知道。而且,Pw虽然位于w的左下区域,但并不代表分布于w左下的所有模型我们都不需要,Pw需要一个下界,否则我们可能剪掉了低延时下的边界模型。虽然Pw我们不知道,但是Pw中的一部分模型我们是知道的,这一部分就是和w存在偏序关系的模型,因为这些模型在图中的分布情况可以通过w进行估计。

最终整体的算法流程可以总结为:

1、从搜索空间中随机采样w

2、训练w,得到性能和估计的推理时间

3、得到yw,即已经训练出来的网络中比w性能好的最快的模型,yw的速度将会是Pw的下界

4、得到Pw,即与w存在偏序关系,可以估计出既不如w也不如yw的模型集合

5、从搜索空间中删除Pw模型,并回到步骤1,直到边界模型在一定迭代次数后不再更新

Partial Order Pruning不仅可以搜索classification的模型,加上decoder也可以搜索出一个segmentation的模型。

3、Experiments

在TX2平台上,我们取得了state-of-the-art的结果

相比于轻量级网络,我们的model size和flops虽然大很多,但是因为部署在TX2平台,反而速度更快。

同样segmentation任务上我们的结果也非常不错,但是这部分做的比较仓促没什么时间,没有怎么调参就submit,就不多介绍了。

在手机端,我们也做了一些工作,主要是为了展示算法的拓展性。在我自己用的mi8高通845上,我们也搜索了一些模型并选择了其中一个作为segmentation的backbone,据我所知,应该是目前首个在手机上用384x640分辨率跑cityscapes的吧。运行的视频录屏如下所示:

原文发布于微信公众号 - CVer(CVerNews)

原文发表时间:2019-06-20

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券