论文笔记:Distilling Knowledge via Knowledge Review

论文笔记:Distilling Knowledge via Knowledge Review

背景

论文:Distilling Knowledge via Knowledge Review(CVPR 2021,Pengguang Chen、Shu Liu、Hengshuang Zhao、Jiaya Jia,CUHK / SmartMore / Oxford;代码 Jia-Research-Lab/ReviewKD)。

知识蒸馏的已有谱系------KD 蒸 logit、FitNet 蒸单层特征、AT 蒸注意力图、PKT 蒸概率分布、CRD 蒸对比表示------一路都在回答"迁移什么知识、用什么损失度量",却共享一个从未被质疑的默认设定:师生之间的连接路径 。监督学生的第 4 个 stage 时,永远拿教师的第 4 个 stage(Fig.1(a)--© 全是同层路径)。本文第一次把"连接路径"本身当成研究对象,结论出人意料:把同层路径改成"用教师的浅层监督学生的深层",就能在分类、检测、实例分割上一致大幅提升。作者用人类学习曲线作类比:小孩当时只听得懂所教知识的一小部分,随着成长不断回顾,早年学过的东西才被逐渐消化------学生网络也需要"复习"教师早前(浅层)的知识。

中心思想

Review 机制:用教师网络的多个浅层,共同监督学生网络的一个深层。 形式化地说,学生第 i i i 层同时从教师第 1 , 2 , ... , i 1,2,\dots,i 1,2,...,i 层接收监督------多对一的跨层蒸馏,让学生"总在回顾学过的东西"。

这个方向性有扎实的实验动机(论文 Table 6,详见后文):学生的深层 stage 有能力从教师的浅层学到有用信息,收益甚至不低于同层监督;反过来,教师深层对学生浅层是灾难。因此"回顾"是单向的:只允许浅教深,不允许深教浅。

为什么这样更稳?论文的残差视角给出解释:让学生的 stage-4 特征(与 stage-3 融合后)去模仿教师的 stage-3,等价于让 stage-4 学习"学生 stage-3 与教师 stage-3 之间的残差"------这部分差值很可能正是教师质量更高的来源。相比直接拿学生深层去硬学教师浅层,残差式渐进学习更稳定。

主要方法

1. Review 机制的形式化

学生网络按降采样层切成 S 1 , ... , S n S_1,\dots,S_n S1,...,Sn 与分类头 S c S_c Sc,第 i i i 层特征 F i s = S i ∘ ⋯ ∘ S 1 ( X ) F_i^s = S_i\circ\dots\circ S_1(X) Fis=Si∘⋯∘S1(X)(教师同理)。单层/多层 KD 分别对若干同层对做距离;Review 机制把学生特征固定、让教师的浅层集体监督它(Eq.5):

L S K D R = ∑ j = 1 i D  ⁣ ( M i , j s ( F i s ) ,   M j t ( F j t ) ) \mathcal{L}{SKD}^{R}=\sum{j=1}^{i}D\!\left(M_{i,j}^{s}(F_i^{s}),\,M_{j}^{t}(F_j^{t})\right) LSKDR=j=1∑iD(Mi,js(Fis),Mjt(Fjt))

注意一个容易忽略的点:review 与传统 multiple-layers 蒸馏是互补概念 ------前者固定一个学生层、遍历教师浅层,后者遍历学生层、固定同层教师。最终框架(Eq.6)两者兼有:每个学生层 i i i 都被教师层 1.. i 1..i 1..i 监督。

2. 残差学习框架:从 n ( n + 1 ) / 2 n(n+1)/2 n(n+1)/2 对降到 n n n 对

朴素实现(Fig.2(b))要算 n ( n + 1 ) / 2 n(n+1)/2 n(n+1)/2 对特征距离,代价随深度平方增长。化简分三步:先交换双重求和的次序(Eq.9),固定教师第 j j j 层,这一项变成"教师 F j t F_j^t Fjt 与学生 F j s , ... , F n s F_j^s,\dots,F_n^s Fjs,...,Fns 的距离之和 ";再引入融合模块 U U U,把距离之和近似为融合特征的距离(Eq.10):

