分享

伊利诺伊大学窦英通:基于图神经网络的欺诈检测

 精诚至_金石开 2022-01-12

图片


分享嘉宾:窦英通 伊利诺伊大学芝加哥分校

编辑整理:郭艳 中山大学

出品平台:DataFunTalk


导读:本文是一篇来自学术界的分享,不会讲太多的具体实操案例,而是根据我对于欺诈检测领域的了解以及学术界的论文,介绍这些论文的发展脉络和论文中一些代表性的工作,以及从论文中总结出如何更好地把图神经网络应用到欺诈检测问题中的方法论。最后,还会给出一些相关资源以及我们实验室做的一些开源项目供大家参考。文中提到的论文和资源,大家如果感兴趣可以进一步研究和学习。

本文主要包含以下几大方面:

  • 背景介绍

  • 研究历程

  • 应用方法

  • 相关资源

01
背景介绍

1. 什么是欺诈

根据美国法典,欺诈有四个方面:

  • 对事实的错误表达

  • 从一个人到另外一个人or从一个企业到另外一个企业

  • 欺诈者知道事情的虚假性

  • 欺诈者通过欺诈引诱别人产生其他行为

下面我们通过比较不同概念来更好地定义欺诈者:

  • 欺诈者vs.黑客
    首先比较一下欺诈者和黑客的定义。大多数的欺诈者不是黑客,常见的欺诈者主要利用一些规则的漏洞,但是并没有破坏安全系统(黑客所为);但是也有一些黑客通过破坏系统来达到欺诈的目的。
  • 欺诈vs.异常

    再来说说欺诈和异常的区别。首先很多欺诈,并不属于异常,从后台数据来看,很多欺诈者的表现和正常用户并无明显区别,但是可能对于某个业务来说,其行为又确实属于欺诈。同时,很多异常也不属于欺诈,很多异常可能是别的原因导致的,所以它的目的不一定是欺诈。

图片

上图右下,是百度上某一个APP的搜索趋势图,可以看到,该APP在某一天在百度上的搜索量很大。为什么当时我们会搜索APP,是因为我们在应用市场的后台中检测发现它在某一天的下载量暴增。从应用市场的角度来说,这是一个异常行为。为了弄清楚这个异常行为是否是欺诈(刷下载量),我们反过来去搜APP。故而在应用市场该APP下载量暴增的一天,其在百度的搜索量也暴增。这说明它的下载量暴增并不一定是通过一些刷量行为到达的,而可能是该APP进行了一些推广活动。如果它在各个平台上的流量都增加的话,那么这就不是一个欺诈行为,而只是一个异常行为。

2. 欺诈的种类

欺诈有很多不同的类别。首先一大类是社交网络上的欺诈,例如社交网络上的机器人、虚假信息、虚假账户、虚假链接等等。

另一大类是金融领域的欺诈(风险控制),比较典型的例如对用户贷款违约概率的评估、对保险的信用度评估,还有对洗钱的检测,虚假交易检测、信用卡套现检测,还包括最近在比特币、区块链上的欺诈检测等等。

除以上两大类之外,还有很多其他类型的欺诈行为,例如广告流量欺诈、CTR造假、手机APP的虚假留存、电商的羊毛党、众包攻击、游戏外挂等等。从宏观上来说,这些行为都属于欺诈的范畴。

随着深度学习在欺诈检测问题的应用越来越多,欺诈检测领域逐渐变成了数据科学、安全和机器学习三个大领域的交叉领域,需要三个领域的知识去完成欺诈检测或者完成风控系统的设计。

3. 基于GNN的欺诈检测

接下来,我们介绍图神经网络在欺诈检测中的应用,主要分三步:

图片

(1) 构建图

主要通过后台的各种日志,比如说用户的日志,提取日志中用户的信息,组成图中的节点,通过用户之间的关系,组成图中的边,从而完成图的构建。

