《Anomaly Detection in Dynamic Graphs viaTransformer》论文解读

文章链接:2106.09876v1.pdf (arxiv.org)

代码链接:GitHub - yuetan031/TADDY_pytorch: A Pytorch implement of paper "Anomaly detection in dynamic graphs via transformer" (TADDY).

 摘要:动态图的异常检测由于其在社交网络、电子商务和网络安全中的广泛应用而引起越来越多的关注。最近基于深度学习的方法已经显示更优异的结果。然而,它们未能解决动态图中异常检测的两个核心挑战:缺乏对无属性节点的信息编码以及难以从耦合的时空动态图中学习判别知识。为了克服这些挑战,在本文中,我们提出了一种基于Transform动态图异常检测框架(TADDY)。我们的框架构建了一个综合的节点编码方法,以更好地代表每个节点的结构和时间的信息在时间序列图中。同时,TADDY通过动态图Transformer模型从具有耦合时空模式的动态图中捕获信息表示。大量的实验结果表明,我们提出的TADDY框架优于SOTA。

模型介绍

 TADDY由四个组件组成,即基于边缘的子结构采样时空节点编码动态图Transformer异常检测器。该框架以端到端的方式进行训练。首先,为了捕获每个目标边缘的时空上下文,我们执行基于边缘的子结构采样以获取多个时间戳中的目标节点和上下文节点。然后,时空节点编码生成节点编码作为Transformer模型的输入。每个节点的空间和时间信息都被集成到固定长度编码中。然后,动态图Transformer提取边的时空信息。最后,在判别异常检测器中,我们执行负采样以生成伪负边缘,并且采用由二进制交叉熵损失训练的边缘评分模块来计算输出异常分数。

Edge-based Substructure Sampling

异常经常发生在图的局部子结构中,这表明我们应该将我们的感受野放大到合适的局部尺度。而不是工作在一个完整的动态图,我们首先采样子结构作为我们的异常检测框架的数据元素。由于我们专注于检测异常边缘,因此我们执行基于边缘的采样:动态图中的每条边被视为采样子结构的中心,并被表示为目标边。对于给定的目标边,我们将源节点和到达节点表示为目标节点。目标节点的相邻节点称为上下文节点。

借用图扩散技术来为每个目标边缘采样固定大小和重要性感知的上下文节点集。通过图扩散,获得图结构的全局视图,然后我们可以量化每个节点对于给定目标节点/边的重要性。形式上,给定静态图A\in \mathbb{R}^{n\times n}的邻接矩阵,我们定义图扩散S\in \mathbb{R}^{n\times n}

\mathbf{S}=\sum_{k=0}^{\infty} \theta_{k} \mathbf{T}^{k}

其中T\in \mathbb{R}^{n\times n}是广义转移矩阵,\theta _{k}是决定全局信息与局部信息之比的加权系数。

给定扩散矩阵S,行s_{i}(一维向量)指示从全局角度来看第i个节点与每个节点之间的连接性。例如,s_{i,j}表示具有连续值的第i个节点和第j个节点之间的连通度。通过利用这个属性,我们可以为给定的目标边挑选固定数量的最重要的封闭节点。以e_{tgt} =(v1,v2)为例,我们可以通过将两个目标节点的连通性向量相加来计算e_{tgt}的连通性向量:

\mathbf{s}_{e_{\mathrm{tgt}}}=\mathbf{s}_{v_{1}}+\mathbf{s}_{v_{2}}

然后,我们对\mathbf{s}_{e_{\mathrm{tgt}}}(是一维向量,里面是每个节点的连通性数值)进行排序,并选择具有较大值的top-k节点以形成上下文节点集U。注意,当选择前k个连接节点时,应该排除目标节点本身。最后,子结构的采样节点集可以表示为上下文节点集和目标节点的并集,其可以形式化为S(e_{tgt})={v_{1},v_{2},U(e_{tgt})}

根据基于扩散的采样,我们可以从单个静态图中生成上下文节点。然而,对于动态图,应该考虑多个时间戳来捕捉动态演化。在这里,我们简单地将静态采样方法扩展到动态图。给定时间戳t处的目标边e_{tgt}^{t}=v_{1}^{t},v_{2}^{t}。通过滑动窗口机制,TADDY能够捕捉时间戳(t − τ + 1)和t之间的动态演变。然后,对于每个Gi ,我们计算扩散矩阵并得到相应的连通性向量。通过挑选前k个节点并添加目标节点,第i个时间戳的子结构节点集可以被采样为S^{i}(e_{tgt}^{t})。通过将多个时间戳的节点集集成在一起,我们可以得到最终的子结构节点集S(e_{tgt}^{t})=\bigcup_{i=t-\tau +1}^{t}S^{i}(e_{tgt}^{t})

