查看原文
其他

亿展宏图 第五篇|基于异构图的深度学习算法

张子韬 eBay技术荟 2022-12-29

作者|张子韬

编辑|林颖

供稿|eBay支付风控团队

本文共4074字,预计阅读时间10分钟

更多干货请关注“eBay技术荟”公众号


导读

“亿展宏图”是eBay支付风控团队推出的系列文章,分享了eBay风控团队工作在图算法方面的一些理解和研究。在上期的亿展宏图 第四篇|当图算法遇到大数据里,我们介绍了解决海量数据问题的方法。本期亿展宏图,本篇文章将基于异构图这一种网络结构,介绍一种新的图神经网络: 异构图神经网络(Hetergeneous Graph Neural Nets)。同时,本篇文章以交易风险预测为背景,还将介绍一种我们开发的xFraud异构图算法模型。



背景


现实生活中很多数据都是可以用图结构表示的。但是,在之前的图结构中,我们往往为了简化而忽略了图中不同类型的节点和边,而现实中的图结构大多数是由多种不同类型的节点和边组成的。

举例来说,某一社交平台中,节点的类型有用户、推文、群组,边的类型有关注、发布、收藏、包含等,事件有用户关注用户、用户发布推文、用户收藏推文、群组包含用户。像这样一种同时包含多种节点和边的类型组成的图,如下图左边所示,我们称之为异构图(Hetergeneous Graph)。

以交易风险预测为背景,本文将介绍我们开发的基于异构图结构的深度学习模型——xFraud。在实验中,xFraud与其他常见类型的风险预测模型相比,在AUC(Area under curve)上均获得了显著的提升,同时它还兼顾了对风险预测的图结构性解释,更有助于我们的BU(Business Unit)来理解发现风险传播的途径和模式。


一、为什么用异构图

在同构图(Homogeneous Graph)上,我们已经有很成熟的图神经网络解决方案了。但是在异构图中引入了多种节点/边的类型,如下图所示,这势必会大幅度增加模型复杂度以及算法复杂度。

一种异构图神经网络模型的例子[1]

(点击可查看大图)


那为什么我们还需要异构图?这是因为异构图有如下优点:


1、增加信息含量

在同构图中,只存在单一的节点和边类型,包含的信息较少。在预测交易风险时,同构图一般只以交易本身作为节点,如下图所示,当两笔【交易】共享同一个属性时(比如同一个【买家】、同一个【信用卡】、同一个【收件地址】等),这两笔【交易】会被关联起来,但是这一关联关系本身所包含的信息就损失了。举例来说,信用卡一般是一个比较强的关联,而地址就弱一些。但是由信用卡被关联起来的,和由地址被关联起来的两笔交易,在同构图中表现的结果是相同的。

而异构图中,两个节点是通过不同语义路径连接的,这两点一路径组成的单元称为元路径(meta-path)。如下图所示,【交易】-【信用卡】-【交易】和【交易】-【地址】-【交易】都是元路径,而不同的元路径会包含不同的语义信息,更多的交易细节得以保留。这对于模型表现的提升无疑是有益的。一个【交易】-【信用卡】-【交易】的元路径对于风险的预测往往比【交易】-【地址】-【交易】的元路径更有价值、更有效。


2、减少冗余边

相比于同构图,异构图可以存在一些入度/出度较大的节点,而图的复杂度却不会显著增加。

例如下图所示,【收件地址】中存在转运仓。在左边同构图中,对于转运仓,可以预料到会有大量的交易与之相关。这些交易由转运仓两两相连,会使得边的数量大幅度提升。而在异构图中,只需要增加少量节点和少量边就可以达到相同的效果。


3、直观上易于理解

异构图还有一个优势就是易于理解。如下图所示,左侧的同构图中会省略连边信息,将所有节点直接两两相连,这样的构图方式比较抽象。而异构图的构图方式直观上更加接近于常人对于网络结构的本能认识。特别是当图结构比较复杂时,由于异构图减少了冗余边,对于用户来说理解起来往往比同构图简便得多,这对于我们之后解释图神经网络也是相当有帮助的。

同构图与异构图[2]



二、如何构建异构图神经网络

既然异构图可以增加信息含量、减少冗余边,可以更直观地表达信息让人易于理解,那么在我们实际场景中,构建异构图神经网络就可以帮助我们更好地解决问题。本节将针对交易欺诈场景,来展示一个简单二元分类器的简单应用。

为了简化交易场景构图,我们选取【交易(transaction)】、【买家(buyer)】、【支付令牌(payment token)】、【邮箱(email)】、以及【收货地址(shipping address)】构建异构图。为了简化称呼,下文中将【买家】、【支付令牌】、【邮箱】和【收件地址】统一称为【实体(entity)】。每一笔【交易】(如下图所示)会连接1~4个不同的【实体】,而每个【实体】可以同时连接不限数量的多笔交易。

在构建异构图神经网络中,我们从异质图转换架构(Heterogeneous Graph Transformer, HGT)中收到启发,提出了xFraud模型,更多详细内容可见论文:“xFraud: Explainable Fraud Transaction Detection on Heterogeneous Graphs”[3]。这一模型可以针对交易欺诈场景,利用异构图,进行可解释地风险性探测。

(点击可查看大图)


风险探测器(xFraud detector)的主体由异构卷积层堆叠构成,首先将【交易】、【实体】以及传播路径的特征抽取出来,再进行学习聚合成特征向量,传入判别器来获得对于目标交易节点风险大小的评估值。


1、异构卷积层

异构卷积层可分为三个模块,分别是异构互注意力异构消息传递针对特定任务的聚合

1)异构互注意力(Heterogeneous Mutual Attention)

