论文笔记--InterFusion

作者提出了一种无监督的方法(InterFusion)针对学习MTS数据中不同指标间的依赖和时间顺序上的依赖性进行建模。核心思想是通过两个随机潜变量,结合变分自编码机(VAE)对多维时间序列数据中的正确模式进行建模(使用到预过滤策略)。作者还提出了一种基于马尔科夫链蒙特卡洛的方法,对多维时间序列的异常结果进行解释。Multivariate Time Series Anomaly Detection and Interpretation using Hierarchical Inter-Metric and Temporal Embedding (KDD 2021)

Problem Statement

在多变量时间序列数据(MTS)的异常检测中,单变量时间序列并不能很好地代表系统的整体状态,单纯地结合多个单变量时间序列的异常检测结果,对MTS异常检测效果不佳。多变量时序数据异常检测中不仅有指标时间上的依赖关系,也存在指标之间的依赖关系(线性或者非线性关系)。因此作者从两个角度来描述MTS中的异常,如下图。

时间异常(temporal anomalies):一些指标现在偏离相应的历史正常模式。

指标间异常(intermetric anomalies):大多数指标遵循它们对应的正常模式,但度量之间历史的线性或者非线性关系违背了。如右半图,m3, m4之前与其他指标之间使线性相关的,但在第二个垂直带上相反了。表明系统局部异常了

image-20210924180220596 学习两种依赖的挑战(这个感觉像作者想完方法想的挑战): ①独立学习指标间关系和时间关系的嵌入表示将使特征融合困难,使用传统的图像分层方发使学习到的指标间关系和时间关系不一致。 ②过拟合风险 作者的贡献: ①提出一种具有两个随机潜变量的分层变分自编码算法,该算法分别学习低维指标间关系嵌入和时间嵌入。提出双视图嵌入方法。 ②提出了一种预滤波策略,对训练数据中的潜在异常具有很好的鲁棒性。 ③提出MCMC异常解释方法

问题定义

x ∈ R M × N x\in R^{M\times N} xRM×N表示采集到的信息,M表示采集的指标数,N表示时间序列的长度。以Web应用服务器为例,指标可能包括CPU利用率,内存利用率,TCP活动打开率等,在每个指标中具有时间依赖性(例如,CPU利用率的周期性),以及不同指标之间的度量间依赖性(例如,每秒传输的包、TCP活动打开数和CPU利用率之间的正相关性)。作者在采集的信息中使用时间长度为W的滑动窗口来计算异常。异常检测的目标就是确定观测到的 X t X_t Xt是否为异常,并找出在异常观测结果 X t X_t Xt中最异常的观测指标。
image-20210924195601818

Method(s)

Interfusion

网络结构和整体框架如下

image-20210924201638555

InterFusion的核心思想是使用联合训练的分层随机潜变量HVAE对MTS进行建模,每个潜变量都显式地学习低维指标间或时间嵌入。

该论文采用层级变分自编码机(HVAE),通过层次结构联合训练指标间和时间上的模型参数,同时为多维时间序列数据提出双视图嵌入方法,以表达指标间和时间上依赖的特征。此外,提出了一种预滤波策略来获得度量嵌入,同时对训练数据中的潜在异常具有鲁棒性。

分层结构

如上图(a),可以表示为image-20210924202425486。随机潜变量z1和z2用来学习低维的指标间和时间嵌入。应用HVAE中的层次结构,用低维z表示高维输入x。

双视角嵌入

借助重构输入任务来沿着时间维度和指标数维度压缩来获得时间和指标间关系嵌入。具体的image-20210924203521832 f f f表示多个1维卷积层将输入的观测信息沿着时间维度嵌入到 W ′ W' W获得 z 2 z_2 z2。重建表达式为image-20210924211908148 g g g表示相应的反卷积,使用 z 2 z_2 z2重建输入。

