Neural Architecture Search: A Survey论文阅读
这篇属于2018年在该领域的综述文章,在计算机视觉领域中,图像分类、目标检测与语义分割三大基础方向均取得了显著进展。DARTS的出现对NAS的发展轨迹产生了重要影响。对于初学者而言,这篇综述提供了良好的入门资源和见解。论文着重探讨了三个关键方面:搜索空间(Search Space)、搜索策略(Search Strategy)以及性能评估机制(Performance Estimation Strategy)。如下图:

- 搜索空间:即人们预先设定好的网络架构设定,在明确的方向下将复杂度降低的同时也能简化优化过程。然而由于这种人工干预必然存在局限性。研究表明参考 ICLR 2020 的 NAS evaluation is frustratingly hard 可以发现其局限性已经相当显著。
- 搜索策略:决定了优化过程中的核心要素它不仅需要平衡全局最优解还需要避免陷入局部最优解中找到最佳权值组合。
- 性能评估:同时需要综合考虑两个方面的问题一方面要在固定数据集上保证模型性能另一方面还要权衡计算开销以实现整体效率的最大化。
- 自从DARTS提出后许多 NAS 系统都实现了对搜索耗时和测试时间的显著提升。
搜索空间
链式结构
最基本的一种模块化架构中涉及的因素包括:各个层级的数量、各层所执行的操作类型以及各层中的关键参数设置(如卷积核尺寸数量和步长等)。

重复单元结构
这些跨层手段如ResNet和DenseNet等显著拓展了NAS在搜索空间上的应用范围。因此目前广泛采用的是基于cell/block结构的空间划分方法,在这种设定下每个单元仅需对自身进行优化即可。

DARTS之后的主要单元类型主要包括'normal'和'reduction'两种模式,在这种模式下,'normal'单元保持输入通道数不变而输出通道数与输入相同,'reduction'单元则通过卷积操作将输入通道数减少以适应更高分辨率的空间需求。
这一方法具有两个显著优势:首先,它能够有效降低搜索空间的规模;其次,它能够更加方便地实现对不同数据集的迁移学习,例如,DARTS正是通过将CIFAR-10模型迁移到ImageNet上实现了更好的泛化性能。然而,这种方法也存在一些局限性:例如,确定单元数量、设计合理的连接方式以及如何实现整个网络架构与单个单元的有效协同优化等问题都需要在探索阶段一次性解决,这在一定程度上限制了搜索策略的有效性;此外,即使是在单元优化阶段也面临着离散性和高维度性等挑战(通常表现为模型结构设计较为复杂)。
搜索策略
常见的搜索策略包括随机搜索、贝叶斯优化、进化算法以及基于梯度的方法等。其中基于梯度的方法目前已成为主流方案。

性能评估
最简单的思路就是在训练集上训练网络模型,然后在验证集上评估性能。但是这种方法通常会消耗大量资源,因为每次在训练集上从头开始训练一个模型都是费时费力。为了减少这种计算负担,可以根据充分训练后实际性能的较低保真度(lower fidelity)来估计性能。这种较低的保真度包括更短的训练时间、对数据子集的训练、低分辨率图像或每层使用较少的过滤器。 虽然这些低保真近似值降低了计算成本,但它们也会在估计中引入偏差,因为性能通常会被低估。还有一些其他的方法文章总结在以下这个表格中

学习曲线外推(Curve Extrapolation)
早期采用终止策略筛选那些预计性能不佳的网络拓扑结构,并以此加快结构搜索速度;通过分析网络架构超参数的变化规律来识别具有最佳泛化能力的学习曲线;提出了另一种用于预估新型体系结构性能的方法——代理模型;这种模型避免了传统的基于学习曲线进行外推分析的方式,并侧重于根据组件特性而非全局特征来进行精确建模;能够预测更大规模组件组合的表现;而面对神经网络体系结构设计的关键挑战在于,在有限计算资源的情况下实现对大规模架构的有效评估。
网络态射(Network Morphism)
这种初始化策略主要基于之前训练过的其他架构的权重来确定新架构各层参数初始值,在实践中可以持续性地增强网络的整体容量并维持高性能水平的同时避免重新从零开始构建模型。这些方法的优势在于能够扩展搜索空间不受现有体系结构规模限制但其局限性在于严格的网络拓扑只能导致体系结构不断增大进而可能产生过于复杂的设计方案为此提出了一种优化思路即通过采用允许缩放下限的方式来优化近似网络结构能够有效降低整体架构规模
单模型搜索(One-Shot Architecture Search)
One-Shot Architecture Search作为一种高效的方法,在加快性能评估过程的同时提供了一种创新的设计思路。它通过将各种体系结构统一表示为同一个Supergraph(基于One-Shot模型)的不同子图,并在具有相同边连接关系的不同子图中共享权重参数来优化计算效率。

仅一个one-shot模型的参数需要进行训练,并且One-shot超图可以通过继承One-shot权重的方式实现无需训练即可评估性能。这显著提高了架构性能评估的速度(只需在验证集上进行性能评估而无需训练)。然而这种方法往往会导致较大的偏差(因为它严重低估了体系结构的实际性能)。
one-shot NAS方法的一个局限在于对子图施加了一个先验约束。此外,在网络结构搜索过程中为了节约计算资源超图通常被限制为驻留于GPU且与基于细胞的搜索空间相结合使用。虽然通过权重共享的方法大幅降低了NAS所需的计算开销但如果结构采样分布与One-shot model协同优化目前尚不清楚这种组合会在搜索过程中引入哪些偏差(例如初始阶段可能在搜索空间A区域引入误差而One-shot model权重恰好在这一区域表现出更好的效果从而反过来强化这一区域的误差进而导致NAS算法过早收敛)。
未来方向
应用领域方面 现代社会中多个CV相关领域已经广泛采用骨架识别、姿态估计等技术方案,并逐步转向实际硬件部署的应用。近年来也已经开始应用于NLP等新领域的研究工作
多种任务通过一起完成NAS来实施多任务学习方案,从而提高模型的抗能力和鲁棒性
该系统采用更具普遍性和适应性的新方法构建搜索空间模型,在提升跨领域应用能力的同时也减少了现有的人工设计对系统性能的限制。通过引入更加宽泛且具有灵活性的搜索框架,在保持原有功能的基础上实现了更大的技术自由度。
评估基准
