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


The Graph Neural Network Model

摘要

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

I n d e x Index Index T e r m s Terms Terms: 图神经网络,图处理,递归神经网络

引言

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

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

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

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

在这里插入图片描述

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

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

图神经网络模型

符号

G = ( N , E ) G=(N,E) G=(N,E),其中 N N N 表示顶点集, E E E 边集合, n e [ n ] ne[n] ne[n] 表示顶点 n n n的邻接顶点, c o [ n ] co[n] co[n] 关联顶点 n n n 的边,于顶点 n n n,和边 ( n 1 , n 2 ) (n_1,n_2) (n1,n2) 相对应的属性表示为 l n ∈ R l N l_n \in \mathbb{R}^{l_N} lnRlN l ( n 1 , n 2 ) ∈ R l E l_{(n_1,n_2)}\in \mathbb{R}^{l_E} l(n1,n2)RlE l l l表示将图中所有的属性堆积构成的张量。

本文中考虑的domain是图和顶点构成的集合 D = G × N \mathcal{D}=\mathcal{G}\times \mathcal{N} D=G×N,其中 G \mathcal{G} G 图集合, N \mathcal{N} N 顶点集合。监督学习框架的学习集合
L = { ( G i , n i , j , t i , j ) ∣ G i = ( N i , E i ) ∈ G ; n i , j ∈ N i ; t i , j ∈ R m , 1 ≤ i ≤ p , 1 ≤ j ≤ q i } \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\} L={(Gi,ni,j,ti,j)Gi=(Ni,Ei)G;ni,jNi;ti,jRm,1ip,1jqi}其中 t i , j t_{i,j} ti,j表示顶点 n i , j n_{i,j} ni,j所对应的期望目标值。

模型

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

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

R e m a r k : Remark: Remark:

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

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

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

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

在这里插入图片描述

实现GNN需要如下技术:

  • 求解(1)的方法。
  • 更新 f w f_w fw g w g_w gw的学习算法。
  • f w f_w fw g w g_w gw的实现方案。

状态值的计算

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

学习算法

给定数据集
L = { ( G i , n i , j , t i , j ) ∣ G i = ( N i , E i ) ∈ G ; n i , j ∈ N i ; t i , j ∈ R m , 1 ≤ i ≤ p , 1 ≤ j ≤ q i } \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\} L={(Gi,ni,j,ti,j)Gi=(Ni,Ei)G;ni,jNi;ti,jRm,1ip,1jqi}学习参数函数 φ w \varphi_w φw。学习任务可以转化为最小化如下损失函数: e w = ∑ i = 1 p ∑ j = 1 q i ( t i , j − φ w ( G i , n i , 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) ew=i=1pj=1qi(ti,jφw(Gi,ni,j))2.    (6)

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

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

定理 1(可微性) F w F_w Fw G w G_w Gw分别是GNN的全局变换和输出函数。如果 F w ( x , l ) F_w(x,l) Fw(x,l) G w ( x , l N ) G_w(x,l_N) Gw(x,lN)对于 x , w x,w x,w是连续可微的,则 φ w \varphi_w φw对于 w w w也是连续可微的。
定理 2(反向传播) F w F_w Fw G w G_w Gw分别是GNN的全局变换和输出函数。假设 F w ( x , l ) F_w(x,l) Fw(x,l) G w ( x , l N ) G_w(x,l_N) Gw(x,lN)对于 x , w x,w x,w是连续可微的。定义
z ( t ) = z ( t + 1 ) ⋅ ∂ F w ∂ x ( x , l ) + ∂ e w ∂ o ⋅ ∂ G w ∂ x ( x , l N ) .      ( 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(t)=z(t+1)xFw(x,l)+oewxGw(x,lN).    (7) z = lim ⁡ t → − ∞ z ( t ) z=\lim_{t\rightarrow-\infty}z(t) z=limtz(t)。进一步有: ∂ e w ∂ w = ∂ e w ∂ o ⋅ ∂ G w ∂ w ( x , l N ) + z ⋅ ∂ F w ∂ w ( 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) wew=oewwGw(x,lN)+zwFw(x,l)                (8)其中 x x x是GNN的稳定状态。

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

变换和输出函数实现

Linear GNN

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

Nonlinear GNN

h w h_w hw为多层 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.

### 回答1: 神经网络模型Graph Neural Network Model)是一种基于结构的深度学习模型,用于处理数据。它可以对节点和边进行特征提取和表示学习,从而实现对数据的分类、聚类、预测等任务。该模型在社交网络、化学分子结构、推荐系统等领域有广泛应用。 ### 回答2: 神经网络Graph Neural Network ModelGNN)是一种新兴的人工智能技术,主要应用于像、文本、语音等非结构化数据的分析和处理。与传统的神经网络相比,GNN不仅可以处理标量和向量数据,还可以有效地处理结构数据。该算法已经被广泛应用于社交网络和推荐系统等领域。 GNN的核心思想是将结构数据转化为节点特征向量。在传统的神经网络计算中,每个节点都有自己的参数和输入,GNN则不同,它通过传递和聚集节点之间的信息来学习高维特征数据。这种信息传递和聚集的过程可以通过使用邻接矩阵和节点度等数学工具来实现。 GNN的训练过程可以使用反向传播算法完成,与常规神经网络的训练过程类似。在应用于像数据分类问题时,GNN可以通过多个学习层来提高准确性。这个技术的成功还在于GNN可以对像的部分进行处理,而不是整个像,从而提高了训练和测试的效率。 GNN技术的优势在于,它可以处理复杂的非线性数据,而且可以基于节点、边缘、子等多种粒度进行分析。此外,GNN还可以处理不明确的、不完整的或噪声丰富的数据。例如,它可以在社交网络中预测用户的兴趣,或在进化发育生物学中预测蛋白质之间的交互。 总之,GNN是一种具有广泛应用前景的新型人工智能技术,其可以更好地解决像分类、社交网络分析、蛋白质预测等问题。它将成为未来智能分析和推荐系统的重要组成部分。 ### 回答3: 神经网络Graph Neural NetworkGNN)是一种用于解决结构化数据(例如、网格等)的机器学习模型。它是神经网络的一种扩展,能够利用节点和边之间的关系信息进行学习。与传统的神经网络不同的是,神经网络是针对等结构化数据的设计。 神经网络的核心思想是将节点和边的表示融合起来,实现对结构的整体建模。通过将节点和边的特征进行编码,可以学习到可以表达节点和边之间关系的空间嵌入向量。在这些向量的基础上,可以进行下一层节点和边的编码,并通过多层的神经网络来逐渐提高对结构的建模能力。 目前,神经网络在多个领域得到了广泛应用,例如化学分子分析、社交网络分析、3D建模等。在化学领域,神经网络可以从化学分子的结构中预测化学性质,如溶解度、反应性等。在社交网络分析中,它可以对用户关系进行建模,并预测社交网络中用户的行为。在3D建模中,神经网络可以对点云数据进行建模,并生成复杂的三维物体。 总之,神经网络是一种适用于结构化数据的机器学习模型,可以从节点和边特征中学习到结构中的信息并进行整体建模。它在各种领域得到了广泛应用,为研究者提供了一种有效的工具来分析和处理结构化数据。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值