2018 CIKM,Ziqi Liu et al. 蚂蚁金服,比较具有参考意义的工业届 paper。较早期的解决异构图网络的方法(将复杂的异构图[2种以上节点类型]拆成多个简单异构图[2种节点类型]来解决),现阶段可以使用 RGCN、HetGNN 等针对异构图提出的网络,但仍可尝试该方法,实现较简单。
论文场景:支付宝金融风控中黑产用户的挖掘,用户粒度的黑产挖掘。解决的问题和方法具有整个反作弊领域的通用性,不限制于金融风控领域。
作弊数据分析 & 作弊规律总结
通过对大量正常数据和黑产数据进行分析,发现大量作弊数据具有如下表现:
- 设备聚集 —— 出于黑产的金钱成本,在尽量低的成本下完成获利,则在设备维度(IMEI、MAC、手机号、IP…)会出现聚集
- 行为聚集 —— 出于黑产的时间成本,需要在较短时间内完成获利,则在自注册后的行为会出现一定程度的聚集性
如图所示:
那通过数据分析出黑产用户具有上述『设备聚集』和『行为聚集』的异常,那如何 挖掘出具有这类表现的黑产呢?
直观的方法 —— 联通子图
构图(账号登录图):
- 以账号为节点的同构图,边:两个账号在一段时间 (0,T] 内登录过同一个设备
- 通过该图,可以得到很多联通子图,每个子图就是一组账户。组越大,其为恶意账号团伙的潜在风险越高。
- 但实际中,数据存在噪声,而且不同账号中间登录同一个ip也不能说明什么,所以会导致恶意账号与正常账号交织在一起
优化:删边(利用行为相似度删边) - 上述账号登录图,没有考虑到『行为聚集』,那把这个信号加入进来。比如考虑构图的时间段为 1 天,将 1 天分成 24 个时间片,统计每个时间片内行为频率,则每个用户得到一个长度为 24 维的行为向量
- 计算用户行为相似度:行为向量内积
- 删除行为相似度小于阈值的边
团伙打分(联通子图打分): - score=子图内节点个数
结论:该方法非常直观,而且可以准确检测出最大的联通子图中的恶意账号,但对于那些在小子图中的恶意账号,效果很差。
那如何利用图的拓扑结构以及节点特征,直接对单用户进行识别,而不每次识别一群用户? —— 本文提出的 GEM 算法
更深入的方法(paper 提出的算法GEM)
构图
图结构:账号-设备 异构图,边(i,j) 表示账号 i 在某段时间内在设备 j 上存在行为。
- 其中,设备 存在多种设备类型,不同设备在图中用不同节点表示
假设设备类型共 5 种,则该异构图,可以拆分为 5 个 账号-设备图,每个图中 仅存在一种设备。
图表示
学习 每个节点(账号、设备)的 embedding 表示
其中,
- T T T: 邻居度数,实验中 T=5
- H ( t ) ∈ R N × k H^{(t)} \in \mathbb{R}^{N \times k} H(t)∈RN×k: 嵌入矩阵。第 t 层的嵌入矩阵, h i h_i hi 为第 i 行向量,表示节点 i 的嵌入向量,k 为嵌入向量维度
- σ \sigma σ: ReLU 激活函数
-
X
∈
R
N
×
P
X \in \mathbb{R}^{N \times P}
X∈RN×P: 特征矩阵。其中
P
=
p
+
∣
D
∣
P=p+|D|
P=p+∣D∣ (时间片个数 + 设备种类数),实验中 p=7*24,|D|=6。由两部门组成
- 前 p 个元素:对应账户在 p 个时间片内各自的行为次数
- 后 |D| 个元素:对应设备的设备类型的 one-hot 向量
- 如果第 i 个节点是账户,只有前 p 个元素有取值
- 如果第 i 个节点是设备,只有后 |D| 个元素有取值
- W ∈ R P × k W \in \mathbb{R}^{P \times k} W∈RP×k: 参数矩阵
- A ( d ) ∈ R N × N A^{(d)}\in \mathbb{R}^{N \times N} A(d)∈RN×N: 邻接矩阵。异构图中,设备节点仅保留第 d 种类型时的子图的 邻接矩阵
- V d ∈ R k × k V_d\in \mathbb{R}^{k \times k} Vd∈Rk×k: 设备类型为 d 的参数矩阵
再通过 attention 机制自适应学习不同类型的设备的权重:
如何学习? —— 通过部分有标签数据进行有监督学习
Loss function:
其中,u 为输出 logistic 层参数。
实验结果
图数据量级:一个月的数据,整个图不算稠密,比较强的图(出于数据保密性,正负样本比例不能展示)
用一周的数据构图,利用前 6 天的有标签数据进行训练,预测在第 7 天新注册的账户
- 联通子图:子图中噪声较大,黑白用户交织在图中
- GBDT+Graph 与 GBDT+Node2Vec 的效果差不多,前者是通过图结构人工构建图结构特征,如出度入度等等,后者是Node2Vec是根据拓扑结构学习节点嵌入表示。(缺乏单独的 GBDT 实验,无法直接图特征的加入带来的直接增益)
- GCN 效果由于前者,可能是 GCN 直接利用标签、特征、图结构直接学习节点的表示(前者是无监督学习)能更好学习到节点的表征
- GEM 效果最好,加入 attention 后效果提升,原因:GEM能处理不同类型设备的异构图;利用attention自适应学习每个设备类型的权重
线上使用 & 收益:
每天取得分 top 1w 用户作为风险账号,经过长期后验观察,安全评估部门评估的准确率超过 98%,相较于线上基于规则的方法,GEM 扩召回 10% 的账户。