The Graph Neural Network Model 详细翻译

我自个翻译的!!! 翻译的不好别骂我!!! 翻译的好使劲儿夸我!!夸我反正我也听不着。
在这里插入图片描述
文章链接
发表在 IEEE上,文章绝对是泰斗级别,知识内容非常丰富!

摘要

  一些科学和工程领域中,数据之间存在大量的潜在联系,比如计算机视觉computer vision,molecular chemistry分子化学, molecular biology 分子生物学, pattern recognition模式识别和数据挖掘,这些领域中的数据的潜在联系都可以用图结构来表示。
  在本文中,我们 提出一个新的卷积神经网络模型,我们称它为 graph neural network(GNN) 图神经网络,是对现有神经网络方法的拓展,为的是处理图领域结构表示的数据。这个GNN模型可以直接处理绝大多数已经在现实问题中使用到的各种图。比如, acyclic无环的, cyclic有环的, directed有向的, and undirected无向的。这个GNN模型的实现是使用一个函数
在这里插入图片描述
来将图和图中的某个节点n映射到一个m维的欧式空间中。
  我们提出一个监督的算法来估计之前提出 的GNN模型的参数。算法的计算复杂度,也在本文中中探讨,同时用一些实验来验证提出算法的正确性,并展示模型的泛化能力。

索引词: 图领域, 图神经网络(GNN), 图处理, 循环神经网络

1 介绍

  在很多应用领域中,数据能够被自然的表示成图结构,比如 proteomics蛋白质组织学,image analysis图像分析,scene description场景描述,software engineering软件工程,和 natural language processing自然语言处理。最简单的图结构类型就是点和序列, 但是实际上很多应用中,信息被组织成共复杂的结构,比如树、无环图或者有环图。对传统数据关系的探索已经成为(community of inductive logic programming 我不会翻译这个词组)归纳逻辑编程社区的多项研究中的课题。最近,也因为统计学和神经网络在这些领域的应用,这项研究已经延伸到了各个不同领域和方向里。(看,比如引文中的那些最近的workships)
  在机器学习领域中,结构化的数据通常是与学习任务相关联,这个学习任务是从样本当中学习一个函数τ,这个函数τ将一张图G和他的一个点n映射成一个实数向量(分类问题通常映射成整数向量,回归问题映射成实数向量,这里按照回归的情况来说明):
