这里主要介绍一些GAN网络的变种网络——DCGAN网络、WGAN / WGAN-GP网络以及用于异常检测的GANomaly网络,其在性能上较GAN网络都有一定的提升。大家一起学习呀~
DCGAN是继GAN之后比较好的改进,其主要的改进主要是在网络结构上,到目前为止,DCGAN的网络结构还是被广泛的使用,DCGAN极大的提升了GAN训练的稳定性以及生成结果质量。
DCGAN把上述的G和D用了两个卷积神经网络(CNN)。同时对卷积神经网络的结构做了一些改变,以提高样本的质量和收敛的速度,这些改变有:
文章链接:Unsupervised Representation Learning with Deep Convolutional Generative Adversarial Networks
GAN 的训练问题一直被诟病,很容易出现训练不收敛和模式崩塌的现象。WGAN主要从损失函数的角度对GAN做了改进,从理论层面分析了原始的 GAN 使用 JS 散度存在的缺陷,并提出了可以使用 Wasserstein 距离来解决这个问题。在 WGAN-GP中,作者提出了通过添加梯度惩罚项,从工程层面很好的实现了 WGAN 算法,并且实验性证实了 WGAN 训练稳定的优点。具体的来说,WGAN对GAN的改进有:
文章链接:Wasserstein GAN
WGAN虽然理论上有极大贡献,但在实验中却发现依然存在着训练困难、收敛速度慢的问题,这个时候有人提出了WGAN-GP,它的贡献是:
文章链接:Improved Training of Wasserstein GANs
随着 GAN 的提出,对抗的思想越来越引人注意,利用 GAN 做异常检测的文章在实验上有了一定的突破,从 AnoGAN学习到正常样本的分布,一旦送入异常样本数据发生改变从而检测出异常,这种方法的局限性很强,往往也会带来计算成本的昂贵(需要严格的控制先验分布 z)。在此基础上,为了找到更好用作生成的先验分布 z,在 AnoGAN 的基础上提出了 Efficient-GAN-Anomaly同样由于做个一次重新映射导致计算成本上也是庞大的。
GANomaly 算是在前两篇文章的基础上做了一次突破,不再比较图像(同理可以应用在其他方面)分布了,而是转眼到图像编码的潜在空间下进行对比。对于正常的数据,编码解码再编码得到的潜在空间和第一次编码得到的潜在空间差距不会特别大。但是,在正常样本训练下的 AE 用作从未见过的异常样本编码解码时,再经历两次编码过程下往往潜在空间差距是大的。
当两次编码得到的潜在空间差距大于一定阈值的时候,我们就判定样本是异常样本,这就是 GANomaly 的思路。
如下图所示是GANomaly网络的模型,整体框架由三部分组成(其内部结构使用了DCGAN的结构):
G E ( x ) G_E(x) GE(x)、 G D ( z ) G_D(z) GD(z) 统称为生成网络,可以看成是第一部分。这一部分由编码器 G E ( x ) G_E(x) GE(x) 和解码器 G D ( z ) G_D(z) GD(z)构成,对于送入数据 x x x 经过编码器 G E ( x ) G_E(x) GE(x)得到潜在向量 z z z, z z z 经过解码器 G D ( z ) G_D(z) GD(z) 得到 x x x 的重构数据 x ^ x̂ x^。
模型的第二部分就是判别器 D D D,对于原始图像 x x x 判为真,重构图像 x ^ x̂ x^ 判为假,从而不断优化重构图像与原始图像的差距,理想情况下重构图像与原始图像无异(GAN网络的博弈过程)。
模型的第三部分是对重构图像 x ^ x̂ x^ 再做编码的编码器 E ( x ^ ) E(x̂) E(x^) 得到重构图像编码的潜在变量 z ^ ẑ z^。
如果将模型看成两部分,则第一行的编码器 G E ( x ) G_E(x) GE(x)、解码器 G D ( z ) G_D(z) GD(z) 、编码器 E ( x ^ ) E(x̂) E(x^)可以看做GAN网络的生成网络,而下面的 D D D则可以看做GAN网络的判别器,因此整体上呈现出博弈过程。
对于正常的数据,编码解码再编码得到的潜在空间和第一次编码得到的潜在空间差距不会特别大。但是,在正常样本训练下的 AE(自编码器) 用作从未见过的异常样本编码解码时,再经历两次编码过程下往往潜在空间差距是大的。
损失函数、模型测试和实验结果等部分这里就不多加讲解了,大家想了解的可以去参考网站自行查阅~
文章链接:GANomaly: Semi-Supervised Anomaly Detection via Adversarial Training
GAN网络的变种参考网站如下,其中还讲述了Conditional GAN网络、InfoGAN网络、CycleGAN网络、Self-Attention GAN和BigGAN:
生成对抗网络(GAN)
GAN变种介绍 - DCGAN、InfoGAN、CycleGAN、WGAN、Self-Attention GAN、BigGAN
GANomaly网络的介绍参考以下网站:
杜伦大学提出GANomaly:无需负例样本实现异常检测
【论文】Skip-GANomaly: Skip Connected and Adversarially Trained Encoder-Decoder Anomaly Detection
GANomaly复现总结