【从零开始】CS224W-图机器学习-2021冬季学习笔记8.1 Applications of Graph Neural Networks

发布于:2023-01-04 ⋅ 阅读:(358) ⋅ 点赞:(0)

课程主页:CS224W | Home
课程视频链接:斯坦福CS224W《图机器学习》课程(2021) by Jure Leskovec


1  前言

之前两篇内容介绍了GNN的单个层的构建方式(信息转换和信息聚合)以及如何将每一层GNN连接起来:

接下来两篇文章将介绍上图中的第四步和第五步,图增强部分和训练目标函数部分。


2  对GNN进行图增强

如上图,图增强的基本思路是:使原始输入图和应用在GNN中的计算图不完全相同(即对原始输入进行一定处理后,再得到GNN中应用的计算图)。之后要讨论的图增强分为两种:图特征增强和图结构增强。

为什么要进行图增强呢?

我们在之前的学习过程中都假设原始图数据和应用于GNN的计算图一致,但很多情况下原始图数据可能不适于GNN:

特征层面:输入图可能缺少特征(也可能是特征很难编码)

结构层面:

  • 图过于稀疏,导致信息传递的效率低(因为边太少)
  • 图过于稠密,导致信息传递的代价高(每次消息转换都需要对好几个节点做运算)
  • 图太大,无法将计算图装在GPU内存中

所以我们需要对输入图进行增强。图增强的方法大致分为两类:

图特征增强:因为输入图缺少特征

图结构增强:

  • 图过于稀疏,我们可以增加虚拟节点/边
  • 图过于稠密→在传递信息时对邻居进行采样
  • 图太大→在计算嵌入时对子图进行采样(在后续课程中会专门介绍如何将GNN方法泛化到大型数据上Scale up)

2.1  图特征增强

情形1:输入图上没有节点特征

有时,我们的输入图上是没有节点特征的(通常只有邻接矩阵),这时就需要图特征增强。

标准方法:

a. 给每个节点赋常数特征:

b. one-hot:给每个节点赋唯一ID,将ID转换为独热编码向量的形式(即ID对应索引的元素为1,其他元素都为0)

 两种方法比较:

Constant node feature One-hot node feature
表示能力 中等:所有节点都一样,但是GNN仍然可以学到图结构信息 高:每个节点ID唯一,所以可以储存节点特有的信息
泛化能力 高:对新节点再赋这个常数就行 低:无法泛化到新节点上,因为对新节点再赋ID的话,GNN无法嵌入这个新ID,所以训练前必须知道整个节点集和边集
计算开销 低:只有一维特征 高:O\left ( \left | V \right | \right )维特征,无法应用到大型图上
适用情况 所有图 小图(没有新节点)

情形2:GNN难以学习的特定结构

举例:节点所处环上的节点数(Cycle count feature)

问题:因为图上所有节点的度数相同(都是2),所以无论环上有多少个节点,GNN都会得到相同的计算图(二叉树),进而得到相同的节点嵌入,所以无法将节点区分开。

解决方法:加上cycle count这一特征向量(one-hot编码,节点数对应索引的元素为1,其他元素为0)。这样做之后,[0,0,0,1,0,0]将表示一个三角形、[0,0,0,0,1,0]将表示一个正方形。

其他给节点增强特征的方法有:Node degree(计算节点度数作为特征),Clustering coefficient(节点聚类系数:衡量节点邻居的连接程度),Centrality(节点中心度:考虑节点的重要性),PageRank等。

2.2  图结构增强

2.2.1  对稀疏图:添加虚拟节点 / 边

1.添加虚拟边

常用做法:在2-hop邻居之间加虚拟边

适用情况:如作者-论文组成的二部图中,增加2-hop的虚拟边可以在一篇论文的共同作者之间增加联系,他们可以直接交换信息,这意味着GNN层数会变少,训练也会更快。

2. 添加虚拟节点

做法:增加一个虚拟节点,这个虚拟节点与图(或者一个从图中选出的子图)上的所有节点相连

适用情况:在一个非常稀疏的图上,其中两个节点之间相距很远 ,比如10-hop,两节点的信息交换需要经过10层神经网络,花销巨大。

当创建虚拟节点之后,它能直接连接两个相距较远的节点,便于他们交换信息,使得神经网络的深度变浅。

2.2.2  对稠密图:邻居节点抽样

在信息传递的过程中,不再使用一个节点的全部邻居,而改为随机抽样一部分邻居。举例: 

在上图中,我们随机选取节点B和D传递信息给A ,而额忽略节点C的信息。(类似于Dropout)

在下一层计算节点的嵌入时,可以抽样不同的邻居,以增加模型鲁棒性:

优点:计算图变小,大大降低计算成本
缺点:可能会损失重要信息


3  总结

本篇文章主要介绍了GNN模型中图特征增强和图结构增强的一些方法,通过图增强能使我们在训练神经网络时取得更好的效果。

4  参考文献

http://web.stanford.edu/class/cs224w/slides/08-GNN-application

cs224w(图机器学习)2021冬季课程学习笔记10 Applications of Graph Neural Networks_诸神缄默不语的博客

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到