图神经网络模型 The Graph Neural Network Model

雨燕双飞 提交于 2019-12-03 23:50:36


The Graph Neural Network Model

摘要

数据包含许多潜在关系可以表示为图,这些数据存在于科学和工程的众多领域,比如计算机视觉、分子化学、分子生物、模式识别以及数据挖掘。本文提出了一种新型的神经网络模型,称为图神经网络(GNN)模型,对现有的神经网络模型进行了拓展,适用于处理可以表示为图的数据。GNN模型通过一个函数τ(G,n)Rm\tau(G,n) \in \mathbb{R}^m将图GG和其中的一个顶点nn映射到一个mm-维欧式空间,可以直接处理众多实用类型的图,比如无环图,圈,有向和无向图等。通过一个监督学习算法对GNN模型的参数进行评估,并考虑了算法的计算成本。实验的结果证实了算法的有效性和泛化能力。

IndexIndex TermsTerms: 图神经网络,图处理,递归神经网络

引言

在许多领域数据可以自然的转化为图结构,比如蛋白质组学、图像分析、软件工程和自然语言处理等。最简单的图结构类型有单点和序列。信息可以被表示为树、无环图等更为复杂的图结构。传统上地数据关系挖掘作为通信领域中演绎逻辑设计的子项目,最近由于统计中的相关概念和神经网络在该领域的应用产生了一些新的研究方向。

在机器学习中,结构化的数据通常与从样本中学习一个函数 τ\tau 的目标相关联,这个函数 τ(G,n)Rm\tau(G,n) \in \mathbb{R}^m 将图 GG 和其中的一个顶点 nn 映射到实向量。

关于图的应用一般可以分为两类,在本文中分别称为 graphgraph-focusedfocusednodenode-focusedfocused 应用。graphgraph-focusedfocused 应用,函数与顶点相互独立,对图结构实现一个分类器或者回归任务。比如化学中的化合物可以通过图进行建模,每个顶点表示原子或者化学基团,边表示化学键。映射可以用来评估被评测化合物是否能导致某一特定的疾病。

nodenode-focusedfocused 应用,映射依赖于顶点,因此分类或者回归任务依赖于每个顶点的性质,例如目标检测问题,检测图像中是否包含特定的目标,并进行定位。

在这里插入图片描述

传统的机器学习应用,在于处理阶段将图结构信息映射为简单的表示,比如实向量,即将图结构数据进行压缩,然后使用list-based技术处理被压缩的数据。了也正因此,一些重要的信息可能会丢失,例如节点间的拓扑信息依赖。

本文提出监督类型的神经网络模型,图神经网络(GNN),适用于面向图和顶点的应用方向。
GNNs 基于信息扩散机制。对于给定的图通过一组unit进行处理,每个unit和图的一个顶点对应。这些unit相互间进行信息交互并更新各自的状态直到一个稳定状态。根据每个unit的状态,GNN完成最后的输出。同时,引进了相应的学习算法,用来对GNN中的参数进行估计。

图神经网络模型

符号

G=(N,E)G=(N,E),其中 NN 表示顶点集,EE 边集合,ne[n]ne[n] 表示顶点nn的邻接顶点,co[n]co[n] 关联顶点 nn 的边,于顶点 nn,和边 (n1,n2)(n_1,n_2) 相对应的属性表示为 lnRlNl_n \in \mathbb{R}^{l_N}l(n1,n2)RlEl_{(n_1,n_2)}\in \mathbb{R}^{l_E}ll表示将图中所有的属性堆积构成的张量。

本文中考虑的domain是图和顶点构成的集合D=G×N\mathcal{D}=\mathcal{G}\times \mathcal{N},其中 G\mathcal{G} 图集合,N\mathcal{N} 顶点集合。监督学习框架的学习集合
L={(Gi,ni,j,ti,j)Gi=(Ni,Ei)G;ni,jNi;ti,jRm,1ip,1jqi}\mathcal{L}=\{(G_i,n_{i,j},t_{i,j})|G_i=(N_i,E_i)\in \mathcal{G}; n_{i,j}\in N_i; t_{i,j}\in \mathbb{R}^m, 1\leq i \leq p, 1\leq j\leq q_i\}其中ti,jt_{i,j}表示顶点ni,jn_{i,j}所对应的期望目标值。

模型

一个直观的想法是将图中的顶点视为目标或者concept,边表示顶点间关系。每个concept 都自然的通过各自的特征和关联concepts的特征定义。然后通过顶点包含的信息以及其邻域的信息,给每个顶点nn一个状态向量xnRsx_n\in \mathbb{R}^s,如Fig.2所示。
在这里插入图片描述

参数函数 fwf_w 称为局部变换函数,描述了顶点nn和其邻域的依赖性。gwg_w 称为局部输出函数,刻画了输出值的生成过程。
xn=fw(ln,lco[n],xne[n],lne[n])x_n = f_w(l_n,l_{co[n]},x_{ne[n]},l_{ne[n]})on=gw(xn,ln)                  (1)o_n=g_w(x_n,l_n) ~~~~~~~~~~~~~~~~~~(1)其中ln,lco[n],xne[n],lne[n]l_n,l_{co[n]},x_{ne[n]},l_{ne[n]}分别表示顶点nn的属性,关联边的属性,邻接顶点的状态和属性。

Remark:Remark:

  • 邻域的定义可以根据实际情况自由设定。
  • 变换函数和输出函数的参数可能依赖于不同给顶点nn。本文考虑相同的参数设置。

整合所有的状态,属性以及输出等式(1),可以表示为x=Fw(x,l)                         x=F_w(x,l)~~~~~~~~~~~~~~~~~~~~~~~~~o=Gw(x,lN)                 (2)o=G_w(x,l_N)~~~~~~~~~~~~~~~~~(2)其中FwF_w全局变换函数,GwG_w全局输出函数。