(2) 训练图神经网络学习图中信息

学习到的信息可以是节点的Embedding、边的Embedding或者图的Embedding。

(3) 基于Embedding训练分类器

基于第二步得到的Embedding和已知的一些标签信息,例如上图,已知红色节点为欺诈者,黑色节点标签未知,根据已知的标签训练分类器来得到对未知标签节点的预测。

以上三步就是图神经网络应用的经典的三个步骤。其核心思想为同质性假设,即图中相连节点是相似的。比如在欺诈检测问题中,同质性假设认为,正常用户更多地和正常用户互动,而异常用户更多地和异常用户互动。这是图神经网络应用到欺诈检测的一个最基本的假设。

02
研究历程

图片

上图从论文的角度介绍了图神经网络在欺诈检测领域的研究情况,我们先来看一下整个历程,后面还会详细介绍4篇比较具有代表性的论文(图中框中的部分)。

首先就是2018年的GraphRAD (MLG@KDD’18),它是第一篇将图神经网络应用到欺诈检测问题中的文章, 来自亚马逊。

之后18年蚂蚁金服发表的GEM (CIKM’18)是第一次将异质信息网络应用到欺诈问题中,这篇文章在后文会详细介绍。

后续在19年阿里发表的两篇文章GeniePath (AAAI’19), InsurGNN (SIGIR’19)也是将一些最基础的图神经网络模型应用到不同领域的欺诈检测任务上,比如SIGIR’19这一篇就是检测保险领域的欺诈问题。

同时,19年的BitGCN (ADF@KDD’19) 首次将图卷积网络应用到比特币中,并且它还公开了其数据集,这个数据集后续被很多人应用,因为它是一个非常好的动态数据集去研究虚假交易在比特币网络中的演变情况。

19年底的GAS (CIKM’19)来自于阿里巴巴集团的咸鱼APP 团队,它是用来检测咸鱼平台上的虚假评论,这篇文章在后续会详细介绍。

Player2Vec (CIKM’19)是第一篇把异质图神经网络应用到安全领域的文章,它是检测地下论坛里一些黑灰产的一些交易者的情况。

SemiGNN (ICDM’19)来自于蚂蚁金服,其解决的是蚂蚁金服上用户的信用评估问题。

Bi-GCN (AAAI’20) 这篇文章与其他文章不同的是,它研究的是社交网络中的谣言问题,它也是这几年在谣言检测领域影响力非常大的一篇文章,提出了从谣言源头和谣言最末端双向设计图的一个模型,这篇文章在设计图的结构上会比较有意思。

GraphRfi (SIGIR’20)是第一篇把欺诈检测和其他任务结合起来的文章,它是把欺诈检测和推荐系统作为一个互相补充的任务一起学习。

GraphConsis (SIGIR’20) ,CARE-GNN (CIKM’20)这两篇来自于我们实验室(BDSC Lab@ UIC),CARE-GNN (CIKM’20)也将在后文详细介绍。

GAL (CIKM’20) 这篇文章将图神经网络和无监督的模型结合在一起,因为图神经网络的训练比较依赖于标签,尤其对于欺诈检测问题来说,如果没有标签的信息,训练一个很好的分类器会很难。而这篇文章解决了一个标签稀少的问题。

今年年初来自于阿里巴巴的文章MvMoE (WSDM’21)提出了一个多任务的框架,即将图神经网络应用到用户信用评估和违约预测两个任务上面,在底层两者共享一个图神经网络的基础模型,但是在模型的上端,有一个多任务的分支。

APAN (SIGMOD’21)来自于蚂蚁金服,解决的是流式学习的问题,即当数据是在动态变化的时候,如何更好地利用历史信息训练模型。这篇文章还讲到了如何在online-inference时候提高模型的效率的问题,所以这篇文章是一个偏系统设计的文章,值得一看。

