本文提出了一种由教师编码器和学生解码器组成的新颖T-S模型:“逆向蒸馏”(Reverse Distillation)。与之前的知识蒸馏模型不同,学生网络不是直接接收原始图像,而是将教师模型的单类嵌入(One Class Embedding)作为输入,并旨在恢复教师的多尺度表示。
一句话总结,提出reverse distillation,将编解码思想与知识蒸馏结合。
基于KD的方法假设学生在训练期间只处理正常样本,所以当查询是异常时,它可能会生成与教师不同的表示。
论文指出,由于(1)师生网络具有相似的或相同的架构(即非区分滤波器)和(2)T-S模型在知识传输/蒸馏期间具有相同的数据流,假设并非总是成立。
反向蒸馏由异构体系结构组成:一个教师编码器和一个学生解码器。其次,学生解码器不直接将原始数据同时提供给T-S模型
这种设计有两个主要优点:
i)非相似结构。可以将教师编码器视为下采样滤波器,将学生解码器视为上采样滤波器。 “反向结构”避免了无法区分的滤波器引起的混淆。ii)紧凑嵌入。馈送到学生解码器的低维嵌入作为正常模式恢复的信息瓶颈层(bottleneck)。异常特征可以看作是正常模式上的扰动。紧凑的嵌入有助于防止这种不寻常的扰动传播到学生模型,并因此提高了T-S模型在异常上的表示差异。
网络由一个固定的预训练教师编码器E,一个可训练的一类瓶颈嵌入模块和一个学生解码器D组成:
教师E提取多尺度表示。训练学生D从瓶颈嵌入(bottleneck embedding)中恢复特征。在测试中,教师E提取的表示可以捕获异常特征。然而,学生解码器D无法从相应的嵌入中重构这些异常特征。学生和教师表示的相似性低则表明高异常分数。
学生解码器与教师编码器相比是对称但相反的。相反有助于消除学生网络对于异常的响应,对称使得它与教师网络维度相同。
M k ( h , w ) = 1 − ( f E k ( h , w ) ) T ⋅ f D k ( h , w ) ∥ f E k ( h , w ) ∥ ∥ f D k ( h , w ) ∥ M^k(h,w)=1-\frac{(f_E^k(h,w))^T\cdot f_D^k(h,w)}{\left\|f_E^k(h,w)\right\|\left\|f_D^k(h,w)\right\|} Mk(h,w)=1− fEk(h,w) fDk(h,w) (fEk(h,w))T⋅fDk(h,w)
异常图 M k ( h , w ) M^k(h,w) Mk(h,w) 由上式得到,其中 f E k ( h , w ) f_E^k(h,w) fEk(h,w) 和 f D k ( h , w ) f_D^k(h,w) fDk(h,w) 分别代表encoder和decoder的第 k k k 层。
损失函数
L K D = ∑ k = 1 K { 1 H k W k ∑ h = 1 H k ∑ w = 1 W k M k ( h , w ) } \mathcal{L}_{\mathcal{KD}}=\sum_{k=1}^K\left\{\frac{1}{H_kW_k}\sum_{h=1}^{H_k}\sum_{w=1}^{W_k}M^k(h,w)\right\} LKD=k=1∑K{HkWk1h=1∑Hkw=1∑WkMk(h,w)}
KD中的教师模型最后一层如果直接输入给学生网络,那么其中具有高自由度和冗余的特征不利于学生只学习正常特征。其次,最后一层富含语义信息,直接馈送给学生网络不利于低级别特征的重建。
单类瓶颈嵌入(OCBE)模块用于进一步压缩特征空间。OCBE模块包括一个多尺度特征融合(MFF)块(用于聚合特征)和一个单类嵌入(OCE)块(用于保留关键信息)。OCBE模块将多尺度模式进一步压缩到极低维空间,以进行下游正常表示重建。
首先通过3×3的卷积层来下采样浅层特征,然后进行BN和ReLU激活。然后再接1×1卷积、BN和ReLU。
MVTec:AUROC:98.5
pixel AUROC:97.8;PRO:93.9