GNN、GCN、GAT图卷积神经网络学习

一、GNN

GNN、GCN、GAT图卷积神经网络学习_第1张图片

 GNN能干什么?GNN、GCN、GAT图卷积神经网络学习_第2张图片

二、GCN

在GNN的基础上,GCN要解决的是一个什么问题呢?

以求Xi的平均工资为例:

GNN、GCN、GAT图卷积神经网络学习_第3张图片

更新后的节点信息=邻居节点的信息N+自身节点的信息

GNN、GCN、GAT图卷积神经网络学习_第4张图片但是A只与B关联,B与很多节点关联。当计算A的平均工资时,按照上面的公式把B的信息传给A,会使A的信息失真,因此GCN的目标就是解决这个信息传递时失真的问题。

GNN、GCN、GAT图卷积神经网络学习_第5张图片

解释一下这个公式:

GNN、GCN、GAT图卷积神经网络学习_第6张图片

A'矩阵代表A的关联矩阵(关联信息+自身信息),D'代表A'的度矩阵,表示节点的连接情况。

H代表每一层的特征。

GNN、GCN、GAT图卷积神经网络学习_第7张图片

 这个时候在计算B传给A的信息时,B虽然有很大的信息,但是公式中分母包含了B的度矩阵Djj,因此再给A传递时信息不至于过大失真。

在社交模型中,表示B虽然认识很多人,他在社交网络中有很大的影像,但是B对他的每一个关联朋友不可能全部投入很大的影像,否则这个社交网络就不稳定了。因此GCN使得B给A的信息降低,到一个合适的水准。

三、GAT

GCN通过度矩阵D来描述节点之间的影响程度。

如何让模型自动学习节点之间互相的影响度呢(也就是重要性)?就是GAT要就觉得问题。

GNN、GCN、GAT图卷积神经网络学习_第8张图片

这个公式解释GAT如何计算A和B之间的重要性的。

分子部分: 

W:W可以通过网络训练更新得到,相当于一个transform,目的是将A的向量转换为指定向量维度。

WA||WB:表示WA与WB两个向量拼接起来。

a*(WA||WB):a可以通过网络训练更新得到,表示a点乘向量,最终得到一个数值,表示A和B之间的重要性。

分母部分:

同理,表示A和B,A和C,A和D的重要性之和,这样可以使与A相邻的节点重要性之和为1。

在GAT原论文中,对应上述解释的注意力机制公式如下:

GNN、GCN、GAT图卷积神经网络学习_第9张图片

αij代表两个节点之间的最终重要性度量值。

为了使注意力机制更稳定,后面设计了多头注意力机制

 GNN、GCN、GAT图卷积神经网络学习_第10张图片

 看了B站up主的视频,讲的特别好记录一下。

简单快速教你理解图注意力网络graph attention network_哔哩哔哩_bilibili

你可能感兴趣的:(知识图谱,学习,人工智能)