文章目录

  • 前言
  • 一、DCGAN(算法改进)
  • 二、WGAN / WGAN-GP(算法改进)
  • 三、GANomaly(用于异常检测)
    • 1、GANomaly概括
    • 2、GANomaly框架
    • 3、GANomaly判断异常依据
    • 4、GANomaly优势
  • 总结

前言

  这里主要介绍一些GAN网络的变种网络——DCGAN网络、WGAN / WGAN-GP网络以及用于异常检测的GANomaly网络,其在性能上较GAN网络都有一定的提升。大家一起学习呀~


一、DCGAN(算法改进)

  DCGAN是继GAN之后比较好的改进,其主要的改进主要是在网络结构上,到目前为止,DCGAN的网络结构还是被广泛的使用,DCGAN极大的提升了GAN训练的稳定性以及生成结果质量。

  DCGAN把上述的G和D用了两个卷积神经网络(CNN)。同时对卷积神经网络的结构做了一些改变,以提高样本的质量和收敛的速度,这些改变有:

  • 在D和G中均使用批处理规范化;
  • 去掉全连接层,使网络变为全卷积网络;
  • G网络中使用ReLU作为激活函数,最后一层使用tanh函数;
  • D网络中使用LeakyReLU作为激活函数;
  • 取消所有池化层。G网络中使用转置卷积(transposed convolutional layer)进行上采样,D网络中用加入stride的卷积代替池化层。

文章链接:Unsupervised Representation Learning with Deep Convolutional Generative Adversarial Networks

二、WGAN / WGAN-GP(算法改进)

  GAN 的训练问题一直被诟病,很容易出现训练不收敛和模式崩塌的现象。WGAN主要从损失函数的角度对GAN做了改进,从理论层面分析了原始的 GAN 使用 JS 散度存在的缺陷,并提出了可以使用 Wasserstein 距离来解决这个问题。在 WGAN-GP中,作者提出了通过添加梯度惩罚项,从工程层面很好的实现了 WGAN 算法,并且实验性证实了 WGAN 训练稳定的优点。具体的来说,WGAN对GAN的改进有:

  • 判别器最后一层去掉sigmoid 生成器和判别器的loss不取log;
  • 对更新后的权重强制截断到一定范围内,以满足论文中提到的lipschitz连续性条件;
  • 论文中也推荐使用SGD, RMSprop等优化器,不要基于使用动量的优化算法,比如adam。

文章链接:Wasserstein GAN

  WGAN虽然理论上有极大贡献,但在实验中却发现依然存在着训练困难、收敛速度慢的问题,这个时候有人提出了WGAN-GP,它的贡献是:

  • 提出了一种新的lipschitz连续性限制手法—梯度惩罚,解决了训练梯度消失梯度爆炸的问题;
  • 比标准WGAN拥有更快的收敛速度,并能生成更高质量的样本;
  • 提供稳定的GAN训练方式,几乎不需要怎么调参,成功训练多种针对图片生成和语言模型的GAN架构;

文章链接:Improved Training of Wasserstein GANs

三、GANomaly(用于异常检测)

1、GANomaly概括

  随着 GAN 的提出,对抗的思想越来越引人注意,利用 GAN 做异常检测的文章在实验上有了一定的突破,从 AnoGAN学习到正常样本的分布,一旦送入异常样本数据发生改变从而检测出异常,这种方法的局限性很强,往往也会带来计算成本的昂贵(需要严格的控制先验分布 z)。在此基础上,为了找到更好用作生成的先验分布 z,在 AnoGAN 的基础上提出了 Efficient-GAN-Anomaly同样由于做个一次重新映射导致计算成本上也是庞大的。

  GANomaly 算是在前两篇文章的基础上做了一次突破,不再比较图像(同理可以应用在其他方面)分布了,而是转眼到图像编码的潜在空间下进行对比。对于正常的数据,编码解码再编码得到的潜在空间和第一次编码得到的潜在空间差距不会特别大。但是,在正常样本训练下的 AE 用作从未见过的异常样本编码解码时,再经历两次编码过程下往往潜在空间差距是大的。

  当两次编码得到的潜在空间差距大于一定阈值的时候,我们就判定样本是异常样本,这就是 GANomaly 的思路。

2、GANomaly框架

  如下图所示是GANomaly网络的模型,整体框架由三部分组成(其内部结构使用了DCGAN的结构):


  GE(x)G_E(x)GE​(x)、GD(z)G_D(z)GD​(z) 统称为生成网络,可以看成是第一部分。这一部分由编码器 GE(x)G_E(x)GE​(x) 和解码器GD(z)G_D(z)GD​(z)构成,对于送入数据 xxx 经过编码器GE(x)G_E(x)GE​(x)得到潜在向量 zzz,zzz 经过解码器GD(z)G_D(z)GD​(z) 得到 xxx 的重构数据x^x̂x^。

  模型的第二部分就是判别器DDD,对于原始图像 xxx 判为真,重构图像 x^x̂x^ 判为假,从而不断优化重构图像与原始图像的差距,理想情况下重构图像与原始图像无异**(GAN网络的博弈过程)**。

  模型的第三部分是对重构图像 x^x̂x^ 再做编码的编码器 E(x^)E(x̂)E(x^) 得到重构图像编码的潜在变量 z^ẑz^。

  如果将模型看成两部分,则第一行的编码器GE(x)G_E(x)GE​(x)、解码器GD(z)G_D(z)GD​(z) 、编码器E(x^)E(x̂)E(x^)可以看做GAN网络的生成网络,而下面的DDD则可以看做GAN网络的判别器,因此整体上呈现出博弈过程。

