NSGANetV2:进化的多目标代理辅助神经体系结构搜索
(最近看了一些论文,写在Word上面,有的时候在其他设备上查找的时候很麻烦,干脆写个博客)
这篇论文提出了一个高效的NAS算法,用于生成在多个竞争目标下具有竞争力的特定任务。 包含两个代理模型:
(1)一个在体系结构级别,来提高的效率。
(2)一个在权重级别,通过超网,来提高梯度下降的训练效率。
1. 简介
神经体系结构搜索(NAS)尝试自动执行神经网络架构搜索过程,以找到给定数据集的良好体系结构。
人们希望使用NAS在自定义非标准数据集上获得高性能模型,优化可能的多个竞争目标,并在没有现有NAS方法繁重的计算负担的情况下这样做。
NAS的目标是获得最佳架构及其相关的最佳权重。NAS通常被视为双层优化问题,其中内部优化针对给定体系结构遍历网络的权重,而外部优化则遍历网络体系结构本身。解决此问题的计算挑战来自上层和下层优化。在较低级别中学习网络的最佳权重需要进行随机梯度下降的昂贵迭代。
在本文中,我们通过在上层和下层同时采用显式代理模型,提出了一种实用有效的NAS算法。我们的下层代理采用微调方法,其中微调的初始权重是通过超网模型获得的。我们的上层代理采用在线学习算法,该算法专注于搜索空间中接近当前权衡前沿的架构,而不是离线代理方法中使用的随机/统一架构集。
图1:概述:给定一个数据集和目标,MSuNAS获得了一组任务特定的模型,这些模型在所有目标中都具有很高的搜索效率。 它由两个代理组成,一个在较高级别,以提高样本效率,一个在较低级别,通过超网,来提高权重的学习效率。
我们将提出的NAS算法称为MSuNAS,并将最终的体系结构称为NSGANetV2。主要贡献是:
(1)解决双层NAS问题的另一种方法,即同时优化架构和学习最佳模型权重。但是,我们提倡使用替代模型,而不是基于梯度的松弛(例如DARTS)。
DARTS 思想是直接把整个搜索空间看成supernet,学习如何sample出一个最优的subnet。这里存在的问题是子操作选择的过程是离散不可导,故DARTS 将单一操作子选择 松弛软化为 softmax 的所有操作子权值叠加。
(2)用于NAS上层优化的简单但高效的在线代理模型,与其他基于代理的方法相比,大大提高了采样效率。
(3)MSuNAS在与不同场景对应的许多数据集上的可扩展性和实用性。
2. 相关代理
下层代理:
现有方法主要集中在减轻下层基于SGD(1)的权重优化所引起的计算开销,因为对于上层NAS方法采样的每个体系结构都需要重复此过程。这些方法中的一个共同主题是训练一个包含所有可搜索架构作为其子网的超网。
(1)随机梯度下降SGD:每次的权重更新只利用数据集中的一个样本来完成,也即一个epoch过程只有一次迭代和一个更新数据。
在搜索过程中,使用从超网继承的权重的准确性成为选择体系结构的度量标准。但是,完全依靠超级网络代替实际权重优化来评估候选体系结构是不可靠的。
MSuNAS仅使用从超级网继承的权重作为低级优化的初始化。
高层代理:
MetaQNN 使用代理模型从SGD训练的前25%的学习曲线中预测候选体系结构的最终准确性。PNAS 使用替代模型来预测架构的top-1准确性。从根本上讲,这两种方法都试图使用代理来推断而不是内插体系结构的性能。因此预测准确度和真实准确度之间的排名非常低。
OnceForAll 还使用代理模型来预测体系结构编码的准确性。但是,替代模型是针对整个搜索空间进行离线训练的,因此需要大量样本进行学习。
ChamNet 并没有使用统一采样的架构及其验证精度来训练替代模型来近似整个景观,而是通过完全较低级别的优化来训练许多架构。
MSuNAS仅在接近当前权衡前沿的样本上以在线方式在线学习替代模型。在线学习方法极大地提高了我们搜索的样本效率,因为我们只需对当前Pareto前沿附近的样本进行较低级别的优化(完全或替代辅助)即可。
多目标NAS:
考虑多个目标以优化体系结构的方法可分为两类:
(i)标量化
使用标量化目标,该目标可鼓励高精度并同时惩罚计算效率低下。包括ProxylessNAS,MnasNet ,FBNet 和 MobileNetV3。这些方法要求在搜索之前预先定义不同目标的重要性的优先权重,通常需要进行多次试验。
(ii)基于总体的方法。
旨在同时逼近整个帕累托有效边界。这些方法依靠试探法(例如,EA)来有效地导航搜索空间,这允许从业者可视化目标之间的权衡并选择适合于搜索的后验网络。MSuNAS使用代理模型来减轻计算开销,属于后者。
3. 提出的方法
针对目标数据集D = {Dtrn,Dvld,Dtst}的神经体系结构搜索问题可以表述为以下双层优化问题:
其中上层变量 α 定义了候选 CNN 体系结构,下层变量w(α)定义了相关权重。
L(w;α)表示给定体系结构α的训练数据Dtrn的交叉熵损失。
F:Ω→Rm 构成m个期望目标。这些目标可以进一步分为两组:
(1)组(f1至fk)由既取决于体系结构又取决于权重的目标组成。
(2)组(fk + 1到fm)由仅取决于体系结构的目标组成。
3.1搜索空间
MSuNAS在卷积神经网络(CNN)的四个重要维度上进行搜索,包括深度(层数),宽度(通道数),内核大小和输入分辨率。将CNN架构分解为五个顺序连接的块,并逐渐减小了特征图的大小并增加了通道数。
使用整数字符串对这些体系结构选择进行编码,并且将零填充到具有较少层的体系结构的字符串中,从而进行固定长度的编码。
图2:搜索空间:候选架构包括五个计算块。 我们搜索的参数包括图像分辨率,每个块中的层数(L)以及每个层中的扩展率(e)和内核大小(k)。
3.2整体算法说明
常规双层优化方法的两个主要计算瓶颈。
(1)学习给定架构 α 的最佳权重w *(α)的较低层次的问题涉及到延长的训练过程。
(2)即使存在诸如权重共享之类的技术可以绕过基于梯度下降的权重学习过程,但较高级别的广泛采样体系结构仍会使整个过程在计算上令人望而却步。
为了克服上述瓶颈,我们在上下两级都使用了替代模型,以使我们的NAS算法实际上可用于各种数据集和目标:
(1)在较高的级别上,我们构建了一个替代模型,该模型从编码体系结构的整数字符串中预测出top-1的准确性。在搜索过程中以在线方式迭代地建模和完善精度预测器。
这种预测器具有两个期望的属性:
1)预测性能与真实性能之间的高等级相关性;
2)有效采样,以使通过SGD训练所需的体系结构数量最少,以构建预测变量。
(2)在较低级别上,采用了广泛使用的权重共享技术。
1)需要一个超级网络,以使所有可搜索的体系结构都是其子网。
2)我们通过将搜索到的体系结构超参数取其最大值来构造这样的超网。
3)按照渐进式收缩算法训练超网。
总结
本文介绍了MSuNAS,这是一种有效的神经体系结构搜索算法,可在多个竞争目标下快速设计任务特定的模型。我们方法的效率源于:
(i)在体系结构级别上进行在线代理建模以提高样本效率搜索。
(ii)基于超网的代理模型,以通过微调提高权重学习效率。
看了整篇文,感觉最主要的创新点,就是“代理模型”,有了代理模型,就减少实际训练的频率了,大大节省了训练时间,节省了计算资源。