1. GCN引入
GNN在聚合邻居信息时候,要确定其权重系数a,b,c ,为了解决此问题采用平均法解决。、
图中公式中,聚合后的特征再进行平均处理,加法可以转化为矩阵形式。
图中B节点信息,可以通过C D E F G..进行汇聚,而A节点信息只和B节点相关。如果将B节点信息汇聚到A节点,显然是不合理的。例如B是马云的工资 ,A是你的工资,你不可能把马云的工资加到你的工资上。因此GCN引入对称归一化的拉普拉斯矩阵。
B是A的唯一,但是A并不是B的唯一,B的信息要进行平均开方,为了合理期间,A的信息也要进行开方运算,这样使得公式的分母变大,整个式子变小。这样A到得到B信息也就小了。
2.应用
3.核心原理
3.1GNN原理回顾
图中A的特征信息来自于其邻居节点B C D信息,B的特征信息来自于邻居A C信息,C D类似。黑色方块表示一层神经网络,白色方块表示另一层神经网络。
每一个节点都可以构建自己的计算图。在训练神经网络时,一个计算图就是一个样本。
每一层,共享参数,在这个图中只需要训练两个大层神经网路。大层中包含许多小层神经网络。
根据六度空间理论,六层(最多)图神经网络就可以满足任意任务的需求。
这就是第一个版本图神经网络(GNN),输入图中每个节点的(1281)特征向量,就可以得到A的基于全图的信息,进行前向传播预测。
3.2 GCN原理
公式中,v代表一个节点,N(u)代表A B E F 节点 ,意思是将A B E F节点特征信息输入到多层神经网络中,Wk表示神经网络的权重参数,外面的是激活函数(可以是sigmoid tanh relu等)。Zv表示最后一层图神网络的输出,K代表k层图神经网络。
将上述公式转换为矩阵形式:
使用代码表示:
矩阵特征值推导(博客):
如果图已经建立了 ,那么红框里面的矩阵就确定了 。
H代表一层图神网络输出,可学习的参数是权重值W 。
在每一层图神经网络输入中,只能聚合了其邻居节点的信息,无法得到自己的特征信息,因此要对计算图进行改进:
4.GCN的训练
4.1 监督学习
4.2 无监督学习
将两个节点使用图神经网络进行表示,相当于编码器,得出其向量表示。然后利用相似度计算方法,计算其相似度,是一个标量。是一个标量 ,相似度高,其标量值就越大,相似度低,其标量值越小。
5.优缺点
算法复杂度是线性增加的,不会是指数增加。
不管图神经网络的结构有多么的复杂,它可学习的参数是固定的。只需要训练两层图神经网络。
深度学习的任何任务,都可以在图神经网络进行优化。