Spatial-temporal Node Encoding

本文研究的动态图节点是无属性的,这就提出了如何从无属性动态图中构造信息编码作为网络输入的问题。类似于NLP中的one-hot编码的概念,可用的解决方案是使用身份节点编码作为原始节点特征,其中唯一的one-hot向量表示每个节点。然而,身份节点编码具有两个限制。首先,one-hot编码不能包含足够的结构和时间信息。one-hot编码只表示节点的身份,难以表达节点的结构角色和时间状态。第二,标识节点编码对大规模和节点变化的动态图不友好。第三,固定维数不能适应动态图中常见的节点集的动态变化。

受Transformer中位置编码的启发,我们引入了一种新的动态图的时空节点编码。所提出的节点编码包括三个组件,即基于扩散的空间编码基于距离的空间编码,和相对时间编码。空间编码的两个术语分别从全局和局部角度表示每个节点的结构角色。不同地,时间编码项提供子结构节点集合中的每个元素的时间信息。最后,将三个编码项融合为包含全面时空信息的输入节点编码。请注意,我们通过可学习的线性投影生成编码,原因是可学习函数更灵活地模拟不同时间戳或位置之间的相关性。

Diffusion-based Spatial Encoding

基于图扩散的空间编码。为了防止由相似扩散值引起的不可区分的编码,我们不直接采用原始扩散值,而是使用基于秩的编码。具体而言,对于单个时间戳子结构节点集v_{j}^{i} \in S^{i}(e_{tgt}^{t})中的每个节点,根据其扩散值对节点进行排序,并采用排序作为数据。使用可学习的编码函数(单层线性映射)计算基于扩散的空间编码。基于扩散的空间编码的定义给出为:

 Distance-based Spatial Encoding

基于距离的空间编码表示目标边缘周围的局部连接。具体地,对于单时间戳子结构节点集合v_{j}^{i} \in S^{i}(e_{tgt}^{t})中的每个节点,我们将其到目标边缘的距离表示为用于编码的数据。到目标边缘的距离可以被分解为到两个目标节点的相对距离的最小值对于目标节点本身,距离表示为0。单层线性映射被用作可学习的编码函数,这与基于扩散的编码相同。形式上,基于距离的空间编码可以表示为:

 Relative Temporal Encoding

时间编码是为了表示子结构节点集中每个节点的时间信息。相对时间编码定义为目标边缘的出现时间t与时间戳i的当前时间之差。我们的主要任务是预测目标边缘的合法性,因此相对于目标边缘的时间是异常检测的一个更重要的因素。类似的线性映射也被应用作为编码函数,并且相对时间编码的形式表达被给出为:

Encoding Fusion

为了提高运行效率,我们将融合节点编码定义为三个编码项的总和,而不是将它们连接成具有更高维度的向量。编码融合形式化如下:

给定一条目标边,编码为:

 Dynamic Graph Transformer

为了学习动态图中的空间和时间知识,我们建议单独采用Transformer模型作为编码器。利用节点编码的多个时间戳作为输入,动态图Transformer可以用单个编码器同时捕获空间和时间特征。动态图形Transformer由两个模块组成:Transformer和池化。利用Transformer模块,通过注意机制获取丰富的跨领域知识,最后由注意层生成信息丰富的节点嵌入。之后,池化将子结构节点集中的所有节点的嵌入聚合到目标边的嵌入向量中。

Transformer Module

Transformer模块的目标是将子结构节点集合内的节点的编码聚合为节点嵌入。为此,利用多个关注层来交换不同节点的信息。具体而言,单个注意层可以写为:

 

通过自适应地聚合所有节点的信息来获得每个节点的输出。在我们的Transformer模块中,变换器模块第0层的输入被定义为目标边缘的编码矩阵。最终层L的输出表示为Transformer模块的输出节点嵌入矩阵Z,其中每行表示对应节点的嵌入向量。 

Pooling Module

Discriminative Anomaly Detector 

在获取边缘嵌入之后,异常检测的目标是学习动态图中的每个边缘的异常得分。在这里,我们考虑一个端到端的框架,其中基于神经网络的异常检测器计算异常分数。通过负采样策略生成伪异常边缘,并使用训练集中的现有边缘(正)以及伪异常边缘(负)一起训练异常检测器。

