4、图神经网络入门:从神经网络到图神经网络,GNN的基本思想、消息传递机制、节点嵌入与图嵌入

在反欺诈场景中,交易网络、设备指纹网络、社交关系网络天然具备图结构。传统神经网络(如MLP、CNN)假设输入是欧几里得空间中的独立样本,无法直接建模实体之间的复杂关联。本章从神经网络的基本局限出发,引出图神经网络(GNN)的核心思想,重点拆解消息传递机制、节点嵌入与图嵌入的数学直觉与工程实现路径,为后续反欺诈图模型实战打下基础。

传统神经网络 固定维度向量 无结构关系 局限 图结构数据 A B C D E 节点 + 边 + 特征 GNN 消息传递机制 v u1 u2 u3 聚合邻居信息 更新节点表示 节点嵌入 / 图嵌入 低维稠密向量,保留结构信息 反欺诈应用 风险节点识别 团伙检测 / 异常交易 链路风险传播 图嵌入:整图 → 向量 用于图分类 / 图相似度

4.1 从神经网络到图神经网络:为什么传统模型不够用

核心原理

传统神经网络(如全连接网络、卷积神经网络)的核心假设是:输入数据具有固定维度且样本间相互独立。以反欺诈场景为例,如果我们将一笔交易表示为特征向量(金额、时间、设备ID、IP等),MLP可以学习到特征与风险之间的非线性关系。但问题在于:欺诈往往不是孤立事件,而是团伙作案。一个设备关联多个账号、一个IP关联多张银行卡、一个收货地址关联多个手机号——这些关联关系构成了天然的图结构。

图神经网络的核心突破在于:将实体视为节点(Node),将实体间的关系视为边(Edge),通过迭代聚合邻居信息来学习节点的低维向量表示。这种表示既保留了节点自身的属性特征,又融合了局部拓扑结构信息。

对比维度 传统神经网络(MLP/CNN) 图神经网络(GNN)
输入结构 固定维度向量/网格 任意拓扑的图结构
样本独立性 假设样本独立同分布 显式建模样本间依赖
特征传播 层间逐层变换 沿边进行消息传递
反欺诈适用性 单笔交易风险评分 团伙识别、链路风险传播

判断方法

在实际反欺诈项目中,判断是否需要引入GNN,可以从以下三个问题入手:

  1. 是否存在显式关系? 如设备-账号关联、IP-卡号关联、交易对手关系。
  2. 欺诈是否呈现团伙性? 如果黑产以群控设备、养号矩阵方式作案,单点检测容易漏报。
  3. 特征中是否包含ID类稀疏特征? 如user_id、device_id、card_no,这些ID天然可以作为节点标识。
经验提醒: 在反欺诈中,GNN并非要替代传统模型,而是作为增量信号源。实践中常将GNN输出的节点嵌入与GBDT、LR等传统模型的特征拼接,形成"图特征+业务特征"的融合建模方案。

4.2 GNN的基本思想与消息传递机制

核心原理

GNN的基本思想可以概括为:每个节点的表示由其自身特征和邻居节点的特征共同决定。这种思想通过消息传递(Message Passing)机制实现。在第 k 层,每个节点 v 执行以下两步操作:

1. 消息聚合(Aggregate):从邻居节点 u ∈ N(v) 收集信息
   a_v^(k) = AGGREGATE({ h_u^(k-1) : u ∈ N(v) })

2. 节点更新(Update):结合自身特征与聚合信息
   h_v^(k) = UPDATE( h_v^(k-1), a_v^(k) )

经过 K 层消息传递后,节点 v 的最终表示 h_v^(K) 包含了其 K 跳邻域内的结构信息和特征信息。常见的聚合函数包括:均值聚合(Mean)、求和聚合(Sum)、最大值聚合(Max),以及基于注意力机制的加权聚合(GAT)。

操作流程

在反欺诈场景中构建GNN模型,通常遵循以下流程:

  1. 构图(Graph Construction):定义节点类型(如设备、账号、卡号)和边类型(如登录关系、交易关系、绑定关系)。
  2. 特征工程:为每个节点生成初始特征向量 h_v^(0),可以是统计特征(如交易频次、金额分位数)或Embedding特征。
  3. 模型设计:选择GNN变体(GCN、GraphSAGE、GAT),确定层数和隐藏维度。
  4. 训练与推理:定义损失函数(如节点分类的交叉熵、链路预测的BCE),进行端到端训练。
  5. 嵌入输出:提取节点嵌入或图嵌入,用于下游任务。

案例拆解:设备-账号二部图上的风险传播

