计算机视觉学习分享

【神经网络搜索】Once for all

2021-05-28  本文已影响0人  pprpp

【GiantPandaCV导语】Once for all是韩松组非常有影响力的工作,其最大的优点是解耦了训练和搜索过程,可以直接从超网中采样出满足一定资源限制的子网,而不需要重新训练。该工作被ICLR20接收。

【神经网络搜索】Once for all0. Info1. Motivation2. Contribution3. Method4. Experiment5. Revisiting6. Reference

0. Info

Title: Once-for-All: Train one Network and Specialize it for Efficient Deployment

Author: 韩松组

Link: https://arxiv.org/pdf/1908.09791v5

Publish: ICLR2020

1. Motivation

传统网络搜索方法往往只能针对某个特定设备或者特定资源限制的平台进行针对性搜索。对于不同的设备,往往需要在该设备上从头训练。这样的方法扩展性很差并且计算代价太大,所以once for all从这个角度出发,希望能做到将训练和搜索过程解耦,从而可以训练一个支持不同架构配置的once-for-all网络(类似超网的概念),通过从once-for-all网络中选择一个子网,就可以在不需要额外训练的情况下得到一个专门的子网络。

也就是说,网络设计主要受平台的以下几方面约束:

2. Contribution

3. Method

方法部分需要搞清楚两个问题,一个是网络是什么样的?一个是网络是如何训练的?

第一个问题:once-for-all网络长什么样子?

once-for-all网络支持深度、宽度、卷积核大小、图像分辨率四个因素的变化。

由于网络包括5个单元,所以候选的子网大概有个不同的子网,并且是在25个不同输入分辨率下进行训练。所有的子网都共享权重,只需要7.7M的参数量。

第二个问题:once-for-all怎样才能同时训练这么多子网络?

由于once-for-all的目标是同时优化所有的子网,所以需要考虑使用新的训练策略。

通过以上分析可以看出,训练超网是非常困难的,需要采用更好的训练策略才能训练得动超网。

本文提出了Progressive Shrinking策略来解决以上问题,如下图所示:

  1. 先训练最大的kernel size, depth , width的网络

  2. 微调网络来支持子网,即将小型的子网加入采样空间中。比如说,当前正在微调kernel size的时候,其他的几个选项depth, width需要维持最大的值。另外,分辨率大小是每个batch随机采样的,类似于yolov3里的训练方法。

  3. 采用了知识蒸馏的方法,让最大的超网来指导子网的学习。

渐进式收缩训练策略

以上策略的特点是:先训练最大的,然后训练小的。这样可以尽可能减小训练小模型的时候对大模型的影响。

下面对照上图详细展开PS策略:

通过以上描述可以看出来,权重共享的网络优化起来非常复杂,上边的选择的子网个数、学习率的选择、epoch的选择可能背后作者进行了无数次尝试调参,才得到了一个比较好的结果。

  1. Elastic Kernel Size: Kernel Size是如何共享的呢?
卷积核共享

简单来说就是,中心共享+变换矩阵。从直觉上来讲,优化7x7的卷积核以后,再优化中间的5x5卷积核势必会影响原先7x7卷积核的结果,两者在分布和数值上有较大的不同,强制训练会导致性能有较大的下降,所以这就需要引入变换矩阵,具体实现是一个MLP,具体方法是:

  1. Elastic Depth: 如何优化不同深度的网络呢?
不同的深度优化

深度为2、3、4的时候,按照上图所示,选择前i个层,进行训练和优化。

  1. Elastic Width: 如何优化不同的通道个数?
通道的选择

并没有使用类似slimmable network中那种选取前n个通道的策略,而是选取了一个channel importance进行排序,通道重要性计算方法是L1范数,L1范数越大,代表其重要性比较高,选择重要性最高的前n个通道。

部署阶段的其他技术细节:

4. Experiment

训练细节

渐进收缩策略:

渐进收缩策略的有效性

上图展示了使用渐进收缩策略以后带来的性能提升,可以看出,不同的架构配置下,都带来了2-4%的性能提升。

实验结果:

实验结果

once-for-all在ImageNet上训练结果如上表所示,其中可以发现虽然训练代价比较高,但是搜索的代价稳定在40GPU Hours并且取得了相同量级MACs下不错结果。

5. Revisiting

6. Reference

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

https://github.com/mit-han-lab/once-for-all

https://arxiv.org/abs/1908.09791

https://file.lzhu.me/projects/OnceForAll/OFA%20Slides.pdf

上一篇下一篇

猜你喜欢

热点阅读