图神经网络 (GNN) 概述

GNN 作者 with DALL·E 3

一、说明

        神经网络是受人脑工作启发的计算模型,能够从复杂的非结构化数据(如图像、文本、音频和视频)中学习。然而,还有许多其他类型的数据无法用传统的神经网络轻松表示,例如那些具有图形结构的数据。图形是节点和边的集合,分别表示系统的实体和关系。图表无处不在:从社交网络、推荐系统、计算化学、分子生物学、网络安全等等。我们如何利用神经网络的力量来分析和学习这些图形数据?

        答案是:使用图神经网络(GNN)。GNN是一类直接在图上运行的神经网络,利用节点和边的结构和语义信息。GNN 能够学习节点的向量表示(或嵌入),从而在图中捕获它们的特征和上下文。然后,这种表示可用于各种任务,例如节点分类、链接预测、图形生成、空间和时间推理等等。

        GNN是一个非常活跃且发展迅速的研究领域,面临着许多挑战和机遇。在本文中,我想对 GNN 进行概述,说明它们的工作原理、应用、它们与传统神经网络的区别以及它们的关键概念和术语。特别是,我将重点介绍四种类型的 GNN:图卷积网络 (GCN)、图注意力网络 (GAT)、时态图网络 (TGN) 和内存增强图神经网络 (MA-GNN)。之所以选择这些类型的GNN,是因为它们代表了GNN领域中一些最具创新性和影响力的想法,并且因为它们涵盖了广泛的场景和应用。

二、图卷积网络 (GCN)

        卷积是将输入信号转换为输出信号的数学运算,同时保留原始信号的某些属性,例如局部性、平稳性和组合性。卷积在神经网络中广泛用于分析图像、文本、音频和视频,这些图像、文本、音频和视频可以看作是规则网格上的定义信号。然而,图形没有规则的结构,而是不规则和可变的。我们如何将卷积应用于图形?

        图卷积网络 (GCN) 是一类用于图的神经网络,它使用卷积来学习图节点的向量表示。GCNs的基本思想是在图上定义一个卷积算子,它允许节点及其邻居的信息被高效且不变地聚合。有几种方法可以在图形上定义卷积算子,具体取决于如何对节点之间的关系进行建模、如何对邻居进行加权以及如何组合信息。图上卷积算子的一些示例包括:频谱、空间域、时域和频域。

        GCN 能够学习节点的向量表示(或嵌入),从而在图中捕获它们的特征和上下文。然后,这种表示可用于各种任务,例如节点分类、链接预测、图形生成、空间和时间推理等等。基于 GCN 的算法的一些示例包括:GraphSage、PinSage、Graph Isomorphism Network、Graph U-Net 等。

        你是对的,我忘了在我的文章中描述 PinSage。PinSage 是一种图神经网络 (GNN) 算法,它使用卷积来学习图节点的向量表示。PinSage 的独特之处在于它使用随机游走对节点的邻居进行采样,而不是使用均匀或加权采样。随机游走是一个随机过程,包括以随机方式沿着图形的边缘从一个节点移动到另一个节点。随机游走允许您探索图形中更大、更多样化的部分,并为与目标节点最相关的邻居分配更高的重要性。PinSage 旨在处理大型图表,例如 Pinterest 的图表,并为用户生成个性化推荐。

三、图注意力网络 (GAT)

        注意力是一种机制,允许您将注意力集中在输入信号的一部分上,而忽略其他不相关的部分。注意力在神经网络中被广泛用于分析文本、音频和视频,可以看作是元素的序列。然而,图不是序列,而是不规则和可变的结构。我们怎样才能把注意力放在图表上?

        图注意力网络 (GAT) 是一类图神经网络,它使用注意力来学习图节点的向量表示。GAT 的基本思想是在图形上定义注意力机制,它允许您根据节点与目标节点的相关性为节点的邻居分配权重。通过这种方式,GAT能够有选择地和自适应地聚合节点及其邻居的信息,同时考虑到图的结构和内容。

        GAT 使用空间方法聚合邻居信息,其中包括计算目标节点与其邻居之间的相似性函数,然后使用 softmax 函数对权重进行归一化。GAT 可以使用不同类型的相似函数,例如标量积、加性标量积或乘法标量积。GAT 还可以使用多个注意力头来学习节点的不同表示,然后将它们连接或调解以获得最终表示。

        GAT 能够学习节点的向量表示(或嵌入),从而在图中捕获它们的特征和上下文。然后,这种表示可用于各种任务,例如节点分类、链接预测、图形生成、空间和时间推理等等。基于 GAT 的算法的一些示例包括:Graph Transformer、Graph Attention U-Net、Graph Attention Autoencoder 等。

