图神经网络 (GNN) 概述

news2024/9/24 1:24:05
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.coloradmin.cn/o/1324753.html

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

相关文章

实验4.2 默认路由和浮动静态路由的配置

实验4.2 默认路由和浮动静态路由的配置 一、任务描述二、任务分析三、具体要求四、实验拓扑五、任务实施1.路由器的基本配置。2.配置默认路由,实现全网互通。3.配置浮动静态路由,实现链路备份。 六、任务验收七、任务小结八、知识链接1.默认路…

tensorflow入门 自定义模型

前面说了自定义的层,接下来自定义模型,我们以下图为例子 这个模型没啥意义,单纯是为了写代码实现这个模型 首先呢,我们看有几个部分,dense不需要我们实现了,我们就实现Res,为了实现那个*3,我们…

Axure情形动作篇(ERP登录效验)

目录 一、ERP系统用户登录效验 1.1 完成步骤 1.2 最终效果 二、省市区联动 三、ERP菜单栏页面跳转 四、下拉加载效果实现 4.1 加载动画实现步骤 4.2 下划界面加载实现 4.3 最终效果 一、ERP系统用户登录效验 1.1 完成步骤 首先搭建ERP系统的登录界面(输入…

Codeforces Round 916 (Div. 3)(G未补)

目录 A. Problemsolving Log B. Preparing for the Contest C. Quests D. Three Activities E1.E2. Game with Marbles F. Programming Competition A. Problemsolving Log 题意:A任务需要一分钟完成,B任务需要两分钟完成,……以此类推…

Dockerfile指令参考

写在前面 这里是原文链接,本文学习Dockerfile中的指令。 指令表格 指令描述ADD添加本地文件或远程文件到imageARG环境变量CMD运行container时执行的命令COPY复制文件或目录到imageENTRYPOINT运行container时执行的命令(优先级高)ENV环境变…

Hudi Clustering

核心概念 Hudi Clustering对于在数据写入和读取提供一套相对完善的解决方案。它的核心思想就是: 在数据写入时,运行并发写入多个小文件,从而提升写入的性能;同时通过一个异步(也可以配置同步,但不推荐&…

SQL注入绕过正则及无列名注入

渗透测试 一、select\b[\s\S]*\bfrom正则二、科学计数法绕过三、过滤information四、无列名注入1、利用 join-using 注列名。2、无列名查询 五、报错注入7大常用函数1.ST_LatFromGeoHash()(mysql>5.7.x)payload 2.ST_LongFromGeoHash(mysq…

3 - Electron app BrowserWindow对象-关于窗口

优雅的打开应用~ 当加载缓慢,打开应用的一瞬间会出现白屏,以下方法可以解决 const mainWindow new BrowserWindow({ show: false }) mainWindow.once(ready-to-show, () > {mainWindow.show() }) 设置背景颜色 const win new BrowserWindow({ b…

OpenHarmony应用开发环境搭建指南

OpenHarmony的应用开发主要是基于Deveco Studio(目前只支持Windows及Mac平台)搭配相应的SDK进行,现对开发环境的搭建进行说明。 1:Deveco下载安装 下载对应平台的安装包即可。接下来以Windows平台为例,进行开发环境的搭建。 下载…

C#文件操作(一)

一、前言 学习心得:C# 入门经典第8版书中的第20章《文件》 二、操作文件的相关类 在C#应用程序中Syste.IO名称空间包含用于在文件中读写数据的类。在此我列举一下File、Directory、Path、FileInfo、DirectoryInfo、FileSystemInfo、FileSystemWatcher。其中在Syste…

pnpm :无法加载文件 D:\nodejs\node_global\pnpm.ps1,因为在此系统上禁止运行脚本

目录 一、问题描述 二、原因分析 三、解决问题 一、问题描述 pnpm : 无法加载文件 D:\learningsoftware\nodejs\node_global\pnpm.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 https:/go.microsoft.com/fwlink/?LinkID1351 70 中的 a…

文件包含 [SWPUCTF 2021 新生赛]include

打开题目 要求我们传入一个file进去,那我们get传入 /?file1 得到源码,并且提示我们flag在flag,php下 在源代码中,我们看见了allow_url_include函数,我们知道这涉及到文件包含。 一般默认allow_url_fopen是on的,那在…

线性回归中的似然函数、最大似然估计、最小二乘法怎么来的(让你彻底懂原理)收官之篇

图1 图2 图3 图4 问1:为什么要引入似然函数? 在线性回归中引入似然函数是为了通过概率统计的方法对模型参数进行估计。简单来说,我们希望找到一组参数,使得我们观测到的数据在给定这组参数的情况下最有可能发生。 问:1&#xf…

0155 - Java 数组

1 数组介绍 数组可以存放多个同一类型的数据。数组也是一种数据类型,是引用类型。 即:数(数据)组(一组)就是一组数据 2 数组的使用 2.1 使用方式一 2.2 使用方式二 3 数组使用注意事项和细节 数组是多个相同类型数据的组合,实现对这些数据…

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…

信息收集 - 网站架构

网站架构组成 通常,一个典型的网站架构包括以下组件: 动态脚本语言:动态脚本语言用于处理网站的逻辑和动态内容生成。常见的动态脚本语言包括PHP、Python、Ruby和Node.js等。这些脚本语言可以根据用户请求生成动态的网页内容。 数据库:数据库用于存储网站的数据,包括用户…

网易面试:亿级用户,如何做微服务底层架构?

尼恩说在前面 在40岁老架构师 尼恩的读者交流群(50)中,最近有小伙伴拿到了一线互联网企业网易、美团、字节、如阿里、滴滴、极兔、有赞、希音、百度、美团的面试资格,遇到很多很重要的面试题: 微服务改造,你是怎么做的&#xff1…

TransXNet实战:使用 TransXNet实现图像分类任务(二)

文章目录 训练部分导入项目使用的库设置随机因子设置全局参数图像预处理与增强读取数据设置Loss设置模型设置优化器和学习率调整策略设置混合精度,DP多卡,EMA定义训练和验证函数训练函数验证函数调用训练和验证方法 运行以及结果查看测试完整的代码 在上…

路由表route

目录 Windows维护路由表,利用route命令,VPN完美异地组网什么是多网络环境这里我做个情景演示重置ipv4网络再次确认一下网络背景网关是什么多网络规划思路最后拓展内容实测一下网关切换选项网关的网关命令整理 Windows维护路由表,利用route命令…

补题与周总结:leetcode第 376 场周赛

文章目录 复盘与一周总结2967. 使数组成为等数数组的最小代价(中位数贪心 回文数判断)2968. 执行操作使频率分数最大(中位数贪心 前缀和 滑窗) 复盘与一周总结 wa穿了第3题,赛时其实想到了思路:中位数贪心…