[TOC]
欺诈检测(风控)是一个近两年业界和学界颇受关注的话题,其应用方向包括金融欺诈检测,风险控制,网络水军识别,黑产灰产识别等。
本公众号之前曾经介绍了一篇基于图模型的欺诈检测文章。随着近两年图神经网络(GNN)广受欢迎,基于图神经网络的欺诈检测研究也随之出现。
本文针对近两年内发表的近 8 篇论文进行分析,希望给读者一个 GNN 欺诈检测研究的宏观图景。
关于基于图数据的欺诈检测研究最新的进展,可以参考下面的 GitHub 链接:https://github.com/safe-graph/graph-fraud-detection-papers
本文介绍的大部分模型的代码都已复现,具体可以参考下面的 GitHub 链接:https://github.com/safe-graph/DGFraud
本文将从两个角度对相关工作进行介绍:
- 我们先从不同论文的应用方向入手,对相关工作进行分类介绍,主要介绍每个应用方向的特点。
- 因为在 GNN 的应用中,构图和邻居信息聚合是最重要的两个步骤。本文第二个角度是从不同论文的方法入手,总结其构图,邻居信息聚合等方法的异同。
随后,本文还介绍了应用 GNN 到欺诈检测问题中的关键步骤。文末对现存的挑战和未来方向进行了总结。
应用
目前已经发表的工作,根据其应用场景,我们可以将8篇论文分为三大类:
金融欺诈识别
① A Semi-supervised Graph Attentive Network for Financial Fraud Detection. ICDM 2019.
② Geniepath: Graph Neural Networks with Adaptive Receptive Paths. AAAI 2019.
③ Heterogeneous Graph Neural Networks for Malicious Account Detection. CIKM 2018.
评论水军识别
④ Fdgars: Fraudster Detection via Graph Convolutional Networks in Online App Review System. WWW 2019.
⑤ ASA: Adversary Situation Awareness via Heterogeneous Graph Convolutional Networks. WWW 2020.
⑥ Spam Review Detection with Graph Convolutional Networks. CIKM 2019.
⑦ Alleviating the Inconsistency Problem of Applying Graph Neural Network to Fraud Detection. SIGIR 2020.
网络犯罪识别
⑧ Key Player Identification in Underground Forums over Attributed Heterogeneous Information Network Embedding Framework. CIKM 2019.
下面我们分别介绍这三个方向的论文及其应用特点。
金融欺诈研究的论文全部来自于蚂蚁金服,其中:
- 论文①是对蚂蚁花呗用户还款能力和信用分进行预测。相对于欺诈检测,这篇文章更倾向于风险的评估。(因为是一个预测的问题,所以偏风险评估)
- 论文②和论文③都是针对支付宝欺诈账户的检测,其利用了支付宝账号在不同设备的登录和活动信息。
评论水军识别的研究已经有十年时间,之前有关于 Amazon,大众点评,Yelp 和 Google Play 评论水军的研究。
近两年 GNN 水军识别文章主要来自阿里和腾讯,其中论文④和论文⑤是研究腾讯应用宝的水军,论文⑥是研究阿里闲鱼 APP 评论区的水军。论文⑦基于 Yelp 水军数据对现有GNN 模型进行了改进。
网络犯罪识别是计算机安全的重要研究方向,论文⑧用图模型和 GNN 来检测暗网论坛中的关键用户。
方法
从方法角度,我们可以将上述论文提出的模型按照构图方式,邻居聚合方式,特有模块这三个类别进行总结。下面我们将对每篇论文从这三个角度进行介绍。
① A Semi-supervised Graph Attentive Network for Financial Fraud Detection. ICDM 2019.
该文章构建了多视角图(Multi-view Graph),即从现有实体和特征的类型出发,将属于同一类型的实体连接起来,构成一个图。
举例来说,属于同一账户的设备可以构成一个设备图,节点是设备,有无边代表两个设备是否属于相同账户。同理,拥有共同好友关系的账户可以构成好友图,节点是账户,有无边代表是否存在共同好友。
该文章提出了分层级注意力网络,先在单个视角下对邻居进行信息聚合,然后在多视角层面对同一节点来自不同视角的信息进行聚合。两次聚合都采用了注意力机制。
该文章还有个特点,其引入了无监督图嵌入(Network Embedding)模型(例如 DeepWalk
和 LINE
) 的思想,除了对有标签和特征的部分节点使用 GNN 编码外,它对整体图结构采用了 DeepWalk 的无监督编码方式,从而在结构上进一步捕捉可疑用户和正常用户的区别。
② Geniepath: Graph Neural Networks with Adaptive Receptive Paths. AAAI 2019.
该论文提出了适应性的图卷积网络,其构图形式为基于支付宝账户的异质图。
在邻居维度,其采用了注意力机制对邻居重要程度进行编码。
在网络深度维度,其采用了 LSTM 网络对最优的的网络深度进行学习。
③ Heterogeneous Graph Neural Networks for Malicious Account Detection. CIKM 2018.
这篇文章针对支付宝欺诈账户进行检测。其节点为账户和设备,其中账户的特征为账户活动情况和设备信息,如果账户和设备有过交互行为,账户节点和设备节点之间会有一条边。
例如,某账户在一个 IP 地址上登录过,那么这个账户节点和 IP 地址节点之间会有一条边。
在聚合信息时,对于一个账户节点,该文章先聚合其同一设备子图下的邻居,然后再聚合不同子图的信息。不同于论文①,该文章采用权重参数来编码不同设备子图的重要性,而不是使用注意力机制。
该文章是最早发表的基于 GNN 的欺诈检测论文,目前也有比较高的影响力。其文中有许多工业部署的实际经验的技巧值得借鉴。
④ Fdgars: Fraudster Detection via Graph Convolutional Networks in Online App Review System. WWW 2019.
该文章是最早用 GCN 研究评论水军的文章,它针对腾讯应用宝水军行为和语义特点,设计了若干特征。
在构图时使用了经典的 co-review 关系,即如果两个账户评论过同一个 APP,它们之间会有一条边。该文章使用经典的 GCN 模型 (Kipf & Welling)对节点特征进一步编码。
⑤ ASA: Adversary Situation Awareness via Heterogeneous Graph Convolutional Networks. WWW 2020.
该论文同上一篇文章来自同一团队,还是腾讯应用宝的评论水军检测问题。这篇较新的文章注意到了水军的对抗行为,即通过一些文本和行为的伪装,来降低自身的可疑程度。
例如,水军通过在评论中加入特殊符号来躲避基于文本特征的检测器(微博卖片是另一个例子)。水军也会通过虚拟机和 VPN 迅速切换设备信息和网络信息,从而躲避相关检测。
该论文通过各种关键实体信息(IP 地址,设备IMEI 号等)设计异质信息网络,然后通过分层聚合的方式用 GNN 来编码信息。
⑥ Spam Review Detection with Graph Convolutional Networks. CIKM 2019.
这篇论文被选为 CIKM 2019 工业最佳论文。其目标任务为闲鱼 APP 评论区的水军检测。
该文章是在异质信息网络上应用 GNN,与上述类似论文的区别是,该文章区分了三种类型的节点:用户,评论,商品;并直接对三种类型节点的特征同时聚合。之前的方法只是在同一种类型节点之间进行聚合。
和上述应用宝评论相似的是,闲鱼评论中也有很多水军的对抗行为。例如,水军通过特殊字符伪装 QQ 号来为自己的产品导流,或者从事欺诈活动。
该文章除了建模异质网络,还构建了一个基于评论文本相似度的同质图,然后通过应用经典的 GCN 模型来对评论单独编码。这种方式能够发现一些特征相似的评论,从而捕捉虚假评论的对抗行为。
该文章还提到了工业场景中的模型部署问题,提出了基于时间的邻居采样方法,即只选择相隔时间最近的几条评论之间加边,从而有效降低了计算的成本。
⑦ Alleviating the Inconsistency Problem of Applying Graph Neural Network to Fraud Detection. SIGIR 2020.
该文章借助Yelp 评论水军数据集,说明了现有 GNN 欺诈检测模型存在的问题,即忽略了图数据中的不一致性。
例如可疑节点的邻居可能大部分是正常节点。该文章设计了一种基于邻居的过滤方式,从而在 GNN 邻居聚合时避免了噪音邻居的加入。
该论文通过预先定义的关系建立同质图,在聚合邻居信息时考虑到不同关系的重要程度。如下图所示:
⑧ Key Player Identification in Underground Forums over Attributed Heterogeneous Information Network Embedding Framework. CIKM 2019.
该文章利用异质信息网络对暗网论坛进行建模。该文章利用经典的异质信息网络建模方式,即采用元路径的方法建模同质节点的异质关系。不同的元路径类似于不同的关系。
同一个元路径下的节点构成一个同质图,该文章利用 GCN 对同质图进行编码。对于不同元路径下的编码信息,该文章利用注意力机制来学习不同元路径的重要程度。
关键步骤
通过上面的介绍我们可以发现,将 GNN 应用到欺诈检测问题中,构建合适的图模型是最重要的步骤。不同邻居聚合方式之间的区别不大。
本文将设计 GNN 欺诈检测模型总结为下面四个步骤:
理解问题,数据,和现有条件。
并不是所有的欺诈检测问题需要用图模型和GNN来解决。通过上面的介绍我们发现,如果数据有很多实体和关联关系,同时不存在明显的特征时,图模型和图神经网络比较适合。
对于大部分欺诈检测问题 ,从效果和成本角度来看,特征工程依然是最有效的方法。所以我们首先应该思考特征工程能不能解决现有问题,然后再考虑是否应用深度学习模型。
另外,图神经网络有端到端学习和半监督学习的特性,我们也需要考虑该问题是否适合用端到端学习建模,标签信息是否充足可靠,无监督的信息是否适合 GNN 使用等等。
由于图神经网络在大规模数据上部署需要很强的 infra 和算力的支持,如果现有生产环境不支持大规模深度学习部署,那么直接应用图神经网络显然不现实。 这就是为什么只有阿里腾讯等巨头公司才可以开展相关研究。
当然,并不是一定要在生产环境中部署GNN,GNN 对于问题建模的方法也可以在特征工程中进行借鉴。
设计有效的图结构和初始特征。
这一步类似于特征工程中的特征选择,如果忽略了关键的关系和特征,在这样的图模型上进行下游任务是低效甚至无效的。
在设计图结构和节点特征时,我们需要思考其和问题及数据的关联。以评论水军检测为例,同一个 IP 地址下的账户有很强的关联关系,但是评论过同一个商品的用户不一定有很强的相似性。
同理,选取用户过去三十天的评论频率作为特征,和选择选取用户评论文本的词向量作为特征,这两种特征在不同应用场景下的有效性也不尽相同。
所以我们在设计图结构和特征时一定要通过一些预处理和分析,来探究这种关系和特征是否适合GNN。
设计合适的采样方式。
由于工业数据规模庞大且有很多冗余信息和噪音。在应用 GNN 之前进行数据采样和清洗是必须进行的步骤。
针对数据和问题的特性,我们可以从时间维度,特征维度,图结构维度对图数据进行采样。要保证最终保留的图数据是不稀疏且保留了重要的关系和特征信息。
确定合适的GNN结构。
由于大部分工业数据都是异质的,所以在设计 GNN 时要考虑如何处理异质信息。对于异质网络,在聚合邻居信息时,可以通过分层聚合,也可以通过全部转化为同质信息聚合。
需要注意的是,在邻居密集的图数据上直接应用注意力机制,会导致运算量非常大。所以邻居以及视角重要程度的编码需要考虑到其实现的可行性。
现有挑战和未来展望
通过上面的分析,目前 GNN 欺诈检测问题主要有两个挑战,即如何设计有效的图结构来建模数据和问题,以及如何部署 GNN 到大规模数据集上。
上述两个挑战,学术界更多关注第一个挑战,即思考欺诈检测问题和其他问题的区别,以及在应用 GNN 时需要做哪些适应性的调整。
工业界关注第二个挑战多一点。随着 GNN 自动机器学习以及开源计算包的逐渐发展,相信未来规模化部署 GNN 也会变得简单。关于这方面最新的开源动态,可以关注下面两个 repo:
DGFraud: A Deep Graph-based Toolbox for Fraud Detection
https://github.com/safe-graph/DGFraud
DGL: Deep Graph Library
相关的GitHub仓库
- https://github.com/safe-graph/graph-fraud-detection-papers
- https://github.com/safe-graph/DGFraud
- https://github.com/thunlp/GNNPapers
- https://github.com/benedekrozemberczki/awesome-fraud-detection-papers
相关的领域
- 推荐系统
相关开源榜单
- Open Graph Benchmark(OGB)
相关的会议
专有名词
Financial Fraud Detection
金融欺诈检测