作者:哈工大SCIR博士生 郑博
一、图神经网络介绍
什么是图神经网络
图神经网络(Graph Neural Networks, GNNs)是基于图结构的深度学习方法,近期被广泛应用到各类图像、自然语言处理等任务上。图神经网络作为神经网络扩展,可以处理以图结构表示的数据格式。在图中,每个节点都由本身的特性以及其相邻的节点和关系所定义,网络通过递归地聚合和转换相邻节点的表示向量来计算节点的表示向量。
在论文《Relational inductive biases, deep learning, and graph networks》中,作者定义了通用图网络框架graph networks (GN) framework,概括和扩展了各种图神经网络,并且支持使用简单的模块来构建复杂的结构。GN framework的主要计算单元是GN block,一个图到图的模块,它的输入是一个图,在图结构上进行计算,然后得到同样是图结构的输出。
在GN framework下,一个图可以被定义为一个三元组,
是图的一个全局表示,
代表图中
个节点的集合,
为节点i的表示,
表示图中
条边的集合,
为边的表示,
和
分别代表边的接收节点和发送节点。
每一个GN block包含三个更新函数,以及三个聚合函数
:
上式中,
,
。
其中应用于图中每条边的更新,
应用于图中每个节点的更新,
则用来更新图的全局表示;
函数将输入的表示集合整合为一个表示,该函数设计为可以接收任意大小的集合输入,通常可以为加和、平均值或者最大值等不限输入个数的操作。
当一个GN block得到一个图的输入时,计算通常从边到节点,再到全局进行。下图给出了一个GN block的更新过程。
图1 一个GN block的更新过程
一个GN block的计算可以被描述为如下几步:
1. 更新每一条边,输入参数为边表示
,接收和发送节点的表示