1 大型图应用与难点
当前的大型图应用场景:
- 推荐系统(亚马逊、Youtube、Pinterest 等):用户规模在 100M~1B,产品/视频规模在 10M~1B,任务包括商品推荐或用户分类
- 社交网络(Facebook、X、Instagram 等):用户规模在 300M~3B,任务包括好友推荐或用户属性预测
- 学术网络(微软学术图谱):作者或论文规模在 120M,任务包括论文分类、合作作者推荐、论文引用推荐
- 知识图谱(Wikidata、Freeb
分类目录归档:斯坦福CS224W 图机器学习
当前的大型图应用场景:
前置知识:CS224W 图机器学习04:GNN 深入理解、CS224W 图机器学习05:GNN 的训练与预测、 CS224W 图机器学习06:GNN 的理论理解
本节主题:如何使得 GNN 的嵌入更具表示力?
一个"完美"的 GNN 应该具备什么特征?
问题 1:
推荐系统可以建模为二分图(bipartite graph)
任务:给定历史图,预测每个用户未来将产生的交互项(链接预测问题)
前置知识:推荐排序模型评价指标
基于嵌入表示的推荐系统建模思路
子图(subgraphs)是构建图的基础块,能够描述和区分图网络
给定图 $G=(V,E)$,可以给出 2 种方式定义子图 $G'=(V',E')$
子图的定义方式 1:节点诱导子图(Node-induced subgraph)
本小节的示例均围绕以下知识图展开:
常见的三种知识图推理类型:
知识图(Knowledge graph):以图的形式存储知识
知识图示例:生物知识图(蛋白质/药物/疾病/不良事件)
知识图应用:信息检索服务、问答和对话
常见的开源 KG :知识图数据资源
这类知识图一般是百万级别的,存在很多边的缺失(考虑补齐)
比
异构图(Heterogeneous Graph),存在不同类型的节点和边
即节点和边至少有一个具有多种类型,常见于知识图谱的场景
举例:引文网络
从异构图到标准图:
one-hot
形式的特征,以此区分类型[1, 0]
附加到每个“作者节点”;将特征 [0, 1]
附加到每个“纸节点”关键问题:GNN 节点嵌入能否区分不同节点的局部邻域结构?
GNN 通过邻域定义的计算图生成节点嵌入:
由于 GNN 主要依赖节点特征,而不考虑节点 ID
因此 GNN 无法区分位置同构的节点(节点 1 和节点 2)
图训练的完整 Pipeline:
不同的任务级别需要不同的预测头(Prediction head)
$$ \widehat{\boldsymbol{y}}_v=\mathrm{Head}_{\mathrm{node}}(\mathbf{h}_v^{(L)})=\mathbf{W}^{(H)}\mathbf{h}_v^{(L)} $$
图神经网络(GNN)的通用框架:
所以单层 GNN 的计算过程可表示如下: $$ \begin{aligned} \mathbf{m}_u^{(l)}&=\mathrm{MSG}^{(l)}\left(\math