• 【DNA】2020-CVPR-Blockwisely Supervised Neural Architecture Search with Knowledge Distillation-论文阅读


    DNA

    2020-CVPR-Blockwisely Supervised Neural Architecture Search with Knowledge Distillation

    来源:ChenBong 博客园

    • Institute:DarkMatter AI Research,Monash University,Sun Yat-sen University
    • Author:Changlin Li,Jiefeng Peng,Liuchun Yuan
    • GitHub:https://github.com/changlin31/DNA 140+
    • Citation: 28

    Motivation

    共享参数的超网训练(SPOS)作为子网的性能评估器的准确性是很差的(进而导致后续搜索到的子网不是最佳的),由于超网空间太大,因此随机采样的训练方式不可能保证每个子网都得到充分的训练。

    之前的工作发现,当supernet的空间越小,supernet对每个子网的性能评估的准确度越高。

    但supernet空间又不能太小,如何保证supernet空间足够大的情况下,又能使supernet中的每个子网都能得到充分的训练?

    Introduction

    将 supernet 划分为相互独立的不同 block,平行训练不同的 block,最后再选择每个 block 中的最佳路径,组合成最终的网络。

    这样组合出来的子网,每个路径都有充分的训练,即使用supernet作为评估器对不同子网的评估准确度较高。

    image-20210228172408653

    难点在于如何单独训练中间的某个block?引入 teacher model,用 teacher model 中间block的输入输出,来监督 student supernet 中间 block 的学习。

    使用固定的 teacher,将 student supernet 划分为与 teacher 相同的 block,将 teacher 的每个 block 的输入输出作为 student supernet 对应block的训练数据<X, Y>,平行训练 student supernet 中的每个 block

    image-20210228155644962

    Contribution

    • 将supernet划分为多个block,使得不同路径能得到充分训练
    • inter layer KD 和 nas 的结合

    Method

    Pipeline

    image-20210228155644962

    将 supernet 划分为N个blcok:

    image-20210228173211311

    每个blcok可以单独训练,相当于训练多个很小的 supernet (mathcal A_i)

    image-20210228173310368

    最终的最佳结构是在每个block中的最佳的path组合起来:

    image-20210228174757073

    细节

    Supernet 结构

    teacher:EfficientNet-B0 (#Params=5.28M)

    MobileNet V2 block

    • kernel sizes of {3, 5, 7}
    • expansion rates {3, 6}
    image-20210228180812208

    student supernet 训练:inter layer KD

    • teacher 参数不更新
    • 训练时,每个block随机激活一条 path,可以将每个 block 看做一个小的 supernet,因此不同 block 的训练是互不影响的
    image-20210228175043894

    (K) 是 feature map (mathcal Y_i) 的通道数

    student supernet 评估与搜索

    eval: 每个 block 中的 (10^4) 个 sub-path 分别评估,记录下ranking

    search:按照贪心策略,做DFS,按照 block 顺序,优先选取 ranking 高的 sub-path,如果当前 sub-path 的 size 之和超出约束,则抛弃该子树下的所有节点,直至搜索到满足约束的 sub-path 组合,即最佳子网。

    Experiments

    cost

    • train supernet:3*8 GPU days
    • eval:0.6 GPU days
    • search:less one hour CPU

    ImageNet

    image-20210228181052131

    Ablation Study

    Ranking

    image-20210228181146907

    KD feature map 相似性

    image-20210228181227091

    Teacher size

    image-20210228181313170

    最终性能与 teacher size 和 teacher 性能无关

    Conclusion

    Summary

    • 使用 KD 与 nas 结合较早的文章,需要额外的 teacher model,且 supernet 设计也会受到teacher 结构的影响
    • teacher 网络一成不变,不知道如果 teacher 也同时从头训练会如何(协同进化)?
    • 将 supernet 不同 stage 解耦独立(平行)训练的想法很 novel

    To Read

    Reference

    https://www.jiqizhixin.com/articles/2020-03-19-8

    https://zhuanlan.zhihu.com/p/148522339

    https://blog.csdn.net/luzheai6913/article/details/105825587

  • 相关阅读:
    Python增删改查文件
    Python实现验证用户信息后跳转网页的功能
    Python文件操作
    python集合操作
    字典的用法
    二分查找
    git命令记录
    JavaScript高级程序设计window对象学习记录
    JS模块化简介(读书笔记)
    Webpack代码分割 + 懒加载
  • 原文地址:https://www.cnblogs.com/chenbong/p/14476748.html
Copyright © 2020-2023  润新知