指标嵌入 z 1 ∈ R M ′ × W z_1 \in R^{M'\times W} z1RM×W是重建输入d沿着指标维度通过SRNN结构获得, M ′ M' M是嵌入指标数维度。

预滤波策略

一个指标的指标嵌入(包含指标之间复杂的依赖关系)需要在无异常的MTS建立,然而,用于训练的真实世界原始MTS数据经常包含异常。所以在包含异常的原始数据中训练学习到的指标嵌入可能存在对异常模式的过拟合风险,从而降低检测性能。作者受计划抽样序列预测,提出预滤波策略来推到指标嵌入 z 1 z_1 z1。具体的说就是 z 1 z_1 z1是通过重构输入获得,而不是通过输入信息得到。通过重建原始输入x,同时过滤掉x中的时间异常。d使用一个VAE模型进行预训练,以确保在训练InterFusion开始时具有初始重建能力。

模型训练和推导

loss函数如下(虽然写的复杂,但就是一个重构误差),其中 D K L D_{KL} DKL表示相对熵。

image-20210924212631894

在检测异常时,使用重构概率作为异常评分。image-20210924213325058使用作为输入来检测时间t的异常情况,在使用 X t X_t Xt的分数作为最后的异常分数。

但是异常的数据输入确实会对学习到的嵌入结果产生偏差。作者的做法是,假设输入为 x = ( x o , x m ) x=(x_o,x_m) x=(xo,xm),最后一个时间刻 x m x_m xm是个异常,作者使用MCMC插补迭代多次,消除偏差来得到 x ˉ = ( x o , x m ′ ) \bar{x}=(x_o,x_m') xˉ=(xo,xm)。修正后的重构概率可以通过取 L ( z 1 , z 2 ) L(z_1, z_2) L(z1,z2)样本进行蒙特卡罗积分来计算。

异常解释

也就是在检测出异常后找出一组最异常的指标来解释为啥发生异常。其核心思想是根据每一个被检测的实体异常的原始重构概率估计出一组“最异常点xm,然后应用MCMC得到更合理的潜在嵌入和重构来确定最异常指标。具体算法如下, r 0 r_0 r0是初始的重建误差,把判断异常的阈值b设置为重构误差的平均值,

image-20210925090311711

Evaluation

使用四个数据集,SWaT (Secure Water Treatment), WADI(Water Distribution), SMD(Server Machine Dataset),和 ASD (Application Server Dataset)。

评估指标,除了使用F1-score外,还定义了一个新的评价方法IPS解释评分,用来评价区段水平上的异常解释精度。A表示检测到的异常总数, Φ a \Phi_{a} Φa表示时序片段,真实的异常测量值异常维度表示为 G Φ a G_{\Phi_{a}} GΦa I Φ a I_{\Phi_a} IΦa是模型判断出来的具有最高异常可能性的异常维度, N Φ a N_{\Phi_a} NΦa是片段里的异常数。IPS定义为

image-20210925094837998

F1-score结果如下

image-20210925095052679

IPS结果如下

image-20210925095107323

消融实验

IF -p在变分模型中得到独立的潜在变量,而没有分层结构。IF-s不使用双视图。IF-x不适用预滤波。

IF-AERNN将三种结构加到自编码中,不用SRNN和VAE

image-20210925095209280

异常解释实验

image-20210925100217291

m1、m4和m5在突出的区域是异常的。m1异常比其他异常严重得多,会给学习的嵌入带来偏差,影响其他维度的重构估计。m4,m5被检测为正常,经过MCMC算法后慢慢可以检测出m4,m5。基于mcmc的解释过程减轻了严重异常的影响,常规指标(如m2和m3)也得到了更好的重建。

Notes

创新点:用到双视角嵌入,然后提出一个预滤波的方法来过滤一些异常。

看之前我以为是类似对交通流的异常检测,看完发现是对一个小系统的异常检测,针对的是空间维度多指标(因此就19个不同指标,所以也没用到图的方法)。

  • 8
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

chenxino

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值