Skip to main content
QUICK REVIEW

[论文解读] P-KDGAN: Progressive Knowledge Distillation with GANs for One-class Novelty Detection

Zhiwei Zhang, Shifeng Chen|arXiv (Cornell University)|Jul 14, 2020
Anomaly Detection Techniques and Applications参考文献 25被引用 5
一句话总结

该论文提出 P-KDGAN,一种渐进式知识蒸馏框架,将大型预训练教师 GAN 的知识迁移至紧凑的学生 GAN,用于单类异常检测。通过在中间特征上使用新颖的蒸馏损失,并采用两步训练流程——首先固定权重的知识迁移,然后联合微调——该方法在将模型大小和 FLOPs 压缩高达 700 倍的同时,仅在 FMNIST 上造成 0.18% 的 AUC 下降,实现了最先进性能。

ABSTRACT

One-class novelty detection is to identify anomalous instances that do not conform to the expected normal instances. In this paper, the Generative Adversarial Networks (GANs) based on encoder-decoder-encoder pipeline are used for detection and achieve state-of-the-art performance. However, deep neural networks are too over-parameterized to deploy on resource-limited devices. Therefore, Progressive Knowledge Distillation with GANs (PKDGAN) is proposed to learn compact and fast novelty detection networks. The P-KDGAN is a novel attempt to connect two standard GANs by the designed distillation loss for transferring knowledge from the teacher to the student. The progressive learning of knowledge distillation is a two-step approach that continuously improves the performance of the student GAN and achieves better performance than single step methods. In the first step, the student GAN learns the basic knowledge totally from the teacher via guiding of the pretrained teacher GAN with fixed weights. In the second step, joint fine-training is adopted for the knowledgeable teacher and student GANs to further improve the performance and stability. The experimental results on CIFAR-10, MNIST, and FMNIST show that our method improves the performance of the student GAN by 2.44%, 1.77%, and 1.73% when compressing the computation at ratios of 24.45:1, 311.11:1, and 700:1, respectively.

研究动机与目标

  • 解决在资源受限设备上部署大型过参数化 GAN 用于单类异常检测的挑战。
  • 克服学生网络随机初始化带来的局限性,该局限性会阻碍教师 GAN 的有效知识迁移。
  • 提出一种新颖的蒸馏损失,用于度量教师 GAN 与学生 GAN 之间中间表征(潜在码与重建图像)的相似性。
  • 设计一种两步渐进式训练策略,以稳定学习过程并提升学生网络性能,超越单步蒸馏方法。
  • 在显著降低计算与参数成本的前提下,实现高检测精度,以支持实际部署。

提出的方法

  • 提出蒸馏损失 $K_l = w_1K_1 + w_xK_x + w_2K_2$,用于比较中间特征:$K_1$ 与 $K_2$ 分别度量潜在向量 $z_1, z_2$ 与 $\hat{z}_1, \hat{z}_2$ 的差异,而 $K_x$ 比较重建图像 $\hat{x}$ 与 $\widetilde{x}$。
  • 引入四种不同的蒸馏结构(KDGAN-1 至 KDGAN-4),其区别在于教师权重是否冻结,以及蒸馏损失是否与学生 GAN 的生成器和判别器损失结合。
  • 实施两步渐进式训练流程:首先,使用蒸馏损失以固定教师权重训练学生 GAN;其次,联合微调教师与学生网络。
  • 为教师与学生均采用标准的编码器-解码器-编码器 GAN 架构,损失包括重建损失 ($S_{con}$)、潜在空间一致性损失 ($S_{enc}$) 以及对抗训练损失 ($S_{adv}$)。
  • 将蒸馏损失与标准 GAN 损失($L_g^S, L_d^S$ 用于学生,$L_g^T, L_d^T$ 用于教师)结合,以引导学生学习。
  • 通过手动调参优化超参数 $w_{con}, w_{enc}, w_{adv}$ 与 $w_1, w_x, w_2$,设定为 10, 1, 1 和 1,以实现稳定训练。

实验结果

研究问题

  • RQ1基于中间表征(潜在码与重建图像)的蒸馏损失能否有效实现教师 GAN 到学生 GAN 在单类异常检测中的知识迁移?
  • RQ2两步渐进式训练策略——先以固定教师权重进行知识迁移,再联合微调——是否相比单步蒸馏能提升学生性能与训练稳定性?
  • RQ3在使用所提出的蒸馏框架时,从随机初始化训练的学生 GAN 能否实现与教师 GAN 相当的性能?
  • RQ4所提出的 P-KDGAN 方法在保持基准数据集高检测精度的前提下,能在多大程度上压缩模型大小与 FLOPs?
  • RQ5在 CIFAR-10、MNIST 与 FMNIST 上,通过 P-KDGAN 训练的学生 GAN 在 AUC 指标上与最先进方法相比表现如何?

主要发现

  • P-KDGAN-II-2-3 在所有数据集上表现最佳,在 MNIST 和 FMNIST 上优于最佳单步蒸馏方法(KDGAN-3),在 CIFAR-10 上优于 KDGAN-4。
  • 通过 P-KDGAN 训练的学生 GAN 在 CIFAR-10 上达到 AUC 0.7305,相比基线学生 GAN 提升 2.44%,FLOPs 减少 24.45 倍。
  • 在 MNIST 上,P-KDGAN 将学生 AUC 提升 1.77%(达 0.9725),同时 FLOPs 压缩 311.11 倍,参数量减少 52.22 倍。
  • 在 FMNIST 上,P-KDGAN 实现 1.73% 的 AUC 提升(达 0.9293),FLOPs 压缩 700 倍,参数量减少 105.45 倍。
  • 在 FMNIST 上,通过 P-KDGAN 训练的最终学生模型 AUC 仅比教师低 0.18%,表明在极端压缩下性能损失极小。
  • 训练曲线显示,P-KDGAN 降低了训练冲击,使学生网络在部分数据集上 AUC 超过教师,证实了渐进式学习的有效性。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。