四、时态图网络 (TGN)

        时态图是一种随时间变化的图,其结构和内容都发生了变化。时间图可以表示动态现象,例如社会互动、金融交易、化学反应、生物过程等等。我们如何从时间图中学习?

        时态图网络 (TGN) 是一类神经图网络,它使用时间作为学习时态图节点的向量表示的基本维度。TGN 的基本思想是对节点和链接随时间变化的动态进行建模,同时考虑它们的属性和变化。TGN 能够将内存和时间嵌入到 GNN 中,以捕获时间依赖性以及节点和链路的演变。

        TGN 使用编码模块根据节点的静态和动态特性来学习节点的向量表示。TGN 使用聚合模块根据节点与邻居随时间推移的交互来更新节点的表示。TGN 使用内存模块根据节点的时间相关性来存储和检索节点的表示。TGN 使用解码模块根据节点的表示和当前时间生成预测。

        TGN 能够学习节点的向量表示(或嵌入),从而在时间图中捕获它们的特征和上下文。然后,这种表示可用于各种任务,例如节点分类、链接预测、图形生成、空间和时间推理等等。基于 TGN 的算法的一些示例包括:DyRep、JODIE、Know-Evolve 等。

五、结论

        在本文中,我概述了图神经网络 (GNN),这是一类直接在图上运行的神经网络,利用节点和边的结构和语义信息。我阐述了GNN的工作原理、应用、与传统神经网络的区别,以及关键概念和术语。特别是,我关注了四种类型的GNN:图卷积网络(GCN)、图注意力网络(GAT)、时态图网络(TGN)和内存增强图神经网络(MA-GNN)。

        GNN是一个非常活跃且发展迅速的研究领域,面临着许多挑战和机遇。GNN 能够学习节点的向量表示,从而在图形中捕获它们的特征和上下文。然后,这种表示可用于各种任务,例如节点分类、链接预测、图形生成、空间和时间推理等等。GNN 已被证明在许多领域和场景中是有效和高效的,例如社交网络、推荐系统、计算化学、分子生物学、网络安全等。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/234900.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Vue2面试题:说一下对跨域的理解?

http请求分为两大类:普通http请求(如百度请求)和ajax请求(跨域是出现在ajax请求) 同源策略:在浏览器发起ajax请求时,当前的网址和被请求的网址协议、域名、端口号必须完全一致,目的是…

windows平台配置vsCode_CMake_Clang/LLVM_ninja环境与测试

cmake配置 官网下载并安装 设置系统环境变量 cmake --versionvsCode插件 Clang/LLVM配置 vsCode clangd插件,提示安装lsp 官网下载LLVM 安装包安装,设置系统环境变量 clang --versionninja配置 官网下载 解压,设置系统环境变量 ninja -…

基于YOLOv8的结核病预测系统设计与实现

一、项目背景 本系统的目的是通过痰液图像来检测出结核杆菌的携带者,及时采取治疗措施,在病情早期对其进行相关治疗减少结核病的传播。程序使用的样本是经过染色处理可以使得结核杆菌在显微镜拍摄的医学图像,通过检测医学图像中的结核杆菌诊…

操作系统系列:关于终端Shell

操作系统系列:关于终端 Shell在Win32上创建一个新进程重定向输入和输出 Shell Unix命令处理器或者Shell都是进程,它获取用户键入的命令,fork出一个进程,子进程调用exec来执行用户的命令,父进程等待子进程执行结束。 这…

常用的金融小知识的简单理解

m1和m2 剪刀差扩大 说明经济向好(牛市),否则m1变为m2 剪刀差收窄,经济回落 社融-社会融资规模 社融数据增长意味着人们看好未来经济,敢于贷款,赚钱效应增加 cpi-居民消费价格指数 cpi上升意味着通过膨胀 ppi-生产者价格指数…

Android Canvas状态save与restore,Kotlin

