Press "Enter" to skip to content

一种图神经网络时序模型在工业化场景上的实践探索

本站内容均来自兴趣收集,如不慎侵害的您的相关权益,请留言告知,我们将尽快删除.谢谢.

©原创作者 | 小欣

 

原标题:异步传播注意力图神经网络(APAN)简介,一种图神经网络时序模型在工业化场景上的实践探索

 

01 图神经网络在工业场景上的瓶颈

 

传统的图模型通常执行两个串行操作:首先是图查询,然后是模型推理,由于查询 k-hop 邻居的时间复杂度比较大,很多图算法在时序神经网络模型中无法执行快速推理,因此,极大地限制了图算法的工业化推广。

 

为了解决这个问题,来自上海交通大学的团队和蚂蚁金融的团队,联合提出了异步传播注意力图神经网络算法(APAN),该算法将模型推理和图计算解耦,使得图计算独立执行而不会影响模型推理的速度。

 

通过多次试验测试,在相同的环境下,模型推理的速度比传统方法提升了8.7倍。

 

下面来给小伙伴们做一下简单的介绍吧!

 

02 异步传播注意力神经网络(APAN)的算法介绍

 

图神经网络(GNN)是当前流流行的事物复杂网络关系的一种神经网络结构,通常由节点和边组成。G = { V,E} V代表图中节点的集合,E代表图中边的集合。

 

在实际应用中,如何对图形建模,并将数据表示为低维嵌入向量,已成为学者研究的关键问题。

 

到目前为止,大部分图神经网络的工作,如DeepWalk和SAGE,都是假定图本身是静态的,这就意味着图结构是固定的,且和时间是无关的。

 

然而,在大部分实际的生活场景中,图网络是动态的,节点和边可以随着时间变化而改变,甚至连节点的属性也会发生变化。

 

例如在社交的图网络结构中,用户经常由于一个热点事件,而转移对实体的兴趣;在经济网络中,欺诈者会突然做出一系列的非法的操作,然后在最短的时间内撤回资金。

 

如果我们采用静态图的方法,对动态网络进行建模,那将会非常简单高效,但是这样我们就无法捕捉拓扑结构中的变化模式。

 

此外,当我们学习动态网络节点上的特征时,我们需要同时考虑历史事件和即将发生的事件的影响。可以想象,动态图的研究难度是巨大的,比静态情况下要难很多。

 

随着静态图深度学习算法的成熟,许多研究人员已经开始提出一些动态GNN算法来克服这些问题,期望提升普通GNN方法在动态图中的能力。

 

一般来说,动态图算法大致可分为两类:离散时间动态图(DTDG),连续时间动态图(CTDG)。

 

DTDG算法,例如EPNE和E-LSTM-D,通常会转换整个将动态图按时间间隔转换为一系列静态子图,这些方法使用离散时间窗口来表示节点之间的连续时间交互。因此,DTDG模型的性能对窗口大学参数的选择非常敏感,而随时间变化的特征将会在快照中丢失。

 

近年来,基于CTDG的图算法受到图算法研究社区越来越多的关注。这些范式算法设计用于处理成批的时间交互基于快照的DTDG算法。大多数CTDG算法,例如TGAT和TGN所述,通过由事件触发的时间子图聚合。

 

尽管CTDG算法比DTDG和静态图算法更高的性能,但是在线模型推理的时候存在比较高的延迟。当多个节点产生信息交互时,CTDG需要访问其k-hop的邻居节点,这种随机的查询操作非常耗时,并且占用了模型推理的大部分时间。

 

在欺诈检测任务中,模型推理时间面临较大的挑战。如果欺诈检测系统无法立即禁止欺诈交易,欺诈者可能会在系统响应之前提取非法资金,从而逃避平台的监控,给金融平台和用户造成无法估量的损失。

 

 

据我们所知,没有人克服CTDG算法的这些严重问题。因此,我们设计了一个新的CTDG算法,称为异步CTDG解耦模型推理和图形计算。为了便于解释,我们将类似TGAT的算法称为同步CTDG。

 

