A Gift from Knowledge Distillation:relation蒸馏

使用relation的蒸馏代替传统的feature map或者logits蒸馏


如何建模relation?

就是feature map的内积
比如两个residual block,输出的feature map大小相等,但channel数可能不同,比如F1:(h,w,m),F2:(h,w,n),输出relation:(m,n),其实就是F1的m个channel和F2的n个channel之间的关系。

F1的m个channel分别和F2的n个channel相乘,每次会得到一个值,最后就得到了(m,n)的矩阵

如何比较T和S的relation

首先T和S得有相同数量的relation,也就是说,如果T分为了10个block,也就是说会有9个relation map,那么S也得分为10个block,得到9个relation map,不过如果T和S的relation map不一样大怎么办?比如T是(m,n),S是(m1,n1)怎么办?=>本文不考虑这种情况
在这里插入图片描述
比如上图,一个是32个residual layers的resnet,一个是14层的,上面每5个layer划一个大block,下面每2个layer划一个大block,最终得到的relation map数量是一样多的,因此可以一一对应
由于residual modules不会改变feature map大小(因为CNN加了padding),pooling是单独做的,因此上面划大block其实都是在pooling处加的,这样T和S的relation map的大小也能对上。
这样一对一计算L2 loss,然后求个平均,就得到了一阶段的Loss。

第二阶段

一阶段是用relation loss来训,二阶段就直接用gt来训

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值