论文笔记:Cross-Layer Distillation with Semantic Calibration

论文笔记:Cross-Layer Distillation with Semantic Calibration

背景

论文:Cross-Layer Distillation with Semantic Calibration(AAAI 2021,Defang Chen、Jian-Ping Mei 等,浙江大学;代码:github.com/DefangChen/SemCKD)。

特征图蒸馏的谱系大家都不陌生:KD 只用最后一层的软标签,FitNets 第一个把中间层当监督信号(hint),之后 AT 模仿空间注意力、VID 最大化互信息、SP 保持成对相似度、HKD 用教师-辅助-学生的链条。这些方法形式各异,但共享同一个隐含前提------师生层对是人工指定的 :要么随机挑一层当 hint,要么按深度一对一配对。问题在于,中间层的语义抽象层级随网络容量变化(Passalis et al. 2020 的观察):同一个"第 3 层",在 8 层的 VGG 和 32 层的 ResNet 里根本不是同一种语义。手工配对一旦语义错位,蒸馏就从正则化变成负正则化------学生被强行拉向一个语义不同的层,表现反而不如不蒸馏。

论文用一个很直接的诊断实验(Fig. 2)坐实了这件事。在 VGG-8 & ResNet-32x4 与 MobileNetV2 & WRN-40-2 两个设定下(各取 3 个教师候选层、4 个学生层,共 12 种组合),每次只用一个指定层对 做蒸馏,vanilla KD 和 SemCKD 画成水平基准线。三个观察值得记住:其一,部分层对的结果极差,出现典型负正则化(如 2a 的 Student Layer-4 & Target Layer-3、2b 的 Student Layer-1,2 & Target Layer-3);其二,一对一深度匹配并非最优------2b 中 Student Layer-1 & Target Layer-2 比同深度配对更好,说明"跨深度反而更对味";其三,个别手工层对确实能超过 SemCKD(2b 的 Student Layer-3 & Target Layer-3),但哪个层对最好事先无法知道。主表也印证了这一点:CIFAR-100 七个设定中没有任何对比方法能稳定超过 vanilla KD------FitNet 在 4/7 个设定上翻车;学生候选层多于教师时(ShuffleNetV2 & VGG-13)5 个方法里 4 个输给 KD。

更麻烦的是,语义层级没有先验可用------你无法提前声明教师第 2 层和学生第 1 层语义同阶。于是层关联本身就成了一个需要被学习的问题,这正是本文的切入点。

中心思想

把固定层对分配换成注意力软分配(soft layer association) :每个学生层不硬绑定一个教师层,而是与全部教师候选层建立软关联,由学出来的注意力分布 α \alpha α 决定每个教师层对该学生层的监督强度。

这套设计同时做两件事:抑制 语义错配层对的负向正则(权重被压小),整合多个语义相关层的正向指导(每个学生层从多个教师层收集知识)。学习的目标不是"选一个最好的层对",而是"给每个学生层配一个合适的教师层分布"------由于语义层级无先验,让梯度去学关联是唯一系统性的出路。软分配还自带一层稳健性:与其赌一个可能翻车的固定层对,不如在候选层上做加权聚合,把 Fig. 2 里那些灾难性层对的贡献稀释掉。配套地,每个学生层被投影成与各教师层空间维度对齐的多个形态,异构架构(层数不等、维度不等)也天然可用。

一个统一视角:把 α \alpha α 固定为某层对的 1、其余为 0,SemCKD 就退化为 FitNet------所有固定层对方法都是本方法在 α \alpha α 退化为独热分布时的特例。

主要方法

1. 记号与基础损失

数据集 D = { ( x i , y i ) } i = 1 N \mathcal{D}=\{(x_i,y_i)\}{i=1}^N D={(xi,yi)}i=1N, N N N 样本 K K K 类;mini-batch 大小 b b b。教师第 t l t_l tl 层输出 F t l t ∈ R b × c × h × w F{t_l}^t\in\mathbb{R}^{b\times c\times h\times w} Ftlt∈Rb×c×h×w,学生第 s l s_l sl 层输出 F s l s F_{s_l}^s Fsls,候选层分别为 1.. t L 1..tL 1..tL 与 1.. s L 1..sL 1..sL(允许不等)。实践中把网络的 building block 当作候选层。基础 KD 损失(温度 T = 4 T=4 T=4):

