假设你想用一串数字描述一个人的全部社交关系:他和谁是死党、他在群体里扮演什么角色、他是桥梁还是孤岛。这串数字越短越好,信息量越大越好。能做到吗?
网络嵌入(network embedding)研究的,正是这件事。它把图中的每个节点——无论是社交网络里的人、生物网络里的蛋白质、还是知识图谱里的概念——映射成一个低维向量,让原本只能靠拓扑感知的关系信息,变成可以直接做加减乘除的数字。[1]
这不只是一个工程技巧。过去十年,从 DeepWalk 借用语言模型的直觉,到 node2vec 用偏置游走在”圈子归属”与”结构角色”之间折中,再到 GraphSAGE 把”记住节点”变成”学会画像方法”,这条演化线折射出复杂网络研究从描述结构走向学习结构的整体转向。[2]
📑 本文目录
一、为什么需要嵌入:图数据的”表达危机”
图(graph)是描述关系世界的天然语言。但它有一个让人头疼的特点:节点没有坐标。
如果想对节点做机器学习——比如预测某个用户会不会流失、某个蛋白质是否参与某种疾病——你首先需要把每个节点表达成一个固定长度的特征向量。最朴素的做法是用邻接矩阵的某一行作为表示,但这个矩阵往往是高维稀疏的,维度随节点数线性增长,而且不同图之间不可比较。[1]
网络嵌入(network embedding)的目标是学习一个映射函数 f,将节点 v 映射到低维连续向量空间:
翻译成人话:把每个节点压缩成一个只有几十到几百个数字的”名片”,这张名片里藏着它在网络中的位置信息——但维度远比节点总数小。两个关系亲密的节点,在这个向量空间里距离很近;陌生节点,距离很远。
好的嵌入需要同时保留:邻近关系(直接相连的节点应该相似)、社群结构(同一社区的节点整体聚拢)、以及在某些设计下的角色相似性(网络中扮演相同角色的节点即使相距遥远也应接近)。[1][2]
这个问题的解法在2014年前后迎来了拐点——答案来自一个意想不到的方向:自然语言处理。
二、DeepWalk:把节点当词来读
Perozzi、Al-Rfou 和 Skiena 在2014年提出 DeepWalk,核心洞见只有一句话:在图上随机游走产生的节点序列,和语言中的词序列服从类似的统计规律。[5]
具体来说,研究者发现:自然语言中词的出现频率服从幂律分布(power law),而图上随机游走经过节点的频率同样满足幂律。这意味着为词设计的 word2vec skip-gram 目标函数,原则上也可以用来学习节点表示。
- 从每个节点出发,做若干次截断随机游走(truncated random walk),得到节点序列。
- 把这些序列当作”句子”,节点当作”词”,喂给 skip-gram 语言模型。
- skip-gram 的训练目标:给定中心节点,最大化其上下文节点出现的概率。
- 训练结束后,每个节点对应一个 d 维向量。
原论文在多标签分类任务上测试,结果显示:即使只用到 10% 的训练数据,DeepWalk 也能超越多种需要完整数据的谱方法基线。[5]
翻译成人话:对于每个节点 v,让它的”向量名片” f(v) 尽可能能预测出游走过程中它的邻近节点 u 是谁。训练完成后,经常同时出现在游走序列里的节点,向量也会靠得更近——就像”苹果”和”橙子”在语言空间里都靠近”水果”。
DeepWalk 最重要的贡献不是某个性能数字,而是一个范式的确立:图上的结构信息可以通过序列化 + 语言模型的方式被”读”出来。这为之后的大量方法铺平了道路。[1]
语言模型学会了”king – man + woman ≈ queen”,是因为这些词在大量文本里共现的上下文相似。网络嵌入做了同样的事:两个节点在随机游走序列里经常相邻出现,它们的向量就会接近。
所以”向量名片”编码的,是节点在游走拓扑上的上下文分布,而不是某个显式的人工特征。
三、Node2Vec:带偏好的漫游者
DeepWalk 的随机游走是均匀无偏的——从当前节点随机选下一个邻居,概率相等。这一设定下,游走会在局部邻域打转,嵌入结果主要反映社群归属(同一社区的节点紧密聚集)。但有时候我们想捕捉的不是”你和谁是一伙的”,而是”你在网络里扮演什么角色”——比如,两个不同社区里都处于”连接桥梁”位置的节点,其功能更相近,应该在嵌入空间里靠拢。
Grover 和 Leskovec 在2016年提出 node2vec,用二阶偏置随机游走(second-order biased random walk)来解决这个问题。[6]
游走从节点 t 经过节点 v,下一步转移到节点 x 的概率正比于:
其中引导函数 α 的取值:
翻译成人话:游走时每一步都”记得”自己是从哪里来的。参数 p 控制”回头看”的意愿(p 小则爱回头,游走在局部打转,像 BFS 广度优先探索);参数 q 控制”往远处探”的意愿(q 小则爱向外走,像 DFS 深度优先探索)。调节 p 和 q,就能在”同社区聚合”和”结构角色相似”两种捕捉模式之间切换。[6]
同质性(homophily):关系亲密的节点彼此相似。社交网络里的朋友圈就是这个原则——”物以类聚,人以群分”。BFS 风格游走倾向于捕捉同质性。
结构等价(structural equivalence):在网络中扮演相同角色的节点相似,即使物理上相距甚远。两个分属不同国家但都是”国家首都”的城市,结构上等价。DFS 风格游走倾向于捕捉结构等价。
node2vec 通过 p/q 参数让嵌入可以向任一方向倾斜,是该方法比 DeepWalk 更灵活的核心所在。[6][10]
然而 node2vec 的行为并非总是直觉友好。Hacker 等的研究提醒:p/q 的效果高度依赖图的拓扑结构和超参数初始值,在某些图上其表现并不稳定。[14] Meng 等对 node2vec 二阶随机游走的统计性质做了更系统的分析,揭示不同图结构与参数设置对游走遍历行为的具体影响。[10]
node2vec 的超参数 p/q 并没有普适最优解。它们需要针对具体图结构和下游任务调整。把 node2vec 当黑盒直接使用,可视化上看起来”分得开”,并不意味着下游分类或链路预测任务一定最优。[14]
四、GraphSAGE:见到陌生节点也能画像
DeepWalk 和 node2vec 都是 transductive(直推式) 方法:训练时见过哪些节点,测试时也只能处理这批节点。如果网络里新加入了一个用户、一个蛋白质,原有的嵌入无法覆盖它——你必须重新训练整个模型。
Hamilton、Ying 和 Leskovec 在2017年发表 GraphSAGE(Graph SAmple and aggreGatE),正式把这个问题推到台前,并给出了一个系统性解答。[8]
Transductive(直推式):为训练集里的每个节点直接学一个 embedding 向量。就像给班里每位同学单独建了一份档案,换一批人就得重建。
Inductive(归纳式):学习一套”邻域聚合规则”,见到任何节点都能根据其邻域特征生成表示。就像学会了一套”快速认识陌生人”的方法——见到新同学,通过观察他的朋友圈、行为模式,很快能判断他是什么样的人。
GraphSAGE 的节点表示通过迭代聚合邻域信息生成:
翻译成人话:节点 v 在第 k 层的表示,等于”它自己上一层的表示”拼上”它所有邻居上一层表示的某种摘要(聚合)”,再经过一个可学习的线性变换和激活函数。这个聚合操作(AGG)可以是均值、LSTM 或最大池化。关键在于:被学习的是聚合规则本身,而不是每个节点的固定向量。[8]
在实际使用中,由于节点邻域可能极其庞大,GraphSAGE 还引入了邻域采样策略——每次只随机采样固定数量的邻居参与聚合,既控制计算量,又保持可扩展性。Oh 等的后续工作进一步提出数据驱动的节点采样方法,使采样策略本身也可以被优化,改善了表示质量。[11]
原论文在三个数据集上测试归纳式设定:演化中的引文网络(新增节点的分类)、Reddit 帖子分类(大图,约23万节点)、多图蛋白质功能预测(需要跨图泛化)。GraphSAGE 在所有测试场景下均显著优于直推式基线,证明归纳式学习框架对动态网络和新节点确实有效。[8]
GraphSAGE 的出现,标志着图表示学习从”静态节点 ID 的查找表”走向”可泛化的表示生成器”,也为后续图神经网络(GNN)的爆发式发展奠定了架构基础。[2]
五、统一视角:一切都是矩阵分解
当 DeepWalk、LINE、PTE、node2vec 各自跑马圈地之后,一个自然的问题浮现出来:这些方法本质上在做同一件事吗?
Qiu 等在2017年给出了一个清晰的回答:是的,它们都可以被解释为某种隐式矩阵分解问题。[3]
Qiu 等证明,DeepWalk 等价于对以下矩阵做分解:
翻译成人话:DeepWalk 实际上在分解一个由图的邻接结构、度矩阵和游走步数 T 共同决定的矩阵 M。其中 vol(G) 是图的总度数,b 是负采样数,T 是游走窗口大小。这意味着调节这些超参数,等价于调节被分解矩阵的形状——而不只是调节一个模糊的”游走策略”。[3]
这个统一框架的意义在于:它让不同方法之间的比较有了共同坐标系。你不需要在实验上一一对比,可以在数学上直接分析哪个分解目标更适合你的图结构和任务需求。
更进一步,Zhang 等在2024年针对随机块模型(stochastic blockmodel,SBM)给出了 DeepWalk 和 node2vec 的精确理论分析:在什么条件下,这两种方法可以高概率地精确恢复社区结构,误差界是多少。[9]
在随机块模型生成的图上,Zhang 等证明:当网络规模足够大、社区间连接密度满足一定条件时,DeepWalk 和 node2vec 学到的嵌入可以高概率实现社区的精确恢复(exact recovery)。这一结论给出了可分析的样本复杂度界,是经典经验方法获得理论背书的重要一步。[9]
Davison 等的工作则专门研究 node2vec 嵌入用于社区检测时的理论保证,进一步巩固了”嵌入不只是好看的可视化,而是能在数学上保证把社区分开”的论断。[15]
把随机游走嵌入理解为矩阵分解,就像给一台机器拆开看了内部结构:以前你只知道它能用,现在你知道它为什么能用,在什么条件下会失效,以及怎么改进它。理论工作让网络嵌入从”经验主义黑盒”走向了”有数学解释的可分析工具”。
六、应用版图:从社区发现到生物网络
网络嵌入的价值最终要落在真实世界的任务上。综述文献显示,这一方法已经渗透到远超社交网络的多个领域。[1][2]
把节点嵌入到低维空间后,可以直接在向量空间做聚类(如 k-means),聚类结果对应网络中的社区划分。理论工作已经证明,在 SBM 生成的图上,基于 node2vec 嵌入的聚类可以高概率精确恢复社区结构。[9][15]
相比传统谱聚类方法,嵌入方法的优势在于可扩展到大图,且嵌入表示可以复用于多个下游任务。
给定图的当前状态,预测哪对节点未来最可能建立连接——这是推荐系统(你可能认识的人)、知识图谱补全和蛋白质相互作用预测的核心任务。
嵌入方法的链路预测思路:把两个节点的向量做运算(点积、哈达玛积或拼接),再用分类器判断是否会有边。Embedding 学习本身已经把”谁和谁相似”编码进向量距离,因此这一转化非常自然。[1][7]
生物信息学是图表示学习的重要应用场景。蛋白质-蛋白质相互作用网络(PPI)、基因调控网络、药物-靶点网络,本质上都是图问题。
Lecca 等的综述梳理了几何深度学习与图嵌入在生物网络和结构化学中的进展,指出这一方法层已成为处理分子结构、网络功能推断和药物发现的基础工具。[12] GraphSAGE 原论文中的蛋白质功能预测任务即为该应用方向的早期代表。[8]
现实关系不只有”相连”和”不相连”,还有正面关系(朋友、合作)和负面关系(对立、竞争)。Shen 等提出的深层网络嵌入方法,通过自编码结构保持有符号网络中的结构平衡特性,把嵌入方法推广到更复杂的关系类型。[13]
Xie 等提出多任务网络表示学习框架,通过联合学习结构信息和下游任务目标,避免”通用嵌入未必适配特定任务”的问题,体现了从”无监督表示”向”任务导向表示”的演化趋势。[18]
Soto-Gomez 等的 Het-node2vec 把 node2vec 的二阶随机游走推广到异构多重图(包含多种节点和边类型的网络),使嵌入方法能应用于知识图谱、学术引文网络等多类型关系场景。[16]
七、局限与前沿:还有哪些墙没打穿
尽管网络嵌入在理论与应用上都取得了显著进展,但这一方向仍有几堵墙尚未完全打穿。
node2vec 的 p/q 参数没有普适最优解,在不同图拓扑下行为可能大相径庭。Hacker 等的研究发现,node2vec 在某些图上的稳定性和鲁棒性远低于预期——改变随机种子或轻微调整超参数,嵌入结果就会显著变化。[14] 这意味着任何依赖 node2vec 的应用都需要认真的超参数调优,不能盲目相信默认设置。
不同论文用不同数据集、不同下游任务、不同评价指标汇报结果,使得跨方法比较极为困难。”可视化上分得开”并不等于”链路预测任务上最好”。综述工作指出,该领域缺乏统一的基准测试体系,导致进展评估存在相当大的不确定性。[2]
DeepWalk 和 node2vec 通过有限步数的随机游走来感知图结构,这意味着它们天然擅长捕捉局部邻域信息,但对图的全局结构(如直径、桥梁节点的全局重要性)感知较弱。矩阵分解视角虽然提供了理论解释,但也揭示了这一内在局限。[3]
Hiraoka 等提出的 Topological Node2vec,将持久同调(persistent homology)注入 node2vec 框架,尝试让嵌入不仅能捕捉局部邻接,还能编码图的更高阶拓扑特征(如环、空洞等结构)。这是拓扑数据分析与图表示学习交叉融合的新兴方向。[17]
GraphSAGE 是图神经网络(GNN)家族的早期代表,之后的 GAT(图注意力网络)、GIN(图同构网络)等方法在其基础上持续演进。归纳式学习的框架已成为现代图学习的标准范式。综述显示,该领域正从”如何嵌入单一静态图”向”如何在动态图、异构图、大规模分布式图上做表示学习”快速推进。[2][4]
Lecca 等的综述指出,几何深度学习(geometric deep learning)正在把图表示学习的框架推广到更一般的几何结构——包括点云、流形和超图。这一框架把图神经网络理解为在特定对称群作用下的不变/等变函数,提供了更深层的数学统一视角。[12]
- 网络嵌入把节点映射为低维向量,让图结构信息可以被机器学习方法直接使用——这是复杂网络研究从”描述”走向”学习”的关键一步。[1]
- DeepWalk(2014)建立了”节点如词、游走如句”的基本范式,把 word2vec 的成功迁移到图领域。[5]
- Node2Vec(2016)通过偏置随机游走的参数 p/q,让嵌入可以在”社群归属”和”结构角色”之间灵活调节。[6]
- GraphSAGE(2017)实现了从 transductive 到 inductive 的关键跨越——学习的不是节点向量,而是生成向量的方法,可以处理训练时未见过的新节点。[8]
- 这些方法在数学上等价于隐式矩阵分解,且在随机块模型下已有精确恢复的理论保证,不再只是经验黑盒。[3][9]
- 应用已覆盖社区发现、链路预测、生物网络、有符号网络、异构网络等多个领域;但超参数敏感性和评价标准不统一仍是现实挑战。[14]
📚 参考文献
- Cai H, Zheng VW, Chang KC-C. A Comprehensive Survey of Graph Embedding: Problems, Techniques and Applications. 2017. https://arxiv.org/abs/1709.07604
- Hoang V, et al. Graph Representation Learning and Its Applications: A Survey. Sensors. 2023. https://pubmed.ncbi.nlm.nih.gov/37112507/
- Qiu J, et al. Network Embedding as Matrix Factorization: Unifying DeepWalk, LINE, PTE, and node2vec. WSDM 2018. https://arxiv.org/abs/1710.02971
- Yi H, et al. Graph representation learning in bioinformatics: trends, methods and applications. Briefings in Bioinformatics. 2022. https://pubmed.ncbi.nlm.nih.gov/34471921/
- Perozzi B, Al-Rfou R, Skiena S. DeepWalk: Online Learning of Social Representations. KDD 2014. https://arxiv.org/abs/1403.6652
- Grover A, Leskovec J. node2vec: Scalable Feature Learning for Networks. KDD 2016. https://arxiv.org/abs/1607.00653
- Dai B, et al. Embedding Learning. Journal of the American Statistical Association. 2022. https://pubmed.ncbi.nlm.nih.gov/36936129/
- Hamilton WL, Ying R, Leskovec J. Inductive Representation Learning on Large Graphs (GraphSAGE). NeurIPS 2017. https://arxiv.org/abs/1706.02216
- Zhang Y, et al. A Theoretical Analysis of DeepWalk and Node2vec for Exact Recovery of Community Structures in Stochastic Blockmodels. IEEE TPAMI. 2024. https://pubmed.ncbi.nlm.nih.gov/37878437/
- Meng L, et al. Analysis of node2vec random walks on networks. Proceedings of the Royal Society A. 2020. https://arxiv.org/abs/2006.04904
- Oh J, et al. Advancing GraphSAGE with A Data-Driven Node Sampling. 2019. https://arxiv.org/abs/1904.12935
- Lecca P, et al. Graph embedding and geometric deep learning relevance to network biology and structural chemistry. Frontiers in Artificial Intelligence. 2023. https://pubmed.ncbi.nlm.nih.gov/38035201/
- Shen X, et al. Deep Network Embedding for Graph Representation Learning in Signed Networks. IEEE Transactions on Cybernetics. 2020. https://pubmed.ncbi.nlm.nih.gov/30307885/
- Hacker C, et al. On the Surprising Behaviour of node2vec. 2022. https://arxiv.org/abs/2206.08252
- Davison A, et al. Community Detection Guarantees Using Embeddings Learned by Node2Vec. 2023. https://arxiv.org/abs/2310.17712
- Soto-Gomez M, et al. Het-node2vec: second order random walk sampling for heterogeneous multigraphs embedding. 2021. https://arxiv.org/abs/2101.01425
- Hiraoka Y, et al. Topological Node2vec: Enhanced Graph Embedding via Persistent Homology. 2023. https://arxiv.org/abs/2309.08241
- Xie Y, et al. Multi-Task Network Representation Learning. Frontiers in Neuroscience. 2020. https://pubmed.ncbi.nlm.nih.gov/32038151/