在这里插入图片描述
这篇文章中,图领域的应用大体上可以分成两个大类:graph-focused 图关注 node-focused节点关注。
在这里插入图片描述

  • 在图关注的应用中,函数τ不依赖节点n,在图结构的数据集上实现一个分类器或者一个回归器。例如:

    • 一个化合物可以建模成一张图G,节点代表院子,边代表连接原子之间的化学键。映射τ(G)可以被用来估计化合物引起某个特定疾病的可能性 如图1a
    • 一张图像可以表示为一个 region adjacency graph区域邻接图, 节点表示图像在相应区域的亮度,边表示他们的邻接关系。这种情况下,τ(G)可以依据图像的内容对图像分类,比如 骆驼,车,人 等等。
  • 在节点关注应用中,τ依赖于节点n,分类或者回归都依赖每个节点的特征。目标检测是这类应用的一个例子。要检测一张图像是否包含包含给定的目标,如果是,定位他的位置。这种问题可以用一个函数τ来解决,通过判断是否有与目标相连的匹配区域,这个函数能够分类区域邻接图的节点。例如:

    • 在图1b中,τ的输出也许是1,因为有这些黑色节点,这些黑色节点对应着城堡,否则输出0。
    • 还有比如网页分类。网站可以被一张图表示,图中节点表示网页,边表示网页之间的超链接。如图1c。当要做一些任务的时候,网站的内容伴随着网站之间的连接可以这样挖掘出来,比如把网站分类成不同的主题。

  传统的机器学习应用对图结构的数据进行一些预处理,然后在利用这些数据。也就是讲图结构的信息映射成更简单的表示,比如实数向量。换句话说,预处理阶段首先将图结构数据压缩成了一个向量,之后机器学习应用再利用这些 基于list数据处理技术 处理出来的数据。 然而,使用这种不可预知的方式,探究到预处理算法的某些细节,重要的信息会在预处理阶段丢失,比如图的拓扑结构、节点之间的依存关系。目前已经有各种各样的方法,在有需要的情况下,尝试在预处理阶段保护图结构数据的天然信息。这些想法是为了包含图的结构信息,而在预处理阶段对图结构数据节点之间的拓扑关系进行编码。 Recursive neural networks循环神经网络和Markovchains马尔科夫链都是在这里进行使用方法,并且在 图关注和节点关注问题中都已经广泛使用。本篇文章提出的方法是对这两种方法的拓展,使得我们能够直接处理图结构数据信息。
 现有的循环神经网络都是属于神经网络模型,他们的输入都包含了有向无环图(17 19 20 参考文献里提出的)。这种方法估计一个函数fai的参数w,让这个函数能够将图映射成一个实数向量。这个方法能够用在节点关注的应用中,但是图必须经过预处理阶段。同样的使用预处理阶段,我们才能够使用循环图(24参考文献提出的方法。 这里乱七八糟的,都是说的之前的人做的研究的情况,所以有可能看不明白)。循环神经网络已经被用在解决一些问题,包括 逻辑术语分类(25参考文献) 化学化合物分类(26) logo识别(2,27) 网页打分(28) 人脸定位(29)。
  循环神经网络也与支持向量机相关(30-32),用来提供特殊的核函数处理图结构数据。例如 diffusion kernel扩散核函数(33)是基于热扩散方程。(34)和(35)提出的核函数使用图随机游走得到的向量,这些在(36-38)设计出来的方法都对两个树的公共子结构进行计数。事实上,循环神经网络与支持向量机方法相似,自动将输入图编码成内在表示。然而在rnn网络中,内在编码是学习到的,而支持向量机是使用者设计的。(这块我也不咋懂,全是参考文献里的研究情况)
 另一方面,马尔科夫链模型能够对图表示的事件之间的偶然联系进行模拟。最近,随机游走理论在一种特殊的马尔科夫链上应用并成功实现在了网页随机排序算法当中,互联网搜索引擎使用排序算法来估量网页之间关系的中国要信息。这种估算方法被垂直搜索引擎广泛使用比如谷歌,它依赖网页特征,也有些个性化搜索引擎排序大量url返回给查询。一些尝试通过拓展参数来增加学习能力,来建模系统从训练数据抽取集合的表现。(参考文献中的研究内容)。 这些模型能够把结果扩展成把搜索集合中的项打分。更普遍的一些其他数据统计方法已经被提出,这些方法鸡舍数据集合包含模式和模式之间的关系、这些技术包括图处理中的 random fields [42]随机场 , Bayesian networks [43]贝叶斯网, statistical relational learning [44]统计关系学习, transductive learning [45]直推学习 , and semisu-pervised approaches半监督学习方法.
  本文中,我们提出一种监督的神经网络模型,在 图关注 和 节点关注 的应用中都能够适用。这个模型将两个现有模型整合成一个框架。我们叫这个新的神经网络为 graph neural network (GNN) 图神经网络。我们将会论述 GNN 是 rnn和随机游走模型的扩展,他保留两者的特性。这个模型对rnn进行扩展因为他能处理更广义的图,包括有环的,有方向的,和无方向的图,并且他能在没有任何预处理情况下,用在节点关注的应用中。这个方法拓展了随机游走理论是通过引入一种学习算法,并且扩展了可以建模的流程类别。
  GNNs 基于 information diffusion mechanism 消息扩散机制。一张图通过一系列单元进行处理,每个单元都联系着相应的节点,也同样联系着整张图的连通性。这些单元更新他们的状态、交换信息一直到他们达到稳定平衡。GNN的输出就是基于单元在每个节点上进行局部计算。为了确保稳定平衡的存在,传播机制通常是有约束的。这种机制已经实现在了 cellular neural networks[47]–[50] and Hopfield neural networks [51]。在她们的模型中,连通性通过定义图被指定,网络连接自然的递归,神经元状态通过松弛到一个点来计算。GNN与他们不同,gnn采用更广义的传播机制处理更广义的图。
 本文提出一种学习算法,能够通过给定训练数据估计GNN模型的参数、算法的时间复杂消耗也在考虑范围内。同样值得提及的是(52)介绍了GNN在原生条件下的一系列广义近似性,他可以估计绝大多数已经广泛使用的图上的函数fai。
 本文结构如下。在文中提到的一些符号描述之和些预先的定义之后,第二部分提出GNN模型的概念,同时提出学习算法来估计GNN参数。第三部分讨论学习算法的计算消耗。一些实验结果在第四部分,结论在第五部分。

2 图卷积神经网络模型

 开始我们先介绍一些接下来会使用到的符号。

一张图G是一个二元对(N,E):
	N:节点集合
	E:边集合
	ne[n]: 节点N的邻居节点集合
	co[n]: 节点N相连接的边集合 
		(节点和边已经被实数向量标记)
	ln 维度是 R^ ln 是节点n的label
	l(n1, n2) 维度是 R^le 是边的label
	l:来表示图中所有label的集合。

  考虑到图中节点可能是有位置的也可能没有位置。没有位置信息的图如上描述。有位置信息的图不同,对于n节点的每个邻居都有一个整数来标识逻辑位置。对于位置的图,对于任意一个节点n存在一个内射函数Vn 将ne[n] 映射为 {1, … , N}.