L K D = L C E ( y i , σ ( g i s ) ) + T 2   K L  ⁣ ( σ ( g i t / T )   ∥   σ ( g i s / T ) ) \mathcal{L}{KD}=\mathcal{L}{CE}(y_i,\sigma(g_i^s))+T^2\,\mathrm{KL}\!\left(\sigma(g_i^t/T)\,\|\,\sigma(g_i^s/T)\right) LKD=LCE(yi,σ(gis))+T2KL(σ(git/T)∥σ(gis/T))

经典特征图蒸馏在其上加一项 L F M D = ∑ ( s l , t l ) ∈ C D i s t ( ⋅ , ⋅ ) \mathcal{L}{FMD}=\sum{(s_l,t_l)\in C}\mathrm{Dist}(\cdot,\cdot) LFMD=∑(sl,tl)∈CDist(⋅,⋅),层对集合 C C C 人工指定。

2. 相似度矩阵:两层语义是否同阶的度量

对教师、学生的每个候选层,把特征图重排后做内积(Eq. 7):

A s l s = R ( F s l s ) ⋅ R ( F s l s ) ⊤ , A t l t = R ( F t l t ) ⋅ R ( F t l t ) ⊤ A_{s_l}^s=R(F_{s_l}^s)\cdot R(F_{s_l}^s)^{\top},\qquad A_{t_l}^t=R(F_{t_l}^t)\cdot R(F_{t_l}^t)^{\top} Asls=R(Fsls)⋅R(Fsls)⊤,Atlt=R(Ftlt)⋅R(Ftlt)⊤

其中 R ( ⋅ ) : R b × c × h × w → R b × c h w R(\cdot):\mathbb{R}^{b\times c\times h\times w}\to\mathbb{R}^{b\times chw} R(⋅):Rb×c×h×w→Rb×chw 为展平算子,于是 A ∈ R b × b A\in\mathbb{R}^{b\times b} A∈Rb×b。第 i i i 行即"样本 i i i 与 batch 内所有样本的相似度向量"。这继承了 SP 的洞察:相似实例的特征会在不同层、不同粒度上聚类,因此两个层的相似度矩阵足够接近,就可以认为这两层处在相近的语义层级 ------而且比较发生在 b × b b\times b b×b 空间,与两侧特征维度无关,天然适配异构架构。

这里有个容易混淆的点值得点破:SP 把成对相似度本身当作被蒸馏的知识 (损失对齐相似度矩阵),SemCKD 则把相似度矩阵当作选择层对的依据(损失仍然是对齐特征图的 MSE)。同一套表示,一个当知识,一个当路由器。

3. 注意力软分配:共享 MLP 的 Q/K 与 softmax

自注意力框架(Vaswani et al. 2017)的 Q/K 改造。由于原始相似度矩阵噪声大且稀疏,先用两层非线性 MLP 把它们投到 query/key 子空间(Eq. 8):

Q s l i = M L P Q ( A s l s i ) , K t l i = M L P K ( A t l t i ) Q_{s_l}i=\mathrm{MLP}Q(A{s_l}^si),\qquad K_{t_l}i=\mathrm{MLP}K(A{t_l}^ti) Qsli=MLPQ(Aslsi),Ktli=MLPK(Atlti)

MLP 参数在训练中学习,对所有样本实例共享 (按符号约定,同一 M L P Q \mathrm{MLP}_Q MLPQ 服务于全部学生层、 M L P K \mathrm{MLP}_K MLPK 服务于全部教师层)。随后对每个样本 i i i、每个学生层 s l s_l sl,在全部教师层上做 softmax(Eq. 9):

α i ( s l , t l ) = exp ⁡  ⁣ ( Q s l i ⊤ K t l i ) ∑ j = 1 t L exp ⁡  ⁣ ( Q s l i ⊤ K t j i ) , α ( s l , t l ) ∈ R b × 1 \alpha_i^{(s_l,t_l)}=\frac{\exp\!\left(Q_{s_l}i^{\top}K_{t_l}i\right)}{\sum_{j=1}^{tL}\exp\!\left(Q_{s_l}i^{\top}K_{t_j}i\right)},\qquad \alpha(s_l,t_l)\in\mathbb{R}^{b\times 1} αi(sl,tl)=∑j=1tLexp(Qsli⊤Ktji)exp(Qsli⊤Ktli),α(sl,tl)∈Rb×1

注意两个细节: α \alpha α 是实例级 的( b × 1 b\times 1 b×1,同一层对不同样本可有不同权重),并满足 ∑ t l α ( s l , t l ) = 1 \sum_{t_l}\alpha(s_l,t_l)=1 ∑tlα(sl,tl)=1。直觉上, Q ⋅ K Q\cdot K Q⋅K 度量两个相似度矩阵的接近程度------语义相近的层对拿到大权重。

