4. GraphSAGE 原理(下):节点特征更新、损失函数与训练方式
上一节我们学习了 GraphSAGE 的采样与聚合机制。本节将深入其核心:节点特征如何逐层更新、无监督与有监督损失函数如何设计,以及与 GCN 的本质差异。这些是理解 GraphSAGE 可扩展性与灵活性的关键。
4.1 节点特征更新公式:从邻居到目标节点
GraphSAGE 的核心思想是:每个节点的特征由其自身特征与采样邻居的聚合特征共同决定。第 k 层的更新公式如下:
h_v^(k) = σ( W^(k) · CONCAT( h_v^(k-1), AGG_k( { h_u^(k-1), ∀u ∈ N(v) } ) ) )
其中:
- h_v^(k):节点 v 在第 k 层的特征向量。
- h_v^(k-1):节点 v 在上层的特征(自身记忆)。
- N(v):对节点 v 采样得到的固定大小邻居集合。
- AGG_k:第 k 层的聚合函数(Mean / LSTM / Pooling)。
- CONCAT:将自身特征与邻居聚合特征拼接,保留自身信息。
- W^(k):可训练的权重矩阵。
- σ:非线性激活函数(如 ReLU)。
关键设计:拼接操作是 GraphSAGE 区别于 GCN 的重要特征。它确保节点自身的原始信息不会在多层聚合中被“稀释”,尤其适合欺诈团伙中“孤立节点”与“团伙节点”的区分。
4.2 聚合函数对比:Mean / LSTM / Pooling
GraphSAGE 支持三种可替换的聚合器,不同聚合器对欺诈团伙识别的效果差异显著:
| 聚合器 | 公式/原理 | 特点 | 欺诈场景适用性 |
|---|---|---|---|
| Mean 聚合器 | 对邻居特征逐元素取平均 | 计算最快,平滑邻居信息 | 适合均匀团伙,但易被噪声淹没 |
| LSTM 聚合器 | 将邻居特征排序后输入 LSTM | 表达能力更强,但非对称(需排序) | 适合时序行为数据(如交易序列) |
| Pooling 聚合器 | 对每个邻居特征做 MLP + 逐元素 max 池化 | 对称、可学习、鲁棒 | 推荐:抗噪声,能捕捉团伙内极端特征 |
实战建议:在反欺诈场景中,Pooling 聚合器通常表现最优。因为它通过 MLP 先变换每个邻居,再用 max 池化保留最“异常”的信号——这正是欺诈团伙中“头目节点”的典型特征。
4.3 无监督损失函数:保持图结构邻近性
当缺乏节点标签时,GraphSAGE 通过无监督损失学习节点嵌入,使得图中邻近节点的嵌入相似,远距离节点的嵌入不同。损失函数基于负采样:
J_G(z_u) = -log( σ( z_u^T z_v ) ) - Q · E_{v_n ~ P_n(v)} [ log( σ( -z_u^T z_{v_n} ) ) ]
其中:
- z_u:节点 u 的最终嵌入。
- v:与 u 在固定长度随机游走中同时出现的邻居(正样本)。
- v_n:从噪声分布 P_n 中采样的负样本节点。
- Q:负样本数量(通常 5~20)。
- σ:sigmoid 函数。
该损失函数鼓励正样本对的内积大,负样本对的内积小。在反欺诈中,无监督预训练可以快速发现密集连接的可疑子图,即使没有标注数据也能生成有区分度的嵌入。
4.4 有监督训练方式:端到端分类
当拥有部分标注数据(如已知欺诈/正常节点)时,GraphSAGE 支持端到端有监督训练。流程如下:
- 前向传播:通过采样-聚合-拼接得到每个节点的嵌入 z_v。
- 分类层:在最终嵌入后接一个全连接层 + softmax,输出类别概率。
- 损失函数:使用交叉熵损失:
L = - Σ_{v ∈ labeled} y_v · log( p_v )
其中 y_v 是真实标签(one-hot),p_v 是预测概率。
- 反向传播:梯度通过全连接层、聚合函数、采样操作回传,更新所有 W^(k) 和分类层参数。
注意:有监督训练时,采样图是动态的——每个 batch 重新采样邻居。这导致计算图每次不同,但正是这种随机性让 GraphSAGE 能泛化到未见节点(归纳学习)。
4.5 与 GCN 的对比:核心差异
GraphSAGE 与 GCN 虽然都是图神经网络,但设计哲学差异明显。下表总结了关键区别:
| 对比维度 | GCN | GraphSAGE |
|---|---|---|
| 学习范式 | 直推式(Transductive) | 归纳式(Inductive) |
| 邻居使用 | 使用全部邻居(全图计算) | 采样固定数量邻居 |
| 特征更新 | 自身特征与邻居特征加权平均 | 自身特征与邻居聚合特征拼接 |
| 聚合函数 | 固定为归一化平均 | 可学习(Mean/LSTM/Pooling) |
| 可扩展性 | 低(需全图拉普拉斯矩阵) | 高(可 batch 训练,适合大图) |
| 泛化能力 | 不能泛化到新节点 | 可泛化到未见节点 |
在反欺诈场景中,GraphSAGE 的归纳能力至关重要:新注册的账号、新发起的交易可以立即通过其邻居特征生成嵌入,无需重新训练整个模型。
4.6 本章小结
- 特征更新公式:拼接自身特征与邻居聚合特征,保留个体信息。
- 聚合函数:Mean 快但平滑,LSTM 适合序列,Pooling 抗噪声推荐用于反欺诈。
- 无监督损失:基于负采样,保持图结构邻近性,适合无标签场景。
- 有监督训练:端到端交叉熵,支持归纳学习,可泛化到新节点。
- 与 GCN 对比:GraphSAGE 采样+拼接+可学习聚合,GCN 全图+平均+直推式。