cs224w-图机器学习-2021冬课程学习笔记06- Graph Neural Networks 1: GNN Model

13 篇文章 1 订阅

一、GNN介绍

之前图嵌入方法,是用的浅嵌入(即查找表)的方式。这有三个巨大缺陷:参数量大且不共享参数、不能应用于新节点、不能使用特征信息。本章讲深度模型。

二、深度学习基础

三、Deep learning for Graphs

即,如何将神经网络应用于图数据。
最简单的想法,把邻接矩阵和特征向量组合起来作为输入。
在这里插入图片描述
但这有三个巨大的缺点:
在这里插入图片描述

1. GCN背后的直觉

类比图像的卷积:
在这里插入图片描述
图像卷积是,从邻居节点(上图是9个)获取信息,然后求和;在图上,也是这样:从邻居节点获取信息,然后加权求和。这思想和上章讲到的passing massage是一样的:
在这里插入图片描述

2.GCN工作过程

GCN是根据这个idea设计的:节点的邻居定义了计算图(应该 就是如何传播信息的网络)。GCN算法分为两步:首先确定计算图,然后根据定义的计算图传播更新消息。
在这里插入图片描述

3.Neighborhood aggregation

每个节点收到来自邻居的信息,然后自己处理一下,再发给自己的邻居。这里的处理函数,可以是神经网络(因此每个节点可以有不同的处理函数,即多个神经网络)
在这里插入图片描述
上面提到的“计算图”的图示:其中每个节点有不同的邻居,因此对应着不同的计算图。所以计算图这个名字,只是为了称呼方便。
这时,每个节点的计算图都不同,因此其处理消息的函数(即神经网络)也不一样。所以这中网络是同时训练了多个神经网络。
在这里插入图片描述
不同的Neighborhood aggregation过程中,聚合操作(处理信息的函数)的区别是最大的区别。
这些聚合函数,应该有置换不变性的特征(即邻居A,B发来的消息顺序对聚合结果没有影响)。

3.求和式 Neighborhood aggregation

最简单的一种聚合函数就是求和(这满足置换不变性)。即,首先对邻居发来的消息求均值,然后用神经网络处理这些平均值。
在这里插入图片描述
这种求均值方式的实例:
在这里插入图片描述
即,将投影后的自己的向量,和投影后的邻居的向量求和,然后经过非线性变换。
但是上面这种形式不好看,我们想推导如何用矩阵表示这个式子。首先,W和B这俩投影矩阵,虽然有下标l,但是它们都是共享的(即每一层的权重参数实际上是一样的)。这一点很关键。
在这里插入图片描述
h是节点的隐藏表示,W和B是变化矩阵
在这里插入图片描述
现在,把第 l l l层的节点表示一行行排列起来组成 H ( l ) H^{(l)} H(l),那么 h ( l ) h^{(l)} h(l)所有邻居的求就可以用一个矩阵乘积的形式表示。其中 A A A是邻接矩阵。然后就会发现,上面的求均值聚合操作,就可以用一个矩阵乘积形式表示:
在这里插入图片描述
这真的很优美。(但并不是所有的聚合操作都能用矩阵表示。这取决于聚合函数的复杂度)
在这里插入图片描述

5.如何训练GNN

注意到最终的节点表示为:
在这里插入图片描述
那么可以用最终的节点表示做监督训练,如节点的毒性预测:
在这里插入图片描述
其损失函数为:
在这里插入图片描述

也可以用无监督训练。其损失函数是节点的相似性和计算出的embedding之间相似性之间的CE:
在这里插入图片描述
其中相似性可以有很多种度量方式,如
在这里插入图片描述

5.本节小结

讲了深度编码器。其算法分为四步:

  1. 定义neighborhood aggregation function(如求平均值)
  2. 定义损失函数(如监督的、无监督的)
  3. 在一个batch上训练模型(主要是训练参数W和B(存疑?h应该也是训练的一部分吧))
  4. 可以将模型应用于新节点上,输出其表示。
    这个方法的好处在于,W和B是由不同节点、不同图之间共享的。因此大大减少了参数数量:
    在这里插入图片描述
    同时这样的模型也有泛化能力,对于未见过的图和节点,都能输出其表示:这种能力叫Inductive Capacity
    在这里插入图片描述
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值