写在前面:仅用于记录自己学习
观看视频链接GNN
观看视频链接GCN
观看视频链接R-GCN
观看视频链接GAT
GNN
GNN的流程:聚合、更新、循环
a、b、c的常数值可以自己手动定,也可以是模型训练来定。所以,a、b、c的常数值设置经常是文章的改进点。
将邻居的信息结合到自己身上来,作为自己信息的补足。
GCN
与GNN相比,在聚合的过程中有了特殊的变化,GCN解决上面GNN中聚合部分的a、b、c值的设定问题。
平均法存在的问题:若A的邻居只有B,但是B有许多邻居,那么, 利用公式的话,利用从B聚合来的信息对于A来说其实是失真的,有问题的,A的工资难道就是B的工资吗?显然不合理。
~A是邻接节点的信息加上自身信息
~D的度
对称归一化拉布拉斯矩阵,解决了问题。
在平均法的基础上,加了每个节点的度,做了个对称归一化。
R-GCN
根据不同的关系分别聚合不同的节点。
j是i的邻居节点,Ni是i的邻居,Nir是i节点在r关系下的邻居节点,cir可以自己设定或通过邻居节点数计算,w0hi是上一层自己的特征,hj是我在r关系下的节点,Wr是r关系下的关系矩阵,训练的矩阵,
节点分类、关联预测
DistMult:比如将两个节点的特征拼起来;也可是将两个特征直接乘起来得到一个一值(此处不是点乘)
GAT
W矩阵的作用是对A、B进行变形的。比如A现在是512维,想变成256,则W就是一个512*256的矩阵,长向量变成短向量。
多头: