GNN和GGNN学习笔记

GNN

在这里插入图片描述
对于图上每个节点被编码为嵌入向量,因此,节点可能是一个图,可以通过cnn进行计算,可能是一个词、一个嵌入,它可以是自己希望的任何东西,这是图神经网络的输入。
在这里插入图片描述
对于F,GNN处理可以看作节点的特征提取,F通过不同的边类型与E和D连接,D和F有自己的初始向量。
在这里插入图片描述
从F的邻居开始,做一些类似计算消息的操作,实际上是获得另一个向量。合并得到的邻居消息结合F节点当前状态,将更新t时刻的F节点状态(拥有自身和邻居的信息)。
在这里插入图片描述
具体一点,x代表邻居信息,是由当前节点的边类型为K的邻居信息合并而成。
在这里插入图片描述
对于图神经网络,每个时间点,所有节点都从其邻居获得输入,计算消息然后更新状态。此过程,一次又一次重复操作。
在这里插入图片描述
一开始,每个节点都了解自己,下一步中,了解了邻居,逐步扩大自己的感知区域。
在这里插入图片描述

GNN-1

在这里插入图片描述
E是模型的参数,消息取决于边类型K和邻居状态。E与不同类型的邻居节点进行矩阵乘法,汇总邻居的输入状态,通过GRU更新状态,GRU实现从上一个状态转移到下一个状态。

GGNN中的矩阵运算

在这里插入图片描述
邻居矩阵可以将一个节点用邻居节点表示。如上图,c节点乘上邻接矩阵得到了他邻居a和b的表示,即用a和b表示c。
对于K个边类型,就要K个邻接矩阵。
在这里插入图片描述
在这里插入图片描述
首先,节点状态是一个n x D 的矩阵,每一行是节点在t时刻初始向量表示。接下来,计算要发送的消息,不同的K,使用E乘上节点状态矩阵,M代表所有向外发送的消息。接收消息,使用邻接矩阵乘上M,会受到所有类型K的边的邻居消息。最后,通过GRU得到t+1时刻的更新状态。

GGNN-2

起点是递归神经网络RNN,是对特殊的图(链图)进行操作,可以处理文字、一系列tokens。
在这里插入图片描述
我们用recurrent unit表示链图中每一个节点,箭头进行连接。一次给每个节点嵌入一个节点特征(信封表示),每个节点通过递归神经网络得到新的状态。

对于普通图,如下
在这里插入图片描述
每个节点代表任何你想要的东西(不同的原子、图像等),都有一个特征向量。

关联到一个网络,具有不同类型的边。边不同,知识库就不同。
在这里插入图片描述
将节点替换成递归单元,如下
在这里插入图片描述
消息传递将如下进行,对于一个特定节点放大
在这里插入图片描述

该节点将从邻居拉取特征,随着消息被拉出,将通过网络经过特定的边。新的状态由自己,和邻居特征和组成。

对于图中所有节点同一个时间步同时更新,其中单个时间步节点可以知道自身信息和相距一阶的邻居的信息。
在这里插入图片描述
第二次重复操作,节点又知道了一阶和二阶的信息,经过固定T个时间步停止后,节点知道信息的范围越来越大。
在这里插入图片描述
一次一次重复前进,将图的全部信息收集起来进行求和。
在这里插入图片描述

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值