实际上等式(2)定义了一个映射φw:DRm\varphi_w:\mathcal{D}\rightarrow \mathbb{R}^m,以一个图为输入,图的每个顶点输出一个向量ono_n
这里假设FwF_w是压缩映射,即对x,y\forall x,yFw(x,l)Fw(y,l)μxy||F_w(x,l)-F_w(y,l)||\leq\mu||x-y||

对于nonpositional图, 将(1)中的函数fwf_w替换为xn=une[n]hw(ln,l(n,u),xu,lu),      nN      (3)x_n = \sum_{u\in ne[n]}h_w(l_n,l_{(n,u)},x_u,l_u),~~~~~~n\in N~~~~~~(3)

在这里插入图片描述

实现GNN需要如下技术:

  • 求解(1)的方法。
  • 更新fwf_wgwg_w的学习算法。
  • fwf_wgwg_w的实现方案。

状态值的计算

通过经典的迭代方式对状态进行计算:
x(t+1)=Fw(x(t),l)      (4)x(t+1)=F_w(x(t),l)~~~~~~(4)其中x(t)x(t)表示xx的第tt次迭代值。
因此状态和输出值的迭代计算过程如下:
xn(t+1)=fw(ln,lco[n],xne[n])(t),lne[n])x_n(t+1)=f_w(l_n,l_{co[n]},x_{ne[n])}(t),l_{ne[n]})on(t)=gw(xn(t),ln),      nN.       (5)o_n(t)=g_w(x_n(t),l_n),~~~~~~n\in N.~~~~~~~(5)函数fwf_wgwg_w可以使用前馈神经网络实现。

学习算法

给定数据集
L={(Gi,ni,j,ti,j)Gi=(Ni,Ei)G;ni,jNi;ti,jRm,1ip,1jqi}\mathcal{L}=\{(G_i,n_{i,j},t_{i,j})|G_i=(N_i,E_i)\in \mathcal{G}; n_{i,j}\in N_i; t_{i,j}\in \mathbb{R}^m, 1\leq i \leq p, 1\leq j\leq q_i\}学习参数函数φw\varphi_w。学习任务可以转化为最小化如下损失函数:ew=i=1pj=1qi(ti,jφw(Gi,ni,j))2.    (6)e_w=\sum_{i=1}^p\sum_{j=1}^{q_i}(t_{i,j}-\varphi_w(G_i,n_{i,j}))^2.~~~~(6)

学习算法,基于梯度下降策略,可以分为下面三步:

  • 迭代更新(5),直到x(T)xx(T)\approx x
  • 计算梯度ew(T)/w\partial e_w(T)/\partial w
  • 更新权重ww

定理 1(可微性)FwF_wGwG_w分别是GNN的全局变换和输出函数。如果Fw(x,l)F_w(x,l)Gw(x,lN)G_w(x,l_N)对于x,wx,w是连续可微的,则φw\varphi_w对于ww也是连续可微的。
定理 2(反向传播)FwF_wGwG_w分别是GNN的全局变换和输出函数。假设Fw(x,l)F_w(x,l)Gw(x,lN)G_w(x,l_N)对于x,wx,w是连续可微的。定义
z(t)=z(t+1)Fwx(x,l)+ewoGwx(x,lN).    (7)z(t)=z(t+1) \cdot \frac{\partial F_w}{\partial x}(x,l)+\frac{\partial e_w}{\partial o}\cdot \frac{\partial G_w}{\partial x}(x,l_N).~~~~(7) z=limtz(t)z=\lim_{t\rightarrow-\infty}z(t)。进一步有:eww=ewoGww(x,lN)+zFww(x,l)                (8)\frac{\partial e_w}{\partial w}=\frac{\partial e_w}{\partial o}\cdot \frac{\partial G_w}{\partial w}(x,l_N)+z\cdot \frac{\partial F_w}{\partial w}(x,l)~~~~~~~~~~~~~~~~(8)其中xx是GNN的稳定状态。

具体学习算法如TABLE 1所示.主程序不断更新权重,直到期望的准确率或是到特定的停机标准。
在这里插入图片描述

变换和输出函数实现

Linear GNN

等式(3)可以自然的用如下函数表示:
hw(ln,l(n,u),xu,lu)=An,uxu+bn             (12)h_w(l_n,l(n,u),x_u,l_u)=A_{n,u}x_u+b_n~~~~~~~~~~~~~(12)其中bnRsb_n\in \mathbb{R}^s, An,uRs×sA_{n,u}\in \mathbb{R}^{s\times s}由两个神经网络(文中使用FNNs)的输出定义,变换网络 ϕw:R2lN+lERs2\phi_w:\mathbb{R}^{2l_N+l_E}\rightarrow\mathbb{R}^{s^2}, forcing网络 ρw:RlNRs\rho_w:\mathbb{R}^{l_N}\rightarrow\mathbb{R}^{s}

Nonlinear GNN

hwh_w为多层 FNN。

实验结果

The Mutagenesis Problem

在这里插入图片描述

数据集中每一个分子转化为一个图,顶点表示原子,便表示原子键(ABs)。顶点的属性包括原子类型,能量状态,以及全局属性atom-bond(AB),chemical measurements ( C ), precoded structural (PS)。每个图中有一个监督顶点,AB描述的第一个原子。如果分子发生突变,期望输出为 1, 否则为 -1.

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

计算复杂性

在这里插入图片描述

Scarselli F, Gori M, Tsoi A C, et al. The graph neural network model[J]. IEEE Transactions on Neural Networks, 2009, 20(1): 61-80.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!