CS224W:09异构图的机器学习Machine Learning with Heterogeneous Graphs

 到目前为止,我们只处理了具有一种边类型的图
 如何处理具有多种节点或边类型的图(也称为异构图)?
 目标:在异构图上学习
        ▪ 关系图卷积网络(Relational GCNs)
        ▪ 异构图变换器(Heterogeneous Graph Transformer)
        ▪ 异构图神经网络的设计空间

1. 异构图(Heterogeneous Graphs)


异构图被定义为 G =( \mathcal{V}, \mathcal{E}, \tau, \phi)
          - 具有节点类型 v \in \mathcal{V}
                  - 节点 v 的节点类型为\tau{(v)}
          - 具有边类型 (u, v )\in \mathcal{E}
                  - 边(u, v )边类型为 \phi_(u,v)
                  - 边 e的关系类型为一个元组:r(u,v)= (\tau(u), \phi(u), \tau(v))

 还有其他异构图的定义方式 - 描述带有节点和边类型的图。

 观察:我们也可以将节点和边的类型视为特征(注意是类型视为特征)
        ▪ 例如:为节点和边添加一个独热指示符
        ▪ 为每个“作者节点”附加特征 [1, 0];为每个“论文节点”附加特征 [0, 1](concat)
        ▪ 类似地,我们可以为具有不同类型的边分配边特征
        ▪ 然后,异构图会减少为标准图
 什么时候需要异构图?
        ▪ 情况1:不同的节点/边类型具有不同形状的特征
                ▪ “作者节点”有4维特征,而“论文节点”有5维特征
        ▪ 情况2:我们知道不同的关系类型表示不同类型的互动
        ▪ (英语,翻译,法语) 和 (英语,翻译,中文) 需要不同的模型
 最终,异构图是一种更具表现力的图表示
        ▪ 捕捉了实体之间不同类型的互动
 但也伴随着成本
        ▪ 更昂贵(计算、存储)
        ▪ 更复杂的实现
 有许多方法可以将异构图转换为标准图(即,同质图)。

2. Relational GCN

 我们将扩展GCN以处理具有多种边缘/关系类型的异构图
 我们从具有一个关系的有向图开始
        ▪ 在这个图上,我们如何运行GCN并更新目标节点A的表示?仅沿边的方向传递消息 C。

 如果图具有多个关系类型,情况会怎样?

 对不同的关系类型使用不同的神经网络权重。

 Relational GCN (RGCN): 

                                                               ​​​​​​​        ​​​​​​​                  ​​​​​​​        ​​​​​​​        h_v^{(l+1 )} = \sigma (\underset{r\in R}{\sum },\underset{u\in N(v)}{\sum }\frac{1}{c_{v,r}}W_r^{(l)}h_u^{(l)}+W_0^{(l)}h_v{(l)}) 

如何将此表示为消息 + 聚合?
消息:
        ▪ 给定关系的每个邻居:m_{u,r}^{(l)}=\frac{1}{c_{v,r}}W_r^{(l)}h_u^{(l)}
        ▪ 自环:m_{v}^{(l)}=W_0^{(l)}h_v^{(l)}
聚合:
        ▪ 对来自邻居和自环的消息进行求和,然后应用激活函数。

        ​​​​​​​        ​​​​​​​        ​​​​​​​        h_v^{(l+1)}=\sigma (Sum(\left \{ {m_{u,r}^{(l)},u\in N(v)}\right \}\cup \left \{​{m_v^{(l)} }\right \}))

 为每种关系类型引入一组神经网络! 每个关系具有 𝐿 个矩阵:𝐖𝑟₁,𝐖𝑟₂,⋯,𝐖𝑟𝐿
每个 𝐖𝑟ₗ 的尺寸为 𝑑(𝑙+1) × 𝑑(𝑙)
随着关系数量的快速增长,参数数量迅速增多!
       ▪  过拟合成为一个问题
有两种方法来对权重 𝐖𝒓(𝒍) 进行正则化
        (1) 使用分块对角矩阵
                 核心思想:使权重稀疏!
                 对 𝐖 运用分块对角矩阵。
                局限性:只有相邻的神经元/维度能够通过连接相互作用。
                 如果使用 𝐵 个低维矩阵,则参数数量从d^{(l+1)}\times d^{(l)}减少到B\times \frac{d^{(l+1)}}{B}\times \frac{d^{(l)}}{B}

        (2) 基/字典学习
                 核心洞见:在不同关系之间共享权重!
                 将每个关系的矩阵表示为基变换的线性组合,其中  𝐕𝑏 在所有关系之间共享
                                                ​​​​​​​W_{r} = \sum_{b=1}^{B}a_{rb}\cdot V_b
                        ▪ 𝐕𝑏 是基础矩阵
                        ▪ 𝑎𝑟𝑏 是矩阵 𝐕𝑏 的重要性权重
                 现在每个关系只需要学习\left \{ a_{rb} \right \}_{b=1}^{B},这是 𝐵 个标量。

 目标:预测给定节点的标签
 RGCN 使用最终层的表示:
        ▪ 如果我们从 𝑘 个类别中预测节点 𝐴 的类别
        ▪ 取最终层(预测头):h_{A}^{(L)}\in R^{k}h_{A}^{(L)}中的每个项目表示该类别的概率。

 链接预测分割:

