跳转至

Generalizable Knowledge Distillation from Vision Foundation Models for Semantic Segmentation

会议: CVPR 2026 arXiv: 2603.02554 代码: GitHub 领域: 分割 / 知识蒸馏 关键词: 知识蒸馏, 域泛化, 视觉基础模型, 语义分割, 多阶段学习

一句话总结

提出 Generalizable Knowledge Distillation (GKD),通过解耦表示学习与任务学习的多阶段蒸馏,以及基于 query 的软蒸馏机制,将 VFM 的跨域泛化能力有效转移到轻量学生模型,F2L 设置下平均提升 +10.6% mIoU。

研究背景与动机

知识蒸馏 (KD) 在语义分割中广泛用于模型压缩,但传统 KD 方法有一个被普遍忽视的严重缺陷:只保持域内精度,域外泛化能力大幅下降。随着 DINOv2 等视觉基础模型 (VFM) 的兴起,这一问题更加突出——VFM 本身泛化能力很强,但传统 KD 蒸馏后学生模型的泛化反而变差。

作者通过实验验证了关键洞察:任务损失和蒸馏损失在优化方向上存在冲突——任务目标驱动学生走向源域特定的决策边界,蒸馏目标推动学生逼近教师的域不变表示。两者联合优化导致不稳定收敛和泛化退化。

核心问题:能否在蒸馏时不牺牲 VFM 的域外泛化?

方法详解

整体框架

GKD 是一个两阶段框架:Stage 1 (Domain-General Distillation)——学生先通过特征蒸馏获得域无关表示;Stage 2 (Task Learning)——冻结学生编码器,只训练解码器完成分割任务。这种解耦设计确保学生先内化可迁移知识,再做任务特化。

关键设计

  1. 两步域通用蒸馏:Stage 1 内部进一步分为两步:(a) 任务无关蒸馏——在代理数据集 ImageNet 上蒸馏,缩小学生与教师的初始表示差距:\(\min_{\theta_s} \mathbb{E}_{x_P \sim D_P}[\mathcal{L}_{QSD}(\mathcal{F}_{\theta_t}(x_P), \mathcal{F}_{\theta_s}(x_P))]\);(b) 域无关蒸馏——在源域数据上继续蒸馏(但不加任务标签),让学生接触任务相关但域无关的特征。关键是全程不引入任务监督,避免域特定偏差。

  2. Query-based Soft Distillation (QSD):核心蒸馏机制,解决传统逐点特征对齐的不足。学生特征 \(v_s\) 作为 query,通过注意力机制检索教师特征 \(v_t\) 中的空间知识:\(W = \varphi(v_s) \cdot v_t^\top\),重构学生特征 \(v_s' = \sigma(\varphi(v_s) \cdot v_t^\top) \cdot \phi(v_s)\),再用 MSE 约束 \(\mathcal{L}_{feat} = \|v_s' - v_t\|_2^2\)。设计动机:VFM 的空间结构信息具有强域不变性(PCA 可视化证实),QSD 让学生选择性地获取可迁移的关系结构,而非被动模仿局部激活。

  3. 掩码补丁蒸馏 + CLS token 蒸馏:受 DINOv2 启发,引入掩码蒸馏损失 \(\mathcal{L}_{mask} = \|v_s'^{mask} - v_t\|_2^2\) 挖掘 VFM 隐藏知识;CLS token 蒸馏 \(\mathcal{L}_{cls} = \|v_s'^{cls} - v_t^{cls}\|_2^2\) 传递全局语义。总蒸馏损失 \(\mathcal{L}_{QSD} = \alpha\mathcal{L}_{feat} + \beta\mathcal{L}_{mask} + \gamma\mathcal{L}_{cls}\),超参数均设为 1。

