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}XRN×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}WRP×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}VdRk×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》相关推荐

  1. 【论文解读 CIKM 2018 | GEM】Heterogeneous Graph Neural Networks for Malicious Account Detection

    论文链接:Heterogeneous Graph Neural Networks for Malicious Account Detection 来源:CIKM 2018(CCF-B 数据库,数据挖掘 ...

  2. 【论文分享】异构图神经网络域名检测方法GAMD:Attributed Heterogeneous Graph Neural Network for Malicious Domain Detection

    题目:Attributed Heterogeneous Graph Neural Network for Malicious Domain Detection 链接:https://ieeexplor ...

  3. 实时智能决策引擎在蚂蚁金服风险管理中的实践

    摘要:以"数字金融新原力(The New Force of Digital Finance)"为主题,蚂蚁金服ATEC城市峰会于2019年1月4日上海如期举办.金融智能专场分论坛上 ...

  4. 实时智能决策引擎在蚂蚁金服风险管理中的实践 1

    摘要:以"数字金融新原力(The New Force of Digital Finance)"为主题,蚂蚁金服ATEC城市峰会于2019年1月4日上海如期举办.金融智能专场分论坛上 ...

  5. 【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 ...

  6. Advances in Graph Neural Networks笔记4:Heterogeneous Graph Neural Networks

    诸神缄默不语-个人CSDN博文目录 本书网址:https://link.springer.com/book/10.1007/978-3-031-16174-2 本文是本书第四章的学习笔记. 感觉这一章 ...

  7. 蚂蚁金服生产级 Raft 算法库存储模块剖析 | SOFAJRaft 实现原理

    前言 SOFAJRaft 是一个基于 Raft 一致性算法的生产级高性能 Java 实现,支持 MULTI-RAFT-GROUP,适用于高负载低延迟的场景. SOFAJRaft 存储模块分为: Log ...

  8. 蚂蚁金服-支付风险识别亚军方案!

    比赛名称:蚂蚁金服-支付风险识别 比赛链接: https://dc.cloud.alipay.com/index#/topic/intro?id=4 比赛背景 基于移动互联网的线下支付.保险.理财等新 ...

  9. 从蚂蚁金服一窥人工智能在金融领域的机遇与挑战

    从蚂蚁金服一窥人工智能在金融领域的机遇与挑战 CCAI 蚂蚁金服 人工智能 金融 中国人工智能大会 阅读2469  编者按:由中国人工智能学会.阿里巴巴以及蚂蚁金服联合主办,CSDN.中国科学院自动化 ...

最新文章

  1. Leangoo英文版来了~
  2. Functional Programming Contest - September'14
  3. 并发基础(八) java线程的中断机制
  4. 使用LayoutAnimationController为RecyclerView添加动画
  5. html 显示状态条,怎么控制html5 video 控制条显示和隐藏时间
  6. [Java基础]Arrays的常用方法
  7. treeset java_Java TreeSet Higher()方法与示例
  8. 将内容引用到其他栏目
  9. 计算机技术中,下列的英文缩写和中文名字的对照中,正确的是,计算机技术中,下列的英文缩写和中文名字的对照中。正确的是(  )。 a.cad——计算机辅助制造b.cam——计...
  10. 浮点数比较大小常用规则
  11. 三维建模的基础知识:SolidWorks /CATIA 简介
  12. 禅道服务器修改ip,访问禅道服务器的ip地址
  13. html td 超链接,web开发---给td添加超链接
  14. uniapp启动微信小程序报错---initialize
  15. amd处理器安装安卓虚拟机
  16. nrf52832 学习笔记(六)配对和绑定
  17. vue中如何加入横线_vue
  18. 为何亚马逊的中国电商之路以失败收场?当当网创始人这样说
  19. 东风破 -词:方文山 曲:周杰伦
  20. too many unprocessed floats

热门文章

  1. 2019年_BATJ大厂面试题总结-华为篇
  2. 从你的全世界路过---陌陌X-SIGN还原
  3. 【python学习】-matplotlib绘图如何将坐标轴刻度值设置为科学计数法形式
  4. Windows Service 介绍
  5. LINQ教程一:LINQ简介
  6. AMBA协议笔记(APB)
  7. QQ幻想杂食宠物各种前缀比较
  8. PHP云任务Q助手Tools程序源码+多功能
  9. 探索云原生技术之基石-Docker容器入门篇(3)
  10. 无刷电动车控制器设计要点