NAS 学习笔记(十八)- DARTS+PT

  |     |   本文总阅读量:

版权声明:本文原创,转载请留意文尾,如有侵权请留言, 谢谢

引言

  本文分享一篇发表在 ICLR 2021 上关于 NAS 的论文 [1],视角很独特,它指出架构参数 \(\alpha\) 中的权重参数在很多情况下并不能衡量对应候选操作对于 supernet 的重要性。

Motivation

  我们知道在 DARTS 中,每条边 evaluate 阶段最后选择的 op 是根据架构参数 \(\alpha\) 的 argmax 得到,这样会带来 search 阶段和 evaluate 阶段架构存在性能可能一个 gap,并且会带来 skip-connect 富集的现象。   如下图所示,作者通过实验指出,在很多情况下,每条边中最大值对应的候选操作,并不是对于 supernet 而言最重要的操作:

  如 VGG 这样的的线性叠加的深度网络,其各层 layers 如果在 inference 阶段进行重新排序的话,将极大影响模型性能。而对于 ResNet 而言,channel 相同的连续层都在输出相同的 optimal feature map(参考 [2]),这样保证了各层的网络输出在最终收敛时相对接近。因此,ResNet 对于 inference 阶段的 layer reordering 具有一定的稳定性。如下图所示,作者认为 DARTS 无论从结构还是性能表现而言,都接近于 ResNet 结构而非 VGG,因此 DARTS 也会具备上述 ResNet 的特性,即 Cell 中的各条边也会 share 相同的 optimal feature map。

  结合上述理解,作者用数学证明 DARTS 中 skip-connect 富集现象的原因,这里假设搜索空间里只有两种 op(conv 和 skip-connect),即:

\[ \bar{m}_{e}\left(x_{e}\right)=\frac{\exp \left(\alpha_{\operatorname{con} v}\right)}{\exp \left(\alpha_{\operatorname{conv}}\right)+\exp \left(\alpha_{s k i p}\right)} o_{e}\left(x_{e}\right)+\frac{\exp \left(\alpha_{s k i p}\right)}{\exp \left(\alpha_{\operatorname{conv}}\right)+\exp \left(\alpha_{s k i p}\right)} x_{e} \]

  进一步得到(相关证明在论文的附录中有,主要用了拉格拉日法):

\[ \begin{array}{l} \alpha_{\operatorname{conv}}^{*} \propto \operatorname{var}\left(x_{e}-m^{*}\right) \\ \alpha_{s k i p}^{*} \propto \operatorname{var}\left(o_{e}\left(x_{e}\right)-m^{*}\right) \end{array} \]

  \(m^{*}\) 表示各条边共享的 optimal feature map,\(x_{e}\) 表示每条边的 input feature map(也表示 skip-connect 操作的输出),\(o_{e}(x_{e})\) 表示卷积操作的输出。
  可知 \(\alpha\) 根据不同 op 的大小关系,其实可以通过 op 产生的输出与共享的 optimal feature map之 间方差值体现,是个正比关系。由于 skip-connec 的输出即为输入,则 \(x_e\) 即为 Cell 中上一条边的输出 \(\bar{m}_{e}\left(x_{e}\right)\) ,因为 Cell 中的各边会 share 相同的 optimal feature map,故 \(x_e\) 其实是在直接估计该 Cell 的 optimal feature map,即 \(m^{*}\)。而 \(o_{e}\left(x_{e}\right)\) 只是卷积操作的输出,与边 \(e\) 的混合输出存在 gap,因此在模型收敛时,该值会偏离最终的 optimal feature map \(m^{*}\) ,导致下面公式的方差逐渐增大,产生 skip-connect 对应权重在优化时逐渐增大的结果。
  下图还表示 supernet 的最终收敛效果越好,skip-connect 与 conv 操作之间 \(\alpha\) 权重的 gap 就会越大:

Perturbation-based Architecture Selection

  作者重新思考了 DARTS 中架构参数的作用。并认为应该按照对搜索网络的贡献度来进行候选操作的选择,进一步提出了一种 alternative perturbation-based 的架构选择方法。
  作者首先提出了 discretization accuracy at convergence。对于在 search 阶段已经收敛的 supernet,evaluate 阶段首先将其对应的架构参数进行 discretization,转换为 one-hot 向量,然后对调整后的 supernet 进行 fine-tune,直至其收敛。这样可以得 到supernet 再次收敛之后的分类准确率,作者称之为 discretization accuracy at convergence。作者将该准确率作为当前候选操作对搜索网络贡献度的指标,则 discretization accuracy 最高的候选操作被记为当前边中对搜索网络贡献度最大的操作。
  作者提出的方法,便是基于这一指标,具体实现的方法是每次随机采样一条边,依次丢弃边上的每一个 op,然后计算验证集上的 acc,然后做 discretization,保留 acc 减少最多的那个一 op。作者在edge-level和node-level都采用了这种方法进行架构选择,且每次edge与node的采样都是随机的,算法如下:

Conclusion

  本文的视角和独特,不仅指出了 \(\alpha\) 并不一定能代表每个 op 的性能,并且从理论上分析了 skip-connect 富集的原因。同时用了一种 perturbation-based 的方法来缓解 search 阶段和 evaluate 阶段 performance gap 的问题。

Refer

相关内容


坚持原创技术分享,您的支持将鼓励我继续创作,π(3.14)元就够啦!



文章目录
  1. 1. 引言
  2. 2. Motivation
  3. 3. Perturbation-based Architecture Selection
  4. 4. Conclusion
  5. 5. Refer
  6. 6. 相关内容
您是第 位小伙伴 | 本站总访问量 | 已经写了 605.5k 字啦

载入天数...载入时分秒...