Dual Distillation for Few-Shot Anomaly Detection¶
会议: ICLR 2026
arXiv: 2603.01713
代码: https://github.com/ttttqz/D24FAD (有)
领域: 医学图像 / 异常检测 / 少样本学习
关键词: 少样本异常检测, 双蒸馏, 教师-学生, 自蒸馏, 医学影像
一句话总结¶
提出双蒸馏框架 D24FAD,结合 query 图像上的教师-学生蒸馏(TSD)和 support 图像上的学生自蒸馏(SSD),辅以学习权重机制(L2W)自适应评估 support 重要性,在 APTOS 眼底数据集上仅用 2-shot 达到 100% AUROC。
研究背景与动机¶
- 领域现状:医学影像的异常检测面临标注稀缺的挑战,少样本异常检测利用极少量正常样本(2-8张)定义"正常",检测偏离正常的异常。
- 现有痛点:现有方法要么只用教师-学生蒸馏(忽略 support 的直接参考),要么只做 support 匹配(忽略预训练知识的迁移),两种信息来源未被联合利用。
- 核心矛盾:教师-学生蒸馏提供通用的正常-异常判别能力,但不知道"什么是这个域的正常";support 匹配提供域特定的正常参考,但缺乏通用的判别能力。两者应互补。
- 本文要解决什么? 如何同时利用预训练知识和少量正常样本来检测异常?
- 切入角度:设计双路径蒸馏——TSD 从教师学通用判别,SSD 从 support 学域特定模式。
- 核心idea一句话:教师-学生蒸馏学"什么是异常"(通用知识),学生自蒸馏学"什么是正常"(域特定知识)。
方法详解¶
整体框架¶
冻结预训练编码器(教师),可训练学生编码器。Query 图像同时通过教师和学生,TSD 损失让学生学习教师的特征;Support 图像通过学生编码器,SSD 损失让学生产出的 query 特征与 support 特征对齐。推理时看哪些位置学生与教师/support 不一致即为异常。
关键设计¶
- 教师-学生蒸馏(TSD):
- 做什么:让学生模型从预训练教师模型学习通用特征
- 核心思路:最小化学生 query 特征与教师 query 特征的逐位置余弦距离。正常区域的特征容易对齐,异常区域难以对齐——对齐残差即为异常分数。
-
设计动机:预训练编码器的特征空间编码了"自然图像的正常",异常会导致学生无法复现教师的输出。
-
学生自蒸馏(SSD):
- 做什么:让学生的 query 特征与 support(正常参考)特征对齐
- 核心思路:对 K 个 support 图像计算学生特征,最小化 query 和每个 support 特征之间的余弦距离,取均值。正常 query 应与正常 support 相似,异常 query 不相似。
-
设计动机:SSD 提供了域特定的"什么是正常"的信号,单独使用 SSD 就已经很强(90%+ AUROC),说明 support 参考是关键信息。
-
学习权重机制(L2W):
- 做什么:自适应评估每个 support 样本的重要性
- 核心思路:用缩放点积注意力计算 query 对每个 support 的权重 w = softmax(z_query * phi(z_support)^T / sqrt(C)),加权 SSD 损失。
- 设计动机:不同 support 样本对不同 query 的参考价值不同,自适应加权比均匀加权更精准。
损失函数¶
L = lambda * L_TSD + L_SSD_L2W,lambda = 0.1(TSD 权重较低,SSD 主导)。
实验关键数据¶
主实验(AUROC %)¶
| 数据集 | K-shot | InCTRL | MVFA | D24FAD |
|---|---|---|---|---|
| HIS | 2 | 71.8 | 76.4 | 94.2 |
| LAG | 4 | 71.1 | 77.2 | 96.2 |
| APTOS | 2 | 89.5 | 86.1 | 100.0 |
| RSNA | 4 | 81.4 | 87.4 | 97.9 |
| Brain Tumor | 4 | 91.8 | 93.7 | 95.3 |
消融实验¶
| 配置 | HIS (2-shot) | APTOS (2-shot) |
|---|---|---|
| TSD only | 66.1% | 58.2% |
| SSD only | 90.0% | 92.7% |
| SSD + TSD | 94.3% | 100.0% |
| SSD + TSD + L2W | 96.7% | 100.0% |
关键发现¶
- SSD 是核心组件(单独 90%+),TSD 是增强(+4-13%)
- L2W 平均提升 1.91%,峰值 6.81%
- 推理速度 29.2 FPS,比 MVFA 快 2 倍
- WideResNet-50 是最佳骨干,过大模型(Swin-B)反而不好
亮点与洞察¶
- 双蒸馏的互补性:TSD 学通用知识 + SSD 学域特定知识,概念简单但效果出色。lambda=0.1 说明域特定信号比通用信号更重要。
- 在医学影像上表现惊人:APTOS 100% AUROC 只用 2-shot,说明该框架非常适合视觉差异明显的医学异常检测。
局限性 / 可改进方向¶
- 仅支持图像级异常检测,不支持像素级定位
- Support 样本质量直接影响结果,如果 support 中包含异常样本会灾难性失败
- Lambda = 0.1 是固定的,自适应调整可能更好
- 仅在医学影像上验证,工业缺陷检测等其他领域未测试
相关工作与启发¶
- vs MVFA: MVFA 用多视角特征对齐,D24FAD 用双蒸馏,思路不同但效果更好
- vs InCTRL: 基于元学习的少样本异常检测,D24FAD 更简单且性能更强
评分¶
- 新颖性: ⭐⭐⭐⭐ 双蒸馏框架简洁优雅,但各组件并非全新
- 实验充分度: ⭐⭐⭐⭐⭐ 5个医学数据集 + 多 shot 设置 + 骨干消融
- 写作质量: ⭐⭐⭐⭐ 方法描述清晰
- 价值: ⭐⭐⭐⭐⭐ 在医学少样本异常检测上达到惊人性能