本文的领域中,考虑一个集合D,是图和点的笛卡尔对 D = G * N,

		G 是图的集合
		N 是所有图的所有节点的集合。

我们假设学习框架的学习集合为:
在这里插入图片描述

A.模型

  出于灵感的想法强调了提出的方法:图中的节点表示目标或者概念,边表示他们的关系。每个概念是自然而然的被定义成原始特征和相关概念。因此我们为每一个节点n关联一个state状态Xn 是一个s维度的向量,这个state包含了邻居的信息 如图2, 这个状态Xn包含n的表示,用来输出On。
在这里插入图片描述

令fw是参数化函数 成为 局部转换函数,表达了节点n和邻居的依赖关系。 令gw为局部输出函数,描述输出怎样产生。 然后Xn和On如下定义:

在这里插入图片描述

注1:不同邻居可以采用不同的概念

比如:一个节点n可以不考虑邻居的label,因为他自己的label计算出来的时候已经包含了Xne[n]的状态。此外节点n可以从邻居可连接超过两个连边。 广义地说,公式1可以被简化成很多种形式,并且有 several minimal models极小模型存在(当一个模型能够在相同计算能力的条件下有最少的参数,被称为极小模型)。接下来,基于公式1的形式,我们讨论不是极小模型但是能够更加贴切的表示我们理想的邻居概念。

注2:公式1为无向图定制

当处理有向图的时候,函数fw可以接受有向边的输入表示。例如,fw可以对于输入形式设置一个变量dl是某个邻居的边的label,如果是指向该节点 dl=1 否则由n指出时候dl=0。接下来为了简化记号,对公式1进行了定制。然而,假如要非常明确的说,本文提出的杰伦也同样适用在有向图和 有向无向混合图。

注3:大体上,转换函数和输出函数 以及他们的参数是依赖于节点n的。

事实上好像可以用不同的机制来表示不同类型的目标。在这种情况下,每种节点kn 都可以有自己的转换函数fkn,输出函数gkn, 并且一套自己的参数wkn。 因此公式1变成:在这里插入图片描述
为了更朴素的目的,我们的分析考虑所有类型的节点共享相同的实现方法。

&emspl;

		定义如下向量 包含如下信息:
		x 所有的状态state
		o 所有的输出output 
		l 所有的label 
		ln 所有的节点的label, 

然后给出公式1的重写形式:
在这里插入图片描述
其中 Fw是全局转换函数, Gw是全剧输出函数,他们分别包含了N个实例的fw和gw。

  现在我们考虑如下情况: X O 都被公式2形式定义, 并定义一个映射
在这里插入图片描述
这个映射将图作为输入, 输出每个节点的输出值On。 Banach fixed point theorem 把那车不动点(我也不知道这大哥叫啥,,)原理给出了映射方程组存在且唯一的充分条件。根据(53)不动点的原理,公式2有唯一的解决方法需要 Fw是一个对期望state的 contraction map 收缩映射\压缩映射。
例如存在μ, 0<= μ < 1, 使得:
在这里插入图片描述
使得对于任意x,y 成立, 这里 || . || 表示向量范式。在这种情况下,我们假设Fw是一个 压缩映射,接下来我们将论述在gnn中,会有转换函数的合适实现方法使得上面的性质都能成立。

  注意到公式1 能够处理有位置和没有位置的图。

  • 对于有位置的图, fw必须接收 邻居的位置信息作为输入条件。事实上在实现过程中,能够很容易提供位置信息,
    在这里插入图片描述
    实现方式就是将上面三个向量按照邻居的位置进行排序,没有邻居的位置用null补上。这个地方论文说的太形式化了,我觉着,他的意思是 所有节点中有邻居数量最多的节点,他的邻居数量是M, 那所有节点的邻居位置信息都是一个M维度的向量,每个y1到ym, 某个位置的索引index代表的节点不是当前节点的邻居 就置为null, 否则yi代表第i个邻居的 什么信息 应该是个向量,但是我也没看懂 是state还是label还是别的什么。

  • 对于没有位置的图,讲公式1中的fw替换成:
    在这里插入图片描述
    hw是参数函数。这个转换函数成功的使用了循环神经网络rnn,它不会受到位置信息的影响。

接下来公式3被当做是无方向图的形式。公式1被称为有向图的形式。为了实现gnn模型,接下来几点必须要满足。

