论文阅读 | EG-NAS: Neural Architecture Search with Fast Evolutionary Exploration(AAAI-2024)

论文阅读 | EG-NAS: Neural Architecture Search with Fast Evolutionary Exploration(AAAI-2024)

论文链接:https://ojs.aaai.org/index.php/AAAI/article/view/28993
开源代码:https://github.com/caicaicheng/EG-NAS

这篇文章将进化策略结合到DARTS中。

基于梯度的可微分架构搜索(Differentiable Architecture Search, DARTS)通过梯度下降优化架构参数,实现了对优秀架构的快速搜索。

然而,该方法伴随着一个重大挑战:存在早熟收敛至局部最优解的风险,导致性能未达预期且欠佳。为解决该问题,本文提出一种新颖且高效的方法——基于进化梯度的神经架构搜索(Evolutionary Gradient-Based Neural Architecture Search, EG-NAS)。该方法融合了梯度下降与进化策略的优势,能够在架构搜索过程中探索多种优化方向。具体而言,首先仍采用梯度下降更新网络参数以保证效率;随后,为降低早熟收敛风险,引入具备全局搜索能力的进化策略来优化架构参数。通过充分发挥两种方法的优势,EG-NAS在搜索空间的高效探索与利用之间实现了平衡。此外,本文重新定义了适应度函数,不仅考虑准确率,还纳入个体相似度,这一改进提升了进化策略所确定优化方向的多样性与准确性。

研究背景与问题

DNN人工设计的局限性

深度神经网络(尤其是CNN,如Inception-v1、ResNet、ConvNeXt等)推动了计算机视觉发展,但随着网络复杂度提升,人工设计架构的成本急剧增加,限制了研究人员的创新空间,因此自动化的NAS方法成为关键需求。

现有NAS方法的不足

NAS的核心挑战是“高计算成本”与“性能瓶颈”,现有方法可分为两类,均存在明显缺陷:

  • 基于进化算法(EA)的NAS:依赖EA的全局搜索能力避免局部最优,但搜索成本极高。例如,AmoebaNet-B在CIFAR-10上需3150 GPU天,NASNet-A需1800 GPU天;虽有研究(如NSGA-Net、EAEPSO)尝试降低成本,但仍未平衡“搜索成本与性能”。
  • 基于梯度的NAS(以DARTS为代表):通过“连续松弛”将离散操作转化为可微权重,并共享权重,大幅降低成本(DARTS仅需0.4 GPU天,PC-DARTS进一步降至0.1 GPU天)。但这类方法普遍存在早熟收敛至局部最优解的问题,导致最终架构性能欠佳(如DARTS、PC-DARTS等均受此困扰)。

综上,如何同时解决“早熟收敛”与“低搜索成本”的矛盾,成为NAS领域的核心挑战。

方法核心:EG-NAS的设计思路

EG-NAS的核心创新是融合梯度下降(GD)的效率与进化策略(ES)的全局搜索能力,并通过“复合适应度函数”平衡搜索方向的“性能”与“多样性”,具体逻辑如下:

  • 分工协作:用GD更新网络参数(保证效率),用改进的协方差矩阵自适应进化策略(CMA-ES)优化架构参数(探索全局搜索方向,避免局部最优)。
  • 多样性增强:重新设计适应度函数,纳入“个体相似度”指标,避免进化过程中搜索方向单一化——当新个体性能优于原个体时,增大个体差异以探索更多方向;当新个体性能较差时,缩小差异以向优质方向靠拢。
  • 迭代优化:通过ES生成多个搜索方向,基于验证准确率筛选最优方向,迭代更新架构参数;最终沿用DARTS的方式,选择每条边权重最大的操作构成最终架构。

一、预备:DARTS 的连续松弛与双层优化

  1. 连续松弛(公式 (1))
    DARTS把一条边上的候选算子集合 O \mathcal{O} O 做成“软选择”的加权和:

o ( i , j ) ( x ( i ) ) = ∑ o ∈ O exp ⁡ ( α o ( i , j ) ) ∑ o ′ ∈ O exp ⁡ ( α o ′ ( i , j ) )    o ( x ( i ) ) . o^{(i,j)}(x^{(i)})=\sum_{o\in\mathcal{O}} \frac{\exp(\alpha^{(i,j)}_o)}{\sum_{o'\in \mathcal{O}}\exp(\alpha^{(i,j)}_{o'})}\; o(x^{(i)}). o(i,j)(x(i))=oOoOexp(αo(i,j))exp(αo(i,j))o(x(i)).

