没有合适的资源?快使用搜索试试~ 我知道了~
基于变分自动编码器的季节性KPI无监督异常检测
12:0000:0012:0000:0012:00A12:0000:0012:0000:0012:00B12:0000:0012:0000:0012:00C1870基于变分自动编码器的Web应用中季节性KPI的无监督异常检测0徐浩文,陈文晓,赵能文,李泽言,卜佳豪,李志瀚,刘颖,赵友健,裴丹�0清华大学0冯洋,陈杰,王兆刚,乔红林阿里巴巴集团0摘要0为了确保业务不受干扰,大型互联网公司需要密切监控其Web应用的各种KPI(例如页面浏览量、在线用户数和订单数),以准确检测异常并及时触发故障排除/缓解。然而,对于这些具有各种模式和数据质量的季节性KPI的异常检测一直是一个巨大的挑战,尤其是在没有标签的情况下。在本文中,我们提出了一种基于VAE的无监督异常检测算法Donut。由于我们的一些关键技术,Donut在性能上大大优于最先进的有监督集成方法和基线VAE方法,其最佳F分数在来自全球顶级互联网公司的研究KPI中的范围为0.75到0.9。我们提出了一种新颖的KDE解释重构的方法,使其成为第一个具有坚实理论解释的基于VAE的异常检测算法。ACM参考格式:Haowen Xu,Wenxiao Chen,NengwenZhao,Zeyan Li,Jiahao Bu,Zhihan Li,Ying Liu,Youjian Zhao,DanPei,Yang Feng,Jie Chen,Zhaogang Wang和HonglinQiao。2018年。基于变分自动编码器的Web应用中季节性KPI的无监督异常检测。在WWW2018:2018年Web会议上,2018年4月23日至27日,法国里昂。ACM,纽约,纽约,美国,10页。https://doi.org/10.1145/3178876.318599601 引言0为了确保业务不受干扰,大型互联网公司需要密切监控其Web应用的各种KPI(关键绩效指标),以准确检测异常并及时触发故障排除/缓解。KPI是时间序列数据,衡量指标如页面浏览量、在线用户数和订单数。在所有KPI中,最重要的是与业务相关的KPI(本文的重点),它们受用户行为和日程安排的影响很大,因此大致上具有定期发生的季节性模式(例如,每天和/或每周)。然而,对于这些具有各种模式和数据质量的季节性KPI的异常检测一直是一个巨大的挑战,尤其是在没有标签的情况下。已经存在大量文献关于检测KPI异常[1,2,5-8,17-19,21-25,27,29,32,33,37,38]。如第2.2节所讨论的,现有的0� 丹∙佩是通讯作者。1 Donut的实现发布在https://github.com/korepwx/donut 2论文的更长版本可以在[36]中找到。0本文发表在知识共享署名4.0国际(CC BY4.0)许可下。作者保留在个人和公司网站上传播作品的权利,并附上适当的归属。WWW2018,2018年4月23日至27日,法国里昂,© 2018IW3C2(国际万维网会议委员会),根据知识共享CC BY 4.0许可发布。ACM ISBN978-1-4503-5639-8/18/04。https://doi.org/10.1145/3178876.31859960图1:本文中季节性KPI数据集的2.5天长片段,异常值以红色表示,缺失点(填充为零)以橙色表示。在每个数据集中,同一时间段的不同天存在变化。0异常检测算法存在算法选择/参数调整的麻烦、对标签的严重依赖、性能不佳和/或缺乏理论基础的问题。在本文中,我们提出了一种基于变分自动编码器(一种代表性的深度生成模型)的无监督异常检测算法Donut,具有坚实的理论解释,该算法可以在完全没有标签的情况下工作,并且可以在有时有标签的情况下利用这些标签。本文的贡献可以总结如下。0• Donut、Modified ELBO和Missing DataInjection这三种技术用于训练,以及用于检测的MCMCImputation,使其在性能上大大超过了最先进的监督和基于VAE的异常检测算法。对于来自一家全球顶级互联网公司的研究KPI,无监督的Donut的最佳F-得分范围从0.75到0.9。•在文献中首次发现,采用VAE(或一般的生成模型)进行异常检测需要对正常数据和异常数据进行训练,与常见的直觉相反。•我们提出了一个新颖的KDE解释,用于Donut的z空间,使其成为第一个具有坚实理论解释的基于VAE的异常检测算法,与[2,33]不同。这种解释可能有助于其他深度生成模型在异常检测中的设计。我们在潜在的z空间中发现了一个时间梯度效应,这很好地解释了Donut在检测季节性KPI的异常方面的出色性能。02背景和问题2.1背景和一般的异常检测0本文重点研究与业务相关的KPI。这些时间序列受用户行为和日程的影响很大,因此大致上具有定期发生的季节性模式(例如每天和/或每周)。另一方面,每个重复周期内KPI曲线的形状并不完全相同,因为用户行为可能在不同的日子有所变化。我们在此将所研究的KPI命名为“季节性”0论文中,我们关注与业务相关的KPI。这些时间序列受用户行为和日程的影响很大,因此大致上具有定期发生的季节性模式(例如每天和/或每周)。另一方面,每个重复周期内KPI曲线的形状并不完全相同,因为用户行为可能在不同的日子有所变化。我们在此将所研究的KPI命名为“季节性”1880具有局部变化的KPI。这些KPI的示例如图1所示。另一种局部变化的类型是随着时间的推移逐渐增加的趋势,可以通过Holt-Winters[38]和时间序列分解[6]来识别。除非这些局部变化得到适当处理,否则异常检测算法可能无法很好地工作。除了KPI形状的季节性模式和局部变化之外,这些KPI上还存在噪声,我们假设这些噪声在每个点上是独立的、均值为零的高斯噪声。高斯噪声的确切值是无意义的,因此我们只关注这些噪声的统计信息,即噪声的方差。我们现在可以将季节性KPI的“正常模式”形式化为两个组成部分的组合:(1)具有局部变化的季节性模式,和(2)高斯噪声的统计信息。我们使用“异常”来表示不符合正常模式(例如突然的峰值和波动)的记录点,而使用“异常”来表示异常和缺失点。有关异常和缺失点的示例,请参见图1。由于KPI是周期性监测的(例如每分钟),缺失点被记录为“null”(当监测系统未接收到数据时),因此很容易识别。因此,我们重点关注检测KPI的异常。由于运营商需要处理故障排除/缓解的异常,其中一些异常是轶事性的标记。请注意,这种偶尔的标记对异常的覆盖远远不够以满足典型的监督学习算法的需求。可以将KPI的异常检测定义如下:对于任何时间t,给定历史观测值xt−T+1,...,xt,确定是否发生异常(表示为yt=1)。异常检测算法通常计算一个实值分数,表示yt=1的确定性,例如p(yt=1|xt−T+1,...,xt),而不是直接计算yt。然后,人工操作员可以通过选择阈值来决定是否声明异常,其中分数超过此阈值的数据点表示异常。02.2之前的工作0传统统计模型。多年来,基于传统统计模型(例如[6, 17, 18, 22, 24,25, 29, 37,38],主要是时间序列模型)的许多异常检测器被提出来计算异常分数。由于这些算法通常对适用的KPI有简单的假设,需要专家参与选择适合给定KPI的检测器,然后根据训练数据调整检测器的参数。这些检测器的简单集成,如多数投票[8]和归一化[32],根据[23]的说法也没有太大帮助。因此,这些检测器在实践中的使用受到限制。监督集成方法。为了避免传统统计异常检测器的算法/参数调整的麻烦,提出了监督集成方法EGADS [19]和Opprentice[23]。它们使用用户反馈作为标签训练异常分类器,并使用传统检测器输出的异常分数作为特征。EGADS和Opprentice都显示出了有希望的结果,但它们严重依赖于良好的标签(远远超过我们环境中积累的轶事标签),这在大规模应用中通常是不可行的。此外,在检测过程中运行多个传统检测器以提取特征会引入大量计算成本,这是一个实际的问题。0无监督方法和深度生成模型。最近,采用无监督机器学习算法进行异常检测的趋势日益增长,例如,单类SVM [1,7],基于聚类的方法[9],如K-Means [26]和GMM [21],KDE[27],以及VAE [2]和VRNN[33]。其理念是专注于正常模式而不是异常:由于KPI通常主要由正常数据组成,即使没有标签,模型也可以轻松训练。粗略地说,它们首先在原始或某些潜在特征空间中识别“正常”区域,然后通过测量观测值与正常区域的“距离”来计算异常分数。在这个方向上,我们对深度生成模型感兴趣的原因有以下几点。首先,学习正常模式可以看作是学习训练数据的分布,这是生成模型的一个主题。其次,最近在使用深度学习技术训练生成模型方面取得了巨大进展,例如GAN[13]和深度贝叶斯网络[4,35]。后者是深度生成模型的一类,采用了图形[28]模型框架和变分技术[3],其中VAE [16,30]是代表性的工作。第三,尽管深度生成模型在异常检测方面具有巨大的潜力,但现有的基于VAE的异常检测方法[2]并不适用于KPI(时间序列),在我们的设置中表现不佳(见第4节),并且没有理论基础来支持其针对异常检测的深度生成模型的设计(见第5节)。第四,仅仅采用基于VRNN的更复杂模型[33]会导致训练时间长且性能差。第五,[2]假设仅在干净数据上进行训练,在我们的情况下是不可行的,而[33]则没有讨论这个问题。02.3 问题陈述0总之,现有的异常检测算法存在算法选择/参数调整的麻烦、对标签的严重依赖、性能不理想和/或缺乏理论基础的问题。现有方法要么是无监督的,要么是有监督的,但严重依赖于标签。然而,在我们的背景下,标签偶尔是可用的,尽管远非完整,但应该能够利用起来。本文的问题陈述如下。我们旨在基于深度生成模型的无监督异常检测算法,具有坚实的理论解释,并且该算法可以利用偶尔可用的标签。由于VAE是深度贝叶斯网络的基本构建模块,我们选择从VAE开始我们的工作。02.4 变分自动编码器的背景0深度贝叶斯网络使用神经网络来表达变量之间的关系,因此不再局限于简单的分布族,因此可以轻松应用于复杂数据。变分推断技术[12]通常用于训练和预测,这是解决由神经网络导出的分布的后验的高效方法。VAE是一个深度贝叶斯网络。它建模了两个随机变量,潜在变量z和可见变量x之间的关系。为z选择了一个先验,通常是多元单位高斯分布N(0,I)。然后,从pθ(x|z)中采样得到x,pθ(x|z)是由参数θ的神经网络导出的。确切的形式0主题:智能和自主系统在Web上的WWW 2018,2018年4月23日至27日,法国里昂µz�zReconstructed xW Dimensionalµx�x1890N0x z0� φ0图2:VAE的架构。z的先验被视为生成模型的一部分(实线),因此整个生成模型被表示为pθ(x,z)=pθ(x|z)pθ(z)。近似后验(虚线)被表示为qϕ(z|x)。0训练0修改的ELBO0缺失数据0注入0检测0MCMC插补0模型0数据准备0滑动窗口0标准化0用零填充缺失0训练x0测试x0图3:Donut的整体架构。0根据任务需求选择pθ(x | z)的具体形式。真后验pθ(z |x)无法通过解析方法计算,但在训练中是必要的,并且通常在预测中很有用,因此使用变分推断技术来拟合另一个神经网络作为近似后验qϕ(z |x)。该后验通常被假设为N(µϕ(x),σ2ϕ(x)),其中µϕ(x)和σϕ(x)由神经网络导出。VAE的架构如图2所示。SGVB [16,30]是一种常用的变分推断算法,通常与VAE一起使用,通过最大化证据下界(ELBO,方程(1))来联合训练近似后验和生成模型。由于SGVB已经起作用,我们没有采用更先进的变分推断算法。0log pθ(x)≥ log pθ(x)− KL� qϕ(z | x)��pθ(z | x)�0= E qϕ(z | x)� log pθ(x)+ log pθ(z | x)−0= E qϕ(z | x)� log pθ(x, z)− log0= E qϕ(z | x)� log pθ(x | z)+ log pθ(z)−log qϕ(z | x)�0蒙特卡洛积分[10]通常用于近似方程(1)中的期望,如方程(2)所示,其中z(l),l = 1...L是从qϕ(z |x)中采样的样本。我们在本文中坚持使用这种方法。0E qϕ(z |x)[f(z)] ≈ 10L0L �0l = 1 f(z(l))(2)03架构0我们算法Donut的整体架构如图3所示。训练过程中采用了修改的ELBO和缺失数据注入技术,检测过程中采用了MCMC插补技术。03.1网络结构0如前所述,在本文中研究的KPI被假设为带有高斯噪声的时间序列。然而,VAE不是一个序列模型,因此我们对KPI应用长度为W的滑动窗口[31]:对于每个点xt,我们使用xt−W+1,...,xt作为VAE的x向量。这个滑动窗口最初是因为其简单性而被采用,但事实证明它实际上带来了一个重要且有益的结果,将在第5.1节中讨论。0滑动窗口x W维度0隐藏层0线性K单元0SoftPlus + �0K单元0潜变量z K维度0(a)变分网络qϕ(z | x)0潜变量z K维度0隐藏层0线性W单元0SoftPlus + �0W单元0(b)生成网络pθ(x | z)0图4:Donut的网络结构。灰色节点是随机变量,白色节点是层。双线突出显示了我们在一般VAE上的特殊设计。0Donut的整体网络结构如图4所示,其中具有双线轮廓(例如,底部左侧的滑动窗口x,W维度)的组件是我们的新设计,其余组件来自标准VAE。先验pθ(z)选择为N(0,I)。x和z的后验分别选择为对角高斯分布:pθ(x | z)= N(µx,σx2I),qϕ(z | x)=N(µz,σz2I),其中µx,µz和σx,σz是每个独立高斯分量的均值和标准差。z选择为K维。从x和z中提取隐藏特征,分别通过分离的隐藏层fϕ(x)和fθ(z)进行。然后从隐藏特征中导出x和z的高斯参数。均值由线性层导出:µx = W � µx fθ(z)+ bµx和µz = W � µzfϕ(x)+ bµz。标准差由soft-plus层导出,加上非负小数ϵ:σx =SoftPlus [W � σx fθ(z)+ bσx] + ϵ和σz = SoftPlus [W � σzfϕ(x)+ bσz] + ϵ,其中SoftPlus [a] = log [exp(a)+1]。这里呈现的所有W和b都是相应层的参数。注意,当标量函数f(x)应用于向量x时,它意味着应用于每个分量。我们选择以这种方式导出σx和σz,而不是像其他人那样使用线性层导出logσx和logσz,原因如下。我们感兴趣的KPI的局部变化非常小,以至于σx和σz可能非常接近于零,使得logσx和logσz无界。这将在计算高斯变量的似然时导致严重的数值问题。因此,我们使用soft-plus和ϵ技巧来防止此类问题。03.2 训练0通过使用SGVB[16]算法优化ELBO(公式(1))进行训练是直接的。由于[16]报告了使用SGVB算法训练VAE时一个样本足够计算ELBO,因此我们在训练过程中将采样数量L =1。在每个epoch之前,x的窗口被随机洗牌,这对于随机梯度下降是有益的。每个小批量中都会取足够多的x,这对于稳定训练至关重要,因为采样引入了额外的随机性。如第2.2节所讨论的,基于VAE的异常检测通过学习正常模式来工作,因此我们需要尽可能避免学习异常模式。请注意,训练中的“异常”是标记的异常,对于给定的KPI可能没有标签,此时异常检测变成了无监督的。有人可能会想用合成值替换训练数据中的标记异常(如果有的话)和缺失点(已知)。一些0Track: Intelligent and Autonomous systems on the Web WWW 2018, April 23-27, 2018, Lyon, France�)x == x01900以前的工作提出了一些方法来填补缺失数据,例如[34],但很难产生足够符合“正常模式”的数据。更重要的是,使用由其他算法生成的数据来训练生成模型是相当荒谬的,因为生成模型的一个主要应用就是生成数据。使用任何比VAE更弱的算法填补数据可能会降低性能。因此,在训练VAE之前,我们不采用缺失数据插补,而是选择简单地将缺失点填充为零(在图3的数据准备步骤中),然后修改ELBO以排除异常和缺失点的贡献(在图3的训练步骤中显示为ModifiedELBO(简称M-ELBO)。具体来说,我们将公式(1)的标准ELBO修改为我们的版本公式(3)。αw被定义为一个指示器,其中aw =1表示xw不是异常或缺失,否则aw =0。β被定义为(�Ww=1αw)/W。请注意,当训练数据中没有标记的异常时,公式(3)仍然成立。标记的异常和缺失点的pθ(xw |z)的贡献直接由αw排除,而缩放因子β根据x中正常点的比例缩小了pθ(z)的贡献。这种修改使得Donut能够正确重建x中的正常点,即使x中的某些点是异常的。我们不缩小qϕ(z |x),是基于以下两个考虑。与pθ(z)不同,qϕ(z |x)只是描述从x到z的映射,而不考虑“正常模式”。因此,似乎没有必要打折qϕ(z | x)的贡献。另一个原因是Eqϕ(z |x)[−logqϕ(z | x)]恰好是qϕ(z |x)的熵。这个熵项在训练中实际上还有其他作用(将在第5.3节中讨论),因此最好保持不变。0� L( x ) = E q ϕ ( z | x)0w = 1 αw log pθ ( xw | z ) + β log pθ ( z ) − log qϕ (z | x ) � (3)0除了公式(3)之外,处理异常值和缺失点的另一种方法是将包含这些点的所有窗口从训练数据中排除。这种方法被证明比M-ELBO方法效果差。我们将在第4.5节中展示这两种方法的性能。此外,我们还在训练中引入了缺失数据注入:我们随机设置λ比例的正常点为零,就好像它们是缺失点一样。随着缺失点的增加,当给定异常x时,Donut更经常地训练以重建正常点,从而放大了M-ELBO的效果。这种注入是在每个epoch之前完成的,并且在epoch结束后恢复这些点。这种缺失数据注入在图3的训练步骤中显示。03.3 检测0像VAE这样的生成模型可以得出各种输出。在异常检测范围内,观测窗口x的似然度,即VAE中的pθ(x),是一个重要的输出,因为我们想要看到给定的x有多好地遵循正常模式。可以采用蒙特卡罗方法来计算x的概率密度,即pθ(x) = E pθ(z) [pθ(x |z)]。尽管在理论上有很好的解释,但实际上在先验上采样并不起作用,如第4节所示。与在先验上采样不同,可以尝试使用变分后验qϕ(z | x)来推导有用的输出。一种选择是计算E qϕ(z | x) [pθ(x |z)]。虽然与pθ(x)类似,但它并不是0(xo, xm) (xo, x00o, x00图5:MCMC中的一次迭代示例。x被分解为(xo,xm),然后将xo固定,将xm替换为重建样本中的x′m,以获得新的x′。0一个明确定义的概率密度。另一种选择是计算E q ϕ ( z | x ) [ log p θ( x | z)],这在[2]中被称为“重建概率”。这两种选择非常相似。由于在异常检测中只关注异常分数的排序而不是确切值,我们遵循[2]并使用后者。作为替代方案,ELBO(方程(1))也可以用于近似计算log pθ ( x),如[33]中所述。然而,ELBO中的额外项E q ϕ ( z | x ) � log pθ ( z ) − log q ϕ ( z | x )�使其内部机制难以理解。由于[33]中的实验证明了这种替代方案的优越性,我们选择不使用它。在检测过程中,测试窗口x中的异常和缺失点会对映射的z带来偏差,并进一步使重建概率不准确,这将在第5.2节中讨论。由于缺失点始终是已知的(作为“null”),我们有机会消除由缺失点引入的偏差。我们选择采用由[30]提出的基于MCMC的缺失数据填补技术与训练好的VAE一起使用。同时,我们不知道在检测之前异常的确切位置,因此无法对异常采用MCMC。具体而言,测试x被分为观测部分和缺失部分,即(xo, xm)。从qϕ(z | xo,xm)中获得一个z样本,然后从pθ(xo, xm |z)中获得一个重建样本(x′o, x′m)。然后将(xo, xm)替换为(xo,x′m),即固定观测点并将缺失点设置为新值。此过程迭代M次,然后最终使用(xo,x′m)计算重建概率。整个过程中,中间的x′m将不断接近正常值。给定足够大的M,可以减少偏差,并获得更准确的重建概率。MCMC方法如图5所示,并在图3的检测步骤中显示。经过MCMC后,我们使用L个z样本通过蒙特卡罗积分来计算重建概率。尽管我们可以计算x的每个窗口中每个点的重建概率,但我们只使用最后一个点的分数(即xt在xt−T+1,...,xt中),因为我们希望在检测过程中尽快响应异常。在后续文本中,我们仍然使用向量符号,对应于VAE的架构。04 评估 4.1 数据集0我们从一家大型互联网公司获得了18个维护良好的业务关键绩效指标(时间跨度足够长以进行训练和评估)。所有绩效指标之间的观测间隔为1分钟。我们选择了3个数据集,分别为A、B和C,这些数据集在这18个数据集中具有相对较小、中等和较大的噪声,以便我们可以评估Donut在不同噪声水平下的性能。我们将每个数据集划分为训练集、验证集和测试集,其比例分别为49%、21%和30%。数据集A、B和C的图形如下:0Track: Intelligent and Autonomous systems on the Web WWW 2018, April 23-27, 2018, Lyon, France0.00.20.40.60.81.00.00.20.40.60.81.0OpprenticeVAE BaselineDonutDonut-Prior0%10%100%08162432400%10%100%0%10%100%19100 0 1 1 1 0 0 1 1 1 真实情况00.6 0.4 0.3 0.7 0.6 0.5 0.2 0.3 0.4 0.3 分数01 0 0 1 1 1 0 0 0 0 逐点警报01 0 1 1 1 1 0 0 0 0 调整后的警报0图6:修改后指标策略的说明。第一行是包含10个连续点的真实情况,其中两个异常段在阴影方块中突出显示。检测器的分数显示在第二行。第三行显示了阈值为0.5时的逐点检测结果。第四行显示了调整后的检测结果。我们将得到准确率0.6和召回率0.5。从第三行可以看出,第一个段的警报延迟为1个间隔(1分钟)。0如图1所示,统计数据如表1所示。互联网公司的操作员对这三个数据集中的所有异常进行了标记。为了评估目的,我们可以认为我们拥有这三个数据集中所有异常的真实情况。0数据集A B C0总点数 296460 317522 285120 缺失点 1222/0.41% 1117/0.35% 304/0.11%异常点 1213/0.41% 1883/0.59% 4394/1.54% 总窗口* 296341 317403 285001异常窗口** 20460/6.90% 20747/6.54% 17288/6.07%0*每个滑动窗口的长度为W =120。**每个异常窗口至少包含一个异常点或缺失点。表1:A、B和C的统计数据。04.2 性能指标0在我们的评估中,我们完全忽略了所有算法在缺失点(“null”)的输出,因为它们很容易识别。本文评估的所有算法都为每个点计算一个异常分数。可以选择一个阈值进行决策:如果某个点的分数大于阈值,则应触发警报。这样,异常检测类似于一个分类问题,我们可以计算与每个阈值相对应的准确率和召回率。我们还可以计算AUC,即给定所有可能的阈值的召回率的平均准确率;或者计算F-score,即给定一个特定阈值的准确率和召回率的调和平均值。我们还可以枚举所有阈值,获得所有F-scores,并使用最佳F-score作为指标。最佳F-score表示模型在特定测试集上在最优全局阈值下的最佳性能。在实践中,最佳F-score与AUC大致一致,除了细微差异(见图7)。我们更喜欢最佳F-score而不是AUC,因为在某个阈值下拥有优秀的F-score比在大多数阈值下只有高但不那么优秀的F-score更重要。在实际应用中,人工操作员通常不关心逐点的指标。如果延迟不太长,算法触发警报时,可以接受在连续的异常段中的任何点。已经提出了一些适应此偏好的异常检测指标,例如[20],但大多数并未被广泛接受,可能是因为它们过于复杂。我们使用一种简单的策略:如果地面真实中的任何异常段中的任何点都可以被选择的阈值检测到,我们说0A0警报延迟0B0C0图7:AUC、最佳F-Score和最佳F-score对应的平均警报延迟。A、B和C是三个数据集。“0%”、“10%”和“100%”是在训练中保留的标签比例。注意,当异常标签为0%时,Opprentice没有结果。每个柱状图上方的黑色棒状物是10次重复实验的偏差。0此段被正确检测,并且此段中的所有点都被视为可以通过此阈值检测到。同时,异常段外的点被正常处理。然后,根据此方法计算准确率、召回率、AUC、F-score和最佳F-score。该方法在图6中有所说明。除了准确率指标外,我们还计算每个检测到的段的警报延迟,这对操作员也很重要。对于一个真正的正例段,警报延迟是第一个点和段中第一个检测到的点之间的时间差。04.3 实验设置0我们将窗口大小W设置为120,这在我们的数据集中代表2小时。W的选择受到两个因素的限制。一方面,如果W太小,模型将无法捕捉到模式,因为模型只能通过窗口中的信息来识别正常模式(参见§5.1)。另一方面,如果W太大,过拟合的风险将增加,因为我们坚持使用没有权重共享的全连接层,因此模型参数的数量与W成正比。我们将潜在维度K设置为3,用于B和C,因为3维空间可以很容易地进行可视化分析,而且幸运的是,K =3在B和C上的经验效果很好。至于A,我们发现3太小,所以我们经验性地增加了K到8。这些经验性的K的选择在测试集上被证明是相当好的,如图9所示。qϕ(z | x)和pθ(x|z)的隐藏层都选择为两个ReLU层,每个层都有100个单元,这使得变分和生成网络具有相等的大小。我们没有对隐藏网络的结构进行详尽的搜索。其他超参数也是经验性选择的。我们使用10-4作为std层的ϵ。我们使用0.01作为注入比率λ。我们使用10作为MCMC迭代次数M,并使用1024作为蒙特卡洛积分的采样数L。我们使用256作为训练的批量大小,并运行250个周期。我们使用Adam优化器[15],初始学习率为10-3。我们每10个周期后将学习率折扣0.75。我们对隐藏层应用L2正则化,系数为10-3。我们通过范数对梯度进行剪裁,限制为10.0。为了评估Donut而没有标签,我们忽略所有标签。对于偶尔标签的情况,我们对训练和验证集的异常标签进行下采样,使其包含10%的标记异常。请注意,不会对缺失点进行下采样。我们随机丢弃异常段,丢弃概率与每个段的长度成比例,直到达到所需的下采样率为止。我们使用这种方法而不是随机丢弃单个异常点,因为KPI是时间序列,每个异常点可能泄漏其相邻点的信息,导致性能被高估。这样的下采样进行了10次,这使我们能够进行10次独立的重复实验。对于每个数据集,我们有三个版本:0%标签,10%标签和100%标签。0作为std层的ϵ。我们使用0.01作为注入比率λ。我们使用10作为MCMC迭代次数M,并使用1024作为蒙特卡洛积分的采样数L。我们使用256作为训练的批量大小,并运行250个周期。我们使用Adam优化器[15],初始学习率为10-3。我们每10个周期后将学习率折扣0.75。我们对隐藏层应用L2正则化,系数为10-3。我们通过范数对梯度进行剪裁,限制为10.0。为了评估Donut而没有标签,我们忽略所有标签。对于偶尔标签的情况,我们对训练和验证集的异常标签进行下采样,使其包含10%的标记异常。请注意,不会对缺失点进行下采样。我们随机丢弃异常段,丢弃概率与每个段的长度成比例,直到达到所需的下采样率为止。我们使用这种方法而不是随机丢弃单个异常点,因为KPI是时间序列,每个异常点可能泄漏其相邻点的信息,导致性能被高估。这样的下采样进行了10次,这使我们能够进行10次独立的重复实验。对于每个数据集,我们有三个版本:0%标签,10%标签和100%标签。0跟踪:智能和自主系统在Web上的WWW 2018年4月23日至27日,法国里昂0%10%100%0.00.20.40.60.81.00%10%100%0%10%100%VAE BaselineDonut (M-ELBO Only)Donut (M-ELBO & Injection)Donut (M-ELBO & MCMC)Donut (M-ELBO & Both)1920我们在Donut的第7图中测量了AUC,最佳F-Score以及与最佳F-Score相对应的平均警报延迟,并与三个选择的算法进行了比较。Opprentice[23]是一个使用随机森林分类器的集成监督框架。在与我们类似的数据集上,Opprentice据报道始终明显优于基于传统统计模型的14个异常检测器(例如[6,17,18,22,24,25,29,37,38]),这些检测器总共有133个枚举的超参数配置。因此,在我们对Donut的评估中,Opprentice不仅作为来自非深度学习领域的最先进竞争算法,还作为与这些传统异常检测器的经验性性能“上限”进行比较的代理。VAE基线。[2]中的基于VAE的异常检测不处理时间序列,因此我们设置VAE基线如下。首先,VAE基线具有与Donut相同的网络结构,如图4所示。其次,仅使用图3中数据准备步骤中的技术。第三,如[2]建议的,我们从训练数据中排除包含标记异常或缺失点的所有窗口。Donut-Prior。鉴于生成模型本质上学习p(x),而在VAE中,p(x)被定义为Epθ(z)[pθ(x |z)],我们还评估了重构概率的先验对应物,即Epθ(z)[log pθ(x |z)]。我们只需要一个先验的基线,因此我们通过普通的蒙特卡洛积分计算先验期望,而不使用改进结果的高级技术。Donut的最佳F-Score在完全无监督的情况下非常令人满意,范围从0.75到0.9,在所有情况下都优于监督的Opprentice。实际上,当标签不完整时,Opprentice的最佳F-Score在A和B中大幅下降,只在C中保持可接受。C中的异常数要比A和B大得多,而有10%的标签可能刚好足够进行训练。Donut在无监督场景中表现出色,我们可以看到将异常标签输入Donut通常会使其工作得更好。然而,Donut存在一种不寻常的行为,即C中的最佳F-Score以及B和C中的AUC略差于100%标签而不是10%。这可能是一个优化问题,其中未标记的异常可能导致训练不稳定,意外地拉动了性能。04.4 总体性能0我们在Donut的第7图中测量了AUC,最佳F-Score以及与最佳F-Score相对应的平均警报延迟,并与三个选择的算法进行了比较。Opprentice[23]是一个使用随机森林分类器的集成监督框架。在与我们类似的数据集上,Opprentice据报道始终明显优于基于传统统计模型的14个异常检测器(例如[6,17,18,22,24,25,29,37,38]),这些检测器总共有133个枚举的超参数配置。因此,在我们对Donut的评估中,Opprentice不仅作为来自非深度学习领域的最先进竞争算法,还作为与这些传统异常检测器的经验性性能“上限”进行比较的代理。VAE基线。[2]中的基于VAE的异常检测不处理时间序列,因此我们设置VAE基线如下。首先,VAE基线具有与Donut相同的网络结构,如图4所示。其次,仅使用图3中数据准备步骤中的技术。第三,如[2]建议的,我们从训练数据中排除包含标记异常或缺失点的所有窗口。Donut-Prior。鉴于生成模型本质上学习p(x),而在VAE中,p(x)被定义为Epθ(z)[pθ(x |z)],我们还评估了重构概率的先验对应物,即Epθ(z)[log pθ(x |z)]。我们只需要一个先验的基线,因此我们通过普通的蒙特卡洛积分计算先验期望,而不使用改进结果的高级技术。Donut的最佳F-Score在完全无监督的情况下非常令人满意,范围从0.75到0.9,在所有情况下都优于监督的Opprentice。实际上,当标签不完整时,Opprentice的最佳F-Score在A和B中大幅下降,只在C中保持可接受。C中的异常数要比A和B大得多,而有10%的标签可能刚好足够进行训练。Donut在无监督场景中表现出色,我们可以看到将异常标签输入Donut通常会使其工作得更好。然而,Donut存在一种不寻常的行为,即C中的最佳F-Score以及B和C中的AUC略差于100%标签而不是10%。这可能是一个优化问题,其中未标记的异常可能导致训练不稳定,意外地拉动了性能。0A0B0C0图8:(1)VAE基准线,(2)具有M-ELBO的Donut,(3)具有M-ELBO和缺失数据注入的Donut,(4)具有M-ELBO和MCMC的Donut,以及(5)具有M-ELBO、MCMC和注入的Donut的最佳F-score。 M-ELBO单独对改进做出了最大贡献。0模型脱离次优平衡的影响(§5.4)。当K从3(B和C)增加到8(A)时,这种现象似乎减弱了。幸运的是,这并不太重要,因此我们建议在Donut中尽可能使用标签。Donut在A和B中的性能远远优于VAE基准线,而在C中并没有显示出如此大的优势。事实上,Donut的相对优势在A中最大,在B中中等,在C中最小。这是由以下原因引起的。自然地,VAE对正常的x进行建模。因此,重构概率实际上期望x大部分是正常的(见§5.1)。然而,由于x是KPI的滑动窗口,并且我们需要为每个点产生一个异常分数,有时不可避免地会在x中出现异常点。这导致VAE基准线遭受很大的困扰。相反,本文中开发的技术增强了Donut在同一窗口中较早点存在异常时产生可靠输出的能力。同时,当KPI更平滑时,具有相似异常幅度的异常点会相对“更异常”。鉴于A最平滑,B中等,C最不平滑,上述相对优势的观察结果并不令人意外。最后,Donut-Prior的最佳F-score比重构概率要差得多,特别是当z的维度较大时。然而,值得一提的是,重构概率的后验期望只在一定条件下起作用(§5.2)。幸运的是,这个问题对于Donut来说并不太重要(见§5.2)。因此,可以放心使用重构概率。Donut、Opprentice和VAE基准线在所有数据集上的平均警报延迟是可以接受的,而Donut-Prior则不是。与此同时,Donut的最佳F-score要比其他方法好得多。总之,Donut能够在不增加警报延迟的情况下实现最佳性能,因此对于操作员来说是实用的。04.5 Donut技术的影响0在本文中,我们提出了三种技术:(1)M-ELBO(方程(3)),(2)缺失数据注入和(3)MCMC插补。在图9中,我们呈现了Donut使用这些技术的四种可能组合以及用于比较的VAE基准线的最佳F-score。这些技术与KDE解释密切相关,将在§5.2中进一步讨论。M-ELBO单独对VAE基准线的改进做出了最大贡献。它通过训练Donut使其适应x中可能存在的异常点,并在这种情况下产生期望的输出。尽管我们预计M-ELBO会起作用,但我们没有预料到它会起作用得如此好。总之,这不是一个好的做法0Track: Web上的智能和自主系统WWW 2018,2018年4月23日至27日,法国里昂1234581321K0.00.20.40.60.81.0Best F-ScoreABCFigure 9: The best F-score of unsupervised Donut with dif-feren
下载后可阅读完整内容,剩余1页未读,立即下载
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://profile-avatar.csdnimg.cn/default.jpg!1)
cpongm
- 粉丝: 4
- 资源: 2万+
上传资源 快速赚钱
我的内容管理 收起
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
会员权益专享
最新资源
- Simulink在电机控制仿真中的应用
- 电子警察:功能、结构与抓拍原理详解
- TESSY 4.1 英文用户手册:Razorcat Development GmbH
- 5V12V直流稳压电源设计及其实现
- 江西建工四建来宾市消防支队高支模施工方案
- 三维建模教程:创建足球模型
- 宏福苑南二区公寓楼施工组织设计
- 福建外运集团信息化建设技术方案:网络与业务平台设计
- 打造理想工作环境:详尽的6S推行指南
- 阿里巴巴数据中台建设与实践
- 欧姆龙CP1H PLC操作手册:SYSMACCP系列详解
- 中国移动统一DPI设备技术规范:LTE数据合成服务器关键功能详解
- 高校竞赛信息管理系统:软件设计与体系详解
- 面向对象设计:准则、启发规则与系统分解
- 程序设计基础与算法解析
- 算法与程序设计基础概览
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)