GAN异常检测



有一些关于GAN的训练,我不明白。我正在制作异常检测GAN。首先,我按照本指南创建了一个DCGAN(并了解了它是如何工作的),然后进入异常检测的内容。

我理解GANs的两个训练阶段是如何工作的,经过近2000个epoch,生成器生成了一些很好的假图像。问题是鉴别器不能很好地检测异常:如果我试图输入一个真实的图像,它产生的值在0.5到1之间,无论图像是否有异常。

所以基本上,鉴别器可以很好地区分真实图像和假图像,但不能很好地区分有异常的真实图像。

我试着多训练模型一些,但结果不会改变(相反,它似乎比以前更糟糕!)。这两个损失一直在0和1附近变化,例如,现在模型有:

gen_loss: 0.97844017, disc_loss: 0.9973822

我该如何改进我的网络并进行异常检测?它需要更多的训练,以使一个更好的鉴别器或进行异常检测,我应该添加更多的东西吗?

谢谢你的建议,我肯定是做错了什么。如果需要,我可以张贴一些代码和关于我的网络的更多信息。

注:我的笔记本与我之前链接的笔记本非常相似,唯一的区别是我试图在训练后将测试图像馈送到鉴别器。

有一篇有趣的论文:基于高效gan的异常检测。
为了评估异常检测,他们使用以下实验设置

MNIST:我们从MNIST中先后生成了10个不同的数据集将每个数字类视为异常,并处理其余9个数字作为正常的例子。训练集由80%的正常数据组成测试集由剩余20%的正常数据和所有数据组成异常数据。所有模型仅使用正常数据和使用正常和异常数据进行测试。

最新更新