• 2021-ICLRw-How Does Supernet Help in Neural Architecture Search?


    How Does Supernet Help in Neural Architecture Search?

    2021-ICLRw-How Does Supernet Help in Neural Architecture Search?

    来源: ChenBong 博客园

    • Institute:MSRA
    • Author:Yuge Zhang, Quanlu Zhang, Yaming Yang
    • GitHub:/
    • Citation:2

    2020-ArXiv-Deeper Insights into Weight Sharing in Neural Architecture Search同一个团队

    Introduction

    基于超网的NAS方法, 5个搜索空间上进行实验的一些发现:

    • 一个well-trained 的supernet, 不一定是一个好的 subnet ranking model
    • supernet作为ranking model的有效性, 与搜索空间有关(有的空间上, supernet ranking相关性高, 有的低)
    • supernet 更擅长发现相对好的子网(top 10%), 而不擅长发现最好的(top 1%)的子网
    • 相比与发现好的子网, supernet更擅长发现差的子网(可以用于search space pruning)
    • supernet在小的搜索空间上ranking效果差
    • 但如果一个小的搜索空间是经过合适地剪枝, (虽然ranking效果差) 但超网反而更容易发现好的子网 (top ranking的子网gt性能更高)
    • supenet有固有的偏好(bias), e.g. 更偏向某些operation(这些operation的子网ranking高)

    Motivation

    • supernet NAS 很有效, 但缺乏理论的解释;
    • 很多工作通过实验对supernet NAS进行分析, 但仍存在局限性(e.g. 搜索空间单一)

    Contribution

    • 第一次在多个搜索空间上进行广泛实验
    • 第一次分析了搜索空间的剪枝

    Method

    Training Setup

    最朴素的supenet NAS: uniform sampling (SPOS)

    超网训练的目标:

    • 最小化所有子网的训练损失
    • 提供一个相关性高的子网性能评估器

    Search Space

    image-20210606150409262

    Metrics

    衡量子网:

    • Ground truth performance (ground truth): subnet train from scratch的acc1
    • Supernet performance: subnet 继承超网权重, 校正BN后的acc1

    衡量空间:

    • avg ground truth
    • avg supernet performance (目标1: 最小化所有子网的训练损失)
    • (GT与sp的)Correlation (目标2: 提供一个相关性高的子网性能评估器): 随机采样的子网的Supernet performance 与 ground truth 之间的相关系数 (Spearman correlation), 采样个数: (1k for NAS-Bench series, 100 for DARTS series, 20 for ProxylessNAS)
    • Top-k: 随机采样1k个 subnet, 基于supernet performance选择 top-k个, 查询这k个subnet对应的gt, 报告最高的gt acc1

    Experiments

    确定了搜索空间后, 探究不同的训练设置(epoch)对各个metric的影响

    number of epochs

    超网训练的epoch对各个metric的影响

    3个metric:

    • avg supernet perf (目标1: 最小化所有子网的训练损失)
    • Correlation (目标2: 提供一个相关性高的子网性能评估器)
    • top-k (目标2: 提供一个相关性高的子网性能评估器)

    avg supernet perf

    image-20210606152518198
    • 增加训练epoch, 可以提高5个搜索空间上的 avg supernet perf
    • ProxylessNAS上, 仅有2%的差距(可能可以通过继续增加epoch来达到avg GT perf); 在NAS-Bench-101上, avg supernet perf 甚至超过了avg GT perf
    • 但在其他3个搜索空间上, 增加epoch带来的增长趋于稳定, 且仍有较大差距, 似乎存在一个固有的上限
    • ==> 说明在部分搜索空间中, 通过训练超网来同时优化大量的子网是可能的, 但需要较大的计算开销(或其他训练技巧)

    Correlation

    虽然 avg supernet perf 随着epoch的增加持续上升, 但相关性并没有这样的趋势

    • 随着epoch的增加, correlation开始上升, 但很快饱和, 甚至开始下降, DARTS-PTB空间上, 甚至随着epoch增加, correlation降为负值
    • avg supernet perf与correlation没有相关性(avg supernet perf高的空间, correlation不一定高)
    • ==> 说明超网训练的2个目标: 1. 最小化所有子网的训练损失 2. 提供一个相关性高的子网性能评估器; 2个目标之间存在gap, 两个目标不相关甚至互相冲突(不能同时达到)

    Top-k

    所有子网的ranking质量(Correlation)只是一个中间指标, top-k的子网质量对于supernet NAS来说更重要

    ps.

    • top1/10 指使用supernet生产的rank, 取top1/10的子网中的best GT
    • random top1/10 指生成随机rank, 取top1/10的(随机取1/10个)子网中的best GT(可以作为baseline)
    image-20210606153350978
    • top10基本上都比top1更好 ==> supernet有助于找到较好的网络, 但很难找到最好的
    • 较好的correlation通常会产生较好的top1和top10
    • DARTS-CIFAR10的使用超网rank找到的 top1/10 优势最大, DARTS-PTB甚至比随机的baseline更差 ==> weight sharing NAS的有效性与搜索空间有关

    Bias of Weight Sharing NAS

    上一节说明了Weight Sharing NAS的有效性(ranking的质量)对不同搜索空间的bias(偏好)

    这一节讨论Weight Sharing NAS在同一个搜索空间内, 对不同子网的bias(偏好)

    image-20210606163930682

    不同的epoch, 子网rank相似度很高 => 增加epoch几乎不再改变子网rank => rank进入稳定状态, 但这个稳定状态和GT的rank还有较大的差距, 说明weight share NAS与GT之间的bias(偏差)是真实存在的

    Bias towards big models

    一般来说, 模型越大, 性能越好, 因此如果直接用模型大小来预测性能, 也能得到一组rank

    对于包含不同大小的子网的搜索空间(NAS-Bench-101)来说,

    ps. param生成的rank(PS); GT的rank(GT); weight sharing NAS生成的rank(WS)

    • PS与GT相似度高达(PS, GT)=0.67, 超过了所有WS与GT: (WS, GT)=0.6 => (PS, GT) < (WS, GT)
    • WS与PS的相似度(WS, PS=0.7) 高于 WS与GT(WS, GT)=0.6 => WS, 说明WS比GT更偏好参数量大的子网(对参数量大的子网的rank更高)
    image-20210606170339075

    Bias towards certain operators

    supernet会偏好某些operation(让选择了这些op的子网性能更高), 但不一定说明这些op在train from scratch时性能也会较好

    分组抽样

    image-20210606170511709

    在NAS-Bench-201中, 超网认为选择了conv3x3的子网性能更好, 但在GT中, 性能最好的子网大部分都是选择skip

    Pruned Search Space

    Intuition: 减小空间, 降低子网的互相干扰; 提高空间的整体质量, 使得baseline提高

    Effectiveness of Pruning

    • Optimistic Pruning: Prune architectures with the worst ground truth performance
    • Random Pruning: Prune a random part of search space

    第一行NAS-Bench-101, 第二行NAS-Bench-201, 每个点是3个supernet上的平均值

    • 图例

      • 2种空间剪枝方式:
        • 最优空间剪枝(黑色);
        • 随机空间剪枝(蓝色)
      • 2种搜索方式:
        • 使用超网rank搜索top10(best GT)(实线);
        • 使用随机搜索(随机抽10个, 取best GT)top10(虚线)(代表空间的平均子网性能)
    • 蓝色虚线不随prune factor上升 ==> 随机空间剪枝不能提高空间的评价子网性能;

    • 黑色虚线随着prune factor 上升 ==> 而最优空间剪枝可以提高空间的平均子网性能

    • 蓝色实线不随着prune factor 上升 ==> 随机空间剪枝不能提高超网的top10, 不能提高超网找到优质结构的能力

    • 黑色实线随着prune factor 上升 ==> 最优空间剪枝可以提高超网的top10, 即可以提高超网找到优质结构的能力

    • GT 与supernet perf的相关性Correlation
    • ==> Correlation与空间剪枝率没有明显的关系(无论哪种剪枝方式), 也就是增加空间剪枝率(使用小空间)不会提高相关性, 但

    • 图例
      • avg (supernet perf)
      • best (supernet perf)
    • ==> 最优空间剪枝可以提高评价子网性能以及最佳子网性能, 随机空间剪枝不一定可以
    image-20210606171003068

    Conclusion

    Summary

    • 子网rank的相关性是一个很困难的问题, 不同子网间的权重共享导致固有的相互干扰, 目前的超网NAS中好像还没有任何方法可以在权重共享的情况下提高子网rank的相关性
    • 根据上一篇的结论, 子网继承超网权重, 进行少量(10个batch)的fine-tune(不共享权重), 可以显著提高rank的相关性
    • 另一种做法是通过对空间进行适当的剪枝, 提高空间的整体子网质量, 不能提高rank相关性, 但可以提高找到优质子网的能力(baseline提高了)

    To Read

    Reference

    【源头活水】解析神经架构搜索(NAS)中权重共享的影响 (qq.com)

    [NAS论文]解析神经架构搜索(NAS)中权重共享的影响-云社区-华为云 (huaweicloud.com)

  • 相关阅读:
    SpringBoot读取Resource下文件的几种方式(十五)
    Springboot+vue前后端分离文件上传、下载方式及与Spring的异同(十四)
    springboot多个service互相调用的事务处理(十三)
    Bigdecimal用法
    Linux常见wenti
    informix常见问题
    Spring-boot常见问题(十二)
    浅析VO、DTO、DO、PO的概念、区别和用处(八)
    Tbase读写分离与分库分表
    函数的节流和抖动
  • 原文地址:https://www.cnblogs.com/chenbong/p/14888600.html
Copyright © 2020-2023  润新知