用知识量解释知识蒸馏

Explaining Knowledge Distillation by Quantifying the Knowledge

用上篇文章提到的知识量的方法来解释知识蒸馏,主要是探讨通过知识蒸馏学出来的student network比通过train from scratch学出来的baseline的优点,以下Teacher, Student, Baseline分别用T,S,B代替。

先从本文提出的假设之一入手吧(后面会一一论证)
假设1:S学到的有效Visual Concept(视觉概念)比B多
一、什么是Visual Concept?
举个例子,比如鸟的头,身子,脚,背景上的树枝等,这是人为定义的视觉概念
本文中利用知识量来定义视觉概念,首先得定义知识量,参考上篇文章

1’先求得图像中每个像素的知识量 H i H_i Hi
2’计算这张图像所有像素的平均知识量 H ˉ \bar{H} Hˉ
3’对于每个像素,用平均减自己 H ˉ − H i \bar{H}-H_i HˉHi
4’如果>b则认为这个像素是一个视觉概念,否则不是
b是超参,文章里设定为0.2。
对于所有像素计算知识量计算量太大,于是作者划分16*16的区块,每个区块计算一个知识量,作为视觉概念的基本单位

这里再大概讲一下如何计算知识量
(1)对于一张图片x,输入网络,得到其中一个feature map的输出s
(2)对图片每个像素增加独立的,可学习的的高斯扰动, x ˉ = x + ϵ \bar{x}=x+\epsilon xˉ=x+ϵ
(3)设定优化目标L,使得优化后的扰动 ϵ \epsilon ϵ能代表这个像素的知识量。L的公式参考上篇文章
(4)凸优化

二、什么是“有效”的视觉概念?
就是这个视觉概念位于前景上
如何定义前景:手动标。比如直接用检测、分割数据集标注的前景

三、网络如何训练?
1、三个网络同用一个网络结构
2、Teacher 网络先在ImageNet上预训练,再在目标检测数据集上finetune
3、Student网络跟Teacher网络先做feature map蒸馏,再用目标检测数据集的gt label训练
4、Baseline直接用目标检测数据集的gt label训练
5、对于目标检测数据集,把目标框的1.2倍抠出来做成分类数据集,同时带上foreground的标注(有分割标注用分割,没有用检测框)
6、蒸馏feature选用某个FC后的一层,比如resnet最后的FC

四、评价指标
在这里插入图片描述

第一项:背景里Visual Concept的数量
第二项:前景里Visual Concept的数量
第三项:前景的数量/总数量。 用于表示前景的视觉概念占了多少,也表示网络学到的feature是否有用
五、结果
在这里插入图片描述
可以看到S的前景概念数量总比B多

假设2:知识蒸馏保证S是同时在学这些视觉概念,而不是像B一样一个一个地学
1、对于网络学到的视觉概念的数量做一个时序统计
2、纵轴是视觉概念的数量,横轴是epoch的变型
来看一下横轴是个啥?
在这里插入图片描述
w k w_k wk是第k个epoch后学到的(FC层的)weight, w k − 1 w_{k-1} wk1是第k-1个epoch后的, w 0 w_0 w0是初始的
对于第m个epoch,这个距离是前面每两个epoch之间距离的绝对值的累加,最后除以第0个epoch的参数的二范
因此,随着epoch的增长,这个距离也是会增长的,相当于epoch的另一种表示
3、比较到多少epoch?
根据信息瓶颈理论,网络会先学尽可能多的concept,然后再慢慢排除掉与结果无关的concept,因此,比较到concept数量开始下降的时候
在这里插入图片描述

就这样画了一个图,可是这跟concept是同时学还是按顺序学有什么关系?
作者主要用到的实际上还是这个参数的距离:
在这里插入图片描述
对前m个epoch的总距离求一个(所有图片的)均值和方差
距离代表了参数变化的大小,假如参数变化小,同时学到了最多的concept,说明学得快
距离的方差代表了不同的图片,也就是不同的concept学习的速度,如果方差较大,说明有的图片的concept学的快,有的学的慢,也就是说是顺序学的,如果方差小,说明都是同时在学
所以这两项都是越小越好
4、结果
在这里插入图片描述

可以看到大部分情况下都是S的这两个数值比较小

假设3:知识蒸馏优化更平稳
1、如何定义优化平稳?
(1)对于不同的epoch,分别统计前景上的concept数量
(2)计算
在这里插入图片描述
分子是第M个epoch时前景上的concept数量,分母是所有epoch学到的concept数量的合集,包含开始学到了,后面又被抛弃掉的concept,因此,分母越小,表示学到的没用的concept的数量越少,也就是假设的优化越稳定
在这里插入图片描述

结果也在最上面那张表上,这个数值是越大越好

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值