其中 α o ( i , j ) \alpha^{(i,j)}_o αo(i,j) 是可学习的“结构权重”,softmax让它们可微,从而能用梯度去学“更偏好哪个算子”。搜索结束后再把每条边上 α \alpha α 最大的那个算子“硬化”选出来,得到离散架构。

  1. 双层优化(公式 (2))
    DARTS把权重 ω \omega ω 和结构参数 α \alpha α 放进一个双层问题:

min ⁡ α    L val ( ω ∗ ( α ) , α ) s.t.  ω ∗ ( α ) = arg ⁡ min ⁡ ω L train ( ω , α ) . \min_{\alpha}\; L_{\text{val}}(\omega^*(\alpha),\alpha)\quad \text{s.t. } \omega^*(\alpha)=\arg\min_{\omega} L_{\text{train}}(\omega,\alpha). αminLval(ω(α),α)s.t. ω(α)=argωminLtrain(ω,α).

内层用训练集优化网络权重 ω \omega ω,外层用验证集度量结构好坏并更新 α \alpha α。传统DARTS两者都走梯度法,但容易陷入局部最优。

二、EG-NAS 的核心一:用 CMA-ES 探索“搜索方向”(替代直接用梯度方向)

EG-NAS不再直接用 ∇ α L val \nabla_\alpha L_{\text{val}} αLval 作为 α \alpha α的更新方向,而是引入改造过的 CMA-ES(进化策略)来“采样—演化—筛选”一批候选方向,再选一个最优方向去更新 α \alpha α,以提升全局搜索能力、减少早收敛风险。

  1. 以当前 α \alpha α 为均值做采样初始化
    先在 N ( α , I ) \mathcal{N}(\alpha,I) N(α,I) 上采 N N N 个“起点” x n = α + σ y ,   y ∼ N ( 0 , I ) x_n=\alpha+\sigma y,\,y\sim\mathcal{N}(0,I) xn=α+σy,yN(0,I),每个起点都各自启动一套CMA-ES,用来寻找一个更优的“方向”。这一步把“单一梯度方向”扩展成“多条可竞争的方向候选”。

  2. CMA-ES 的单次迭代(公式 (3)–(5))

  • 采样:

z i t = m t + σ i   y i , y i ∼ N ( 0 , C t ) ,   i = 1 , … , λ , z_i^{t}=m_t+\sigma_i\,y_i,\quad y_i\sim\mathcal{N}(0,C_t),\ i=1,\ldots,\lambda, zit=mt+σiyi,yiN(0,Ct), i=1,,λ,

这里 m t m_t mt 是当前均值(群体中心), C t C_t Ct 是协方差(搜索形状/尺度), λ \lambda λ 是种群大小。

  • 更新均值(选优加权):

m t + 1 = ∑ i = 1 ⌊ λ / 2 ⌋ β i z i t , m_{t+1}=\sum_{i=1}^{\lfloor \lambda/2\rfloor}\beta_i z_i^{t}, mt+1=i=1λ/2βizit,

用前一半(精英)个体按权重 β i \beta_i βi 求和得到新中心。

  • 更新协方差(自适应形状):

C t + 1 = ( 1 − c 1 − c ⌊ λ / 2 ⌋ ) C t + c 1 ( p p ⊤ ) + c ⌊ λ / 2 ⌋ ∑ i = 1 ⌊ λ / 2 ⌋ β i ( z i t − m t + 1 ) ( z i t − m t + 1 ) ⊤ , C_{t+1}=(1-c_1-c_{\lfloor\lambda/2\rfloor})C_t+c_1(pp^\top)+ c_{\lfloor\lambda/2\rfloor}\sum_{i=1}^{\lfloor \lambda/2\rfloor}\beta_i(z_i^t-m_{t+1})(z_i^t-m_{t+1})^\top, Ct+1=(1c1cλ/2)Ct+c1(pp)+cλ/2i=1λ/2βi(zitmt+1)(z

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值