∑ i = j n D ( F i s , F j t )    ≈    D  ⁣ ( U ( F j s , ... , F n s ) ,   F j t ) \sum_{i=j}^{n}D(F_i^{s},F_j^{t})\;\approx\;D\!\left(U(F_j^{s},\dots,F_n^{s}),\,F_j^{t}\right) i=j∑nD(Fis,Fjt)≈D(U(Fjs,...,Fns),Fjt)

最后把融合做成递归的(Fig.2(d)):从最深层起步,学生第 n n n 层(经卷积 + 最近邻插值变换到教师尺寸;教师特征不做 变换)直接对齐教师第 n n n 层;此后向下逐层,学生第 j j j 层特征与"已融合的更深特征" F j + 1 , n s F_{j+1,n}^s Fj+1,ns 融合,再对齐教师第 j j j 层:

L M K D R = D  ⁣ ( F n s , F n t ) + ∑ j = n − 1 1 D  ⁣ ( U  ⁣ ( F j s ,   F j + 1 , n s ) ,   F j t ) \mathcal{L}{MKD}^{R}=D\!\left(F{n}^{s},F_n^{t}\right)+\sum_{j=n-1}^{1}D\!\left(U\!\left(F_j^{s},\,F_{j+1,n}^{s}\right),\,F_j^{t}\right) LMKDR=D(Fns,Fnt)+j=n−1∑1D(U(Fjs,Fj+1,ns),Fjt)

距离对数从 n ( n + 1 ) / 2 n(n+1)/2 n(n+1)/2 降到 n n n,且逐层递进的融合让"学生深层学教师浅层"变成"学生深层补一个残差",训练更稳。

3. ABF:注意力加权融合

两个不同 stage 的特征信息多样、关注分区不同,直接相加不合理。ABF(attention based fusion)流程:

  1. 高层特征 resize 到与低层特征相同的 H × W H\times W H×W;
  2. 两者按通道 concat,过一个 1 × 1 1\times1 1×1 卷积 + sigmoid,得到两张 H × W H\times W H×W 的空间注意力图(各负责一个输入特征,每个空间位置一个权重、通道间共享);
  3. 注意力图分别乘回原特征后相加: o u t = A 1 ⊙ F 低 + A 2 ⊙ F 高 \mathrm{out}=A_1\odot F_{\text{低}}+A_2\odot F_{\text{高}} out=A1⊙F低+A2⊙F高。

自适应权重让网络自己决定"这一层该多听低层还是多听高层"。

4. HCL:金字塔池化的分层上下文损失

融合特征是"复合的多层级信息",单一的全局 L2 距离太钝。HCL(hierarchical context loss)借鉴 PSPNet 的空间金字塔池化(SPP):把教师特征与学生侧融合特征各自按不同窗口大小分块做平均池化,得到多个尺度的上下文表示,逐 level 做 L2 距离后求和------不同抽象层级的知识被分开对齐。

总损失(Eq.7): L = L C E + λ L M K D R \mathcal{L}=\mathcal{L}{CE}+\lambda\mathcal{L}{MKD}^{R} L=LCE+λLMKDR。所有新模块(变换、ABF、SPP)只存在于训练期,推理图与原学生网络完全一致------测试零开销。

5. 动机实验:跨阶段蒸馏矩阵(Table 6)

ResNet20(学生,baseline 69.1)← ResNet56(教师),各有 4 个 stage,每次只用一个"学生 stage × 教师 stage"单对蒸馏:

学生\教师 T1 T2 T3 T4
S1 69.5 69.0 68.2 66.3
S2 69.6 69.6 61.4 61.1
S3 69.2 69.8 71.0 50.4
S4 69.2 69.3 70.3 70.3

三个结论:同层(对角线)确实最好 ;教师浅层监督学生深层同样有效 (S3←T2 得 69.8、S4←T3 得 70.3,均超 baseline);教师深层监督学生浅层有害(S2←T3/T4 跌到 61.4/61.1,S3←T4 崩至 50.4)------教师深层特征对学生早期阶段"太复杂、太抽象"。这正是"只回顾、不预习"单向机制的实验依据。

6. 实验结论

