简单了解图神经网络就这一篇

来源:投稿 作者:张宇 

编辑:学姐带你玩AI 公众号

近年来,作为一项新兴的图数据学习技术,图神经网络(GNN)受到了非常广泛的关注,在各大顶级学术会议上,图神经网络相关的论文也占了相当可观的份额。

我们知道图结构是最复杂的一种数据结构,其他数据结构都可以看做是图结构的一种推广。图结构在现实世界中也有很多应用,比如城市轨道交通图、社交关系图、生物医学领域等。

GNN辅助医药研制

图神经网络就是将图结构引入深度学习领域产生的一项技术,我们通常指的图神经网络一般就是图卷积神经网络,除此之外也有基于Random Walk的网络。

卷积神经网络CNN

图卷积网络GCN

传统的卷积神经网络是通过移动卷积核的方式进行卷积,形象的说就是使用每个元素附近的元素(包含自身)使用卷积核加权相加的方式来更新自身信息。

图神经网络与其类似,如果图中的每个结点只使用附近的一阶邻居(也就是存在邻接关系的结点)对自身进行更新的话,那这种卷积方式是类似于CNN中的3*3卷积的。

因为图结构每个结点周围邻居的数目是不确定的,所以对于GCN来说对于邻居结点的加权不像CNN中使用可学习的卷积核,而一般是使用加权的方式,并且目前的几种经典图卷积网络就是在加权方式上有所不同。

GCN考虑两结点之间的边的权重以及两结点的度;GAT考虑两结点之间的相似性,使用注意力机制进行加权。

CNN感受野         GNN感受野

将上述直观的概念转化为GCN具体卷积形式就是下面这个公式:

图神经网络也有类似于CNN里面的感受野(如上图)的概念,随着网络层数的增加,高层网络中的结点会从更高阶的邻居聚合到信息。

比如下面这个例子,对于1结点来说,虽然结点7是结点1的二阶邻居,但是第一次卷积将结点7的信息传递到结点4,第二次卷积就可以借助结点4将结点7的信息传递到结点1。

一些经典的CNN模型都可以堆叠多层,例如加入残差连接的ResNet目前都可以达到上百层网络,但是GNN通常只使用两到三层。

主要原因就是会产生过平滑的问题,以上面的图为例,可以将两层卷积网络的信息传递分解为下面这种树的形式。对于结点1的邻居2,两个结点之间的不断受到对方的影响,随着网络层数的增加,这种影响也会越来越大,当网络层数趋近于无穷时,整个网络的结点都会有相同的特征。

GNN信息传递路径

Shuman等人在Cora数据集上对多层网络卷积的结果进行分析,将原始结点特征进行不同层数的卷积后进行降维到2维进行可视化。可以看出,卷积层数2-3层效果最好,不同种类的结点可以明确区分出来,当层数增加到5层时所有结点就很难区分。

GNN多层聚合结果可视化

最近几年,也有相关研究人员将注意力机制、RNN、Transformer等引入图神经网络。以引入注意力机制的图注意力网络(GAT)为例,与传统网络应用注意力机制的形式类似,如下左图计算结点i、j之间的注意力分数α,根据注意力分数α对邻居结点进行聚合(如下右图)。对于下图其他结点到结点h1的三种边是Multi-head的形式,通过每一个head生成的新向量进行concat或者平均等的方式产生最终结点的向量表示。

图注意力网络(GAT)结构

最早的 Graph Attention Networks 中实现的GAT网络的计算公式如下:

对于注意力分数的计算形式也是经常用到的,不仅在GAT类似的网络中应用,同样在图级任务的Readout函数也是采用这种Soft-attention的形式得到图级表示。

图神经网络是一新兴的网络,表示能力强大,但是目前还有很多没有探索的领域,值得相关学者深入研究。

—  —

点这里👇关注我,记得标星哦~

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值