异常检测之GAN<初探>
异常检测之GAN<初探>
“知之为知之,不知为不知,是知也”。
异常检测让机器知道“我不知道这件事情”。
最近花了些力气,看异常检测的相关文献,在图像异常检测这里,用GAN做是一个新趋势,对比一下比较新的三个GAN工作的优劣。
AnoGAN
论文链接:https://arxiv.org/pdf/1703.05921.pdf
中心思想让 G(z) 生成的 x’,让 discriminate觉得 x’ 接近于 x,如果x’和x并不相似,则说明是异常点。
网络结构(图源于论文)
优点:
1.将GAN用于异常检测的开创性工作;
2.介绍了将原始数据映射到潜在空间的一中映射方式;
3.定义异常置信分数的方式:生成的图像和原始图像的L1损失(即discriminate loss)。
缺点:
1每输入一张图片进行异常判断时,都需要一定的步数去调参,时间代价大。
2.在训练过程中,没有考虑逆映射的效果;
3.设置的异常检测的置信分数定义的可解释性差。
EGBAD
论文链接:https://arxiv.org/pdf/1802.06222.pdf
网络结构(图源于论文)
相比于,在training的时候就加入了encoder去联合训练,省去了每输入一张新的图片就需要调参的时间代价。
优点:
1.在对抗训练中,Encoder E能够学习到对图像进行编码,相对对于AnoGAN节约了时间开支,速度变快。
缺点:
同AnoGAN
GANomaly
论文链接:https://arxiv.org/pdf/1805.06725.pdf
GANomaly相对于EGBAD,除了Encoder和Decoder,还会把restructure的图片再encode一次,仅仅在正常样本上进行训练。
网络结构(图源于论文)
优点:
1.在对抗训练中,Encoder E能够学习到对图像进行编码,相对对于AnoGAN节约了时间开支,速度变快。
2.使用类似了autoencoder的结构(忽略了噪声先验),使整个训练过程变快;
3.定义的contextual loss可以定位异常,因为contextual loss描述了原图编码和重建图的编码的差异。
缺点:
1.定义了一个新的异常检测的置信分数,但是没有和其他异常置信分数进行比较;
2.结果的置信分数很高,表明原图编码和生成图编码是十分相似的,但是原图和生成图的相似度无法保证。