异构互注意力可以评估每个源节点的重要性。具体计算过程如下图所示,源节点s和目标节点t分别根据其节点类型的嵌入特征、本身的特征向量、边类型的嵌入特征,计算其相互注意力向量,该向量代表源节点通过边(e)对于目标节点的重要程度。

(点击可查看大图)


2)异构消息传递(Heterogeneous Message Passing)

异构消息传递主要是为了从源节点抽取出信息,并向目标节点传递,如下公式所示。

这一步是和互注意力的计算并行的,目标是将不同边的元关系合并到消息传递过程中。

3)针对特定任务的聚合(Target-Specific Aggregation)

针对特定任务的聚合通过使用注意力系数作为权重,来聚合邻居的信息。对于目标节点,根据周围每个邻居节点(源节点)与其相互注意力向量作为权重,对传递来的信息进行加权平均,如上图所示,得到更新后的向量为:

上述三个环节构成了一个完整的异构图卷积层,如下图所示。

(点击可查看大图)


我们将每一层的输出𝐻l(𝑣𝑡)作为下一层卷积的输入,像这样重复L次,我们就可以得到基于每个交易节点的特征向量表达𝐻L(𝑣𝑡),如下图所示。

(点击可查看大图)



2、判别器

在得到了目标交易的特征向量表达𝐻𝑙(𝑣𝑡)后,我们将其与交易本身的特征X𝑣t聚合并输入到一个的多层神经网络感知器(Multilayer Perceptron)中,如下图所示,最终得到对于该交易节点的预测输出。

(点击可查看大图)


在我们的实验结果(如下表所示)中,xFraud detector在风险预测场景中,相比于其他同构图算法,AUC(Area under curve)指标高于其他模型,表现出更高的准确性,这证明了异构图所包含的异构信息在交易欺诈场景下的风险预测确实是有帮助的。


三、异构图解释性

在第一节我们提到过,异构图相比于同构图有一大优势是易于理解。那么该怎么理解风险在交易欺诈场景中,是如何通过异构图来表现交易网络传播的呢?

我们基于GNNExplainer进行改进,从而提出了风险解释器(xFraud explainer),以此来分析异构图交易场景中的特征以及图结构对于节点预测的贡献。如下图所示,xFraud Explainer将之前训练好的探测器网络参数权重作为评价器(evaluator)。同时,输入经过遮盖(mask)的特征向量和局部图,获得对于目标点的预测损失(loss)。通过将损失最小化,我们可以获得对于目标点较重要的一组边和特征。

(点击可查看大图)


当我们遮盖住目标节点的一些邻居节点以及对应的边时,我们训练好的xFraud detector的预测结果会发生偏差。如下图所示,对目标节点风险,传播越重要的点边关系,被遮盖后的预测结果影响越大。对于节点特征也是如此,我们遮盖住越是重要的部分特征,对预测结果的影响也就越大。如此一来,我们可以对于每一个目标节点,获得对其预测结果最重要的几组点边关系以及节点特征。有了这样一组重要的点边/节点特征,我们就可以更直观的来挖掘案例中目标节点是为什么被判断为风险交易/正常交易。这就是xFraud Explainer的整体思路。

下面我们通过一个案例更直观的展现异构图的解释性。

下图展示了一个可能的盗刷(stolen financial)案例。图中标记为【×】的节点0是xFraud detector预测为有风险的交易。图中连边颜色越深代表这条边对于风险传播越重要。从图中我们可以看到,目标点0被判定为高风险的原因是他连接了【实体1】、【实体2】、【实体4】,而这几个【实体】又与一系列的高风险交易相关联(左上角橙色圆点)。同时,在风险交易中,我们又可以看到【交易8】、【交易9】、【交易14】、【交易18】这几个点拥有较大的边贡献权重(边颜色较深),意味这着几个【交易】对于风险传播更加重要。

(点击可查看大图)


此外,左下角的热力图(如下图所示)显示了【实体1】、【实体2】、【实体3】、【实体4】在两个交易的时间段内的风险评分存在非常明显的时效性(时间戳在6~13之间为高风险,31~36为低风险)。由此,我们猜测图中的例子可能是一起【支付令牌】盗刷案例(stolen financial)。在本案例中,【支付令牌】被欺诈者(fraudster)盗用并且进行了一系列的盗刷行为(时间戳6~13),随后【支付令牌】原主人发现了盗刷后向支付渠道商提出退款并且取回【支付令牌】,在此之后原主人又进行了一些正常交易,【实体】的风险评分下降到正常水平(时间戳31之后)。

通过上述xFraud Explainer的可视化解析,我们可以更加直观简洁地分析具体案例,并且找到案例背后潜在的故事。


总结

上述虽只举了一个简单的交易欺诈场景例子,只涉及到少数几种点边关系。但是这个案例表明通过构建异构图的方法确实可以帮助我们更好地预测风险交易。而除了本文中简化的【交易】和【实体】节点类型,现实中的交易可以引入更多点边种类,比如【商品类别】、【商户注册地】等等。正是因为如此,我们更需要异构图这项技术,来帮助我们更好的描述现实中的网络。下一期将展示如何在海量数据的大图上构建基于相似度的边,并通过高性能的聚类算法进行聚类并定位恶意注册团伙,下期也精彩,千万不要错过呦!


参考资料:

[1]https://www.cnblogs.com/justLittleStar/ p/11728350.html

[2]https://guides.co/g/the-network-effects-bible/121732

[3]https://arxiv.org/abs/2011.12193


往期推荐

亿展宏图 第一篇|两张图入门图算法

亿展宏图 第二篇|图算法在eBay支付风控领域的应用

亿展宏图 第三篇|如何高性能训练图神经网络

亿展宏图 第四篇|当图算法遇到大数据


点击阅读原文,一键投递

       eBay大量优质职位虚席以待

       我们的身边,还缺一个你


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存