DCI (SIGIR’21)来自于中国人民大学的研究小组,他们第一次在欺诈检测的数据集上应用到了自监督学习/对比学习的概念。而对比学习这个概念非常火,这篇文章也是验证了自监督学习对于欺诈检测或者异常检测问题的有效性。

IHGAT (KDD’21) 这篇文章也是来自于阿里巴巴,它引入了用户动机,在欺诈检测的图神经网络建模中,他们通过对用户动机的建模,使其能通过图神经网络,不仅检测出欺诈者,还能给出很好的解释性。

最后一篇文章FD-NAG (BigData’21) 是我与我们实验室成员和东南亚最大的打车平台Grab合作的一篇欺诈检测的文章。这篇文章在后文也会有详细的介绍。

接下来主要介绍四篇代表性文章。

1. GEM(CIKM’18)

图片

首先第一篇文章来自于蚂蚁金服,其研究的问题是支付宝上面的欺诈账户检测。这篇文章构建的图是异质图,如上图,蓝色节点代表正常账户,黄色节点代表有害账户,其他节点如绿色、红色的节点,代表不同的设备。文章假设不同账户,可能在不同的设备上登入,而对于一些欺诈者来说,他可能用很多设备,或者说重复用一个设备,或者说一个设备登入好几个账号。基于此假设(设备聚集),通过图连接,就能很明显的发现这些异常的行为。

这篇文章是图神经网络比较早的应用,将异质信息网络和图神经网络用到检测问题中,也是影响力比较高的一篇文章。

2. GAS(CIKM’19)

图片

第二篇文章来自于咸鱼平台,获得了CIKM’19的最佳工业界论文奖,研究咸鱼平台中的虚假评论问题。这篇文章它比较有新意的地方在于,它并不是像很多传统的异质信息网络建模的方法——对用户、商品建模一起评价,相反地,它提出了一个全新的异质信息网络的节点聚合方法,它针对用户节点、评论节点以及商品节点,提出了各自的聚合器,聚合他们各自邻居的信息,学三个不同的表达,然后它还通过评论之间的相似性,构建了一个同质的评论图。它还包含了很多工业界的分析,比如说验证了建图时的一个采样方法——根据时间区间采样,因为采样方法在工业界是比较重要的,图非常大时不一定需要所有的节点信息。

3. CARE-GNN(CIKM’20)

图片

第三篇文章是来自于我们实验室CIKM的文章,这篇文章最近刚被选为CIKM’20影响力最高的15篇文章之一。我们基于Yelp和Amazon做了两个开源的数据集,并在这两个数据集上针对用户或者说欺诈者的伪装问题给出了相应的解决方案。欺诈检测和其他节点分类问题比较大的区别在于,欺诈者是会伪装的,或者说就是说从某些维度上去看,它正常用户和异常用户其实没什么区别,所以这个时候我们就提出了基于强化学习的方法对邻居进行选择,帮助图神经网络能够更好地对这些伪装的欺诈者进行一个过滤。

这篇文章比较大的贡献,除了模型之外,还有两个公开数集,目前已经有很多paper基于这两个数据集做进一步 探索,感兴趣的读者也可以关注一下这两个数据集,目前已经集合到亚马逊的DGL库中,大家可以去调用。同时今年10月份的 TOIS 的期刊文章中,我们把这个模型扩充到更多的任务上面,在其它的一些数据集上面进行验证。

4. FD-NAG(BigData’21)

图片

最后一篇是我们今年和东南亚最大打车公司Grab合作的一个项目。我们的任务是检测打车过程中的存在欺诈的一些用户。这篇文章我们主要讲两个问题,首先是怎样在没有特征的图上面去建图,因为对于很多公司来说,它可能刚开始没有太多的特征工程去给每个节点都设计各种各样的特征,或者说在欺诈检测问题中,很多的节点没办法设计特征,比如说IP、手机号、地址或者设备这些信息,但这些信息在构建图的过程中又是非常重要的,因为它们可以连接很多相似的用户,故而我们设计了一个把这些关键节点转化为边特征的转换图的方法。其次,这篇文章还首次验证了图自监督学习和对比学习在欺诈检测中,尤其是在工业界数据上的有效性。

