动机
1、两阶段NAS在训练过程中需要对搜索空间进行采样,这直接影响最终搜索模型的准确性。
神经结构搜索(NAS)在设计最先进的(SOTA)模型方面表现出了巨大的潜力,既准确又快速。近年来,BigNAS等两阶段的NAS将模型训练和搜索过程解耦,取得了良好的搜索效率。两阶段NAS的成功很大程度上依赖于第一阶段的候选网络训练。为了使每个候选网络都有更好的性能,训练的过程是从搜索空间中抽取候选网络,然后通过一步随机梯度下降(SGD)对每个样本进行优化。关键是要弄清楚在每个SGD步骤中采样哪个网络。
2、尽管均匀采样的广泛应用是为了简化,但它不考虑模型性能的帕累托前沿,而帕累托前沿是搜索过程中的主要关注点,因此模型精度不能进一步提高。
方法
为了更多地关注那些更有可能产生更好的帕累托前沿的模型来改进基线均匀采样,该论文提出了一种新的策略,AttentiveNAS,通过对帕累托最优或最坏前沿的网络进行关注抽样来改进现有的两阶段NAS。在训练过程中,为了有效识别帕累托网络,需解决以下两个问题:
1、在训练过程中,应该采样哪些候选网络集?
2、应该如何有效地抽样这些候选网络,而不产生太多训练代价?
为了回答第一个问题,探索了两种不同的采样策略。第一种策略,被称为BestUp,在传统的帕累托最优NAS之后,研究一种帕累托最佳前沿感知采样策略,将更多的训练预算用于改进当前的帕累托最佳前沿,形成帕累托最佳集的模型,并使用更多的数据和迭代来训练这些模型。第二种策略,被称为WorstUp,专注于改善候选网络,从而产生最坏情况下的性能权衡。将这些候选网络称为帕累托最坏集。这种采样策略类似于硬示例挖掘,将帕累托最坏模型视为硬训练示例。突破帕累托最坏网络的极限,有助于更新权享网络中最优参数,使所有参数都得到充分训练。
第二个问题也是需要解决的,因为在帕累托最优和最坏的前面确定网络并不简单。提出了两种方法来解决这个问题(1)训练损失和(2)采用预训练预测器预测的准确性来比较准确性。
Pareto-best架构设置:给定一个优化状态 (权重共享图的参数),如果不存在其他架构达到更好的性能,而计算开销更小或类似,那么这个子网是Pareto-best。
Pareto-worst架构设置:类似地,如果一个架构在精度上总是被其他具有相同或更大FLOPs的架构所主导,将其定义为Pareto-worst架构。
实验细节
紧跟FBNetV3中的现有技术搜索空间设计,并进行了一些简化。特别地,在FBNetV3中使用了相同的元架构结构,但减少了信道宽度、深度、扩展比和输入分辨率的搜索范围。还将搜索空间中最大的子网络限制在2000 MFLOPs以内,并将最小的子网络限制在高于200 MFLOPs。特别的是,最小和最大的型号分别有203mflops和193mflops。与BigNAS搜索空间的结果相比,本文的搜索空间会产生更好的DNN解决方案。与BigNAS搜索空间相比,本文的搜索空间包含了更深更窄的子网络,在考虑到FLOPs约束的情况下,实现了更高的精度。
无需额外的再训练或后处理,就可以同时使大量的网络获得大范围的FLOPs。对目前已有模型做实验,证实了提出的AttentiveNAS模型在ImageNet上的准确率最高,优于包括BigNAS、Once-for-All networks和FBNetV3在内的SOTA模型。在ImageNet上的实验还实现了80.1%的精度,只需491 MFLOPs。
结论
提出了两种方法来有效地指导抽样到帕累托最优或最坏前沿。
增加训练预算是提高DNN性能的有效方法。
突破帕累托最差集的性能极限可能会导致一个更好的优化的权重共享图,这样所有可训练的组件(如channels和layers),在最终的性能贡献中将发挥其最大潜力。