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

2024-06-16 19:38

本文主要是介绍图神经网络模型 The Graph Neural Network Model,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

图神经网络模型

  • 摘要
  • 引言
  • 图神经网络模型
    • 符号
    • 模型
    • 状态值的计算
    • 学习算法
    • 变换和输出函数实现
      • Linear GNN
      • Nonlinear GNN
  • 实验结果
    • The Mutagenesis Problem
  • 计算复杂性

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.

这篇关于图神经网络模型 The Graph Neural Network Model的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1067366

相关文章

一份LLM资源清单围观技术大佬的日常;手把手教你在美国搭建「百万卡」AI数据中心;为啥大模型做不好简单的数学计算? | ShowMeAI日报

👀日报&周刊合集 | 🎡ShowMeAI官网 | 🧡 点赞关注评论拜托啦! 1. 为啥大模型做不好简单的数学计算?从大模型高考数学成绩不及格说起 司南评测体系 OpenCompass 选取 7 个大模型 (6 个开源模型+ GPT-4o),组织参与了 2024 年高考「新课标I卷」的语文、数学、英语考试,然后由经验丰富的判卷老师评判得分。 结果如上图所

大语言模型(LLMs)能够进行推理和规划吗?

大语言模型(LLMs),基本上是经过强化训练的 n-gram 模型,它们在网络规模的语言语料库(实际上,可以说是我们文明的知识库)上进行了训练,展现出了一种超乎预期的语言行为,引发了我们的广泛关注。从训练和操作的角度来看,LLMs 可以被认为是一种巨大的、非真实的记忆库,相当于为我们所有人提供了一个外部的系统 1(见图 1)。然而,它们表面上的多功能性让许多研究者好奇,这些模型是否也能在通常需要系

人工智能机器学习算法总结神经网络算法(前向及反向传播)

1.定义,意义和优缺点 定义: 神经网络算法是一种模仿人类大脑神经元之间连接方式的机器学习算法。通过多层神经元的组合和激活函数的非线性转换,神经网络能够学习数据的特征和模式,实现对复杂数据的建模和预测。(我们可以借助人类的神经元模型来更好的帮助我们理解该算法的本质,不过这里需要说明的是,虽然名字是神经网络,并且结构等等也是借鉴了神经网络,但其原型以及算法本质上还和生物层面的神经网络运行原理存在

人工和AI大语言模型成本对比 ai语音模型

这里既有AI,又有生活大道理,无数渺小的思考填满了一生。 上一专题搭建了一套GMM-HMM系统,来识别连续0123456789的英文语音。 但若不是仅针对数字,而是所有普通词汇,可能达到十几万个词,解码过程将非常复杂,识别结果组合太多,识别结果不会理想。因此只有声学模型是完全不够的,需要引入语言模型来约束识别结果。让“今天天气很好”的概率高于“今天天汽很好”的概率,得到声学模型概率高,又符合表达

智能客服到个人助理,国内AI大模型如何改变我们的生活?

引言 随着人工智能(AI)技术的高速发展,AI大模型越来越多地出现在我们的日常生活和工作中。国内的AI大模型在过去几年里取得了显著的进展,不少独创的技术点和实际应用令人瞩目。 那么,国内的AI大模型有哪些独创的技术点?它们在实际应用中又有哪些出色表现呢?此外,普通人又该如何利用这些大模型提升工作和生活的质量和效率呢?本文将为你一一解析。 一、国内AI大模型的独创技术点 多模态学习 多

python实现最简单循环神经网络(RNNs)

Recurrent Neural Networks(RNNs) 的模型: 上图中红色部分是输入向量。文本、单词、数据都是输入,在网络里都以向量的形式进行表示。 绿色部分是隐藏向量。是加工处理过程。 蓝色部分是输出向量。 python代码表示如下: rnn = RNN()y = rnn.step(x) # x为输入向量,y为输出向量 RNNs神经网络由神经元组成, python

OpenCompass:大模型测评工具

大模型相关目录 大模型,包括部署微调prompt/Agent应用开发、知识库增强、数据库增强、知识图谱增强、自然语言处理、多模态等大模型应用开发内容 从0起步,扬帆起航。 大模型应用向开发路径:AI代理工作流大模型应用开发实用开源项目汇总大模型问答项目问答性能评估方法大模型数据侧总结大模型token等基本概念及参数和内存的关系大模型应用开发-华为大模型生态规划从零开始的LLaMA-Factor

模型压缩综述

https://www.cnblogs.com/shixiangwan/p/9015010.html

AI赋能天气:微软研究院发布首个大规模大气基础模型Aurora

编者按:气候变化日益加剧,高温、洪水、干旱,频率和强度不断增加的全球极端天气给整个人类社会都带来了难以估计的影响。这给现有的天气预测模型提出了更高的要求——这些模型要更准确地预测极端天气变化,为政府、企业和公众提供更可靠的信息,以便做出及时的准备和响应。为了应对这一挑战,微软研究院开发了首个大规模大气基础模型 Aurora,其超高的预测准确率、效率及计算速度,实现了目前最先进天气预测系统性能的显著

Python利用qq邮箱发送通知邮件(已封装成model)

因为经常喜欢写一些脚本、爬虫之类的东西,有需要通知的时候,总是苦于没有太好的通知方式,虽然邮件相对于微信、短信来说,接收性差了一些,但毕竟免费,而且支持html直接渲染,所以,折腾了一个可以直接使用的sendemail模块。这里主要应用的是QQ发邮件,微信关注QQ邮箱后,也可以实时的接收到消息,肾好! 好了,废话不多说,直接上代码。 # encoding: utf-8import lo