GCN及其拓展GraphSage、MPNN、GAT

GCN详解

公式:
GCN及其拓展GraphSage、MPNN、GAT_第1张图片

  • 考虑将公式进行简化(忽略D),即
    GCN及其拓展GraphSage、MPNN、GAT_第2张图片
  • 为什么要引入 D~?

因为不同的节点重要性不一样,因此我们应该引入一种类似于「注意力机制」的东西。具体来说,如果一个节点的「度」非常大,即与他相邻的节点非常多,那么它传递的消息,权重就应该小一点。
GCN及其拓展GraphSage、MPNN、GAT_第3张图片
总结:
GCN及其拓展GraphSage、MPNN、GAT_第4张图片

GraphSage

在实际问题中,一张图可能节点非常多,因此就没有办法一次性计算整张图(消耗的内存大时间长),所以我们应该使用一种有效的采样算法,从全图 G 中采样出一个子图。

GraphSAGE 主要分两步:采样、聚合

  • 采样:首先选取一个点,然后随机选取这个点的一阶邻居,再以这些邻居为起点随机选择它们的一阶邻居。例如下图中,我们要预测 0 号节点,因此首先随机选择 0 号节点的一阶邻居 2、4、5,然后随机选择 2 号节点的一阶邻居 8、9;4 号节点的一阶邻居 11、12;5 号节点的一阶邻居 13、15
    GCN及其拓展GraphSage、MPNN、GAT_第5张图片

  • 聚合:具体来说就是直接将子图从全图中抽离出来,从最边缘的节点开始,一层一层向里更新节点
    GCN及其拓展GraphSage、MPNN、GAT_第6张图片
    优点:

  • 极大减少训练计算量

  • 增强了泛化能力(因为原本要更新一个节点需要它周围的所有邻居,而通过邻居采样之后,每个节点就不是由所有的邻居来更新它,而是部分邻居节点,所以具有比较强的泛化能力)
    GCN及其拓展GraphSage、MPNN、GAT_第7张图片

MPNN

GCN及其拓展GraphSage、MPNN、GAT_第8张图片

GAT

GCN及其拓展GraphSage、MPNN、GAT_第9张图片

  • GAT:自动学习节点之间的重要性影响

容易理解:
GCN及其拓展GraphSage、MPNN、GAT_第10张图片
GCN及其拓展GraphSage、MPNN、GAT_第11张图片
GCN及其拓展GraphSage、MPNN、GAT_第12张图片
ps:本文是在阅读一些博文的时候进行的一些归纳整理。

你可能感兴趣的:(深度学习模型,AI与药物联合疗法,深度学习)