Graph Neural Networks:图学习、欺诈与风险架构
一句话:
Graph Neural Networks / GNN 解读
面向对象: AI PM / AI Architect / Fraud / AML Product / Risk Analytics / Data Product。 核心问题: 当风险、欺诈、AML、推荐和实体关系天然是图结构时,为什么普通表格特征不够?GNN 如何把节点、边和邻居信息用于预测和表示学习? 学习目标: 理解 GCN、GraphSAGE、GAT 的核心直觉,并把 GNN 映射到金融零售风控、AML、推荐和知识图谱架构。
Source Anchors
| Source | Link | 用途 |
|---|---|---|
| GCN | https://arxiv.org/abs/1609.02907 | 理解图卷积和半监督节点分类 |
| GraphSAGE | https://arxiv.org/abs/1706.02216 | 理解归纳式邻居采样和大图表示学习 |
| GAT | https://arxiv.org/abs/1710.10903 | 理解 graph attention 如何给邻居加权 |
| PyTorch Geometric | https://pytorch-geometric.readthedocs.io/ | 理解工程生态和 GNN 数据结构 |
| DGL | https://www.dgl.ai/ | 理解图学习工程框架 |
| GraphRAG | https://arxiv.org/abs/2404.16130 | 对比知识图谱检索与 GNN 表示学习 |
一句话:
GNN 让模型在图结构上做表示学习,把一个节点的特征与其邻居、边和局部结构结合起来,用于分类、链接预测、异常检测和推荐。
1. 为什么图结构重要
金融零售里很多风险不是单点属性,而是关系模式:
- 多个账户共用设备、地址、电话。
- 商户、卡号、设备、IP 形成异常交易网络。
- AML 中客户、受益人、公司、账户、交易、地区形成多跳路径。
- 欺诈团伙会拆分身份和交易以规避单点规则。
- 商品、用户、浏览、购买、退货构成推荐和异常网络。
表格模型常把关系压缩成人工特征:
shared_device_count_30d
same_ip_accounts_count
merchant_chargeback_neighbor_rate
GNN 的目标是让模型直接从图结构和邻居信息中学习表示。
2. GCN 的直觉
GCN 可以理解为:
一个节点的新表示 = 自己的特征 + 邻居特征的聚合。
customer node
receives information from account, device, address, transaction neighbors
updates representation
多层 GCN:
- 1 层看到一跳邻居。
- 2 层看到两跳邻居。
- 更多层看到更远关系,但也可能过平滑。
产品意义:
- 风险信号可以从邻居传播。
- 团伙风险、网络模式、关联账户能被捕捉。
- 但也需要解释和防止错误传播。
3. GraphSAGE: 大图和新节点
GCN 在全图训练上可能很重。GraphSAGE 的思路:
采样邻居,并学习一个聚合函数,使模型能推广到训练时没见过的新节点。
这对金融很关键:
- 新客户。
- 新商户。
- 新设备。
- 新账户。
- 新交易事件。
GraphSAGE 架构更适合动态图和大规模生产系统,因为它不要求每次都在完整固定图上重新训练。
4. GAT: 邻居不是同等重要
Graph Attention Network 引入 attention:
模型学习不同邻居对当前节点的重要性。
例子:
- 同一个设备关联 2 个账户可能正常,关联 200 个账户可能高风险。
- 某个高风险商户邻居比普通地址邻居更重要。
- 最近交易边可能比很久前的边更重要。
GAT 的产品启发:
- 风险解释可以部分参考重要邻居。
- 但 attention 不等于完整解释。
- 高风险决策仍需要规则、证据和人工复核。
5. GNN 与 Knowledge Graph / GraphRAG 的区别
| 维度 | GNN | Knowledge Graph / GraphRAG |
|---|---|---|
| 核心目标 | 学习节点/边表示和预测 | 表达知识、关系、证据路径和检索 |
| 输出 | embedding、score、classification、link prediction | paths、subgraphs、community summaries、grounded answers |
| 适合 | 风险预测、推荐、异常检测 | 多跳问答、证据解释、知识治理 |
| 解释性 | 需要额外 explainability | 路径和来源更自然可解释 |
| 数据 | 结构化图和特征 | 文档、实体、关系、claim、source |
实际架构可以组合:
Knowledge Graph / Entity Graph
-> GNN risk score
-> GraphRAG evidence explanation
-> human review
6. 金融零售案例
6.1 Fraud Ring Detection
图结构:
- customer。
- account。
- card。
- device。
- IP。
- merchant。
- transaction。
任务:
- 节点分类: 账户是否高风险。
- 边预测: 新交易是否可疑。
- 子图异常: 是否存在团伙模式。
控制:
- GNN score 作为风险信号,不直接冻结客户。
- 需要 reason codes 和 evidence path。
- 模型漂移和攻击适应性要监控。
6.2 AML Network Risk
图结构:
- customer。
- beneficial owner。
- legal entity。
- account。
- counterparty。
- transaction。
- jurisdiction。
- adverse media entity。
任务:
- 找高风险实体邻域。
- 发现隐藏关联。
- 辅助 typology detection。
控制:
- 区分事实关系和推断关系。
- 高风险输出必须 analyst review。
- GraphRAG 提供路径解释,GNN 提供候选风险评分。
6.3 Retail Recommendation and Abuse
图结构:
- user。
- product。
- category。
- session。
- purchase。
- return。
- review。
任务:
- 推荐。
- 退货滥用识别。
- 虚假评论网络。
控制:
- 推荐要有业务约束。
- 风险信号不能造成不公平对待。
- 需要 slice eval 和反馈治理。
7. GNN Product Architecture
Source Systems
-> Entity Resolution
-> Graph Construction
-> Feature Store
-> GNN Training
-> Score / Embedding Service
-> Risk Workflow / Recommendation
-> Explanation Layer
-> Monitoring / Drift / Feedback
关键组件
| Component | 责任 |
|---|---|
| entity resolution | 合并客户、商户、设备、地址、公司 |
| graph schema | 节点类型、边类型、方向、时间、权重 |
| feature store | 节点、边、子图特征 |
| sampler | 邻居采样和训练效率 |
| model service | embedding、score、classification |
| explanation layer | 重要邻居、路径、规则、case evidence |
| monitoring | 图结构漂移、label delay、score drift |
| human feedback | analyst disposition、fraud confirmed、appeal outcome |
8. 数据与标签风险
| 风险 | 说明 | 控制 |
|---|---|---|
| label delay | 欺诈/AML 真值很晚才确认 | delayed outcome handling |
| biased labels | 历史调查偏向某些群体 | fairness and slice review |
| entity resolution error | 错误合并或拆分实体 | ER QA + confidence |
| graph leakage | 使用未来边预测过去 | temporal split |
| degree bias | 高连接节点被过度判高风险 | degree-aware eval |
| adversarial adaptation | 欺诈者改变网络结构 | drift + red-team |
| explainability gap | score 高但业务无法解释 | evidence path + human review |
9. Eval 设计
| Eval type | 问题 |
|---|---|
| temporal validation | 是否按时间切分,避免未来泄露 |
| node/edge task metrics | AUC、precision@k、recall@k、PR-AUC |
| business lift | top-k review 中命中率提升 |
| fairness slices | 地区、渠道、客户类型、产品线 |
| graph robustness | entity resolution error、missing edge、adversarial pattern |
| explanation quality | analyst 是否能理解和复核 |
| workflow value | 是否降低调查时间或损失 |
高风险金融场景中,模型指标必须连接到:
- analyst workload。
- false positive。
- confirmed loss prevented。
- customer friction。
- appeal / complaint。
- regulatory defensibility。
10. GNN vs Rules vs Traditional ML
| 方案 | 适合 | 不适合 |
|---|---|---|
| Rules | 明确政策、强合规、可解释动作 | 新型团伙和复杂关系模式 |
| Traditional ML | 表格特征强、稳定预测 | 关系结构是核心信号 |
| GNN | 关系、网络、邻居传播、团伙识别 | 数据图质量差、解释要求极高且无路径证据 |
| KG + GraphRAG | 证据解释、多跳问答 | 纯预测和大规模实时评分 |
| Hybrid | 大多数金融风险系统 | 需要更强架构和治理能力 |
推荐:
金融风控通常用 hybrid:规则控制红线,传统 ML/GNN 提供风险信号,GraphRAG/知识图谱提供证据解释,人工做高风险决策。
11. 作品集输出
| Artifact | 内容 |
|---|---|
| Graph Schema ADR | 节点、边、时间、权重、权限、用途 |
| GNN Fit Assessment | 为什么 GNN 优于表格特征,哪些场景不适合 |
| Temporal Eval Plan | 时间切分、label delay、future leakage 控制 |
| Risk Workflow Map | score 如何进入 analyst workflow,不自动伤害客户 |
| Explanation Design | path evidence、neighbor importance、reason codes |
| AML/Fraud Case Study | 团伙识别或 AML 网络风险的端到端架构 |
12. 面试表达
30 秒版本
GNN 用图结构学习节点和边的表示,把一个节点的邻居和关系模式纳入预测。它适合欺诈团伙、AML 网络、推荐和关联风险,但在金融场景中通常只能作为风险信号,必须结合规则、证据路径、人工复核和模型风险治理。
2 分钟版本
GCN 的直觉是聚合邻居特征更新节点表示,GraphSAGE 通过邻居采样支持大图和新节点,GAT 用 attention 学习不同邻居的重要性。金融零售中,客户、账户、设备、商户、交易和公司天然构成图,很多风险来自关系而不是单点属性。架构上我会先做 entity resolution 和 graph schema,再设计 temporal split、feature、GNN score、explanation layer、monitoring 和 analyst workflow。GNN score 不直接触发冻结或拒绝,而是进入 human review 和 evidence path。
CTO 深挖
我会重点控制 temporal leakage、entity resolution error、label delay、degree bias 和 explainability。上线门禁不只看 AUC,还看 top-k lift、false positive、slice fairness、analyst acceptance、customer friction 和 appeal outcome。对于 AML,我会组合 GNN 风险评分与 GraphRAG 证据路径。
13. 复习问题
- GCN 如何利用邻居信息?
- GraphSAGE 为什么适合大规模动态图?
- GAT 的 attention 对解释有什么帮助和局限?
- GNN 和知识图谱/GraphRAG 的区别是什么?
- 金融欺诈图中最重要的节点和边有哪些?
- 为什么 GNN eval 必须按时间切分?
- GNN score 为什么不能直接作为高风险业务动作依据?