4. 维度投影与实例级加权 MSE

每个学生层被无条件地 投影成 t L tL tL 个独立形态以对齐各教师层的空间维度(Eq. 5): F s l s 0 = P r o j ( F s l s , t l ) ∈ R b × c t l × h t l × w t l F_{s_l}^{s0}=\mathrm{Proj}(F_{s_l}^s,t_l)\in\mathbb{R}^{b\times c_{t_l}\times h_{t_l}\times w_{t_l}} Fsls0=Proj(Fsls,tl)∈Rb×ctl×htl×wtl。每个 Proj 是 1×1、3×3、1×1 三层卷积的堆叠;实践先池化对齐高宽再投影以省算力。教师侧恒等变换。SemCKD 蒸馏损失为三重求和的实例级加权 MSE(Eq. 6):

L S e m C K D = ∑ s l = 1 s L ∑ t l = 1 t L ∑ i = 1 b α i ( s l , t l )   M S E  ⁣ ( F t l t i ,   F s l s 0 i ) \mathcal{L}{SemCKD}=\sum{s_l=1}^{sL}\sum_{t_l=1}^{tL}\sum_{i=1}^{b}\alpha_i^{(s_l,t_l)}\,\mathrm{MSE}\!\left(F_{t_l}^ti,\,F_{s_l}^{s0}i\right) LSemCKD=sl=1∑sLtl=1∑tLi=1∑bαi(sl,tl)MSE(Ftlti,Fsls0i)

5. 总损失与训练流程

L t o t a l = ∑ i = 1 b L K D , i + β   L S e m C K D \mathcal{L}{total}=\sum{i=1}^b\mathcal{L}{KD,i}+\beta\,\mathcal{L}{SemCKD} Ltotal=∑i=1bLKD,i+βLSemCKD( β \beta β 在 100--1100 搜索)。训练循环(Algorithm 1):采样 mini-batch → 前向师生网络取各层特征 → 构相似度矩阵 → 注意力分配 → 投影对齐 → 反向传播。教师预训练后冻结,只更新学生参数 θ s \theta_s θs;MLP 与投影层都是训练期模块,推理时全部丢弃。

6. 实验结果

主结果(CIFAR-100,7 个师生组合 = 2 同构 + 5 异构,Top-1 %,均值±方差):

方法 VGG-8 & ResNet-32x4 MobileNetV2 & WRN-40-2 ResNet-8x4 & ResNet-32x4 ARI
Student 70.46 ± 0.29 65.43 ± 0.29 73.09 ± 0.30 ---
KD 72.73 ± 0.15 68.70 ± 0.22 74.42 ± 0.05 72.65%
FitNet 72.91 ± 0.18 68.64 ± 0.12 74.32 ± 0.08 71.92%
AT 71.90 ± 0.13 68.79 ± 0.13 75.07 ± 0.03 75.21%
VID 73.19 ± 0.23 68.37 ± 0.24 74.55 ± 0.10 64.11%
SemCKD 75.27 ± 0.13 69.61 ± 0.05 76.23 ± 0.04 68.34%
Teacher 79.42 75.61 79.42 ---

ARI(平均相对提升)按 ( A c c S e m C K D − A c c F M D ) / ( A c c F M D − A c c S T U ) (\mathrm{Acc}{SemCKD}-\mathrm{Acc}{FMD})/(\mathrm{Acc}{FMD}-\mathrm{Acc}{STU}) (AccSemCKD−AccFMD)/(AccFMD−AccSTU) 计,SemCKD 对最强的单进程方法 VID 提升 64.11%,对依赖教师-辅助-学生的 HKD 提升 61.23%(HKD 在两个设定上 ARI 仅 3.93% / 9.98%)。ImageNet(Table 2)上 ResNet-18 & ResNet-34:KD 70.62 / FitNet 70.31 / AT 70.30 / SP 69.99 / VID 70.30 / HKD 68.86 / SemCKD 70.87(教师 73.26)。

语义错配分数(Table 3) :以关联层对两侧相似度矩阵的平均欧氏距离(对数尺度)为指标,VGG-8 & ResNet-32x4 上 FitNet 12.05 / AT 15.52 / SP 16.30 / VID 15.82 / HKD 19.86 / SemCKD 11.27------软分配确实把关联层对的语义拉得最近,直接验证了机制本身。

消融(Table 4,VGG-8 & ResNet-32x4):等权分配 72.94 ± 0.87(掉 2.33 个点、方差扩大 0.74);去掉投影改在相似度矩阵上配 value 向量 72.51(−2.76);MLP 换单层线性变换 72.78(−2.49);完整 SemCKD 75.27。三个组件缺一不可。

