A Gift from Knowledge Distillation:relation蒸馏

news/2024/7/24 7:10:40 标签: 深度学习, 算法, 计算机视觉

使用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来训


http://www.niftyadmin.cn/n/507635.html

相关文章

FitNets: Hints for Thin Deep Nets:feature map蒸馏

这篇就比较简单了,就是从中间选一层feature map出来,T和S做个Loss来训S,训好了再用KD再训一遍S 这里有个问题,文中用的S和T的宽度不一样(输出feature map的channel不一样),因此第一阶段还需要在S的feature map后加一个…

Towards a Deep and Unified Understanding of Deep Neural Models in NLP

这篇文章比较难,需要较多的概率论和信息论知识,论文中公式推导给的不是特别多,有些过程并没有做推导,因此不是太能理解,不过大概意思是能懂的。 论文提出了一种知识量计算方法,通过计算每个输入的知识量&am…

用知识量解释知识蒸馏

Explaining Knowledge Distillation by Quantifying the Knowledge 用上篇文章提到的知识量的方法来解释知识蒸馏,主要是探讨通过知识蒸馏学出来的student network比通过train from scratch学出来的baseline的优点,以下Teacher, Student, Baseline分别用…

ResNeXt与分组卷积

ResNeXt两点: (1)Inception v4的所有分支结构统一 (2)inception block前后增加shortcut分支 分支结构统一与shortcut 左边是Inception结构,不同分支用不同的结构。 右边是ResNeXt的Block,每个分…

Layer Norm

参考ConvNeXt中的Layer Normalization(LN) - 海斌的文章 - 知乎 https://zhuanlan.zhihu.com/p/481901798 Layer Norm本来是一个样本norm自己,如图所示: 也就是说,在[C,H,W]维进行归一化 而ConvNeXt中是这样: 也就是在C的维度归…

EM算法原理

参考人人都懂EM算法 - August的文章 - 知乎 https://zhuanlan.zhihu.com/p/36331115 EM算法与极大似然估计 已知: (1)一堆数据 (2)数据的概率密度函数的形式 未知: 概率密度函数的参数 eg. 高斯分布的均值…

LN与BN实现上的巨大差异

参考https://ugirc.blog.csdn.net/article/details/121877901 做规范化的目的 减均值,除方差,实际上就是压缩原数据的分布,使得均值为0,方差为1,差不多全集中在(-1,1)之间 这样有几个好处: (1&…

CV中的LN与NLP中的BN

CV中的BN: (N, C, H, W),以(N, H, W)为单位求均值与方差 CV中的LN: 由于在LN初始化的时候需要输入参数normalized_shape,即规范化的单位(目的是为了给单位内部的所有element设置不同的gamma和beta&#xff…