每条边还具有一个关系类型,这与这4个类别是独立的。在异构图中,由每个单独关系形成的同质图也具有这4种分割。

假设 (E,r_3,A) 是训练监督边,所有其他边都是训练消息边。
使用 RGCN 对 (E,r_3,A)进行打分!
        ▪ 取 𝐸 和 𝐴 的最终层:h_E^{(L)}h_A^{(L)}\mathbb{R}^{(d)}
        ▪ 关系特定的分数函数 f_r: ℝ^𝑑 × ℝ^𝑑 → ℝ
                ▪ 一个示例 𝑓ᵣ₁(𝐡𝐸, 𝐡𝐴) = 𝐡𝐸ᵀ𝑊ᵣ₁𝐡𝐴,其中 𝑊ᵣ₁ ∈ ℝ^(𝑑×𝑑)

训练:

1. 使用RGCN对训练监督边(E,r_3,A)进行评分。
2. 通过扰动监督边(E,r_3,B)来创建负边。
        • 扰动(E,r_3,A)尾部
                • 例如,(E,r_3,B),(E,r_3,D)

3. 使用GNN模型对负边进行评分。
4. 优化标准的交叉熵损失(如第6讲所讨论的)。
        1. 最大化训练监督边的得分。
        2. 最小化负边的得分。

        ​​​​​​​        ​​​​​​​        L = -log\sigma (f_{r3}(h_E,h_A))-log(1-\sigma (f_{r3}(h_E,h_B))
训练监督边:(E,r_3,A)
训练消息边:其余所有现有边(实线)
(1)使用训练消息边来预测训练监督边。
请注意,负边不应属于训练消息边或训练监督边!
        例如,(E,r_3,C)不是负边。

 评估:


        ▪ 以验证时间为例,测试时间也相同
(2)在验证时:
使用训练消息边和训练监督边来预测验证边。
评估模型如何能够预测带有关系类型的验证边?
我们来预测验证边 (E,r_3,D)
直觉:(E,r_3,D) 的得分应该高于所有不在训练消息边和训练监督边中的 (E,r_3,v),例如(E,r_3,B)
验证边:(E,r_3,D)
训练消息边和训练监督边:所有现有的边(实线)
1. 计算(E,r_3,D)的得分
2. 计算所有负边的得分:(E,r_3,v) 𝒗 ∈ 𝑩,𝑭,因为(E,r_3,A) ,(E,r_3,C)属于训练消息边和训练监督边
3. 得到 (E,r_3,D) 的排名 𝑹𝑲
4. 计算指标
        1. Hits@𝒌:𝟏 [𝑹𝑲 ≤ 𝒌]。值越高越好
        2. Reciprocal Rank:\frac{1}{RK}。值越高越好

 基准数据集
        ▪ 来自微软学术图(MAG)的 ogbn-mag 数据集
 四种(4种)实体类型
        ▪ 论文:736k 个节点
        ▪ 作者:1.1m 个节点
        ▪ 机构:9k 个节点
        ▪ 研究领域:60k 个节点 

 四种(4种)有向关系
        ▪ 一个作者与一个机构 "隶属于" 关系
        ▪ 一个作者 "写作" 一篇论文
        ▪ 一篇论文 "引用" 一篇论文
        ▪ 一篇论文 "属于主题" 一个研究领域

 预测任务
        ▪ 每篇论文都有一个128维的word2vec特征向量
        ▪ 鉴于来自ogbn-mag的内容、引用、作者和作者隶属关系,预测每篇论文的会议(venue)
        ▪ 由于考虑了349个会议,因此是一个349类分类问题
 基于时间的数据集划分
        ▪ 训练集:2018年之前发布的论文
        ▪ 测试集:2018年之后发布的论文

▪ SOTA 方法:SeHGNN
`▪ ComplEx(下一讲) + 简化的 GCN(第17讲) 

总结:
 关系图卷积网络(Relational GCN),用于异构图的图神经网络
 可以执行实体分类以及链接预测任务。
 这些思想也可以轻松扩展到关系图神经网络(RGNN,如 RGraphSAGE、RGAT 等)。
 基准测试:使用来自 Microsoft 学术图谱的 ogbn-mag 数据集,预测论文的发表地点。

3. Heterogeneous Graph Transformer

 图注意网络(Graph Attention Networks,简称GAT)

        ​​​​​​​        ​​​​​​​                        h_v^{(l)}=\sigma (\sum_u\in N(v)a_{uv}W^{(l)}h_u^{(l-1)})

并非所有节点的邻居都同等重要!
        ▪ 注意力灵感来自认知注意力。
        ▪ 注意力 𝜶ᵥᵤ 关注输入数据的重要部分,并逐渐淡化其余部分。
        ▪ 思想:神经网络应该在数据的那个小但重要的部分投入更多计算资源。
 我们能否将 GAT 适用于异构图? 

 动机:GAT 无法表示不同的节点和不同的边类型
 为每种关系类型引入一组神经网络对于注意力来说太昂贵
        ▪ 回顾:关系描述为(起始节点,边,结束节点)

 HGT 使用缩放点积注意力(在 Transformer 中提出) 

               ​​​​​​​                ​​​​​​​\text{Attention}(Q, K, V) = \text{softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right)V
 查询(Query):𝑄,键(Key):𝐾,值(Value):𝑉
        ▪ 𝑄,𝐾,𝑉 的形状为(batch_size,dim)
我们如何获得 𝑄,𝐾,𝑉?
 对输入应用线性层
      ▪ 𝑄 = 𝑄_𝐿𝑖𝑛𝑒𝑎𝑟(𝑋)
      ▪ 𝐾 = 𝐾_𝐿𝑖𝑛𝑒𝑎𝑟(𝑋)
      ▪𝑉 = 𝑉_𝐿𝑖𝑛𝑒𝑎𝑟(𝑋)

 回顾:将 GAT 应用于同质图
        ▪ H^{(l )} 表示第 𝑙 层的表示:

H^l[t]\leftarrow Aggregate_{\forall s\in N(t),\forall e\in E(s,t)}(Attention(s,t)\cdot Message(s))

        如何将关系类型(起始节点、边、结束节点)纳入注意力计算?

 创新:将异构注意力分解为节点类型和边类型相关的注意力机制
        ▪ 3 个节点权重矩阵,2 个边权重矩阵
        ▪ 不进行分解:3*2*3=18 种关系类型 -> 18 个权重矩阵(假设存在所有关系类型)

 异质相互注意(Heterogeneous Mutual Attention):

        ​​​​​​​        ​​​​​​​        ATT \text - head^i(s,e,t)=(K^i(s)W_{\phi (e)}^{ATT}Q^i(t)^T)

        ​​​​​​​        ​​​​​​​                K^i(s)=K\text -Linear_{\tau (s)}^i(H^{(l-1)}[s])

        ​​​​​​​        ​​​​​​​        ​​​​​​​        Q^i(t)=Q\text -Linear_{\tau (t)}^i(H^{(l-1)}[t])
 每个关系(𝑇 𝑠,𝑅 𝑒,𝑇 𝑡)都有一组不同的投影权重。
        ▪ 𝑇 (𝑠):节点 𝑠 的类型,𝑅 𝑒:边 𝑒 的类型
        ▪ 𝑇(𝑠) 和 𝑇(𝑡) 对 𝐾_𝐿𝑖𝑛𝑒𝑎𝑟𝑇 𝑠 和 𝑄_𝐿𝑖𝑛𝑒𝑎𝑟𝑇 𝑡 进行参数化,其中进一步返回键(Key)和查询(Query)向量 𝐾(𝑠) 和 𝑄(𝑡)
        ▪ 边类型 𝑅(𝑒) 直接参数化 W_{R(e)}。 

 完整的 HGT 层


 类似地,HGT 在消息计算中使用节点和边类型来分解权重。 

 基准:来自微软学术图的 ogbn-mag 数据集,用于预测论文的会议(venue)

 HGT 使用的参数要少得多,尽管注意力计算很昂贵,但表现优于 R-GCN
        ▪ 这要归功于对节点和边类型进行的权重分解。 

4. 异质图神经网络设计空间(Design Space of Heterogeneous GNNs)

 图特征处理
▪ 两种常见选择:在每种关系类型内计算图统计量(例如节点度),或在整个图上计算(忽略关系类型)
 图结构处理
▪ 对异构图,邻居和子图采样也很常见。
▪ 两种常见选择:在每种关系类型内进行采样(确保覆盖每种类型的邻居),或在整个图上进行采样。
​​​​​​​

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值