蚂蚁金服2018CIKM中GEM算法《Heterogeneous Graph Neural Networks for Malicious Account Detection》
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 表示
其中,
- TTT: 邻居度数,实验中 T=5
- H(t)∈RN×kH^{(t)} \in \mathbb{R}^{N \times k}H(t)∈RN×k: 嵌入矩阵。第 t 层的嵌入矩阵,hih_ihi 为第 i 行向量,表示节点 i 的嵌入向量,k 为嵌入向量维度
- σ\sigmaσ: ReLU 激活函数
- X∈RN×PX \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∈RP×kW \in \mathbb{R}^{P \times k}W∈RP×k: 参数矩阵
- A(d)∈RN×NA^{(d)}\in \mathbb{R}^{N \times N}A(d)∈RN×N: 邻接矩阵。异构图中,设备节点仅保留第 d 种类型时的子图的 邻接矩阵
- Vd∈Rk×kV_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% 的账户。
蚂蚁金服2018CIKM中GEM算法《Heterogeneous Graph Neural Networks for Malicious Account Detection》相关推荐
- 【论文解读 CIKM 2018 | GEM】Heterogeneous Graph Neural Networks for Malicious Account Detection
论文链接:Heterogeneous Graph Neural Networks for Malicious Account Detection 来源:CIKM 2018(CCF-B 数据库,数据挖掘 ...
- 【论文分享】异构图神经网络域名检测方法GAMD:Attributed Heterogeneous Graph Neural Network for Malicious Domain Detection
题目:Attributed Heterogeneous Graph Neural Network for Malicious Domain Detection 链接:https://ieeexplor ...
- 实时智能决策引擎在蚂蚁金服风险管理中的实践
摘要:以"数字金融新原力(The New Force of Digital Finance)"为主题,蚂蚁金服ATEC城市峰会于2019年1月4日上海如期举办.金融智能专场分论坛上 ...
- 实时智能决策引擎在蚂蚁金服风险管理中的实践 1
摘要:以"数字金融新原力(The New Force of Digital Finance)"为主题,蚂蚁金服ATEC城市峰会于2019年1月4日上海如期举办.金融智能专场分论坛上 ...
- 【PaperReading】OpenHGNN:An Open-Source Toolkit for Heterogeneous Graph Neural Networks
OpenHGNN:An Open-Source Toolkit for Heterogeneous Graph Neural Networks 1. 引言 2. OpenHGNN框架 2.1 Trai ...
- Advances in Graph Neural Networks笔记4:Heterogeneous Graph Neural Networks
诸神缄默不语-个人CSDN博文目录 本书网址:https://link.springer.com/book/10.1007/978-3-031-16174-2 本文是本书第四章的学习笔记. 感觉这一章 ...
- 蚂蚁金服生产级 Raft 算法库存储模块剖析 | SOFAJRaft 实现原理
前言 SOFAJRaft 是一个基于 Raft 一致性算法的生产级高性能 Java 实现,支持 MULTI-RAFT-GROUP,适用于高负载低延迟的场景. SOFAJRaft 存储模块分为: Log ...
- 蚂蚁金服-支付风险识别亚军方案!
比赛名称:蚂蚁金服-支付风险识别 比赛链接: https://dc.cloud.alipay.com/index#/topic/intro?id=4 比赛背景 基于移动互联网的线下支付.保险.理财等新 ...
- 从蚂蚁金服一窥人工智能在金融领域的机遇与挑战
从蚂蚁金服一窥人工智能在金融领域的机遇与挑战 CCAI 蚂蚁金服 人工智能 金融 中国人工智能大会 阅读2469 编者按:由中国人工智能学会.阿里巴巴以及蚂蚁金服联合主办,CSDN.中国科学院自动化 ...
最新文章
- Leangoo英文版来了~
- Functional Programming Contest - September'14
- 并发基础(八) java线程的中断机制
- 使用LayoutAnimationController为RecyclerView添加动画
- html 显示状态条,怎么控制html5 video 控制条显示和隐藏时间
- [Java基础]Arrays的常用方法
- treeset java_Java TreeSet Higher()方法与示例
- 将内容引用到其他栏目
- 计算机技术中,下列的英文缩写和中文名字的对照中,正确的是,计算机技术中,下列的英文缩写和中文名字的对照中。正确的是( )。 a.cad——计算机辅助制造b.cam——计...
- 浮点数比较大小常用规则
- 三维建模的基础知识:SolidWorks /CATIA 简介
- 禅道服务器修改ip,访问禅道服务器的ip地址
- html td 超链接,web开发---给td添加超链接
- uniapp启动微信小程序报错---initialize
- amd处理器安装安卓虚拟机
- nrf52832 学习笔记(六)配对和绑定
- vue中如何加入横线_vue
- 为何亚马逊的中国电商之路以失败收场?当当网创始人这样说
- 东风破 -词:方文山 曲:周杰伦
- too many unprocessed floats