MAD-GAN: Multivariate Anomaly Detection for Time Series Data with Generative Adversarial Networks

MAD-GAN: Multivariate Anomaly Detection for Time Series Data with Generative Adversarial Networks

文章目录

  • MAD-GAN: Multivariate Anomaly Detection for Time Series Data with Generative Adversarial Networks
  • 一、引言
    • 1.背景
    • 2.论文贡献
  • 二、论文模型
    • 2.实验结果
  • 总结

一、引言

1.背景

在许多现实世界的系统中,如智能建筑、工厂、发电厂和数据中心,网络化传感器和执行器的普及为这些系统产生了大量的多元时间序列数据。丰富的传感器数据可以通过异常检测持续监控入侵事件。然而,由于这些系统的动态复杂性,传统的基于阈值的异常检测方法是不充分的,而监督机器学习方法由于缺乏标记数据而不能利用大量的数据。另一方面,当前的无监督机器学习方法没有充分利用系统中多个变量(传感器/致动器)之间的时空相关性和其他依赖性来检测异常。当前的大多数技术还采用了当前状态和预测的正常范围之间的简单比较来进行异常检测,考虑到系统的高度动态行为,这可能是不够的。本文在探索之后得到了一种基于GAN的异常检测方法。
关于背景,说白了就是,现在的数据异常,一般的无监督方法(PCA、KNN、FB)都有缺陷,不好处理,只有我这个方法利用GAN基于深度学习的方法可以克服这些缺点,实现非常好的数据异常检测。

2.论文贡献

(1)提出了基于生成对抗网络(GAN)的多变量时间序列异常检测模型。
(2)将LSTM-RNN作为GAN生成器和判别器的基本模型,以此来捕捉时间序列上的依赖关系
(3)同时利用 GAN 的生成器和判别器来检测异常,利用判别器得到判别损失,利用生成器得到重建的损失。

二、论文模型

MAD-GAN: Multivariate Anomaly Detection for Time Series Data with Generative Adversarial Networks_第1张图片
1、异常检测(左边部分)
①训练集:使用滑动窗口将训练集进行切分(这句话说的不严谨)然后输入判别器。本篇文章的前提就是假设训练判别器的数据完全正常,不含任何异常数据。
②隐藏空间(Random Latent Space)作为生成器的输入。我查了一些关于Random Latent Space的资料,了解到Random Latent Space可以将真实数据的一些异常消除,虽然在真实数据在生成Random Latent Space的过程中对数据的完整性会造成一定的损失,但是通过生成器的生成,并不会重构异常。
③将生成器和判别器进行对抗训练,
③将整个GAN模型训练好之后进行保存,为后续的异常检测做准备
2、异常检测(右边部分)
①重构损失:生成器生成的伪数据(此时生成的伪数据已经可以认为是真数据)与真实数据进行比较得到重构损失 (Reconstruction Loss)
②判别损失:用训练好的判别器(此时已经可以完全判别真实数据和异常数据)对测试数据进行判别得到判别损失(Discrimination Loss)
③DR评分:Reconstruction Loss+Discrimination Loss进行异常值的判别。评测指标:召回率+精确度+均衡分数F1

2.实验结果

MAD-GAN: Multivariate Anomaly Detection for Time Series Data with Generative Adversarial Networks_第2张图片

总结

我是小白,第一次让我了解到用GAN也能进行异常值监测,也让我了解到了Random Latent Space的作用。但是我对Random Latent Space的理解咳不够透彻。关于这个问题,以后有时间在看一下。

写在最终的话:我认为本篇论文的创新点在于将GAN架构运用到异常检测方面

##如有不同见解,还请不吝赐教##

论文链接:https://arxiv.org/pdf/1901.04997.pdf
论文代码:https://github.com/LiDan456/MAD-GANs

你可能感兴趣的:(机器学习,论文阅读,机器学习,python,深度学习,神经网络)