神经网络架构搜索——可微分搜索(DAAS)

本文是华为基于可微分网络搜索的论文。本文基于DARTS搜索离散化后性能损失严重的问题,提出了离散化感知架构搜索,通过添加损失项(Discretization Loss)以缓解离散带来的准确性损失

  • 论文题目:Discretization-Aware Architecture Search
  • 开源代码: https://github.com/sunsmarterjie/DAAS。

摘要

神经架构搜索(NAS)的搜索成本为通过权值共享方法大大减少。 这些方法通过优化所有可能的边缘和操作的超级网络,从而确定离散化的最佳子网,即修剪弱候选者。在操作或边缘执行离散化过程目前存在的不准确之处以及最终结构的质量不能保证。 本文提出了离散化感知架构搜索(DAAS),其核心思想是添加损失项以推动超级网络朝向所需拓扑的配置,以便离散带来的准确性损失得到缓解。 实验在标准图像分类基准上证明了方法的重要性,尤其是在目标网络不平衡的情况下。

DAAS架构思路展示

方法

算法的核心思路是采用超网络中边和操作参数归一化后的信息熵作为Loss约束,最小化信息熵可以实现离散的参数分布

操作参数 α \alpha α 的离散化损失

L i , j O ( α ) = − ∑ o ∈ O exp ⁡ { α i , j o } ∑ o ′ ∈ O exp ⁡ { α i , j o ′ } ⋅ log ⁡ exp ⁡ { α i , j o } ∑ o ′ ∈ O exp ⁡ { α i , j o ′ } \mathcal{L}_{i, j}^{\mathrm{O}}(\boldsymbol{\alpha})=-\sum_{o \in \mathcal{O}} \frac{\exp \left\{\alpha_{i, j}^{o}\right\}}{\sum_{\boldsymbol{o}^{\prime} \in \mathcal{O}} \exp \left\{\alpha_{i, j}^{o^{\prime}}\right\}} \cdot \log \frac{\exp \left\{\alpha_{i, j}^{o}\right\}}{\sum_{o^{\prime} \in \mathcal{O}} \exp \left\{\alpha_{i, j}^{o^{\prime}}\right\}} Li,jO(α)=oOoOexp{αi,jo}exp{αi,jo}logoOexp{αi,jo}exp{αi,jo}

L O ( α ) = ∑ j ∑ i < j L i , j O ( α ) \mathcal{L}^{\mathrm{O}}(\boldsymbol{\alpha})=\sum_{j} \sum_{i < j} \mathcal{L}_{i, j}^{\mathrm{O}}(\boldsymbol{\alpha}) LO(α)=ji<jLi,jO(α)

边参数 β \beta β 的离散化损失

L j E ( β ) = − ∑ i < j exp ⁡ { β i , j } ∑ i ′ < j exp ⁡ { β i ′ , j } ⋅ log ⁡ exp ⁡ { β i , j } ∑ i ′ < j exp ⁡ { β i ′ , j } + ∣ ∑ B β i , j − 2 ∣ 2 \mathcal{L}_{j}^{\mathrm{E}}(\boldsymbol{\beta})=-\sum_{i < j} \frac{\exp \left\{\beta_{i, j}\right\}}{\sum_{i^{\prime} < j} \exp \left\{\beta_{i^{\prime}, j}\right\}} \cdot \log \frac{\exp \left\{\beta_{i, j}\right\}}{\sum_{i^{\prime} < j} \exp \left\{\beta_{i^{\prime}, j}\right\}}+\left|\sum_{B} \beta_{i, j}-2\right|^{2} LjE(β)=i<ji<jexp{βi,j}exp{βi,j}logi<jexp{βi,j}exp{βi,j}+Bβi,j22

L E ( β ) = ∑ j L j E ( β ) \mathcal{L}^{\mathrm{E}}(\boldsymbol{\beta})=\sum_{j} \mathcal{L}_{j}^{\mathrm{E}}(\boldsymbol{\beta}) LE(β)=jLjE(β)

∣ ∑ B β i , j − 2 ∣ 2 \left|\sum_{B} \beta_{i, j}-2\right|^{2} Bβi,j22,该项的主要目的是为了维持保留边的均匀性,因为,每个节点保留两条边,因此设置为2。以5条边为例,与前面信息熵对应,最佳的 β \beta β取值为两个保留边的取值均为1,其他边的取值为0。

基于信息熵的离散化损失

L ( θ , α , β ) = L C ( α , θ ) + L O ( α ) + L E ( β ) \mathcal{L}(\boldsymbol{\theta}, \boldsymbol{\alpha}, \boldsymbol{\beta})=\mathcal{L}^{\mathrm{C}}(\boldsymbol{\alpha}, \boldsymbol{\theta})+\mathcal{L}^{\mathrm{O}}(\boldsymbol{\alpha})+\mathcal{L}^{\mathrm{E}}(\boldsymbol{\beta}) L(θ,α,β)=LC(α,θ)+LO(α)+LE(β)

L ( θ , α , β ) = L C ( α , θ ) + λ c ( λ α L O ( α ) + λ β L E ( β ) ) \mathcal{L}(\boldsymbol{\theta}, \boldsymbol{\alpha}, \boldsymbol{\beta})=\mathcal{L}^{\mathrm{C}}(\boldsymbol{\alpha}, \boldsymbol{\theta})+\lambda_{c}\left(\lambda_{\boldsymbol{\alpha}} \mathcal{L}^{\mathrm{O}}(\boldsymbol{\alpha})+\lambda_{\boldsymbol{\beta}} \mathcal{L}^{\mathrm{E}}(\boldsymbol{\beta})\right) L(θ,α,β)=LC(α,θ)+λc(λαLO(α)+λβLE(β))

最终完整的Loss分布,各个Loss受到超参的约束。在这里,文章对超参的渐进式设置做了不同的探索。渐进式超参对前期Weights的充分训练和后期架构参数的离散化分布起到了关键作用

渐变分析

与渐变分析

损失函数作用的可视化

基于信息熵的离散化损失方法

实验结果

CIFAR-10

CIFAR-10 实验结果

CIFAR-10 搜索的Cell单元

ImageNet

ImageNet 实验结果

消融实验

Error离散化对比

DARTS与DAAS的Error离散化对比

操作与边的可视化

CIFAR-10 with 14 edges in a normal cell

softmax evolution of


更多内容关注微信公众号【AI异构】

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值