损失函数 / 训练策略

  • Stage 1:AdamW,lr=5e-4,F2L 先在 ImageNet 训练 100 epoch (batch=512, 224×224),再在源域 300 epoch (batch=128, 512×512)
  • Stage 2:冻结编码器,用 Mask2Former 解码器,backbone lr=1e-5, decoder lr=1e-4,40K iterations, batch=4, crop 512×512
  • 分割损失继承 Mask2Former 的标准配置

实验关键数据

主实验

数据集设置 指标 (Avg mIoU) GKD (F2L DeiT ViT-B) 最佳传统 KD 提升
GTAV → Citys+BDD+Map Avg mIoU 57.9 51.1 (G2SD) +6.8
Cityscapes → ACDC Avg mIoU 64.6 53.8 (G2SD) +10.8
Potsdam-RGB → P-I+V-I Avg mIoU 65.1 59.5 (G2SD) +5.6
数据集设置 指标 (Avg mIoU) GKD (F2L DeiT ViT-S) 最佳传统 KD 提升
GTAV → Citys+BDD+Map Avg mIoU 54.1 47.8 (G2SD) +6.3
Cityscapes → ACDC Avg mIoU 57.7 51.2 (G2SD) +6.5

消融实验

配置 Avg mIoU (GTAV) 说明
传统单阶段 KD 49.9 Vanilla KD baseline
两阶段 KD (MSE) ~53 解耦但无 QSD
+ QSD ~56 加入 query-based 选择性蒸馏
+ 掩码蒸馏 ~57 挖掘 VFM 隐藏知识
GKD 完整 57.9 全部组件

关键发现

  • 传统 KD 方法 (CWD, Af-DCD) 甚至会降低学生的域外泛化,这是一个反直觉的发现
  • 两阶段设计的关键在于移除 Stage 1 中的任务梯度——收敛更平滑、泛化更好
  • F2L (Foundation-to-Local) 提升最为显著 (+10.6%),因为小模型本身泛化弱,GKD 补偿效果更大
  • QSD 的注意力机制能有效选择空间可迁移知识,PCA 可视化证实学生习得了域不变空间结构
  • 在 EVA02 教师模型上也有效,说明方法不局限于 DINOv2

亮点与洞察

  • 诊断问题比解决问题更有价值:本文最大贡献是揭示了传统 KD 的泛化瓶颈——这个问题此前几乎被忽视
  • 解耦设计简洁而强大:冻结编码器训练解码器,虽然简单但效果显著
  • QSD 机制让蒸馏从"被动模仿"变为"主动检索",是软蒸馏的一个优雅升级
  • 实验覆盖 5 个域泛化 benchmark,F2F 和 F2L 两种设置,说服力强

局限性 / 可改进方向

  • 两阶段训练流程相比单阶段 KD 更复杂,需要额外的 ImageNet 预训练步骤
  • 目前仅在语义分割验证,是否适用于检测、实例分割等其他密集预测任务需要验证
  • Stage 1 中使用 ImageNet 作为代理数据集是一个假设,不同代理数据集的影响未充分分析
  • 冻结编码器可能限制了任务性能的上限

相关工作与启发

  • G2SD/TinyMIM/Proteus:现有 VFM 蒸馏方法只关注域内迁移,忽视了跨域泛化
  • CWD/CIRKD/Af-DCD:分割 KD 方法,均未考虑域泛化
  • Domain Generalized Semantic Segmentation:本文将 KD 与 DGSS 交叉,开辟新方向
  • 启发:解耦"表示学习"和"任务学习"的思想可推广到其他涉及预训练+微调的场景

评分

  • 新颖性: ⭐⭐⭐⭐ 首次系统研究 KD 中的域泛化问题,多阶段解耦设计创新
  • 实验充分度: ⭐⭐⭐⭐⭐ 5 个 benchmark,F2F/F2L 双设置,大量对比和消融
  • 写作质量: ⭐⭐⭐⭐ 动机验证 → 方法设计的逻辑链非常清晰
  • 价值: ⭐⭐⭐⭐⭐ 揭示了 KD 领域被忽视的重要问题,方法简洁有效,开辟了新的研究方向