【CVPR2019 oral】Structured Knowledge Distillation for Semantic Segmentation
KD
知识蒸馏是什么?可以参考https://zhuanlan.zhihu.com/p/90049906,知识蒸馏是一种将知识从繁琐的模型转移到紧凑模型从而提高紧凑网络性能的方法。 它将繁琐的模型产生的类概率用作训练紧凑模型或传递中间特征图的软目标,从而应用于图像分类。
Intro
语义分割模型:
- FCN
- DeConvNet
- U-Net
- DeepLab : atrous spatial pyramid pooling(ASPP)
- PSPNet : dilated convolutions, pyramid pooling modules
- OCNet
- RefineNet
- DenseASPP
轻量型语义分割模型:
- ENet
- ESPNet
- ERFNet
- ICNet
出发点:知识蒸馏在分类任务中很成功,而语义分割是对每个像素的分类,所以结合一下。将原始繁琐的网络称为teacher,将生成的紧凑型的网络称为student,将每一个像素的类别可能性从teacher转移到student。
具体做法:
- 提出
结构化知识蒸馏
- 通过
成对蒸馏
和整体蒸馏
来传输结构信息
成对蒸馏: 受pair-wise马尔可夫随机场启发,目的是为了对齐teacher和student生成的像素之间的相似性。
整体蒸馏:目的是为了保证teacher和student生成的分割图之间的高阶一致性(??)。并采用GAN的训练方式,使两者生成的分割图不易被区分。
GAN:生成对抗网络(GAN)已在文本生成和图像合成中得到广泛研究。 conditional version已成功应用于图像到图像的翻译,包括样式转换,图像修复,图像着色和文本到图像。用GAN来做语义分割的话,目的也是为了让生成器的结果和ground truth没法被判别器区分出来,而生成器的结果是连续的,是0到1之间的值,而ground truth的值是离散的,这限制了判别器的发挥。
Approach
Structured Knowledge Distillation
如下图所示,(a)代表的是Pair-wise distillation,(b)代表的是Pixel-wise distillation,© 代表的是Holistic distillation。在训练阶段,将teacher网络固定,优化student网络和判别器网络。
-
Pixel-wise distillation
q i s q_i^s