对于边数为m^{t}的图的每个时间戳,我们随机抽取相等数目的节点对作为负对的候选。然后,我们检查所有这些节点对,以确保它们不属于所有训练时间戳中现有的正常边集,我们重新采样一个新的节点对,并对每个非法节点对进行验证,直到节点对有效。负采样后,利用上下文采样获取每个负边的子结构节点集,并进行时空节点编码。然后,编码被馈送到动态图Transformer模型,以获得负边缘的嵌入。

构造异常检测器来区分正边缘嵌入和负边缘嵌入。具有Sigmoid激活的全连接神经网络层被用作计算边缘嵌入的异常分数的评分模块,其形式化为:

模型伪代码 

 

该框架以迭代和端到端的方式进行训练。在每次迭代中,对不同的负边缘进行采样以防止训练偏差和过拟合。对于所有的正边和负边,我们依次执行子结构采样、节点编码、Transformer嵌入和异常得分计算。最后,通过反向传播的监督下的二进制交叉熵损失函数的参数更新。

实验结果

 

 

 

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: "朝着工业异常检测的全面回忆迈进"是指致力于实现在工业生产过程中对异常情况的全面回溯和记录。这样的系统可以帮助企业快速识别和解决异常情况,提高生产效率和质量。实现这样的系统需要采集大量的生产数据,并利用先进的算法进行处理和分析。同时,还需要建立可靠的数据存储和管理系统,确保数据的完整性和安全性。总的来说,实现工业异常检测的全面回溯需要跨学科的协作和技术的支持。 ### 回答2: 在工业系统中,异常检测是一个非常关键的任务,一旦异常被检测到,可以及时采取措施来避免生产线的停滞和工业事故的发生。为了提高异常检测的准确性和效率,研究人员正在不断尝试将人类的记忆方式应用到机器学习中,实现“完全回忆”。 目前,工业异常检测中常用的方法是基于统计学的方法,但这些方法的缺点是需要大量的数据和专业知识,而且无法处理复杂和多变的数据。相反,人类的大脑能够准确地理解环境中的各种信号,并快速地做出反应。为了实现这种类似于人类的记忆功能,人工智能领域提出了不同的方法,如深度学习神经网络等。 其中,深度学习已经被证明是在工业异常检测中最有效的方法之一,尤其是在处理大量数据时。深度学习模型可以通过输入工业数据和异常数据进行训练,在预测生产过程中的异常时表现出色。但是,为了实现“完全回忆”,还需要解决模型在面对新型异常时的适应问题。 一个可能的解决方案是构建一个基于迁移学习的模型,该模型可以从已有的异常数据中学习到经验,并在发现新型异常时自动适应。此外,研究人员可以尝试使用更加先进的人工智能技术,如注意力机制和增强学习,来提高模型的准确性和可靠性。 总之,通过应用类似于人类记忆功能的深度学习模型和其他人工智能技术,工业异常检测可以更加准确、高效,并可以实现“完全回忆”。这将对工业生产的安全和效率有着积极的影响。 ### 回答3: 近年来,随着物联网技术的快速发展,大量的传感器数据被收集并用于工业异常检测。异常检测是工业生产中非常重要的一个环节,它能帮助企业实时识别和处理生产过程中的异常情况,从而提高生产效率、降低成本、提升产品质量。但工业环境下存在各种噪声、复杂运行条件和复杂的生产过程等挑战,因此确保工业异常检测的精确性至关重要。 为了实现更精确的工业异常检测,研究人员提出了“全面回忆”的概念,旨在通过利用所有可用信息来识别一些异常情况。具体来说,全面回忆从三个方面着手:一是从数据收集开始,尽可能多地收集机器的输出数据。二是利用深度学习等技术有效地处理这些数据,从而进行分类和聚类分析。三是结合专家领域知识,利用额外的信息来完成异常识别和分析。 实现全面回忆的目标需要考虑多个方面的技术挑战。首先,需要设计创新的数据集、流水线和算法,以捕获复杂工业环境中的多方面信息和随时间变化的变化情况。其次,需要利用大规模的计算机资源来实现高效的数据处理和模型训练。此外,还需要设计到位的专家领域知识建模和融合策略,以确保高准确度和高鲁棒性的异常检测。 总之,全面回忆是工业异常检测研究领域的一个重要方向,它将为挖掘大量生产数据提供强有力的支持,有望为工业生产的智能化和智能化水平提高做出重要贡献。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值