03

应用方法

下面根据现有的研究论文,介绍如何更好的去应用图神经网络。

图片

1. 如何应用图神经网络

这一部分我们会通过五个问题去判断,去一步一步地建模,如何应用图神经网络。

图片

(1) 是否要用图

在我们要应用图形网络之前,最开始要问的问题是到底要不要用图。

我们为什么要在欺诈检测问题中用图,有以下几个原因。首先,欺诈者一定共享某些信息,例如共享IP、共享设备。其次,欺诈者有聚集行为,即在构建图之后,欺诈者在图上表现比较聚集,而正常用户会比较分散。最后,也是要用图算法最关键的问题——成本和效率的问题,因为用图就意味着要设计一套关于图的算法,但如果你目前的基础设施里没有针对图的现有的一些计算框架,那么你就要考虑,如果我进行技术迭代,我更新用了一套图的新算法,投入的成本是否能够小于它带来的收益。如果收益高,那肯定建议用图算法去解决。

(2) 是否需要用图神经网络

当我们现在确定用图了,第二个问题就是要不要用图神经网络。除了图神经网络之外,还有很多传统的图算法,基于贝叶斯的一些概率图模型、基于谱图算法的矩阵分解模型,这些模型在之前十年得到了很好的研究,而且有很多模型效果都不错。

首先,图神经网络相对于这些模型,最大的优点是它是一个端到端的,不需要你去设计feature。比如你的问题里面有各种各样的原始feature,甚至你有图片、声音、时序信息,那么你其实可以把这些数据直接送到图神经网络里面,让深度学习自己去学习。但如果你用传统图模型的话,可能你就需要做一些特征工程的工作。

第二点,如果你的基础设施里面有现有的深度学习的框架,使得你可以很快地把深度学习或者说把图神经网络集成进去,那么建议用图神经网络。

(3) 什么任务

第三个问题就是我们确定用图神经网络之后,选择什么任务。在图挖掘领域里面有各种各样的任务,而几乎所有的图相关的任务都跟欺诈检测相关。

首先是分类任务,分类任务主要有节点分类、边分类、图分类以及子图分类等,除此之外,还有一些聚类问题和异常检测问题。这些问题基本上都可以跟欺诈检测问题相关联。此时,就需要通过对业务的深刻理解,来选择相应的任务。

如前文所述,欺诈检测有时候不一定是一个异常问题。例如水军,或者一些虚假账户的检测里,欺诈者可能在很多数据维度上跟正常用户都没什么区别,但是可能有某些行为和欺诈的关联度很高,这样就可以把它定义成一个分类问题,再通过图神经网络学mapping,从feature到label的mapping。例如是检测用户,则可能是一个节点分类问题,如果检测一个交易,可能就是一个边的分类问题。

除此之外,现在很多欺诈的问题还会选择成团伙检测问题。因为团伙检测能够很快的抓出很多虚假用户,效率会相对高一点。对于团伙检测问题,就是一个聚类问题。

当我们业务上明确任务后,就可以根据对业务的理解来选择合适的图神经网络任务。

(4) 图的结构

确定任务之后,下一步就是要设计图的结构,即需要哪些节点,节点有哪些种类,需要哪些边、边有哪些种类,以及节点要不要进行采样。图的构建是欺诈检测与图神经网络在其他领域应用,比如生物、自然语言处理等领域,最大的区别。因为欺诈检测是在一个非常广的数据上去应用的,很多时候它的数据本来是没有图结构的,所以在图设计这一块,灵活性是非常大的。

而这一部分的重要性大于后期GNN模型的选择,一个好的图结构,是解决欺诈检测最关键的前提。因此在这部分,推荐两篇文章(SIGIR’19, ICDM’20),它们有比较新的一些建图方法,可供大家参考。

