zoukankan      html  css  js  c++  java
  • 【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

  • 相关阅读:
    [Windows] 输入字符间距变宽
    [Android] 安卓手机不用root删除自带app
    [Linux] 内核通知链 notifier
    [RK3399] ES8316+NS4150 播放视频只有背景音,播放歌曲有的有声音,有的无声音
    [Linux] RTC 读写指令及测试程序
    [Linux] scp指令用法
    [Ubuntu] sudo apt-get update指令执行失败
    [RK3399] 修改移动网络默认为4G
    [RK3288] 外接USB设备出现丢数
    laravel 模拟数据批量添加
  • 原文地址:https://www.cnblogs.com/chenbong/p/14476748.html
Copyright © 2011-2022 走看看