与特征嵌入蒸馏正交(Table 5) :SemCKD+CRD 在三个组合上达 75.52 / 70.55 / 76.68,不做任何调参直接叠加,ARI 相对 CRD / 单独 SemCKD 提升 40.13% / 13.90%。β 敏感性(Fig. 4) :100--1100 搜索、>400 后性能稳定,默认设置下超 CRD 约 1.73 个点。Grad-CAM(Fig. 3):SemCKD 的类判别区域像教师一样集中;对比方法区域散乱、甚至把正确区域当背景而盯上空间邻接目标;SemCKD 能抓住更细的语义(如 Goose 的头颈部)。

特点(优缺点)

优点

  • 首次把层对选择从手工先验变成可学习问题,且跨层多对多监督,最大化层间语义匹配;固定层对法(FitNet 等)统一为本方法 α 独热退化的特例。
  • 实例级注意力 ( α ∈ R b × 1 \alpha\in\mathbb{R}^{b\times 1} α∈Rb×1):同一层对不同样本可以有不同权重分布,比全局标量配比更细粒度。
  • 异构架构友好 :层数、维度不等的师生网络都能用( b × b b\times b b×b 相似度比较 + 投影对齐), t L ≠ s L tL\neq sL tL=sL 不需要任何特殊处理。
  • 超参鲁棒:β 在很宽的范围内(>400)性能稳定,不像多数蒸馏方法那样对损失权重敏感。
  • 与特征嵌入蒸馏正交且即插即用:与 CRD 直接相加仍能再涨,不用重调超参。
  • 训练期模块推理零开销:MLP、投影层训练完即可丢弃,学生网络本身不变。

缺点与局限

  • 候选层集合仍需人工选定(实践中取 building block),并非全自动;关联是学出来的,但"在哪几层之间学"还是人定的。
  • 训练开销可观 :每步前向教师网络、构造 s L × t L sL\times tL sL×tL 个 b × b b\times b b×b 相似度矩阵与同数量的投影头; b b b 或层数增大时计算和显存都明显上升。
  • 引入额外训练期模块 (两个 MLP、每学生层 t L tL tL 个投影形态),蒸馏本身是压模型,训练反而更贵。
  • 语义错配分数只能事后评价,不能直接作为可微目标纳入训练,训练中无法监控"是否真的对齐了语义"。
  • 个别手工层对仍可能超过 SemCKD(论文自己承认,如 2b 的 Student Layer-3 & Target Layer-3),关联策略还有 refinement 空间------注意力学到的是"平均好",不是"处处最优"。
  • 仅在分类任务上验证(CIFAR-100 / ImageNet);检测、检索等同样依赖中间特征的任务未测试,跨任务泛化性存疑。
相关推荐
踏雪亦无痕3 小时前
论文笔记:Like What You Like: Knowledge Distill via Neuron Selectivity Transfer
论文阅读·知识蒸馏
m4Rk_1 天前
【论文阅读】Agent 记忆机制(97):MCMA——让 Agent 学会如何抽象记忆,实现跨任务经验迁移
论文阅读·人工智能·学习·开源·github
Rocky Ding*1 天前
MOSS-VL技术原理深度解析:让视觉流持续进入生成过程,实时 Agent 才有架构基础
论文阅读·人工智能·深度学习·机器学习·aigc·多模态·ai-native
m4Rk_2 天前
【论文阅读】Agent 记忆机制(96):M3-Agent——让 Agent 从视听经历中持续形成情景与语义长期记忆
论文阅读·人工智能·学习·开源·github
小新科研测评2 天前
文献管理工具同步太麻烦?2026年4款多端同步工具实测,换设备不丢笔记
论文阅读·人工智能·笔记·ai·电脑
嫂子开门我是_我哥2 天前
青少年抑郁、焦虑、失眠与自杀相关表现的症状联系:一篇网络分析论文所使用的算法深度解读
论文阅读·算法·论文笔记
Rocky Ding*3 天前
VideoChat3 深度解析:视频理解的效率,来自时空压缩与主动感知的共同设计
论文阅读·人工智能·深度学习·机器学习·aigc·ai-native·视频理解
嫂子开门我是_我哥3 天前
青少年抑郁、焦虑、失眠与自杀相关表现的症状联系:一篇网络分析论文的深度解读
论文阅读·论文笔记
Curious*4 天前
意识障碍研究-论文阅读2
论文阅读