(5) 图模型选择

当你的任务确定了,图确定了,最后一步就是去选择GNN。这部分很简单,你可以根据你的任务,例如针对图分类的,针对异常检测的,选择相应最经典的模型即可,不需要特别复杂的模型,只需要选择最成熟的模型就可以。

图片

在五个步骤里,最关键的一步是图结构设计。针对图结构设计,我们再展开讲,有这四种设计方法,有同质的、有多关系的、异质的、层级的,大家感兴趣可以看一下相应paper中建图的方法。

2. 关键的挑战以及解决方法

下面介绍目前图神经网络在欺诈检测应用中的一些主要问题和解决方案。

图片

(1) 伪装问题

第一个问题是伪装问题。前文中,我们的论文也讲了伪装问题,我们解决伪装问题的方法,就是对这些图里面的节点进行一些过滤,把一些跟中心节点相似的节点留下来,不相似节点过滤掉。

第二种解决伪装问题的方法,即在已知对抗行为的存在性下,利用对抗学习的方法增加模型的鲁棒性。

第三种就是主动生成,比如生成一些类似于对抗生成网络,生成一些对抗样本,来提高模型的鲁棒性。

最后一个方法利用贝叶斯的一些方法,对边进行一些操作。比如说在聚合邻居的时候,根据节点的一些先验知识,来判断这个邻居是不是伪装的、是不是真实的,再根据推断结果调整聚合时的边权重。

(2) 可扩展性问题

第二个问题就是可扩展性问题,可以说是目前图神经网络在所有工业界应用的最大的瓶颈。针对这个问题,从论文的角度来说,在欺诈检测领域,我目前只看到有一篇文章去解决这个问题。

当然如果抛开GNN来说,传统非深度学习的图模型,有很多篇研究可扩展性的问题。相对于深度学习模型来说,这种非深度学习的图模型,其可扩展性会更高一点。关于可扩展性,大家也去可以看一下这些general的可扩展性的研究。

(3) 类别不平衡问题

第三个问题,欺诈检测和其他节点分类问题最大的区别在于欺诈检测的类别不平衡问题。我们一般将欺诈检测问题定义成二分类问题,而在工业界数据中,欺诈者的比例是非常低的,100万用户中欺诈者可能就只有几千或几百个,因此在欺诈检测中,有极端的类别不平衡问题。对于极端类别不平衡的数据,不管是图神经网络还是传统的机器学习模型来说,如果不做一些调整,模型是不可能学好的。

针对这个问题,最经典的解决方案就是下采样,在训练的时候,对大多数的真实用户做一些采样,让它保持和欺诈用户数量是一致的。

还有一个解决方法,通过对邻居进行一些选择,在GNN聚合的时候,保持标签的平衡性。

最后一种解决方案,即通过数据增强的方法。先学习一些欺诈者的特点,来生成更多欺诈者的训练数据,从另外一个角度消解标签不平衡带来的影响。

图片

(4) 标签稀缺性问题

下一个问题是标签的稀缺,这个也是欺诈检测中非常典型的问题。由于打标签的成本很高,必须得通过一些业务方面的专家、一些规则以及人工的检查,才能确定对象是不是欺诈。

针对于标签稀缺的问题,有解决方案是主动学习,根据现有的标签,对一些unlabeled的data打标签。还有一种方法集成学习,把一些无监督的学习方法跟有监督的GNN结合到一起。无监督的方法,对一些标签做一些推断,然后把这些推断信息作为监督的信息,再去辅助GNN的学习。

还有一些解决方案是元学习,大家感兴趣可以去看一下。

(5) 标签的真实性

