基于单元的搜索空间(Cell-based Search Space)
在神经架构搜索(NAS)中,基于单元的搜索空间(Cell-based Search Space) 是一种模块化设计范式,通过定义可重复堆叠的基础单元(Cell) 来构建完整神经网络架构。其核心思想是将复杂网络的搜索问题分解为单元结构搜索,大幅降低搜索复杂度和计算成本。以下从定义、设计方式、优势、经典方法等方面详细解析:
一、核心定义
基本概念
单元(Cell):一种预定义的模块化结构,通常包含多个节点(Nodes)和连接边(Edges),代表局部计算模式(如卷积、池化等)。
搜索目标:在单元内部搜索节点间的连接方式和每条边上的操作类型(如3×3卷积、5×5深度可分离卷积等)。
堆叠规则:将搜索出的单元按固定规则(如重复次数、通道数缩放)组合成完整网络。
典型应用场景
适用于图像分类、目标检测等任务,经典工作包括NASNet、ENAS、DARTS等。
二、单元结构的设计方式
1. 单元内部结构
节点(Nodes)
每个节点代表一个特征图(Feature Map),通过操作(如卷积)对前驱节点的特征进行变换。
节点通常按拓扑顺序排列(如从左到右),每个节点从所有前驱节点中选择输入来源。
边(Edges)
每条边连接两个节点,并分配一个操作(如3×3卷积、最大池化)。
搜索变量:边的连接是否存在(拓扑结构) + 边上的操作类型(操作选择)。
2. 单元类型
普通单元(Normal Cell)
保持特征图的空间分辨率,专注于提取局部特征(如卷积操作)。
降采样单元(Reduction Cell)
降低特征图分辨率(如通过步长为2的卷积),通常用于网络深层。
3. 堆叠规则
将多个单元(如Normal Cell和Reduction Cell交替)按阶段(Stage)堆叠,每个阶段后可能调整通道数。
例如:NASNet使用“N个Normal Cell → 1个Reduction Cell → N个Normal Cell”的模式。
三、搜索空间的优势
降低搜索复杂度
全局搜索空间需设计整个网络(可能数十层),而单元搜索仅需设计局部模块(如10节点单元),搜索参数量级从 O(N2)O(N2) 降至 O(1)O(1)(N为层数)。
示例:NASNet通过搜索单元结构,参数量比直接搜索全局网络减少1000倍以上。
可迁移性
在小数据集(如CIFAR-10)上搜索出的单元,可迁移到大数据集(如ImageNet)上堆叠使用。
经典案例:NASNet在CIFAR-10搜索的单元,迁移到ImageNet后达到人工设计模型的精度。
模块化设计
单元结构可复用,便于网络扩展(如增加单元重复次数)或调整(如替换单元类型)。
硬件友好性
单元结构规则(如固定通道数变化)易于部署到移动端或边缘设备。
四、经典方法中的实现
1. NASNet(2017)
搜索空间:单元包含4个中间节点,每条边从8种候选操作中选择(如3×3卷积、5×5深度可分离卷积)。
搜索策略:基于强化学习(RL),控制器生成单元结构,训练后反馈奖励。
单元堆叠:通过重复单元构建网络,每阶段后使用Reduction Cell降采样。
2. ENAS(2018)
搜索空间:单元内节点间为有向无环图(DAG),边上的操作可共享权重。
搜索策略:通过强化学习+权重共享,搜索效率比NASNet提升1000倍。
3. DARTS(2019)
搜索空间:单元内节点间所有可能的边均存在,每条边分配混合操作(softmax加权多操作)。
搜索策略:可微分NAS,通过梯度下降优化架构参数(α)和网络权重(w)。