申请试用
登录
核心技术
以原创技术体系为根基,SenseCore商汤AI大装置为核心基座,布局多领域、多方向前沿研究,
快速打通AI在各个垂直场景中的应用,向行业赋能。

ICLR 2021 Spotlight | 给权重共享一点自由度,通道搜索性能大幅度提升!

2021-08-10

近年来,模型轻量化作为一种常用的模型加速方法,受到深度学习研究人员的青睐。作为一篇网络通道数压缩的文章,本文探讨了固定权重共享的方式在模型压缩中的利弊,并据此提出一种新的自由权重共享的解法。基于提出的权重共享策略,本文还提出了一种基于 FLOPs 的分组方法,以实现更优分组的目的。为了解决搜索空间过大的难题,本文提出了一种多阶段通道数搜索的方法,以促使从“粗搜索”到“细搜索”的进化,进而实现高精度细粒度的模型通道数搜索。

 

本文主要介绍我们 ICLR 2021 接收的一篇文章: 

Locally Free Weight Sharing for Network Width Search。

image.png


Part 1 动机和背景


深度学习网络结构可以容易的通过堆叠多层非线性层来实现。然而在现实应用中,我们还需要决定每层设计的网络宽度,这个任务通常需要适配特定的网络计算预算, 如 FLOPs, latency。因此,为了适应不同的预算成本,一个过度参数化的网络结构往往需要通过被裁剪,以适应不同的任务需求。得益于近年来 NAS 技术的迅速发展,基于权重共享的超网络 (supernet)的通道(channel) 搜索方法被广泛应用。Supernet 作为一个网络结构(i.e., 网络宽度)性能的评估器,用于评估搜索空间中所有通道数配置(网络宽度)的相对排序。此任务中搜索空间往往是巨大 (如10^25 for MobileNetV2),因而准确评估不同通道数配置对于 supernet 而言是非常困难的。在网络宽度搜索算法中,如何训练 supernet 以及建立 supernet 与搜索空间中结构的对应关系,对于其是否能准确评估不同网络宽度的相对排序十分重要。


在本篇论文中,我们提出了一种新的局部自由的权重共享方式,使搜索空间中的每个网络宽度能拥有一定的自由度来自由的选择与 supernet 网络权重的对应关系。具体而言,对于每一个网络结构,我们给一定程度的自由,使其能在一定范围内自由的选取合适的 supernet 权重并与之对应,从而更准确的训练 supernet 和搜索合适的网络宽度。同时,为了减小搜索空间,我们提出了一种基于 FLOPs 的分组方法,使每一组通道都尽可能有相同的 FLOPs,从而排除了 supernet 训练和网络宽度选择时的分组不公平造成的干扰。由于我们提出的局部自由的权重共享方式,搜索空间被一定程度放大。因此我们也提出了多阶段搜索的方法,实现从“粗搜到细搜”的过程,以提高搜索的准确性。本论文搜索出的结构在 ImageNet (mobile setting) 下取得了 SOTA(state-of-the-art) 的结果。


Part 2 主要思路


局部自由的权重共享方式


image.png


为了建立 supernet 的权重与搜索空间中的结构的对应关系,传统的网络宽度搜索算法会采用固定的对应关系。例如,网络中前 c 个 channel 对应宽度 c。

image.png

然而这种强约束也限制了supernet的性能。例如,小的宽度对应的supernet的权重永远是大的宽度的一个子集,这种固定的对应关系将导致任意两组不同的网络宽度的权重共享程度达到最大。事实上,对于固定的对应关系,任意两组不同网络宽度的权重共享程度都是1。

image.png

理想情况下,每组网络宽度都应有充分的自由度来选择其与 supernet 的权重对应关系,任意两组网络宽度的共享程度可能是完全共享,部分共享或者是没有共享。然而,这样做也会导致,搜索空间从O(n) 增长到 O(2^n),从而增加 supernet 准确排序的负担。


因此,我们提出局部权重共享的策略。对于每一组网络宽度,部分channel 采用固定的对应策略,对于剩余的channel给与其一定的自由度以选择合适的对应关系。

image.png


Supernet优化和搜索方式


为了在提出的局部自由的权重共享方式中,找到合适的 supernet 与网络宽度之间的对应关系,我们提出 采用每组网络宽度对应的取得最佳 performance(如,最大 accuracy 和最小的 loss)的权重对应方式来构建其与 supernet 之间的联系。


基于supernet的训练过程:

image.png


相应的搜索过程:

image.png


基于FLOPs敏感度的通道数分组方法


为了减小搜索空间的大小,以往的方法往往采用均匀分组的策略,将每层所有的通道数均匀的分为固定的组数。然而,这种分组方法忽略了通道自身的信息,如 kernel 大小,特征图分辨率等等。我们也注意到这些信息直接与 FLOPs 的构成相关,基于这个观察,我们提出构建基于 FLOPs 敏感度的通道数分组方案,使得每个组内都能有相同的 FLOPs,从而能够排除分组不同带来的训练和测试差异。


多阶段搜索方法


为了搜索到高精度且细粒度的网络结构,往往需要定义一个十分巨大的搜索空间。然而,从巨大的搜索空间中很难直接搜索到合适的网络宽度。针对这个问题,我们提出多阶段搜索来避免搜索空间过大的问题,同时保证搜索结果的细粒度。

image.png

image.png


Part 3 实验结果


image.png


同时我们验证了我们搜索结构在目标检测任务上的迁移能力。


image.png


Ablation Study


1. channel选择自由区间的作用

基于 CIFAR-10 数据集,我们对提出的局部权重共享策略进行了评估,如图 2 所示。可见在随着自由度的提高,supernet 的评估能力和最终搜索结构的精度将会相应提高。

image.png


2. 训练和搜索时间影响的评估

由于我们提出的算法将会涉及到搜索 supernet 与网络宽度对应关系的过程,因此我们的算法比固定的权重共享方式需要付出一定程度额外的计算代价。因此,我们研究在额外提供更多的训练和搜索时间的情况下,是否会带来额外的性能提升。


image.png


如表6所示,在给定的训练和测试框架下,额外的训练时间并不会提升 supernet 评估的准确性,而提高搜索时间也仅能微量提升搜索结果。


Part 4 总结


超网络训练和评估是网络宽度搜索的重要议题。与当前方法采用固定的权重共享方法不同,我们的方法更注重于探索 supernet 与网络宽度之间的对应关系。这种自由的对应方法的提出,能够帮助探索 supernet 更好的训练和表达方法。CafeNet 的姊妹篇工作 BCNet 目前也被 CVPR 2021 接受,其是从权重共享的公平性进行切入的,我们也会后续进行解读与分享。


Part 5 作者介绍


论文一作苏修,目前在悉尼大学攻读博士,主要从事 AutoML 领域中模型压缩和神经网络结构搜索等方向的研究,在 CVPR、ICLR 上发表多篇 paper。

主页:https://xiusu.github.io


论文二作游山为本文的通讯作者,目前在商汤科技担任研究员,主要研究方向为自动化机器学习、模型轻量化以及在计算机视觉中的应用与落地,目前发表 20 余篇包括NeurIPS、ICLR、CVPR、KDD、AAAI、IJCAI 在内的国际顶会 paper,担任多个  top-tier 会议或期刊审稿人。

主页:http://shanyou92.github.io/


论文三作黄涛,目前在商汤科技担任研究员,主要研究方向为自动机器学习、模型轻量化及其在计算机视觉中的应用,在 CVPR、ICLR 上发表过多篇 paper。

主页:https://taohuang.info/


论文地址

https://arxiv.org/pdf/2102.05258.pdf