Android Canvas状态save与restore,Kotlin private fun f1() {val bitmap BitmapFactory.decodeResource(resources, R.mipmap.pic).copy(Bitmap.Config.ARGB_8888, true)val canvas Canvas(bitmap)val paint Paint(Paint.ANTI_ALIAS_FLAG)paint.color Color.RED…

初始redis

目录 前言: 1.盛赞redis 2 redis特性 3.redis的典型应用场景 4.安装并启动redis 前言: 本章将带领读者进入Redis的世界,了解它的前世今生、众多特性、典型应用场景、安装配置、如何用好等,最后会对Redis发展过程中的重要版本…

EMNLP 2023 亮点回顾:大模型时代下的 NLP 研究

作为自然语言处理(NLP)领域的顶级盛会,EMNLP 每年都成为全球研究者的关注焦点。2023 年的会议在新加坡举行,聚集了数千名来自世界各地的专家学者,也是自疫情解禁以来,中国学者参会最多的一次。巧的是&#…

English phrase

more challenging yet more practical 更有挑战性但是更符合实际的pairwise 成对的fine-grained 精细的manifold 流形zero shot learning 0样本学习narrow the gap 缩小差距w.r.t with respect to 考虑到be different from in 跟某些人在某些方面不同,例如&#xff…

appium工具相关

一、appium基本介绍 1、appium 基本介绍 定义:appium 就是一款非常流行和好用的第三方工具,通过该工具我们可以配合 python 脚本实现 IOS / Android 多平台的APP 自动化测试。作用:在编写测试脚本的PC机和运行 APP 的真机或设备之前充当一个…

CSS操纵元素的禁用和启用

通常表单控件都会有属性readonly、disabled对元素进行只读、禁用等操作。 而有时候我们想要div也达到类似效果,可以用CSS样式pointer-events: none进行控制。 科普知识 CSS样式的pointer-events: none用于控制一个元素能否响应鼠标操作。当该属性设置为none时&am…

DC-8靶场

目录 DC-8靶场链接: 首先进行主机发现: sqlmap得到账号密码: 反弹shell: exim4提权: Flag: DC-8靶场链接: https://www.five86.com/downloads/DC-8.zip 下载后解压会有一个DC-8.ova文件…

js中BOM对象

BOM操作: 概念:BOM操作的时候,操作的整个浏览器,浏览器被封装成一个对象,这个对象就是window。 window对象就是顶级对象。 window对象的特点为:凡是window对象中的属性或方法,window顶级对象…

bash数组的用法

一、单纯数组 #!/usr/bin/env bash#1、定义一个空数组 my_array()#2、增。使用 运算符将元素添加到数组的末尾 my_array("value1") my_array("value2") my_array("value3")#3、增。还可以使用一行的方式一次性添加多个元素到数组 my_array(&qu…

程序员的20大Git面试问题及答案

文章目录 1.什么是Git?2.Git 工作流程3.在 Git 中提交的命令是什么?4.什么是 Git 中的“裸存储库”?5.Git 是用什么语言编写的?6.在Git中,你如何还原已经 push 并公开的提交?7.git pull 和 git fetch 有什么…

C语言 字符串处理相关函数大汇总之(16~20)

16&#xff0c;strlwr 函数&#xff0c;将字符串中的大写字母转换为小写字母。 它位于 <string.h> 头文件中。 函数原型如下&#xff1a; char *strlwr(char *str); 参数&#xff1a; str&#xff1a;要转换的字符串。 返回值&#xff1a; 返回指向转换后的字符串的…

世微AP8105 低功耗PFM DC-DC变换器 升压芯片多种分装

概述 AP8105系列产品是一种效率、低纹波、工作频率高的PFM升压DC-DC变 换器。AP8105系列产品仅需要四个元器件&#xff0c;就可完成将低输入的电池电压变换升压到所需的工作电压&#xff0c;非常适合于便携式1&#xff5e;4节普通电池应用的场合。 电路采用了高性能、低功耗…

Oracle中的dblink简介

Oracle中的dblink简介 是一种用于在不同数据库之间进行通信和数据传输的工具。它允许用户在一个数据库中访问另一个数据库中的对象&#xff0c;而无需在本地数据库中创建这些对象。 使用dblink&#xff0c;用户可以在一个数据库中执行SQL语句&#xff0c;然后访问另一个数据库中…

猫粮什么品牌好?业内人生分享五个口碑好质量好主食冻干猫粮牌子

随着养猫的人越来越多&#xff0c;铲屎官们对猫咪的饮食也越来越注重。除了猫粮&#xff0c;很多铲屎官还会给猫咪准备小零食。那么&#xff0c;猫咪是不是除了猫粮就没有其他可吃的了呢&#xff1f;答案当然不是。猫咪还有猫冻干、冻干猫粮、猫条等可以选择。每个铲屎官都希望…

Java发起SOAP请求代码参考

目录 Java发起SOAP请求代码参考 代码1.组装参数2.加密参数3.发起连接4.解析返回数据 参考 文章所属专区 超链接 代码 1.组装参数 <?xml version"1.0" encoding"UTF-8"?> <beans xmlns"http://www.springframework.org/schema/beans&qu…