图学习——02.Graph Neural Network

Graph Neural Network

GCN

A矩阵表示邻接矩阵,I矩阵表示单位阵,D~矩阵是对A~的矩阵按行求和后把每行的值写在对角线上(度矩阵,包括自连接的度),W(l)是要学习的参数,H(l)是这一层的节点的特征
在这里插入图片描述

举例:
在这里插入图片描述
在这里插入图片描述
公式里矩阵相乘的结果会作为一个固定值,表示在图上的一个转换,在每一层的时候对节点的权重和节点的特征都会乘上这个固定值,得到节点在下一层的特征表示。

这几个矩阵相乘的含义是什么?
首先,考虑A矩阵和特征H相乘的含义,下图给定了每个节点的特征表示和A矩阵。对于节点1来说,相乘后的结果就是聚合了所有和它相邻的节点的特征值(节点2和节点3),那当A矩阵加上I矩阵之后的A~和H相乘的结果,其实就是还加上了这个节点自己本身的特征值,也就是考虑自连接将自身的节点考虑到计算中
将所有相邻节点信息聚合之后,可能会出现一个现象就是有的节点的连接点很多,导致聚合的特征值很大,所以这里要进行归一化的操作
左边和右边各乘一个D~的-1/2次方
在这里插入图片描述

GCN的操作
其中A~代表已经经过归一化的矩阵,X就是节点本身的特征,W表示可学习的参数
在这里插入图片描述

GraphSAGE

SAmple and aggreGatE(采样和聚合)
在这里插入图片描述
算法流程:
在这里插入图片描述
算法最重要的两点就是聚合邻居信息,把邻居信息和上一层特征拼接在一起得到到新的特征表示

举例:
比如求节点1的在当前层的特征表示,首先聚合节点1所有相邻节点3,4,5,6的特征(采用求平均的方法),然后将聚合后的特征值和上一层的特征值拼接,在乘上权重W得到节点1在当前层的特征值
在这里插入图片描述

采样可以不对所有邻居点解采样,可以选择部分节点采样
聚合不仅可以使用max,其他的排列不变性的函数都可以

在这里插入图片描述

GraphSAGE_minibatch

在大规模图上训练,可以不考虑整个图的信息,而只考虑每一个minibatch中用到的图的节点信息
在这里插入图片描述
算法流程:
在这里插入图片描述
举例:
假设已经做了两层的GraphSAGE,对第1层聚合的邻居节点的数量是2,即s1=2,第2层聚合的邻居节点的数量是3,即s2=3
B2要聚合的minibatch就是a节点本身,倒数第二层,采样的数量是a相邻的的三个节点(黄色),倒数第一层采样的数量是倒数第二层选进来的每个节点的相邻的两个节点(绿色)
这样的话,就能把一个大图缩为一个小图,减少内存消耗,用来训练
在这里插入图片描述
选择完之后,就可以对选择的节点做GraphSAGE
在这里插入图片描述

GraphSAGE做节点embedding的方式
在这里插入图片描述

GAT

求出一个节点和它周围节点的attention系数,然后将这个attention系数和权重w以及特征值相乘求和得到这个节点嵌入相邻节点特征后的表示

求attention系数:如下图第一个公式所示,求节点i和节点jattention系数,将节点i和节点j的特征表示乘上权重(可学习参数w)的结果拼接再乘上一个可学习向量a,经过一个激活函数做exp,再除以节点i和所有相邻节点的权重拼接经过一个激活函数做exp的结果之和,也就是归一化处理。

求结点i的特征表示:得到节点i的attention系数之和,将节点i的所有相邻节点j乘上一个可学习参数w以及他们的注意力系数,然后聚合,经过一个激活函数得到节点i聚合了邻居节点的特征表示

举例:
在这里插入图片描述

multi-head attention

多头注意力机制就是计算多个节点i和节点j的attention值,这多个attention值的不同是因为可学习参数W的不同
计算出来的多个attention可以进行拼接concat,但是如果是最后预测层,应该用一个softmax方式,因为预测要做的是每一类attention的比重,但如果是接一个全连接层,是无所谓的
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值