Knowledge Distillation via Route Constrained Optimization

Motivation

已有的KD方法提升性能都是基于一个假设:teacher模型可以提供一种弱监督,且能被一个小student网络学习,但是实际上一个收敛的大网络表示空间很难被student学习,这会导致congruence loss很高
因此本文提出一种策略route constrained optimization,根据参数空间的route去选择teacher的参数,一步一步的指导student。

Method

Review

在这里插入图片描述在这里插入图片描述
Mobilenet是S,res50是T,我们分别用10 40 120 240的resnet作为mobilenet的T,发现用越好的T,S loss越大,说明T越好,S越难学,不过性能确实是越来越好

RCO(Route Constrained Optimization)

在这里插入图片描述
把网络中间的训练状态称为anchor points

算法流程:

  1. 训练T,得到不同训练状态的T,T1,T2…Tn
  2. 随时初始化S
  3. 用T1指导S,训练一段时间用T2指导S
  4. 直到用Tn指导完S,得到最终的S
    注意这里何时切换T,后续需要讨论

Strategy for Selecting Anchor Points

  1. Equal Epoch Interval Strategy:每个T训练4个epoch,但是比较粗暴,没有考虑各个T学习的难度
  2. Greedy Search Strategy:
    在这里插入图片描述
    30 100 180分别代表用不同时刻的T作文指导训练得到的S,然后随机取1w张图,分别送入他们得到输出,然后同时也送入不同epoch的teacher(60 120减低学习率)得到output

然后计算出的KL散度结果可以画成上图,发现在teacher的前期,30指导的S能够比较好的学习,而到了后面30指导的S已经跟不上节奏了,尤其是每一次减低学习率的时候
在这里插入图片描述
根据以上发现,本文提出一种策略

  1. 计算S和当前T以及下一个anchor point的T之间的KL距离(随机选一些验证集图片计算output)
  2. 当距离大于一定阈值后就换T

Experiment

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章