KDD 2020年的paper,被引141次
-
论文:UnSupervised Anomaly Detection on Multivariate Time Series
-
代码:https://github.com/manigalati/usad
引言
为了解决Orange公司的IT系统自动监测异常行为所需传感器过多导致的基于专家的监督方法变慢或容易出错的问题,作者提出了一种基于自编码器AE的多元时间序列的无监督异常检测,且创新点在于受到了GANs的启发,因为作者认为基于编码-解码架构的对抗训练允许去学习“怎样去放大重建误差(在输入包含异常时)”。
论文的主要贡献可以总结如下:
- 提出了一种基于多元时间序列的无监督异常检测方法,其中对抗训练是“外壳”,里面包含的是两个自编码器的架构,以此结合了AE和GAN的双重优点,同时互相弥补了缺点,最终获得了一个性能与当前SOTA相当、同时支持快速和节能训练的异常检测的方法。具体来说:
(1)单纯的AE训练目的只是在执行最好的重构,无法检测到接近正常数据的异常;而带有对抗训练时的USAD引入了放大重建误差效应,弥补了这一缺陷。
(2)单纯的对抗训练容易产生模式崩溃和不收敛问题,而经过AE的训练之后的对抗训练可以有一个有利的初始权重,就有利于对抗训练的稳定和快速收敛。
(3)USAD:结合了AE和GAN,基于AE的架构进行两阶段的对抗训练。
训练+检测架构
下图说明了训练阶段(左)和检测阶段(右)的信息流。
上图中均包含一个输入时间序列W,一个E,两个D;我们最想知道的应是如何进行对抗训练,以及对抗训练的目的是什么,为什么实施对抗训练之后可以检测到接近正常的异常了?
1. 输入
下面我们先来了解一下用于训练和检测的输入❀W是什么,以便把问题公式化:
- W t _t t:我们首先用W t _t t来表示一个在 t 时刻长度为 K 的时间窗口,即
W t _t