在上图中,我们解释了同步和异步CTDG。直观地说,异步的CTDG可以满足我们的要求,但异步CTDG绝不像调整图形的顺序那幺简单。异步传播注意网络(APAN)是我们的提的满足上述条件的模型。

 

 

图(a) Continuous Time Dynamic Graph (CTDG)是一种边上有时间标签的图神经网络,在这个图结构中,节点之间通过时间标签的顺序来进行交互,两个节点在不同的时间可以进行多重互动。当一个节点存在交互时,我们就更新节点的向量,所以一个节点通常有多个动态的向量。

 

图(b)如果忽略时间因素,我们把CTDG看做一个静态图,那幺此时图中的一个路径,节点4->节点1->节点2 就被视为一个有效图路径。但是很明显,这种做法对时间是无效的,节点向量无法表示不同时间的不同信息值。

 

图(c) DTDG算法不仅无法体现完整的有效路径(如 节点1->节点2->节点5),同样无法解决路径会随时间而失效的问题。

 

异步传播注意力神经网络 (APAN) 是我们提出的满足异步CTDG算法框架的模型,APAN有两条主要逻辑线:同步推理和异步传播,在异步的这条逻辑线上,交互完成时,详细的交互信息,会以“邮件”的方式,发送到“邮箱”中。

 

当进行模型推理的时候,APAN不需要在图中查询相邻节点的信息,只需要在相邻节点的“邮箱”中读出已保存的信息,然后用于实时的模型推理。

 

03 异步传播注意力神经网络(APAN)的实现步骤和方法

 

异步传播注意力神经网络(APAN)总体上分为三个部分:编码器,解码器,传播器。其中编码器和解码器是同步进行的,同时他们不需要在图数据库中查询相邻节点的信息,因此,模型推理时的时间就很短,用户可以更好的体验。

 

 

上图为APAN模型,在这个模型中,使用了一个实时图向量的异步CTDG算法。我们使用基于编码器的注意力网络,基于解码器的多层感知器,和异步邮件传播模块共同组成了APAN模型。

 

模型中当节点之间产生信息交互时,编码器根据创建一个最新的节点向量,并更新到邮箱中。需注意的是,如果一个节点在一段时间的交互中出现了多次,此时只会产生一个节点向量。

 

即使这样,在整体上来说,每当一个节点参与了一次信息交互,会得到一个新的节点向量,这个向量给了模型学习动态图的能力。之后多层感知解码器会使用节点向量来实现下游任务,如:链路预测,节点分类,边分类等。

 

模型当产生实时交互的向量时,邮件传播器先创建一个交互的邮件,然后传播给k-hop邻居的邮箱中。因此,邮件传播器在异步进程中,并不会对用户的体验造成影响,因此可以使用复杂的结构。

 

 

04 数据集验证

 

我们从三个大规模工业数据集上,针对链路预测、节点分类和边缘分类任务,和各种强基线(在可能的情况下适用于时间设置)及竞争方法测试了所提方法的性能。

 

Wikipedia数据集:

 

是一个两部分数据组成的数据集,包含了平台上一个月时间内9300个节点信息和160000条边的信息,节点代表用户,边代表用户编辑页面,动态标签代表用户是否是禁止发布。

 

Reddit数据集:

 

该数据集同样由两部分组成,包含了用户的11000个节点和700000条边的信息。Reddit数据集中一次信息交互,代表用户提交了一条信息,动态标签表示用户是否被封禁。

 

 

如上图,链路预测任务中,图中显示了不同数据集在不同算法下的Accuracy和AP,黑体字为最优指标,带有下划线的为次优指标。

 

 

在上图中,针对节点分类和边的分类任务,APAN算法,在AUC指标的表现也比较优秀。

 

结论:APAN用于解决传统CTDG算法的线上部署和实时模型推理的问题。根据多次的实现结果,APAN算法比传统的CTDG算法在性能上提升了7.8倍,有着巨大的工业应用场景。

 

Be First to Comment

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注