3、GANomaly判断异常依据

  对于正常的数据,编码解码再编码得到的潜在空间和第一次编码得到的潜在空间差距不会特别大。但是,在正常样本训练下的 AE(自编码器) 用作从未见过的异常样本编码解码时,再经历两次编码过程下往往潜在空间差距是大的。

4、GANomaly优势

  • 半监督异常检测:编码器-解码器-编码器流水线内的新型对抗自动编码器,捕获图像和潜在向量空间内的训练数据分布
  • 引入了生成对抗网络(GAN)中的对抗训练思想,实现在毫无异常样本训练下对异常样本做检测
  • 学习“原图->重建图”和“原图的编码->重建图的编码”两个映射关系,当两次编码得到的潜在空间差距大于一定阈值的时候,就判定样本是异常样本
  • 功效:一种有效且新颖的异常检测方法,可在统计和计算上提供更好的性能。

损失函数、模型测试和实验结果等部分这里就不多加讲解了,大家想了解的可以去参考网站自行查阅~

文章链接: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复现总结

异常检测 and GAN网络(2)相关推荐

  1. 异常检测 and GAN网络(1)

    文章目录 前言 一.什么是GAN网络? 二.GAN网络的优缺点 总结 前言   这一节主要介绍什么是GAN网络,边学习边记录,总结了一些我认为比较重要的知识点,有不对的地方欢迎大家指正~ 一.什么是G ...

  2. 使用GAN进行异常检测——可以进行网络流量的自学习哇,哥哥,人家是半监督,无监督的话,还是要VAE,SAE。...

    实验了效果,下面的还是图像的异常检测居多. https://github.com/LeeDoYup/AnoGAN https://github.com/tkwoo/anogan-keras 看了下,本 ...

  3. 异常检测 | 基于Siamese网络学习距离函数来定位视频中的异常

    关于<Learning a distance function with a Siamese network to localize anomalies in videos>论文学习 这篇 ...

  4. 【轩说AI】基于GAN模型的异常检测

    文章目录 基于GAN模型的异常检测 AnoGAN 基本思想 工作流程 在迭代z时的损失函数 问题 Conditional GAN 简单回顾. Info GAN 基本思想 网络结构 实验结果 VAE-G ...

  5. 【论文分享】MAD-GAN :基于生成对抗网络的时间序列数据多元异常检测

    2019年ICANN文章 MAD-GAN: Multivariate Anomaly Detection for Time Series Data with Generative Adversaria ...

  6. 网络流量异常检测综述

    摘 要 随着网络攻击的复杂化.自动化.智能化水平的不断提高,网络中不断涌现出新的攻击类型,这些未曾见过的新攻击给基于特征码的网络攻击检测和响应带来了极大挑战.网络流量异常检测通过对网络流量进行分析,可 ...

  7. 半监督异常检测(Anomaly Detection)的研究线

    半监督异常检测(Anomaly Detection)的研究线 在假设数据集中大多数实例都是正常的前提下,半监督异常检测方法根据一个给定的正常训练数据集创建一个表示正常行为的模型,然后检测由学习模型生成 ...

  8. 最新研究总结:工业图像异常检测

    点击上方"机器学习与生成对抗网络",关注"星标" 获取有趣.好玩的前沿干货! 异常检测,GAN如何gan ? 作者丨小小理工男@知乎 来源丨https://zh ...

  9. python进行异常检测工具_异常检测以及开源工具简介

    图1 异常检测 什么是异常点 异常点是指其值与其他值存在显著不同的数据点.以时间序列为例,时间序列中的异常点,其时间超过了该序列的正常范围,而不考虑数据点之间的时间关系.换句话说,即使将所有数据点都视 ...

  10. AIOps中异常检测的简单应用

    女主宣言 异常检测是AIOps领域中最为常见也是十分重要的一个问题,它将直接影响到报警产生以及后续所有自愈动作的开展.异常检测作为运维领域的通用场景,已经存在很多的方法模型可以使用.但是各个方法之间的 ...

最新文章

  1. 图解半监督学习FixMatch,只用10张标注图片训练CIFAR10
  2. 通过BCS对象模型使用筛选器
  3. oracle去重等基础问题
  4. 145.单工、半单工、双工
  5. 如何做一个新产品的第一个版本:关于MVP和上线时间的权衡
  6. 并发insert情况下会发生重复的数据插入问题
  7. 设计师要懂布局(一)
  8. java 7.函数-递归_带有谓词的Java中的函数样式-第1部分
  9. JQuery Datatables 样式Style
  10. 读取配置文件中的内容演练 20210412_221336.mp4
  11. 数据竞赛入门-金融风控(贷款违约预测)三、特征工程
  12. android.graphics包中的一些类的使用
  13. [Swift]LeetCode264.丑数 II | Ugly Number II
  14. DICOMRT-DiBugs:dicomParser解析无头DICOM与cornerstone显示RGB-DICOM错误
  15. 去除加粗的css,css如何取消加粗
  16. 专访许鹏:谈C程序员修养及大型项目源码阅读与学习
  17. 计算机网络技术专业毕业论文参考选题,计算机网络技术专业毕业论文参考选题...
  18. 一起学习正则表达式(五)断言匹配
  19. 网易163邮箱相关服务
  20. JAVA基础学习博客007

热门文章

  1. matlab plot 折线变曲线
  2. (大数据方向)分布式实验七:HBase数据库搭建以及常用命令
  3. 什么是MIME类型?
  4. 单片机定时器TMOD与TCON
  5. 51单片机---IE寄存器,TCON寄存器,TMOD寄存器
  6. java定时统计_java 定时任务每日晚上凌晨执行数据统计
  7. 系统建模与仿真项目驱动设计报告-基于MATLAB的GUI界面设计
  8. Java实现 LeetCode 289 生命游戏
  9. CMSIS Driver
  10. 仓库管理(WMS)系统及其组成