分类目录归档:课程

CS224W 图机器学习15:GNN 拓展到大型图

1 大型图应用与难点

当前的大型图应用场景:

  1. 推荐系统(亚马逊、Youtube、Pinterest 等):用户规模在 100M~1B,产品/视频规模在 10M~1B,任务包括商品推荐或用户分类
  2. 社交网络(Facebook、X、Instagram 等):用户规模在 300M~3B,任务包括好友推荐或用户属性预测
  3. 学术网络(微软学术图谱):作者或论文规模在 120M,任务包括论文分类、合作作者推荐、论文引用推荐
  4. 知识图谱(Wikidata、Freeb

Read more

CS224W 图机器学习13:图神经网络进阶

前置知识:CS224W 图机器学习04:GNN 深入理解CS224W 图机器学习05:GNN 的训练与预测CS224W 图机器学习06:GNN 的理论理解

本节主题:如何使得 GNN 的嵌入更具表示力?

1 图神经网络的局限性

一个"完美"的 GNN 应该具备什么特征?

  • 能在邻域结构(无论跃点如何)和节点嵌入之间构建一个单射函数
  • 如果两个节点具有相同的邻域结构,则它们必须具有相同的嵌入
  • 如果两个节点具有不同的邻域结构,则它们必须具有不同的嵌入

问题 1:

Read more

CS224W 图机器学习11:基于 GNN 的推荐

1 推荐系统的任务与评价

推荐系统可以建模为二分图(bipartite graph)

  • 具有两种类型的节点——用户(user)和项(item)
  • 边用于连接用户和项,表示二者间的互动(比如点击、购买或评论)

任务:给定历史图,预测每个用户未来将产生的交互项(链接预测问题)

前置知识:推荐排序模型评价指标

基于嵌入表示的推荐系统建模思路

  • 对于每一个用户 $u$,基于编码器生成对应的用户嵌入表示
  • 对于每一个可交互项 $v$,基于编码器

Read more

CS224W 图机器学习10:子图的匹配和计数

1 神经网络子图

子图(subgraphs)是构建图的基础块,能够描述和区分图网络

给定图 $G=(V,E)$,可以给出 2 种方式定义子图 $G'=(V',E')$

子图的定义方式 1:节点诱导子图(Node-induced subgraph)

  • 从图 $G$ 的节点集合中筛选子集来构建子图,$V'\subseteq V$
  • 然后从图 $G$ 的边集合中筛选子图所有节点的对应边,$E'={(u,v)\in E|u,v\in V'}

Read more

CS224W 图机器学习09:知识图的推理

本小节的示例均围绕以下知识图展开:

  • 该示例数据描述了疾病、药物、不良事件和蛋白质之间的相互关系

1 推理的类型

常见的三种知识图推理类型:

  • 单跳查询(one-hop queries),从起始节点经过一条边是否可以达到终止节点,即预测两个节点之间是否有边连接(示例:Fluvestrant 这种药物可能导致哪些不良反应?)
  • 路径查询(path queries),从起始节点经过 n 条边是否可以达到终止节

Read more

CS224W 图机器学习08:知识图的学习

1 知识图基本介绍

知识图(Knowledge graph):以图的形式存储知识

  • 节点表示实体(entitles),节点的标签可以是实体类型
  • 节点之间的边表示两个实体之间的关系
  • 所以知识图是异构图的一种特殊情况

知识图示例:生物知识图(蛋白质/药物/疾病/不良事件)

知识图应用:信息检索服务、问答和对话

常见的开源 KG :知识图数据资源

这类知识图一般是百万级别的,存在很多边的缺失(考虑补齐)

Read more

CS224W 图机器学习07:异构图的学习

1 异构图的定义与理解

异构图(Heterogeneous Graph),存在不同类型的节点和边

即节点和边至少有一个具有多种类型,常见于知识图谱的场景

举例:引文网络

  • 节点的类型可以是作者(Author)或文章(Paper)
  • 边的类型可以是引用(Cite)或类似(Like)

从异构图到标准图:

  • 可以将节点和边的类型视为 one-hot 形式的特征,以此区分类型
  • 比如将特征 [1, 0] 附加到每个“作者节点”;将特征 [0, 1] 附加到每个“纸节点”
  • 但该方法不适用于不同类

Read more

CS224W 图机器学习06:GNN 的理论理解

1 计算图与邻域信息

关键问题:GNN 节点嵌入能否区分不同节点的局部邻域结构?

GNN 通过邻域定义的计算图生成节点嵌入:

  • 节点 1 和节点 5,因其度数不同而具有不同的邻域结构信息
  • 节点 1 和节点 2,具有相同的邻域结构信息;二者在图中是对称的
  • 节点 1 和节点 4,其 2 跳邻居的信息存在差异(邻居的度不同)

由于 GNN 主要依赖节点特征,而不考虑节点 ID

因此 GNN 无法区分位置同构的节点(节点 1 和节点 2)

2 GNN 的模型表达能力

Read more

CS224W 图机器学习05:GNN 的训练与预测

图训练的完整 Pipeline:

1 GNN 的预测

不同的任务级别需要不同的预测头(Prediction head)

  1. 节点(node-level)级预测:直接使用 $d$ 维的节点嵌入 $h_v^{(L)}$ 进行预测

$$ \widehat{\boldsymbol{y}}_v=\mathrm{Head}_{\mathrm{node}}(\mathbf{h}_v^{(L)})=\mathbf{W}^{(H)}\mathbf{h}_v^{(L)} $$

  1. 边(edge-level)级预测:使用

Read more

CS224W 图机器学习04:GNN 深入理解

1 单层图神经网络

图神经网络(GNN)的通用框架:

  • 可以发现,GNN 层的输入为一组向量,输出为单个向量
  • 所以单层 GNN 的核心过程在于邻域信息的转换(1)和聚合(2)
  • 在转换和聚合邻域信息时,还要注意考虑节点本身的信息保留

所以单层 GNN 的计算过程可表示如下: $$ \begin{aligned} \mathbf{m}_u^{(l)}&=\mathrm{MSG}^{(l)}\left(\math

Read more