论文地址
代码地址
动机
论文针对传统的知识蒸馏的方案提出了一个问题:认为之前的(基于像素点的重建)方案[1,2]容易阻碍异常表现的多样性
- 传统的知识蒸馏teacher和student的网络架构很相似或者几乎相同
- 而且teacher和student的输入流都是一样的
T和S网络相似,尽管T是预训练好的,有一定的泛化能力,而S只是模仿了T学到了重建正常样本的能力,但是不排除S学的非常好,有了和T很接近的能力,导致在推理阶段输入异常样本,S网络也是有很大的可能重建的和T很接近,那么最后的Loss也会比较小,这样对异常检测不利。
从另一个角度讲,原有的方案是基本基于像素点的重建,使用图片直接输入的方式进行重建,知识蒸馏中的student网络都要比teacher小,小网络的重建性能是需要得到质疑的,如果重建能力不是那么好,不管正常还是异常都会产生问题。
概要
本文是基于(特征)重建的缺陷检测方案,提出了一种由教师编码器和学生译码器(encoder-decoder)组成的反向蒸馏范式。在这种方法中,学生模型通过重新建模恢复教师模型的多尺度表征,而非直接处理原始图像,从抽象的高层特征中提炼知识。此外,文章引入了可训练的单类瓶颈嵌入模块,该模块能够有效保留正常模式信息,并抑制异常扰动。在训练期间,“学生”网络学习通过最小化相似性损失L来模仿“教师”的行为。
工作流程
在训练时,冻结教师网络并训练学生网络,让学生学习到正常样本特征,并让学生与教师网络在各层特征输出上趋于相似。
在推理时,检测到异常样本时候,学生网络与教师网络差异较大,从而检测出输入信息中的缺陷。
如图为异常检测和定位的反向蒸馏框架概述。(a)模型由预先训练的教师编码器E、可训练的一类瓶颈嵌入模块(OCBE)和学生解码器D组成。使用多尺度特征融合(MFF)块来集成来自E的低级和高级特征,并通过一类嵌入(OCE)块将它们映射到紧凑代码上。在训练期间,学生D学习通过最小化相似性损失L来模仿E的行为。(b)在推理过程中,E真实地提取特征,而D输出无异常的特征。E和D对应位置处的特征载体之间的低相似性意味着异常。(c)最终的预测是通过多尺度相似性图M的累积来计算的。
One-Class Bottleneck Embedding (OCBE)
单类瓶颈嵌入模块 (One-Class Bottleneck Embedding, OCBE) 用于增强无监督异常检测(AD)系统中的一类样本表征,并有效地压缩特征空间。这个模块是专门为提高反向蒸馏知识转移效率而设计的,其目的是在保留尽可能多的正常样本信息的同时,减少异常样本的影响。
若直接使用Encoder最后一层特征(原始bottleneck),有两个缺点:
1、维度太高,包含大量冗余信息;
2、最后一层特征包含高级特征(语义等),难以直接送入Decoder进行还原低级特征
为了克服以上缺点,提出了可训练的One-Class Bottleneck Embedding(OCBE)来降维并融合多level的特征,包含MFF和OCE
【1】 Mohammadreza Salehi, Niousha Sadjadi, Soroosh Baselizadeh, Mohammad H. Rohban, and Hamid R.Rabiee. Multiresolution knowledge distillation for anomaly detection. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), pages 14902–14912, June 2021.
【2】 Guodong Wang, Shumin Han, Errui Ding, and Di Huang.Student-teacher feature pyramid matching for anomaly detection, 2021.