M4-088M4: Sequences & TransformersGraph Neural Networks (GNN / GAT)Easy
Mastery:
Graph Neural Networks (GNN / GAT): 比较 GCN、GraphSAGE 与 GAT。
📐 Mathematical Definition
⚡ Executive Summary
Core Concept: GCN 用归一化的固定权重平均;GraphSAGE 采样邻居并学习聚合(可归纳);GAT 用注意力学习邻居权重。
📌 Key Takeaways
- •GCN:谱图卷积的一阶近似,权重由度归一化(固定)
- •GraphSAGE:采样固定数量邻居 + 可学习聚合(inductive)
- •GAT:注意力权重(依内容),可解释、可区分邻居重要性
📐 Mathematical Derivations
数学机理:<strong>GCN(Kipf & Welling 2017)</strong>——从谱图卷积出发,用一阶切比雪夫近似得到简化的传播规则:h_v=σ(Σ_{u∈N(v)∪{v}} (1/√(d_v d_u))·W h_u)。<strong>特点</strong>——(a) <strong>权重固定</strong>(由度 d_v、d_u 归一化决定,不依内容),故对所有邻居一视同仁;(b) <strong>transductive</strong>——训练时需看到<strong>整个图</strong>(包括测试节点的结构),因为归一化依赖全图的度;故不能直接泛化到新节点/新图。<strong>GraphSAGE(Hamilton 等 2017)</strong>——(a) <strong>邻居采样</strong>:每层只采样<strong>固定数量</strong>的邻居(而非全部),使计算量与图规模解耦(支持大图);(b) <strong>可学习聚合</strong>:用 MLP + 池化(mean/pool/LSTM)替代固定归一化;(c) <strong>inductive</strong>——因为聚合函数是'学习到的'而非依赖具体图结构,故可<strong>泛化到未见节点/新图</strong>(如新用户、新分子);(d) 也支持'无邻居时用自身特征'。<strong>GAT(Veličković 等 2018)</strong>——用<strong>注意力</strong>计算邻居权重:α_{vu}=softmax_u(LeakyReLU(aᵀ[Wh_v‖Wh_u])),即权重依<strong>内容</strong>(节点特征)动态计算。<strong>特点</strong>——(a) <strong>可区分邻居重要性</strong>(GCN 对所有邻居同等对待);(b) <strong>可解释</strong>(注意力权重可分析);(c) <strong>多头</strong>(与 Transformer 的多头同源);(d) <strong>inductive</strong>(注意力函数可泛化)。<strong>选择逻辑</strong>——(a) 小图 + 同质结构 → GCN;(b) 大图 + 需泛化到新节点 → GraphSAGE;(c) 邻居重要性差异大 + 需可解释 → GAT;(d) 工业界大规模推荐 → 常是 GraphSAGE 的变体(如 PinSAGE)。
🏭 Production Trade-offs
深度剖析与工程权衡:① <strong>'transductive vs inductive'是关键区分</strong>——GCN 需全图(训练与测试共享图结构),GraphSAGE/GAT 可泛化到新节点;对'动态图/新用户'场景,inductive 是必需的。这也是工业推荐系统(用户不断新增)偏好 GraphSAGE 系的原因。② <strong>采样的重要性</strong>——大图的'邻居爆炸'(L 层需聚合 d^L 个节点)使全邻域聚合不可行;GraphSAGE 的固定采样使计算量可控(每层只采 K 个),是'大图可训练'的关键。③ <strong>注意力的代价</strong>——GAT 需计算每对邻居的注意力(内存与计算 ∝ 边数),在大图上开销大;故有'采样 + 注意力'的组合(如 GAT 的邻居采样版本)。④ <strong>与 Transformer 的关系</strong>——GAT 的注意力与 Transformer 的自注意力在形式上几乎相同(差异:GAT 在图上做、Transformer 在全连接图上做);故有'Graph Transformer'(在图上用注意力 + 结构编码)。⑤ <strong>工业实践</strong>——PinSAGE(Pinterest)用 GraphSAGE + 随机游走采样(在 30 亿节点图上训练);阿里/腾讯的推荐系统用 GNN 做用户-物品二部图传播;这些都以'采样 + 归纳式'为核心。⑥ <strong>面试要点</strong>——被问'GCN/GraphSAGE/GAT 的区别',应从'<strong>聚合权重(固定/学习/注意力)+ transductive vs inductive + 采样(可扩展性)</strong>'三维对比,并给出'选择逻辑';能提到'PinSAGE 等工业应用'是加分。
⚠️ Common Interview Pitfalls
- ✕忽略 GCN 的 transductive 限制
- ✕以为 GAT 在大图上无需采样
🎯 Interviewer Follow-ups
- ?GraphSAGE 为什么能 inductive?
- ?GAT 的多头与 Transformer 的关系?
📚
Associated Knowledge Base Guides & Mindmaps
Explore the comprehensive technical article, exam cards, and global architecture tree.