AutoML论文笔记(六)Search for Better Students to Learn Distilled Knowledge:通过蒸馏学习搜索更好的子网络

文章题目:Search for Better Students to Learn Distilled Knowledge
链接:link https://arxiv.org/abs/2001.11612
会议期刊:无

论文阅读笔记,帮助记忆的同时,方便和大家讨论。因能力有限,可能有些地方理解的不到位,如有谬误,请及时指正。

论文内容

通常神经网络参数量都很大,这一特性使得端侧设备很难享受神经网络。因此量化压缩成了近几年的一个研究热点,而使模型轻量化,模型压缩有很多种技术途径:参数量化、低秩优化、模型剪枝和蒸馏学习。
 本文将网络剪枝和蒸馏学习相结合,先选取一个性能优异的网络作为老师(Densenet),然后直接将老师网络作为搜索空间,每个channel是搜索的节点。在老师网络的拓扑结构中,根据L1正则化,由于组合太多,故通过梯度优化算法来选取子结构,尽可能的降低师生输出的KL散度。
 作者在每个channel上加一个0~1的门系数权重,每一轮训练完成后,系数为0的channel会被直接删除。
 AutoML论文笔记(六)Search for Better Students to Learn Distilled Knowledge:通过蒸馏学习搜索更好的子网络_第1张图片
 在蒸馏学习的过程中,loss至关重要,由于门系数不可微,所以本文利用加速近端梯度算法来优化门系数。最终loss函数定义为:
 
 因为loss尽可能的接近0,所以作者加了一个超参kl0来做earlystop:
 
 从Cifar10数据集上的表现看,该方法确实有效,并且作者还做了消融学习来证明该方法的正确性。
 AutoML论文笔记(六)Search for Better Students to Learn Distilled Knowledge:通过蒸馏学习搜索更好的子网络_第2张图片

亮点和收获
  1. 新建了一个蒸馏学习的损失函数。
  2. 搜索空间是一个成熟的网络,相比于其他的NAS算法要小很多。
  3. 子网络在学到参数的同时,确实学到了老师网络的结构,如何编码进更多的结构知识将是后续可考虑的方向。

你可能感兴趣的:(AutoML论文笔记,蒸馏学习)