假设我们有一个设备-账号二部图:设备节点 D1、D2,账号节点 A1、A2、A3。已知 A1 是黑样本(欺诈账号),D1 与 A1 关联,D1 又与 A2 关联。在GNN的一层消息传递后,A2 的表示会聚合来自 D1 的信息,而 D1 的表示聚合了 A1 的风险信号。经过两层传递,A3 如果与 D2 关联,而 D2 又与 A2 关联,则 A3 也会间接获得风险信号。这就是风险在图中传播的过程。

关键输入数据:节点特征(如设备活跃时长、账号注册天数)、边权重(如登录频次)。初始现象:A1 被规则引擎标记为高风险。分析判断:通过GNN,A2 和 A3 的风险评分显著上升。实际操作:将GNN输出的风险分数与规则引擎结果做加权融合。结果对比:单独使用规则引擎召回率为 60%,加入GNN后召回率提升至 78%,同时误报率仅上升 1.2%。风险与代价:GNN需要全图计算,在千万级节点图上推理延迟较高,需要采用邻居采样(Neighbor Sampling)技术降低计算量。

常见误区: 不要以为GNN层数越多越好。在反欺诈图中,3-4层通常足够,过深的网络会导致过平滑(Over-smoothing),即所有节点表示趋于一致,反而丧失区分度。

4.3 节点嵌入与图嵌入

核心原理

节点嵌入(Node Embedding)是将图中每个节点映射为低维稠密向量,使得向量空间中的距离反映节点在图中的结构相似性。例如,两个设备如果共享多个关联账号,它们的嵌入向量在空间中应该接近。图嵌入(Graph Embedding)则是将整个图(或子图)映射为一个向量,用于图级别的分类任务,例如判断一个交易子图是否为团伙欺诈。

嵌入类型 输入 输出 反欺诈应用
节点嵌入 单个节点及其邻域 d维向量(如128维) 风险节点识别、相似设备聚类
图嵌入 整图/子图 d维向量 团伙模式识别、子图异常检测
边嵌入 两个节点及其关系 d维向量 交易关系风险评分

判断方法

选择节点嵌入还是图嵌入,取决于业务目标:

  • 如果目标是识别单个高风险实体(如判断某设备是否涉诈),使用节点嵌入。
  • 如果目标是识别整个团伙(如发现一批设备+账号组成的欺诈群组),使用图嵌入或子图嵌入。
  • 如果目标是判断两笔交易是否属于同一团伙,可以使用边嵌入或节点对嵌入。

实战场景:设备风险聚类

某电商平台发现大量新注册账号在短时间内集中下单,且收货地址高度相似。平台构建了设备-账号-地址三部分图,使用GraphSAGE模型生成节点嵌入。具体过程如下:

  1. 构图:节点为设备(约50万)、账号(约200万)、地址(约80万);边为登录关系、绑定关系、收货关系。
  2. 特征:设备节点特征包括激活时长、Root状态、应用列表Hash;账号节点特征包括注册时长、历史订单数、退款率。
  3. 训练:使用无监督损失(如负采样)训练嵌入,维度设为64。
  4. 聚类:对设备嵌入做K-Means聚类(K=20),发现第7类设备簇高度集中,且该类设备关联的账号退货率高达 45%。
  5. 结果:将该设备簇标记为"高危设备群",拦截其关联的新注册账号,次日拦截准确率达 92%。

复盘经验:嵌入聚类发现的团伙比规则引擎提前约 3 天识别到新加入的设备,因为GNN能够捕捉到多跳关联,而规则引擎通常只做单跳匹配。

总结复盘: GNN的核心价值在于将关系信息转化为向量信号。在反欺诈中,节点嵌入适合做个体风险排序,图嵌入适合做团伙模式识别。实际落地时,建议先从小规模子图开始验证效果,再逐步扩展到全图。同时,注意图的动态更新——欺诈团伙会不断更换设备、账号,需要设计增量构图机制,避免每天全量重建图导致计算资源浪费。

常见误区与注意事项

  • 误区一:忽略边权重。在反欺诈图中,边的强度(如登录频次、交易金额)是重要信号,建议在消息传递时引入边权重。
  • 误区二:特征归一化不足。节点特征量纲差异大(如交易金额 vs 注册天数),需做标准化处理。
  • 误区三:训练与推理分布不一致。训练时使用历史图,推理时使用实时图,节点分布可能漂移,需要定期重训练。
  • 误区四:忽略冷启动节点。新注册的账号/设备没有历史邻居,嵌入质量差,需要设计冷启动策略(如用规则模型兜底)。