分类(CIFAR-100 / ImageNet,Top-1 %):

师生组合 学生 KD CRD OFD ReviewKD
WRN40-2→WRN16-2(同构) 73.26 74.92 75.48 75.24 76.12
ResNet32x4→ShuffleNetV1(异构) 70.50 74.07 75.11 75.98 77.45
ResNet50→MobileNetV2(异构) 64.6 67.35 69.11 69.04 69.89
ImageNet:ResNet50→MobileNet 68.87 68.58 71.37 71.25 72.56
ImageNet:ResNet34→ResNet18 69.75 70.66 71.17 70.81 71.61

ImageNet ResNet34→ResNet18 设定中,师生差距从此前最优的 2.14 缩到 1.70(相对提升 20%)。

检测(COCO2017,在 backbone 输出特征间蒸馏) :Faster R-CNN R101→R18:KD +0.61、FitNet +0.87、为检测定制的 FGFI +2.18,ReviewKD +3.49 (33.26→36.75 mAP);R101→R50:+2.43;R50→MobileNetV2:+4.24;RetinaNet:+2.33。通用框架把检测专用方法甩开一个身位。

实例分割(首次把 KD 用于该任务):Mask R-CNN R101→R18 mAP +2.37、R101→R50 +1.74(师生差距分别缩小 32% / 51%)、R50→MobileNetV2 +3.19。

消融(WRN16-2←WRN40-2) :同层 L2 基线 74.3 → +Review 机制 75.2 → +残差框架 75.6 → +ABF 76.0 / +HCL 75.8 → 全部合用 76.2 (方差还最小)------甚至超过了教师 WRN40-2 的 75.61。

特点(优缺点)

优点

  • 开辟了"连接路径"这个新设计维度:此前所有方法只研究迁移什么,本文证明"从哪迁到哪"本身就有巨大红利,且动机实验(4×4 矩阵)证据充分。
  • 残差式渐进融合既省算力又稳 : n ( n + 1 ) / 2 n(n+1)/2 n(n+1)/2 对距离降为 n n n 对,同时把"深层学浅层"改造成"深层补残差"。
  • 测试零开销:ABF、SPP、变换层训练完即丢弃,部署与学生基线完全相同。
  • 任务覆盖面罕见地广:分类、检测、实例分割三类任务全部 SOTA,是首个进入实例分割的蒸馏方法;跨架构设定同样稳定。
  • 与 logit/特征蒸馏互补,可直接叠加;消融显示学生甚至能反超教师。

缺点

  • 单向性是硬约束:教师深层→学生浅层被证明有害,机制只能"回顾"不能"预习";且隐含假设教师的 stage 数不少于学生,论文未讨论学生更深时的映射方式。
  • 只使用各 stage 的输出特征,stage 内部的中间特征被放弃(作者自留的未来工作),路径设计粒度仍粗。
  • Eq.10 的"距离之和 ≈ 融合特征的距离"是启发式近似 ,融合模块 U U U 越近似、信息损失越大,论文没有刻画这一误差。
  • 训练开销并不为零:需要教师全程前向、逐层递归融合与 SPP,只是推理免费。
  • 新引入 ABF/HCL 结构与 λ \lambda λ 等超参,换任务(检测/分割)时需按附录重新调参,便利性打折。
  • 跨阶段矩阵实验只在 CIFAR-100 分类上验证,"浅教深"的方向性结论未在检测/分割任务上复验。
相关推荐
踏雪亦无痕1 小时前
论文笔记:Cross-Layer Distillation with Semantic Calibration
论文阅读·知识蒸馏
踏雪亦无痕3 小时前
论文笔记:Like What You Like: Knowledge Distill via Neuron Selectivity Transfer
论文阅读·知识蒸馏
m4Rk_1 天前
【论文阅读】Agent 记忆机制(97):MCMA——让 Agent 学会如何抽象记忆,实现跨任务经验迁移
论文阅读·人工智能·学习·开源·github
Rocky Ding*2 天前
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 天前
青少年抑郁、焦虑、失眠与自杀相关表现的症状联系:一篇网络分析论文的深度解读
论文阅读·论文笔记