另外一个问题是标签的真实性,或者说标签的质量。因为在真人打标签的过程中,不可避免地会出现标签质量有问题。所以我们如何去教校正这个标签质量,主动学习是一个方法,它会对标签的质量进行一个判断。还有一个叫human-in-the-loop,在机器学习的过程中把打标签者参与进来。AAAI’20是腾讯微信假新闻检测的文章,利用强化学习和打标签者进行互动,也就是说它会根据比如大家对文章的举报信息,还有真人打标签的一些反馈信息,把这些信号传输到机器学习的pipeline里面去,不断的去优化学习的过程。

(6) 数据的稀缺性

最后一个问题,数据的稀缺性,和label的稀缺性类似,欺诈者的数据,一方面label少,另一方面数据本身也比较少。解决方案是通过数据增强的方法,学习到欺诈者的一些特点,然后去增强它。

3. 新的实践

接下来我会介绍目前学术界一些比较新的研究方向。

图片

第一个就是图预训练,这两年特别火,目前很多文章都是基于对比学习来进行预训练,而预训练有一个原则,即欺诈者必须在图结构方面和正常用户有明显的区别,如果只是在feature方面有区别的话,图预训练带来的增益并不是特别高。

第二个比较火的方向是动态图。为什么要动态信息?因为历史的信息对于识别欺诈用户是有用的,所以我们要用动态图,或者说采用流式的学习方法。但是动态图,又增加了学习的成本,因为它的训练会非常慢,推断时间也比较久。大家就可以参考slides中列出的文章,尤其是蚂蚁金服今年APAN (SIGMOD’21)的这篇文章,它是解决流式学习的效率问题。还有最后一篇 ROLAND.的文章,作者跟摩根大通银行合作的一个关于虚假交易检测的项目,他们也是把动态图应用到可扩展的一个场景中。

图片

接下来还有一个新的方法,就是多任务学习。还有一个新的方向是可解释性,上文中也说到今年阿里巴巴IHGAT (KDD’21)就是对用户动机建模,来解释虚假的交易。

4. 工业界应用

下面我会总结一些工业界的paper,大家会看到阿里巴巴和蚂蚁的文章是最多的,当然Facebook,Amazon这几篇文章都是值得看的,尤其是Facebook有一篇今年最新的Security’21.安全顶会的文章,他们没有用图神经网络,而是用的传统图模型,这篇文章里面有很多关于工业界的部署的一些思考,值得参考。除此之外,爱奇艺这篇文章也是比较有意思的文章,大家可以去参考。

图片

04

相关资源

图片

最后我会介绍一些相关资源,首先是我牵头做的一个开源项目,叫SafeGraph,这里面包括了DGFraud,一个欺诈检测工具包,我们实现了十个GNN模型,前面都有提到这些模型。需要注意这个包无法直接应用到工业界,因为它更适合原型建模,大家可以通过这些代码了解这些不同的GNN在建模中的不同的方法,作为学术界和工业界的一个参考。

UGFraud是一个基于无监督图模型的欺诈检测的工具包,已经release到PIP上面,大家可以通过PIP安装。

UPFD是一个基于图神经网络的假新闻检测项目,公开了两个基于假新闻分类的数据集,也实现了一些图神经网络的基本算法,把它集合到DGL,还有PyG中。

最后是两个我们经常更新的图欺诈检测和图对抗学习论文列表,大家可以去在上面找相关的论文、相应的代码以及数据集,还有其他一些资源。

图片

除此之外现在工业界或者说现在开源项目里面比较流行的几个异常检测的包有PyOD和PyODD,还有DGL团队 基于DGL和 AWS 做的的欺诈检测Pipeline,也是开源在Github上的,工业界同学感兴趣可以看一下。

图片

还有一些基于KDD的workshop,与金融和欺诈检测相关,可以参考。

图欺诈检测是一个偏应用的问题,所以我希望通过与工业界的朋友们交流,更好的把图神经网络应用到不同的风控和欺诈检测场景中。

今天的分享就到这里,谢谢大家。

👇

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多