图神经网络——GCN聚合原理理解
本博客基于B站UP主望舒同学的图神经网络系列讲解及代码实现-GCN1。
GCN的核心思想:通过邻接矩阵A对结点特征进行聚合,用于更新某结点特征。不同的聚合方式
GCN基于的一个假设:结点的特征与其邻居结点有密切的关系,并且距离越近的邻居关系越大。
GCN聚合直接邻居结点
这是一个简单的图结构。笔者将以该图为示例,讲解GCN以最简单的方式(求平均)聚合直接邻居结点流程。由上图结构可知,其邻接矩阵为
Step 1——求和
以
虽然这样更新了
则(1)式修改为
Step 2——求平均
因为
整体计算如下:
注意:
(4)式其实相当于使用了一种归一化方法,即非对称归一化邻接矩阵,目的是消除结点度数对聚合信息的影响。详见图神经网络知识总结——归一化。也可以采用其他方式求平均方式或称为归一化方式,如对称归一化邻接矩阵、归一化拉普拉斯矩阵等。
Step 3——更新
将求平均后的值作为聚合后的特征值。
GCN聚合间接邻居结点
实际操作:在第一次卷积的基础上,以相同的方式,进行第二次卷积,第三次卷积 ……
理解:第一次卷积之后,结点特征已经聚合了其直接邻居结点的特征,所以再一次进行卷积的时候,虽然看上去还是在对直接邻居结点进行卷积,但是相当于在对其邻居的邻居结点(间接邻居结点)进行卷积。
本文作者:顾子郤
本文链接:https://www.cnblogs.com/coder-shane/p/18387053
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步