分享嘉宾:朱亮博士 蚂蚁集团 算法专家 编辑整理:许振远 腾讯 出品平台:DataFunTalk
**导读:**本次分享的主要内容为图机器学习在安全风控的落地情况,主要分为四部分内容包括背景介绍、架构介绍、安全风控图模型和展望。 今天围绕以下四点内容展开介绍: * 背景介绍 * 架构介绍 * 安全风控图模型 * 展望 01****背景介绍
首先安全风控主要分为4部分,主要通过4个例子来介绍。 第一个例子为反洗钱,在反洗钱的上游有一些资金来源部门的一些卡或者账户,希望通过蚂蚁里面的一些资金转账的渠道把这些资金洗白,从而实现资金的流转套现,资金图上有个明显特征就是存在大量快进快出的资金流。 第二个例子为赌博,首先赌徒和庄家会形成一个稳定的二部图。为了被蚂蚁防控,一批赌徒给庄家转钱会形成一个庄家池子,因此从资金图上看,形成一个稳定的二部图,同时二部图的第二块会将来历不明的资金流转,利用一些看似合法的渠道转到最终的金主,形成多级流转的资金转向图。 第三个例子是常见的营销作弊或者资金核销的资金****图。一个黑产用户会批量对一些垃圾注册的小号转一批小钱,这些金额非常非常小,大概一毛钱或者一分钱,然后把这些垃圾账号激活,利用这些垃圾账号领取支付或者一些其他平台的微信、滴滴的营销资金,然后去一些商店进行营销资金核销,形成临行的资金转账图,这给风控带来一些挑战。 第四个例子为黑商与外围的白户和灰户形成大量的闭环交易图。闭环交易有两种,第一种是刷单,这种情况时间比较短,通过资金pattern识别出来。第二种是非法集资或者非法投资返利,这种时间差比较大,需要模型对于时间捕捉的编码提出一个很高的要求。 综上所述,安全风控是已经通从以往的单点作案转向深水区,背后的黑产会通过一些比较复杂的手法甚至以团伙作案的方式来躲避的风控。
02
架构介绍
安全风控和信贷风控是基于人工特征或者树模型和升级的序列模型训练模型。相较于树模型,图模型捕捉信息更加丰富,我们希望图模型在两个方面信息进行改进与补充: (1)k度子图内点边特征的聚合信息
在交易上做风控时对时效性要求比较高,希望对每个节点或者对每个交易的主体在有限范围内的结构或者子图信息进行打分,因此只能补充一些k度子图内的点边特征的聚合信息。 (2)k度子图内的拓扑结构信息
希望对子图里面已经能表现出来或者暴露出的拓扑结构进行一些捕捉。这些拓扑结构还有可能是点边融合拓扑结构。
03
安全风控图模型
下面大概介绍如何构建图模型。 1**.**** **有向动态异质图
第一步构建子图,前提需要一张异质大图确保在同一张图上去采样,而且这一张图里面的信息要完备,确保把黑厂所有可能信息捕捉到一个点上。这张大图应该确保三部分信息: 第一,类型要非常丰富不光只有卡、账号、商家甚至一些主体,然后与之对应的特征全部补充进来;第二,边上信息要丰富,每个场景都不能遗漏,一旦遗漏某一个场景,黑产就会快速攻击到这某一个低水位场景。第三,图要有的方向,搭建一个有向的子异构图;第四点引入时间因子。因此搭建一个有向的动态异质图。
2. HGT
经过一系列的算法调研,考虑选择以HGT模型作为一个baseline的主模型网络,同时把边方向作为属性引入模型中,把边方向作一种模态单独attention操作。HGT的异质处理不是放在前面映射环节,而是将异质处理放在transformer的k、v、q映射函数里面进行操作,这样做的好处是attention时可以完全考虑每个模态分布等价性。 3**.**** HGT+**DADEdge
但是边作为一种属性并不能把边的方向有效地与其他信息结合,因此对HGT在场景上做一个适配,这种适配机制是观察分析了大量资金图后,根据资金流的特性而设计的,即HGT+DADEdge模型。HGT+DADEdge模型把针对一些有向非对称的动态图做一些方向上的升级,即在每个方向上的一类边单独做graph transformer处理。(中间负责处理的每一层为DADEdge layer),再把HGT嵌入到DADEdge layer里去,可以有效地把一些边方向与点边上拓扑结构进行一个信息整合。 下面给出两个目标对比提升: (1)AUC指标,在公开数据集上,相对baseline的HGT模型提升0.0327,HGT+DADEge提升0.0335。 (2)千一打扰下召回指标,在公开数据集上,相对baseline的HG模型提升5.634%,HGT+DADEge提升10.856%。
4**.**** **DDGCL
进一步对主模型的缺陷以及case进行了分析,树模型的鲁棒性和泛化性相较于眼下时髦的深度模型有一定的优势。因为在蚂蚁场景上观察可以发现,树模型的衰减程度随着时间远远小于图深度模型。 这主要是因为,风控场景的标签本身太少且来之不易(例如欺诈场景,其标签都来自于已有经济损失甚至心理、精神伤害的被欺诈受害者),即使通过一些半监督算法进行扩散也难以保证标签的丰富度和纯度。因而为了提高图模型的鲁棒性和泛化性能,我们参考其他领域的做法,将对比学习、自监督算法作为一种一致性损失加入到模型中,提出了动态图的对比学习模型DDGCL。 思考以往对比学习的应用场景,与风控动态图场景有如下三点区别:
(1)许多现实世界的图表征是动态的,它们随着时间的推移而演变。 (2)节点 v 的表示将取决于其结构和组成信息,以及时间信息,其表示应与时间相关。 (3)从静态图场景派生的一些方法不能直接适用,甚至可能导致对这些动态数据的可疑推论。
因此基于上述的几点,我们对对比学习模型进行了改进:
(1)在数据层面上做一些数据增强层,将传统的随机mask改为按照时间维度进行mask,进一步解释就是某一时刻用户发生了交易,会把它的k度子图拉出来,选取一个大概为秒级或者毫秒级的Δt,在这个时间范围内产生的交易都会mask掉,形成一张过去子图。这张子图会经过GNN模型,同时未来的子图也会经过GNN模型,然后拿两个embedding表征进行映射函数关联起来算出一个相似loss函数。该相似函数的w矩阵与时间无关,相当于把映射函数调整为与时间的泛函数。
(2)对DGI的loss进行调整,对于cv领域的loss函数包含两项,第一项为正样本的相似度,第二项为负样本的相似度。我们对负样本进行调权,先估算产生假阳性的loss,然后在负样本的loss中减掉,会实现对负样本的loss进行纠偏。
最后对比DDGCL模型在公开数据集MOOC,Reddit和Wikipedia上具有明显的性能。业务上,在欺诈头部覆盖提升1%,反洗钱头部覆盖提升2.3%,向量召回上新案件评估auc提升2.9%。此外,从图中验证集上的性能对比也能看出DDGCL模型随着时间的推移,具有更好的鲁棒性。 04
展望
最后总结一下未来的工作内容,主要包括三个方向内容: **(1)风控场景的资金链拓扑结构进一步学习,模型包括MaskGAE和AdaPath。**比如欺诈、赌博、洗钱资金转移的path还没有百分之百抓出来,因此依托高校合作,刚与中山大学陈亮老师一起提出maskGAE的工作,对已知的path或者高置信度的path黑产进行mask,通过用模型对mask进行预测,从而提高我们的path的捕捉能力;另外,跟浙江大学杨洋老师合作的AdaPath工作也在进行中,通过对抗生成的方式生成一些高置信度的path,然后补充到现有的训练集中,让模型捕捉到更多path信息。 (2)图模型鲁棒性的进一步提升:
子图去燥、子图预计算; * 子图对抗攻击防御 * DRO
(3)图结构的进一步挖掘
05
问答环节
Q1:边的特征是如何放在模型中,可以讲下细节吗?
A1:在风控引擎有一套比较成熟、可容性特征服务平台,相当于每个用户过来新发生一笔交易它会驱使用户对统计类特征进行统计,统计后有类似服务接口把特征关联到点边数据里,在构图时将特征关联进去。在离线中通过一些数据清洗关联到数据中。 Q2:GNN在风控中的使用占比大吗?
A2:GNN模型在实时策略占比可观,在洗钱和欺诈场景里面占比比较可观。 Q3:动态图是如何处理边上时间或者节点上的时间的?
A3:首先时间一般只会放在边上,边上时间比较经典的处理方式为TGAT的time encoding,或者其他的处理方式,比如bin encoding的操作,或者将用户的embedding做一些融合的操作。主要是看场景的具体时间上的pattern表现,不存在通用的操作方式。 Q4:在大规模图上,用GNN实时推理上,效率会高吗?
A4:时效性这块主要是根据场景情况,如何场景在成本允许情况下,可以做到异步TP999<5s的构图和同步TP999<500ms模型推理。在场景要求不高,成本比较低情况下,进线模型一般在30s-60s。第二个问题ROI,目前可以保证挽救的业务远远大于投入的成本。
01**/**分享嘉宾
朱亮 博士
蚂蚁集团
算法专家
南京理工大学,博士。负责将图机器学习算法研究并应用于蚂蚁大安全的反欺诈,反洗钱,反赌博等业务中。