亿展宏图 第五篇|基于异构图的深度学习算法
作者|张子韬
编辑|林颖
供稿|eBay支付风控团队
本文共4074字,预计阅读时间10分钟
更多干货请关注“eBay技术荟”公众号
导读
“亿展宏图”是eBay支付风控团队推出的系列文章,分享了eBay风控团队工作在图算法方面的一些理解和研究。在上期的亿展宏图 第四篇|当图算法遇到大数据里,我们介绍了解决海量数据问题的方法。本期亿展宏图,本篇文章将基于异构图这一种网络结构,介绍一种新的图神经网络: 异构图神经网络(Hetergeneous Graph Neural Nets)。同时,本篇文章以交易风险预测为背景,还将介绍一种我们开发的xFraud异构图算法模型。
背景
现实生活中很多数据都是可以用图结构表示的。但是,在之前的图结构中,我们往往为了简化而忽略了图中不同类型的节点和边,而现实中的图结构大多数是由多种不同类型的节点和边组成的。
以交易风险预测为背景,本文将介绍我们开发的基于异构图结构的深度学习模型——xFraud。在实验中,xFraud与其他常见类型的风险预测模型相比,在AUC(Area under curve)上均获得了显著的提升,同时它还兼顾了对风险预测的图结构性解释,更有助于我们的BU(Business Unit)来理解发现风险传播的途径和模式。
一、为什么用异构图
一种异构图神经网络模型的例子[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)
异构消息传递主要是为了从源节点抽取出信息,并向目标节点传递,如下公式所示。
这一步是和互注意力的计算并行的,目标是将不同边的元关系合并到消息传递过程中。
针对特定任务的聚合通过使用注意力系数作为权重,来聚合邻居的信息。对于目标节点,根据周围每个邻居节点(源节点)与其相互注意力向量作为权重,对传递来的信息进行加权平均,如上图所示,得到更新后的向量为:
上述三个环节构成了一个完整的异构图卷积层,如下图所示。
(点击可查看大图)
我们将每一层的输出𝐻l(𝑣𝑡)作为下一层卷积的输入,像这样重复L次,我们就可以得到基于每个交易节点的特征向量表达𝐻L(𝑣𝑡),如下图所示。
(点击可查看大图)
2、判别器
在得到了目标交易的特征向量表达𝐻𝑙(𝑣𝑡)后,我们将其与交易本身的特征X𝑣t聚合并输入到一个的多层神经网络感知器(Multilayer Perceptron)中,如下图所示,最终得到对于该交易节点的预测输出。
(点击可查看大图)
在我们的实验结果(如下表所示)中,xFraud detector在风险预测场景中,相比于其他同构图算法,AUC(Area under curve)指标高于其他模型,表现出更高的准确性,这证明了异构图所包含的异构信息在交易欺诈场景下的风险预测确实是有帮助的。
三、异构图解释性
在第一节我们提到过,异构图相比于同构图有一大优势是易于理解。那么该怎么理解风险在交易欺诈场景中,是如何通过异构图来表现交易网络传播的呢?
(点击可查看大图)
当我们遮盖住目标节点的一些邻居节点以及对应的边时,我们训练好的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大量优质职位虚席以待
我们的身边,还缺一个你