图神经网络模型理解-GCN
图卷积神经网络-GCN
原理解释
- 从图G中,我们有一个邻接矩阵A和一个度矩阵D。同时我们也有特征矩阵X。
- 邻接矩阵的第一行,节点A与节点E之间有边,得到的矩阵第一行就是与A相连接的E节点的特征向量(如下图)。同理,得到的矩阵的第二行是D和E的特征向量之和,通过这个方法,我们可以得到所有邻居节点的向量之和。
- 此时存在的问题:(1)忽略了节点本身的特征;(2)特征求和的方式导致度很大的节点可能在激活函数(例如sifmoid)出现梯度爆炸。
对于(1),可在原邻接矩阵基础上加单位矩阵,形成新邻接矩阵和新度矩阵
对于(2),通过乘度矩阵逆矩阵抵消度高节点可能的梯度爆炸问题。
- 此时存在问题:每行根据度进行缩放,每列未进行缩放。因此,每列也乘度矩阵逆矩阵进行缩放。
- 在此基础上,认为低度节点会对邻居节点产生更大的影响,高度节点则会产生较低的影响,因为它们的影响力分散在太多的邻居节点上。因此,通过度开平方在缩放时采取加权平均策略。在节点B处聚合邻接节点特征时,我们为节点B本身分配最大的权重(度数为3),为节点E分配最小的权重(度数为5)。
- 至此,得到了标准GCN的计算公式。
参考
https://baijiahao.baidu.com/s?id=1678519457206249337&wfr=spider&for=pc
https://blog.csdn.net/lcm66/article/details/115308876