这是一篇CVPR2021年关于网络架构搜索的论文,比较创新的点是按照块的重要程度来进行架构搜索,实现了效率的提升并且硬件友好。
作者通过观察残差网络,发现一个神经网络之中只有少部分块结构是非常重要的,如下图,如果把神经网络的输入到输出的所有路径都统计出来,发现只有少数块是出现在所有路径中的(例如第一层、最后的全连接层、下采样块和通道扩张块,其他块总会找到替代路径,所以相对来说并没有那么重要。
更具体的,作者在MnasNet和MobileNetV2上分别固定所有层而对一层的通道使用掩码以(0.3,0.6,1.0)的概率进行屏蔽,发现对于不关键的块即使不输出通道也对精度没有太大影响,而对于关键块,即使以0.3的概率屏蔽通道也会是精度下降很多,实验结果如下图:
基于以上结果,作者提出了一个分阶段搜索块结构的算法,第一阶段通过堆叠所有重要层并搜索重要块来构建最小的 SuperNet,使用梯度下降优化架构参数和权重参数。第二阶段固定关键块结构并在计算资源限制下搜索不关键的块。
具体的,作者将架构参数连续化:
其中θ是LxO大小的矩阵,L为层数,O为操作数,
代表采样的架构参数,ζ代表采样函数,可以使用softmax, Gumbel-softmax, Gumbel-Max等,表示第l层的第o个操作。使用如下函数衡量采样架构
的FLOPs :其中F代表每层每个操作的运算量,是一个LxO的矩阵。
对θ的优化公式:
其中
是FLOPs ,是一个常数标量,被定义为采样架构的最大FLOPs 。针对多目标的优化:
构造空间方案:
引入了正交约束,进一步增加了不同空间方案的多样性。
对各个空间方案采样:
其中Ρ可以使用softmax, Gumbel-softmax, Gumbel-Max等。
结合之前的
定义:最后将NAS的双层优化问题表示为:
其中Τ是对Π和Θ正则化,α 是多目标损失率。
作者通过上式来实现参数的优化,进而搜索到最终架构。
实验结果
作者后面还做了消融实验,发现:
没有资源限制精度会更高,NAS变成了给定资源约束的计算资源分配问题;
关键块优先策略找到更优架构;
Gumbel-Max 采样不减少精度同时减少搜索时间。
以上。
Original: https://blog.csdn.net/weixin_44373865/article/details/123960315
Author: 莫问余年
Title: HourNAS: Extremely Fast Neural Architecture Search Through an Hourglass Lens论文笔记
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/692431/
转载文章受原作者版权保护。转载请注明原作者出处!