其他分享
首页 > 其他分享> > 图神经网络学习—— 一文说明白图卷积GCN和图注意力GAT的区别

图神经网络学习—— 一文说明白图卷积GCN和图注意力GAT的区别

作者:互联网

文章翻译自 DGL文档

文章末尾是原文:

GCN和GAT的关键区别在于,如何聚合来自临近邻居的信息(指一条,文章里说的是one-hop)。

对于GCN而言,

一个图的卷积运算产生邻节点特征的归一化和。

其中N(i)为其一跳邻居的集合(若要在集合中包含vi,只需向每个节点添加一个自循环,意思就是说如果得到的新节点如果要有老节点本身,那么要有自环)

 是一个基于图结构的归一化常数,σ是一个激活函数(GCN使用ReLU),W(l)是节点向特征变换的共享权矩阵。(注意!共享权重画重点,意思就是W它是对所有的节点进行统一的特征变换的,我们都一样!)

tips:GraphSAGE中提出的另一个模型使用相同的更新规则,只是设置了cij=|N(i)|。

 

而对于GAT引入了注意机制来代替静态归一化卷积运算。根据l层的嵌入计算l+1层节点嵌入h(l+1)i的公式如下:

式(1)为下层嵌入h(l)i的线性变换,W(l)为其可学习权矩阵。

式(2)计算两个相邻的非标准化注意分值。这里,它首先连接z嵌入的两个节点,在| |表示连接,然后将它和一个可学的权向量的点积⃗(l),并应用一个LeakyReLU。这种形式的注意通常被称为附加注意,与Transformer模型中的点积注意形成对比。

式(3)应用softmax对每个节点传入边的注意力得分进行归一化。

式(4)与GCN相似。来自邻居的嵌入信息被聚合在一起,根据注意力评分进行缩放。

 所以从本质上讲,GAT只是一个关注邻居特征的不同的聚合函数,而不是简单的均值聚合。

 

标签:嵌入,卷积,GAT,GCN,归一化,节点
来源: https://blog.51cto.com/u_12136715/2952909