(说实话,下面这仨问题我咋翻译都不像人话,我没能深刻理解作者的意思)

  1. 一个解决公式1的方法
  2. 一个学习算法,用以适应使用训练集合的样本进行学习的fw和gw。
  3. 一个fw和gw的实现方案。
    ![在这里插入图片描述](https://img-blog.csdnimg.cn/20191128220914248.png
    在这里插入图片描述在这里插入图片描述
B.状态state的计算

 Banach的不定点原理不仅指出了公式1解决方案的存在和唯一,也建议了典型的迭代方法去计算状态:
在这里插入图片描述
x(t)表示x的第t步迭代。对于任意初始化的x(0),动力学系统4以指数收敛到2,因此我们考虑x(t)座位状态,通过转换函数Fw进行更新。 事实上4在解决非线性方承担的实现是使用 jacobi迭代法(数值分析课程讲过,我没记住 😂) ,因此输出和状态state能够通过如下迭代计算:
在这里插入图片描述
  注意到,5中表示的计算可以以一个包含单元的神经网络来表示,以此来计算fw和gw。这样的网络被称为编码网络 encoding network。 接下来拿rnn作为一个类比。为了构建一个编码网络,图中每个节点被一个单元unit计算函数fw来代替(如图3)。每个单元保存节点n的当前状态Xn(t),当他被激活的时候,他就使用节点n的label和存储在邻居的信息,来计算下一次迭代的状态xn(t+1), 这个不断重复的节点激活过程在5中描述了出来。n个节点的输出是在另一个节点中完成,也就是实现出的gw。
  当fw和gw都使用前馈网络实现了出来,编码网络的结果就是gnn,并且神经元的联系可以分为内在联系和外在联系。内在联系是网络结构提供的,外在连边取决于被处理图的边。
在这里插入图片描述

C. 学习算法

  学习一个gnn包括估计参数w, 以使得Faiw 函数在训练数据中逼近样本分布。训练数据集描述如下:
在这里插入图片描述
qi是Gi中监督节点的数量。
对于图关注的应用,(这块我不太理解,翻译的可能不对), 有一个特殊的点被当做目标(qi=1),对于节点关注任务,在原理上,在每个节点上都有监督。学习任务可以被表示成下列二次函数的极小化过程:
在这里插入图片描述

注4 在神经网络的众多应用中,损失函数一般包括惩罚项来模型的控制其他参数。

例如,损失函数会包含平滑因子来惩罚输出的突变以此来提升泛化表现。
  我们的学习算法基于梯度下降策略,并且由下面的步骤组成:
在这里插入图片描述
a) 节点的状态xn(t) 是通过5公式碟台更新计算,直到时刻T,所有节点达到公式2结果固定点 x(T) ≈ x
b) 偏ew(T) / 偏w (损失函数对参数w的偏导数) 在每个时刻都可以计算
c) 权重w通过b中计算梯度的方式进行更新
  我们考虑步骤a,注意一个假设Fw是一个收缩映射以确保能够收敛到固定点。步骤c由传统的梯度下降框架提出。如接下来将要说明的,步骤b利用GNN中发生的扩散过程,从而在更新中很有效率。有趣的是,这种扩散过程与发生在rnn中的backpropagation-through-time algorithm 按照时序反向传播算法 非常相似。这样,这张编码网络就从时间T,向回传播到初始化时间t0。这个网络层的展开过程如图3展示。每个层都对应一个时间,并且包含编码网络的所有单元fw的一份拷贝。两个连续的层之间的连通依据了图的连通情况。最后一次对应时间T, 包括单元gw和计算整个网络的输出。按照时序的反向传播算法包括在网络上展开的传统反向传播步骤来计算在T时刻损失函数的梯度来估计所有fw和gw的期望。在T时刻损失函数e对参数w的偏微分包括了所有参数的梯度和,但是时序反向传播需要存储单元的每个参数状态。当图和T-t0都非常大的时候,内存消耗是必须要考虑的问题。另一方面,在我们的场景中, 基于Almeida–Pineda algorithm算法(参考文献58 59),使得算法更有效率是有可能的。因此我们可以假设x(t)=x,任意t>t0的过程,公式5能够在计算梯度之前达到稳定点。因此基于时间的反向传播可以只存储x。接下来两个定理阐述这样一个直觉的方法,是有正当理由的。接下来的定理证明了函数Faiw是可微分的。

定理1 (可微性)在这里插入图片描述

分别令Fw和Gw是GNN的全局转换函数和全局输出函数,如果Fw(x,l) 和 Gw(x,l) 都关于x和w连续可微,那么函数Faiw就是关于w连续可微的。

证明:

在这里插入图片描述
证明不翻译了,

 值得提及的是,这个属性不是用在更广义的动力学系统,这些动力学系统的参数如果有微小变动,就会使得固定点从一个点到另一个点。事实上,GNN中Faiw可微分是因为假设了Fw是收缩映射。下一个定理会提出一个快速计算梯度的方法。

定理2(反向传播):

在这里插入图片描述
在这里插入图片描述

证明

在这里插入图片描述
在这里插入图片描述
因此,7的累积变成了变量z,这个机制对应反向传播中的包含fw的各个单元层。
学习算法如表1
在这里插入图片描述

没翻译完,持续更新。。。。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值