相关:
论文名称:Unsupervised Anomaly Detection with VariationalAuto-Encoder and Local Outliers Factor for KPIs
发表于 ISPA 2021
下载地址:http://www.cloud-conf.net/ispa2021/
会议PPT:LOF-VAE-PPT
个人翻译地址:这篇论文比较简单,没有进行翻译了。见谅。
论文源码未能找到,抱歉。
这是一篇比较简单的论文(简单到不想翻译的那种),全场没有什么复杂的东西,除了没有源码,其他的都还好。读这篇论文可以思考一下,如何结合多个模型,达到更好的效果,也就是所谓的 hybrid model
。尽管论文全场没有出现这个词汇,但是论文模型名字叫作 LOF-VAE,就可以看出是什么意思了。
另外,尽管没有提供源代码,由于这篇论文简单,小伙伴们可以考虑简单的实现一下。
首先读一下 contributions 如下:
论文没有拖泥带水,把实验部分更加容易读。接下来我们对整篇论文进行概述:
这个改进方法超级简单,更加适合理解为:应用LOF到KPI数据的异常检测中。
如图所示:
在计算每个点的异常因子的时候(这里不介绍LOF的那几个公式了,详情请参考 2 基于LOF的异常检测算法 ),如图所示的 点 P l o f P_{lof} Plof 很明显是一个突增的结果,具有明显的离群特征,所以被 LOF 捕捉到是理所当然的,论文中也提到,不能小看这个 P l o f P_{lof} Plof 点,由于它是罪恶的开始(这个不是原文内容哈),所以它带坏了好多小朋友,我们结合滑动窗口的应用,确确实实可以把这堆被带坏的小朋友带走重新教育。这大概就是改进之处吧,
所以可以概括为:使用LOF检测到明显的异常点,结合滑动窗口带走相邻的若干个异常点。
这部分内容稍微看一下即可,如图所示,我们可以得知:LOF用在预处理阶段,预处理完了再构建损失函数,训练 LOF-VAE,最后对每一个点进行异常值打分。
缺失数据填充与标准化 缺失数据填充使用的是线性填充方法,也就是连接缺失点的左右两端,按缺失段等比例下降或者上升,而标准化处理就是设置 x = x − μ σ x = \frac{x-\mu}{\sigma} x=σx−μ,其中 μ \mu μ 和 σ \sigma σ 是均值和标准差。
LOF的标签 LOF检测完了以后,对VAE而言,就成了有监督学习。需要注意的是并不是直接应用 LOF 的检测结果,而是将所有的点的局部异常因子进行排序,选择 T o p − K Top-K Top−K 个点标记为异常,很明显这样更加科学,可以根据实际情况进行调整,事实上后面论文为此确实做了调参对比实验。
首先看一下改进的损失函数 L-ELBO:
L − E L B O = E q ϕ ( z ∣ x ) [ α w ( M ) log p θ ( z ) − log q ϕ ( z ∣ x ) ] L-ELBO = \mathbb{E}_{q_\phi(z|x)}[\alpha_{w(M)}\log p_\theta(z)-\log q_\phi(z|x)] L−ELBO=Eqϕ(z∣x)[αw(M)logpθ(z)−logqϕ(z∣x)]
训练的算法如图所示:
算法中包括3次循环:
可以看出 LOF-VAE 对损失函数的改进方法是参考了 Donut,至少有一丝丝的关系吧。不过值得一提的是,算法中最后一重循环考虑到异常窗口的影响范围,也就是第 22 行 ∑ l a b e l s \sum labels ∑labels 对前面的窗口的异常进行统计,如果前面有异常,则 α \alpha α 设置为 0,可以理解为,对于可能表现不那么正常的数据,尽可能地减少它训练的影响。
这一部分使用的就是以前 Donut 使用的方法,并没有什么值得提的地方。
数据集来自 iops.ai 这个数据集我们是可以下载并跑实验的,很多论文都是基于这个而编写的。原因很简单,真实数据而且没有那么多噪声,有人工标签,难得的高质量数据集。
后面的内容我们专门设定一个章节把这个数据集拿出来嚼碎了。兄弟们需要的话就催更哈。
首先不看文字我们看图。
图6 宏观比较三种算法的结果,在delay=7时,分别在无监督和有监督的情况下进行比较。注意 LOF-VAE 使用是没有使用人工标签的。
图7 这个是分别在不同的 delay 下进行的实验,注意都是无监督的情况下。
图 8 对 LOF-VAE 的组件进行拆分,分步骤测试,也就是查看 LOF-VAE 的改进过程。
很快就读完了这篇论文,因为这篇论文应该算是 工程化 的论文,就是提出一个想法然后实验证明这个想法是可行的,没有任何理论推导,所以理解起来也比较容易。
读完这篇论文有没有给自己带来某些灵感?欢迎评论,大家一起讨论是不是可行 !
Smileyan
2022.2.21 22:21
感谢您的 点赞、 收藏、评论 与 关注,您的支持是我继续更新的动力!