几种图神经网络方法总结(Graph Neural Network)

概要

近年来图神经网络受到大家越来越多的关注,在文本分类(Text classification),序列标注(Sequence labeling), 神经机器翻译(Neural machine translation),关系抽取(Relation extraction),事件抽取(Event extraction), 图像分类(Image Classification),视觉推理(Visual Reasoning),语义分割(Semantic Segmentation)等等领域都有了一些应用。本文主要分享先当下最为广泛的几种图神经网络的结构。参考:Tutorial on Graph Representation Learning, AAAI 2019

Basic GNNs

基本思想

图神经网络的一个基本思想,就是基于节点的局部邻居信息对节点进行embedding。直观来讲,就是通过神经网络来聚合每个节点及其周围节点的信息。
在这里插入图片描述
图神经网络的几个性质如下:

  1. 节点在每一层都会有embedding
  2. 模型可以达到任意深度
  3. 第零层的节点的embedding就是他的输入特征向量

实现

我们所要探讨的是,节点如何获取它的邻居节点的信息。最基本的想法就是聚合一个节点的邻居节点信息时,采用平均的方法,并使用神经网络作聚合操作,具体方法如下图
在这里插入图片描述
那么如何训练这个模型,具体分为监督、和无监督两种方法。
无监督的方法包括:

  • 随机游走(Random walks):node2vec, DeepWalk
  • 图分解(Graph factorization)
  • 训练模型使得相似的节点具有相似的embedding

监督的方法,以二分类举例,可以定义一个交叉熵函数来作为损失函数:
在这里插入图片描述

归纳性

图神经网络中每一层的聚合所使用的参数是相同的,并且这个模型可以推理出新出现节点的embedding或者一张新图的embedding。如下图
在这里插入图片描述

图卷积神经网络(GCN)

与基础的GNN相比,GCN只是在聚合函数上有一些细微的变化。
在这里插入图片描述

GraphSAGE

在这里插入图片描述

Gated Graph Neural Network

门控图神经网络主要是解决过深层的图神经网络导致过度平滑的问题,使用GRU更新节点状态。
在这里插入图片描述

图注意力网络(Graph Attention Networks)

在基础的图神经网络上加上了注意力机制,需要去学习每个节点的注意力权重。
在这里插入图片描述

(Sub)graph Embeddings

对一个图的子图计算embedding,如下图:
在这里插入图片描述
主要的方法有

  • 直接加权子图中每一个节点的embedding
  • 将子图当成一个虚拟节点,加入到图神经网络的计算中
  • 逐层的聚合节点。

逐层聚合的步骤如下:

  1. 使用GNN计算节点的embedding
  2. 将节点聚合在一起,使得图变成一个粗粒度的图
  3. 在粗粒度的图上运行GNN
  4. 重复

Open Problems

图神经网络目前还存在很多开放性的问题需要解决

浅层结构

传统的深度学习通过叠加层数来获得更好的性能,但是图神经网络往往只有两三层,如果叠加的层数过多,会造成过度平滑,所有的节点都会收敛到一个值。

动态图

静态图是稳定的,因此可以有效建模,而当边或者节点出现或者消失的时候,GNN不能自适应变化

非结构场景

没有一种好的方法从非结构化数据中生成一张图

Scalability

时间复杂度过高,在大数据环境中很难使用。

  • 73
    点赞
  • 617
    收藏
    觉得还不错? 一键收藏
  • 36
    评论
评论 36
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值