191、YOLOv11 知识蒸馏实战二:通道蒸馏与特征蒸馏的组合策略与损失权重设计
从一次诡异的mAP下降说起
上个月调一个YOLOv11n蒸馏到YOLOv11s的项目,教师模型mAP 52.3,学生裸训48.1,按理说蒸馏怎么也能拉到50以上。结果跑了三天,学生蒸馏后mAP掉到46.7,比裸训还低。排查了数据加载、学习率、蒸馏温度,最后发现是特征蒸馏的损失权重设成了0.5,通道蒸馏权重0.1——这个组合在CIFAR-100上表现不错,但换到COCO直接翻车。
后来把通道蒸馏权重提到0.3,特征蒸馏降到0.2,mAP回升到50.8。这个教训让我意识到:蒸馏不是简单地把损失加起来,通道蒸馏和特征蒸馏的权重配比,以及它们与原始检测损失的交互,才是真正的调参艺术。
通道蒸馏与特征蒸馏的本质差异
先理清这两个东西到底在干什么。
通道蒸馏(Channel-wise Distillation)关注的是特征图每个通道的响应分布。教师模型某个通道激活强,学生对应通道也应该激活强。实现上通常用KL散度或MSE去对齐通道维度的统计量。它的好处是计算量小,对空间位置不敏感,适合对齐高层语义信息。
特征蒸馏(Feature Distillation)更精细,它对齐的是每个空间位置的特征向量。常用的有FitNets的逐像素MSE,或者用注意力图做引导。缺点是计算量大,而且对空间对齐要求高——如果教师和学生的感受野不一致,强行对齐反而有害。
关键区别:通道蒸馏是“全局统计对