DARTS:可微分架构搜索论文分享

发布时间:2026/10/22 2:19:30
DARTS:可微分架构搜索论文分享 01 论文信息论文题目DARTS: DIFFERENTIABLE ARCHITECTURE SEARCH论文作者Hanxiao Liu∗ Karen Simonyan Yiming Yang发表单位CMU DeepMind发表会议ICLR 2019代码链接https://github.com/quark0/darts02 论文主要贡献提出了基于双层优化的可微分的网络架构搜索方法将搜索效率提升了数个数量级在 CIFAR-10、ImageNet、Penn Treebank、WikiText-2 等多个经典数据集上均有很好的效果并且通用性强同时支持卷积网络和循环网络。论文开源代码为后续高效架构搜索的研究提供了便利。# 03 论文创新点传统方法所定义的架构搜索空间只能进行离散选择每一条边只能选择一个操作离散的搜索空间不可微分不能使用反向传播和梯度下降优化只能使用强化学习和遗传算法算力消耗巨大并且效率低下01连续松弛对搜索空间做连续松弛。不再要求每个边只能选择一个操作而是将所有候选操作根据架构参数α经softmax加权融合使得整个流程可微分支持梯度下降优化02双层优化同时优化两套参数通过最小化训练损失优化网络参数w通过最小化验证损失优化架构参数α03近似架构梯度理想内层优化算力消耗大因而仅使用单个训练步来调整w而非将其训练至收敛来求解内层优化问题。04 方法04.1 搜索空间选取一个计算单元作为最终架构的基础构建模块。受训练的计算单元既可堆叠以构建卷积网络也可循环连接以构建循环网络。一个单元是一个包含 N 个有序节点的有向无环图。每个节点 x(i)均为隐表示例如卷积网络中的特征图每条有向边ij绑定一个操作 o(ij)该操作对 x(i)进行变换。划分单元可避免直接搜索整个网络从而大幅降低算力消耗我们设定一个单元拥有两个输入节点、一个输出节点卷积单元两个输入节点取自前面两层单元的输出循环单元两个输入为本时刻的输入、上一时刻传递过来的状态单元的最终输出是对全部中间节点执行归约操作例如拼接得到每一个中间节点由它所有前驱节点计算得到x(j)∑ijo(i,j)(x(i))(1) x^{(j)}\sum_{ij}o^{(i,j)}(x^{(i)}) \tag{1}x(j)ij∑​o(i,j)(x(i))(1)图1DARTS模型概览。a为初始状态边对应的操作未知b通过对每条边施加候选操作的混合分布对搜索空间进行连续松弛c通过求解双层优化问题联合优化混合概率与网络权重d根据学习到的混合概率构建最终网络架构此外还引入了特殊的零操作用以表示两个节点间没有连接。04.2 连续松弛与优化设 O 为候选操作集合例如卷积、最大池化、零操作其中每个操作代表一个可以作用于 x(i)的函数 o(·)。为使搜索空间具有连续性我们将原本离散的操作选择松弛为对所有候选操作进行 softmax 加权使得w在架构α下得到最优解w*再在w*的参数下计算验证损失更新α完成连续松弛后我们的目标就变成了联合学习架构参数 α以及混合操作内部的网络权重 w。分别用 Ltrain和 Lval表示训练损失与验证损失。架构搜索的目标是找到 α*使得验证损失 Lval(w*α*) 最小化网络权重 w* 是通过最小化训练损失 w*argminwLtrain(wα*) 得到的。算法1: DARTS – 可微架构搜索为每条边(ij)创建一个由α(ij)参数化的混合操作o(ij)如果还未收敛则通过梯度∇αLval(w − ξ∇wLtrain(w, α), α)下降更新α若采用一阶近似则令ξ 0通过梯度∇wLtrain(w, α)下降更新网络权重w基于学习得到的架构参数α推导出最终的离散网络结构04.3 近似架构梯度理想的双层优化内部优化计算成本过高为此我们提出简单的近似方案∇αLval(w∗(α),α)(5) \nabla_{\alpha}\mathcal{L}_{val}\left(w^*(\alpha), \alpha\right) \tag{5}∇α​Lval​(w∗(α),α)(5)≈∇αLval(w−ξ∇wLtrain(w,α),α)(6) \approx \nabla_{\alpha}\mathcal{L}_{val}\left(w-\xi\nabla_{w}\mathcal{L}_{train}(w,\alpha), \alpha\right) \tag{6}≈∇α​Lval​(w−ξ∇w​Ltrain​(w,α),α)(6)w 表示算法当前维护的权重ξ 为内层优化每一步的学习率。其核心思想是仅使用单个训练步调整 w近似作为 w*(α)而无需通过训练直至收敛来完整求解内层优化问题公式 4。 若 w 已为内层优化的局部最优解则此时 ∇wLtrain(w, α) 0可将 6 式转化为 ∇αLval(w, α)。迭代过程如算法1所示对6式使用链式法则求导得到7式∇αLval(w′,α)−ξ∇α,w2Ltrain(w,α)∇w′Lval(w′,α)(7) \nabla_{\alpha}\mathcal{L}_{val}(w, \alpha) -\xi \nabla_{\alpha,w}^2 \mathcal{L}_{train}(w,\alpha) \nabla_{w}\mathcal{L}_{val}(w, \alpha) \tag{7}∇α​Lval​(w′,α)−ξ∇α,w2​Ltrain​(w,α)∇w′​Lval​(w′,α)(7)其中w’ w−ξ∇wLtrain(w, α)表示模型更新一步后的网络权重。上述表达式的第二项包含一个计算量很大的矩阵-向量乘积幸运的是使用有限近似差分可以大幅降低计算复杂度。设ε为一个很小的标量当ε0.01即有很好的精度并且w± w ± ε∇w’Lval(w’ , α) 则有∇α,w2Ltrain(w,α)∇w′Lval(w′,α)≈∇αLtrain(w,α)−∇αLtrain(w−,α)2ϵ(8) \nabla_{\alpha,w}^2\mathcal{L}_{train}(w,\alpha)\nabla_{w}\mathcal{L}_{val}(w,\alpha) \approx \frac{\nabla_{\alpha}\mathcal{L}_{train}(w^,\alpha)-\nabla_{\alpha}\mathcal{L}_{train}(w^-,\alpha)}{2\epsilon} \tag{8}∇α,w2​Ltrain​(w,α)∇w′​Lval​(w′,α)≈2ϵ∇α​Ltrain​(w,α)−∇α​Ltrain​(w−,α)​(8)计算有限近似差分仅需取权重为w和w-各进行一次前向传播和反向传播计算复杂度从 O(|α||w|)降至O(|α| |w|)n1单次权重w训练开销n2内层权重完整迭代次数n3架构α训练开销n4外层总迭代次数理想的双层优化计算复杂度为O(n4×(n2×n1n3))使用近似架构梯度后计算复杂度为O(n4×(n1n3))大幅降低计算量。如果使用一阶近似则n3进一步降低当ξ07式中的二阶导数消失从而进一步提高计算速度但会导致性能下降。我们将ξ0的情况称为一阶近似ξ0称为二阶近似。图2当Lval(wα) αw-2α1且Ltrain(wα) w2-2αwα2从点(α(0)w(0)) (2-2) 出发时迭代算法的学习过程。对应双层优化问题的解为(α*w*) (11)该解以红色圆圈标出。红色虚线表示满足约束方程4的可行域即对给定架构αw达到的最优权重。该示例表明适当选择ξ有助于收敛至更优的局部最优解。04.4 推导离散结构强度exp⁡(αo(i,j))∑o′∈Oexp⁡(αo′(i,j))\frac{\exp(\alpha_o^{(i,j)})}{\sum_{o\in \mathcal O}\exp(\alpha_{o}^{(i,j)})}∑o′∈O​exp(αo′(i,j)​)exp(αo(i,j)​)​收集全部前驱节点的非零候选操作依据强度排序保留来自不同前驱节点的前k个最强的操作其余连接删除。在该研究中对卷积单元采用k2对循环单元k105 实验分析对 CIFAR -10 和 PTB 的实验分为两个阶段架构搜索和架构评估。在第一个阶段我们使用 darts 搜索单元架构并基于验证损失确定最佳单元。在第二个阶段我们利用这些单元构建更大规模的架构从头来训练这个架构并报告它们在测试集上的性能。我们还通过在 ImageNet 和 WikiText-2 (WT2) 上分别评估这些在 CIFAR -10 和 PTB 上学习到的最佳单元探究其迁移能力。05.1 架构搜索05.1.1 在CIFAR-10上搜索卷积单元搜索两个卷积单元一个普通单元一个缩减单元我们在O中包含以下操作3 × 3与5 × 5深度可分离卷积、3 × 3与5 × 5扩张可分离卷积、3 × 3最大池化、3 × 3平均池化、恒等映射以及零操作。所有操作步长均为1若适用且卷积后的特征图均经过填充以保留其空间分辨率。卷积操作采用ReLU-Conv-BN顺序且每个可分离卷积均重复应用两次我们的卷积单元由N7个节点构成其中输出节点被定义为所有中间节点排除输入节点的通道拼接结果。随后通过将多个单元堆叠起来构建网络。单元k的第一个与第二个节点分别设置为单元k -2与单元k -1的输出并根据需要插入 1 × 1 卷积层。位于网络总深度 1/3 与 2/3 处的单元为缩减单元其中所有与输入节点相邻的操作的步长均为2。因此该架构的参数为αnormalαreduce其中αnormal由所有普通单元共享αreduce由所有缩减单元共享。05.1.2 在PENN TREEBANK上搜索循环单元仅搜索一个循环单元我们可用的操作集包括线性变换后接tanh、relu、sigmoid三者之一作为激活函数以及恒等映射和零操作。我们的循环单元由N12个节点组成。第一个中间节点的计算方式对两个输入节点进行线性变换将变换结果相加再送入tanh激活函数。该单元的其余部分通过学习获得。单元输出定义为所有中间节点的平均值。我们在每个节点中启用batch归一化以防止架构搜索过程中出现梯度爆炸而在架构评估时禁用该功能。我们的循环网络仅包含单个单元不对循环架构预设单元重复复用的模式仅寻找单个循环单元内部的最优结构降低架构搜索的开销图3在 CIFAR -10上对卷积单元以及在Penn Treebank上对循环单元进行的搜索过程。我们持续记录随时间推移更新的架构。每个架构快照均使用训练集从头重新训练在 CIFAR -10上训练100代在 PTB 上训练300代随后在验证集上进行评估。针对每个任务我们使用不同的随机种子重复实验4次并记录随时间推移各架构的中位验证成绩及单次实验中最佳验证成绩。作为参考我们还列出了使用强化学习或进化方法发现的现有最佳单元模型的结果采用相同评估设置且参数数量相当05.2 架构评估和结果分析我们使用随机种子运行darts四次并根据较短的周期内从头训练所获得的验证成绩挑选出最优单元架构来进行架构评估在CIFAR-10上进行100个epoch在PTB上进行300个epoch。短时间的训练对于循环单元尤其重要可以减轻初始化敏感减少初始化偏差带来的结果差异。为评估所选架构我们随机初始化其权重搜索过程中学习到的权重均被丢弃从头开始对其进行训练并报告其在测试集上的成绩表现该测试集并未被用于架构搜索或架构选择。在图像分类上对于小数据集CIFAR-10二阶DARTScutout的错误率为2.76±0.09%略逊于AmoebaNet-Bcutout的最优成绩2.55±0.05%但是仅需要4 GPU天的训练远远低于AmoebaNet-Bcutout的3150 GPU天的计算开销二阶DARTScutout和ENAScutout的错误率接近虽然学习时间略长于ENAScutout但参数量更小。这证明可微架构能够以极低算力开销获得高性能的网络架构。在ImageNet上优秀的表现证明了DARTS迁移到大数据集上有着优秀的泛化能力。在语言建模任务上对于小数据集PTB尽管DARTS并没有像图片分类一样拉开巨大的优势但有着最低的困惑度。但是在迁移到大数据上的泛化能力略有不足不过这可以用PTB的规模太小解释一部分原因并且DARTS的候选操作空间较小缺少一些重要的宏观结构的操作。05.3 其他被测试的优化方案1.坐标下降在训练集验证集的合并数据集上联合优化α和w轮流更新α和w。测试误差4.16±0.16%参数量3.1M比随机搜索的结果还差。2. 直接使用SGD进行优化在训练集验证集的合并数据集上联合优化α和wα和w一次性同时更新。测试误差3.56±0.10%参数量3.0M比坐标下降略优但仍不如双层优化。这有可能是因为架构过拟合严重。05.4 结论这篇论文提出了DARTS对卷积网络和循环网络均适用的架构搜索算法。通过在连续的搜索空间中搜索DARTS的效果接近甚至超越其他优秀的不可微分架构搜索方法并且效率显著高出数个数量级。06 更多思考06.1 问题06.1.1 架构坍塌因为恒等映射操作没有需要学习的参数所以梯度传递极其容易而卷积类操作带有大量参数训练难度更高。所以在搜索早期恒等映射可以快速明显地降低loss但是恒等映射本身没有学习能力随着迭代loss难以继续下降而恒等映射权重过高形成垄断优势很难再切换为卷积操作导致单元坍塌。06.1.2 连续和离散的落差混合网络最终的输出是多个操作组合出的结果有可能因为多个操作配合很好因此产生了很好的效果取单一权重最大的操作破坏了协作实现的优秀性能效果很可能会大幅下降。06.1.3 双层优化的弊端两套参数强耦合导致DARTS的损失曲面特别崎岖并且因为softmax的竞争机制近似求解的噪声进一步加大了损失曲面的崎岖α的稍稍变动都会导致loss的剧烈跳动因此DARTS的损失曲面有大量的局部极小值对随机种子很敏感。06.1.4 深浅网络匹配在搜索网络架构时为了减少算力开销使用浅层网络搜索单元堆叠来构建深层网络。但浅层网络和深层网络的最优连接方式并不相同因此在堆叠加深后导致性能衰减。06.2 感悟06.2.1 模块化并不直接构建整个系统而是先构建基础的模块服用模块来搭建完整网络。06.2.2 近似理论上严格的公式计算成本太高在可接受的精度损失下做近似实现速度与精度的权衡。06.2.3 离散问题连续化将离散选择连续松弛从而引入梯度就可以使用梯度下降优化大幅降低组合搜索的代价。07 个人声明本文为作者对原论文的学习笔记与心得分享受个人学识与理解所限文中对论文内容的解读或有不够周全之处一切以原论文正式表述为准。本文仅用于学术交流与传播内容均由作者独立整理完成不代表本公众号立场。如文中所涉文字、图片等内容存在版权争议请及时与作者联系作者将在第一时间核实并妥善处理。

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询