图神经网络——图学习

图学习

    • 0. 前言
    • 1. 图
    • 2. 图学习
    • 3. 图神经网络
    • 小结

0. 前言

近年来,从社交网络到分子生物学等各个领域,数据的图表示越来越普遍。图神经网络 (Graph Neural Network, GNN) 是专为处理图结构数据而设计的,要充分挖掘图表示的潜力,深入了解图神经网络至关重要。在本节中,我们将深入探讨图神经网络的基本概念,并理解为什么它们是现代数据分析和机器学习中的重要工具。为此,我们将通过以下内容全面了解 GNN。首先,我们将探讨图作为数据表示的重要性,以及为什么它们被广泛应用于计算机科学、生物学和金融学等领域。接下来,我们将深入探讨图学习的重要性,了解图学习的不同应用以及不同类型的图学习技术。最后,我们将重点介绍 GNN 模型及其独特特征以及与其他方法的区别。

1. 图

图论 (Graph theory) 是对图 (Graph) 的数学研究,是理解复杂系统和关系的基本工具。图是节点( Node, 也称为顶点)和连接这些节点的边 (Edge) 的集合的直观表示,图提供了表示实体及其关系的结构,如下图所示。

图

通过将复杂系统表示为具有交互作用的实体网络,可以分析它们之间的关系,从而更深入地了解其基本结构和模式。图在各个领域都具有广泛用途:

  • 计算机科学:图可以用来模拟计算机程序的结构,从而更容易理解系统中不同组件之间是如何相互作用的
  • 物理学:图可用于模拟物理系统及其相互作用,例如粒子之间的关系及其属性
  • 生物学:图可以用来模拟生物系统,如将新陈代谢途径作为一个由相互关联的实体组成的网络
  • 社会学:图可用于研究和理解复杂的社交网络,包括社区中个体之间的关系
  • 金融学:图可用于分析股票市场趋势和不同金融工具之间的关系
  • 工程学:图可用于模拟和分析复杂系统,如交通网络和电网

这些领域内在的包含某种关系结构。例如,图是社交网络的自然表征:节点是用户,边代表用户与用户之间的联系。除此之外,图的用途非常广泛,也可以应用于关系结构并不那么自然的领域,例如,图像可以用图来表示,如下图所示。每个像素都是一个节点,边代表相邻像素之间的关系。这样就可以将基于图的算法应用到图像处理和计算机视觉任务中。

使用图表示图像

同样,一个句子也可以转换成一个图,其中节点是单词,边代表相邻单词之间的关系。这种方法在自然语言处理和信息检索任务中非常有用,因为在这些任务中单词的上下文和含义至关重要。
与文本和图像不同,图没有固定的结构,这种灵活性也使图的处理更具挑战性。没有固定的结构意味着它们可以有任意数量的节点和边,没有特定的排序。此外,图还可以表示动态数据,动态数据的实体之间的联系会随着时间的推移而发生变化。例如,用户和产品之间的关系会随着它们之间的互动而改变。在这种情况下,节点和边会被更新,以反映现实世界中的变化,如新用户、新产品和新关系。

2. 图学习

图学习 (Graph learning) 是机器学习技术在图数据中的应用,包括一系列旨在理解和处理图结构数据的任务:

  • 节点分类 (Node classification):预测图中节点类别,模型在一组已标注节点及其属性的基础上进行训练,并利用这些信息来预测未标注节点的类别。例如,它可以根据在线用户或产品的特征对其进行分类
  • 链接预测 (Link prediction):预测图中节点对之间的缺失链接。常用于知识图谱补全,补全的目标是补全实体及其关系。例如,它可用于根据人与人之间的社交网络连接来预测人与人之间的关系
  • 图分类 (Graph classification):将不同的图归入预定义类别,模型在一组标注过的图及其属性上进行训练,并利用这些信息对未见过的图进行分类。例如,分子生物学中,分子结构可以表示为图,目标是预测它们的特性,以便进行药物设计
  • 图生成 (Graph generation):根据一组属性生成新图,在一组现有的图结构上训练一个模型,然后用它来生成新的、未见过的结构。可以应用于生成新型分子结构,生成的结构可以作为候选药物进行潜力评估和进一步研究

此外,图学习还有许多其他实际应用,例如推荐系统,图学习算法会根据用户以前与其他商品的互动和关系向用户推荐相关商品。另一个重要应用是交通预测,图学习可以通过分析不同路线和交通方式之间的复杂关系来改进行程时间预测。
图学习具有强大的应用潜力,近年来,由于大规模数据集的可用性、强大的计算资源以及机器学习和人工智能算法的突破,图学习的研究得到快速发展,主要包括以下四个技术方向:

  • 图信号处理 (Graph signal processing):将传统的信号处理方法应用于图,如图傅里叶变换和频谱分析,这些技术揭示了图的内在属性,如图的连通性和结构
  • 矩阵分解 (Matrix factorization):用于获取大型矩阵的低维表示。其目标是确定解释原始矩阵中观察到的关系的潜在模式。这种方法可以提供对数据的紧凑且可解释的表示
  • 随机游走 (Random walk):用于模拟图中实体运动的数学概念。通过模拟图中的随机游走,可以收集到节点之间关系的相关信息,常用来生成机器学习模型所需的训练数据
  • 深度学习 (Deep learning):是机器学习的一个子领域,主要研究多层神经网络。深度学习方法可以有效地将图数据编码并表示为向量,这些向量可用于各种下游任务,且性能卓越

需要注意的是,这些技术并不是相互独立的,在应用中经常会重叠。在实践中,它们可以组合起来形成混合模型,充分利用各自的优势。例如,矩阵分解和深度学习技术可以结合使用,以学习图结构数据的低维表示。
图学习中,数据集(所有机器学习技术的基本组件)至关重要。传统的表格数据集(如电子表格)以行和列的形式表示数据,每一行代表一个单独的数据点。然而,在许多现实场景中,数据点之间的关系与数据点本身同样重要,这就是图数据集的作用。图数据集将数据点表示为图中的节点,将数据点之间的关系表示为边。
以下图中的表格数据集为例,该数据集包含一个部门中五个员工的信息。每个成员都有三个特征(或属性):姓名、年龄和性别。然而,该表格并不能显示这些员工之间的联系。而在图中可以用边来表示员工之间的联系,可以了解这个部门中的关系。在多数情况下,节点之间的关系对于理解数据至关重要,因此以图的形式表示数据越来越流行。

图神经

3. 图神经网络

图神经网络 (Graph Neural Network, GNN) 是一类深度学习架构,专为图数据而设计。与主要针对文本和图像开发的传统深度学习算法不同,GNN 明确用于处理和分析图数据集。

图神经网络

GNN 已成为图学习的强大工具,并在各种任务和行业中取得了卓越的成果。例如,研究人员使用 GNN 模型识别出新的抗生素,该模型在 2,500 种分子上进行了训练,并在 6,000 个化合物库中进行了测试,其预测一种名为 halicin 的分子能够杀死许多抗生素耐药细菌,同时对人体细胞毒性较低。基于这一预测,研究人员使用 halicin 治疗感染抗生素耐药细菌的小鼠,证明了 halicin 的有效性。
那么 GNN 是如何工作的呢?以社交网络中的节点分类任务为例,如上一节中所示的部门关系图数据,在节点分类任务中,GNN 利用数据集中信息为图中的每个节点创建一个向量表示。这种表示不仅包括原始节点特征(如姓名、年龄和性别),还包括边特征(如节点间关系的强度)和全局特征(如整个图的统计数据)的信息。因此 GNN 比传统的图机器学习技术更加有效。GNN 不局限于原始特征,而是用相邻节点、边和全局特征的属性来丰富原始节点特征,使表示更加全面和有意义。然后,使用新的节点表示执行特定任务,如节点分类、回归或链接预测。
具体而言,GNN 定义了一种图卷积操作,它可以汇总来自相邻节点和边的信息,从而更新节点表示。这种操作是迭代进行的,随着迭代次数的增加,模型可以学习到节点之间更复杂的关系。下图展示了 GNN 如何利用相邻节点计算节点 1 的表示。

邻域聚合

上图提供了一个计算图的简化实例。实际上,有多种不同类型的 GNNGNN 层,每一种都有独特的结构和聚合相邻节点信息的方式。这些不同的 GNN 变体也有各自的优势和局限性,适合不同类型的图数据和任务。在选择适合特定问题的 GNN 架构时,了解图数据和任务的特征非常重要。
一般而言,GNN 和其他深度学习技术一样,GNN 模型只有应用于特定问题时才最为有效,通常这些问题具有高复杂性,例如,在数十亿个选项中向数百万客户推荐合适的产品。另一方面,有些问题,比如寻找部门中最年轻的成员,则可以在不适用任何机器学习技术的情况下解决。
此外,GNN 需要大量数据才能有效发挥作用。传统的机器学习技术更适合数据集较小的情况,因为它们对大量数据的依赖性较低。但是,这些技术的扩展性不如 GNN,由于并行和分布式训练,GNN 可以处理更大的数据集。它们可以更有效地利用额外的信息,从而得到更好的结果。

小结

在本节中,我们摘要介绍了以下三个概念:图、图学习、图神经网络。首先,我们探讨了图在表示各种数据类型时的多功能性,例如社交网络和交通网络,以及文本和图像。我们讨论了图学习的不同应用,包括节点分类和图分类,并强调了图学习技术的四个主要研究方向。最后,我们强调了图神经网络 (Graph Neural Network, GNN) 的重要性及其相对于其他技术的优越性,尤其是在大型复杂数据集方面。通过介绍这三种概念,我们旨在全面概述 GNN 的重要性以及它们成为机器学习重要工具的原因。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

软件测试/测试开发丨接口测试学习笔记分享

一、Mock 测试 1、Mock 测试的场景 前后端数据交互第三方系统数据交互硬件设备解耦 2、Mock 测试的价值与意义 不依赖第三方数据节省工作量节省联调 3、Mock 核心要素 匹配规则:mock的接口,改哪些接口,接口哪里的数据模拟响应 4、mock实…

DevC++ easyx实现视口编辑--像素绘图板与贴图系统

到了最终成果阶段了,虽然中间有一些代码讲起来没有意思,纯靠debug,1-1解决贴图网格不重合问题,这次是一个分支结束。 想着就是把瓦片贴进大地图里。 延续这几篇帖子,开发时间也从2023年的4月16到了6月2号,80小时基本…

【Linux】进程控制深度了解

> 作者简介:დ旧言~,目前大二,现在学习Java,c,c,Python等 > 座右铭:松树千年终是朽,槿花一日自为荣。 > 目标:熟练掌握Linux下的进程控制 > 毒鸡汤&#xff…

Spring Boot快速搭建一个简易商城项目【四,优化购物车篇】

在之前的基础上继续将购物车进行完善:全选,删除,加减购物车数量 效果: 全选: 计算价格: //计算总价function jisuan(){let total 0;$(".th").each((i,el)>{//each遍历 i下标 el指的是当前的…

Goole上架年度总结(2023年)

今天来总结一下2023年关于谷歌商店上架的相关政策改动和对应的拒审解决方法。 目录 政策更新与改动2023 年 2 月 22 日2023 年 4 月5 日2023 年 7 月 12 日2023 年 10 月 25 日 开发者计划政策拒审邮件内容和解决办法 政策更新与改动 2023 年 2 月 22 日 生效日期&#xff1…

普中STM32-PZ6806L开发板(HAL库函数实现-TIM5捕获上升沿, 获取输入频率)

简介 通过TIM5_CH1捕获上升沿电平, 两个上升沿的计数值计算频率;电路原理图 连接图 将 PC7 与 PA0使用跳线进行连接 其他知识 APIs /* Blocking mode: Polling */ HAL_StatusTypeDef HAL_TIM_IC_Start(TIM_HandleTypeDef *htim, uint32_t Channel); // 堵塞捕获开启 HAL_St…

什么是高防 IP?哪些行业适合用高防 IP?

在数字化浪潮席卷全球的今天,网络安全问题日益凸显。有听说过“高防 IP”这个名词吗?它究竟是什么东西,又能在哪些领域大显身手呢? 一、什么是高防 IP? 高防 IP,顾名思义,就是具备高级防护能力…

深度生成模型之图像翻译GAN ->(个人学习记录笔记)

文章目录 深度生成模型之图像翻译GAN图像翻译的应用1. 风格迁移2. 数据增强3. 经典图像任务4. 内容创作5. 人脸图像编辑6. 人体图像编辑 图像翻译模型1. 有监督图像翻译模型2. 无监督图像翻译模型3. 多域图像翻译模型 深度生成模型之图像翻译GAN 图像翻译的应用 1. 风格迁移 …

Vue:使用IDEA开发Vue的相关配置

一、IDEA无法识别.vue文件 1、IDEA 添加Vue插件 2、添加Vue配置 File | Settings | Editor | File Types 找到 HTML 文件 在下面点号 输入*.vue 二、IDEA无法创建.vue文件 1、问题 在开发过程中,发现创建文件的界面,没有vue模板 2、相关配置 Fi…

MATLAB指令

01--根据数学公式进行绘制 1.绘制连续函数 ①一元函数 t0:0.1:10; y3*t2; plot(t,y) ②一元二次函数 t0:0.1:10; yt.*t; plot(t,y) 注意此处应为点乘 ③一元3次 t0:0.1:10; yt.*t.*t; plot(t,y) ④y1/t t0:0.1:10; y1./t; plot(t,y) ⑤yexp(t) t0:0.1:10; yexp(2*t); p…

BIO和NIO编程(待完善)

目录 IO模型 BIO NIO 常见问题 IO模型 Java共支持3种网络编程IO模式:BIO,NIO,AIO BIO 同步阻塞模型,一个客户端连接对应一个处理线程 代码示例: Server端: public class BioServer {private static …

ARM NEON 指令

NEON指令 按照操作数类型可以分为正常指令、宽指令、窄指令、饱和指令、长指令。 正常指令:生成大小相同且类型通常与操作数向量相同到结果向量。长指令:对双字向量操作数执行运算,生产四字向量到结果。所生成的元素一般是操作数元素宽度到…

PS插件一键生成超治愈向日葵花海

金黄色的向日葵总能给人带来治愈的感觉,仿佛在这里能够疗愈心灵所有的伤口。今天我们通过START AI来生成一片美丽的向日葵花海~ 这是小编使用的关键词,负面词需要填写你不想要拥有的,能够让生成的结果更贴合你的想法 最后的生成效果就如下图…

清风数学建模写作

Overview 标题 摘要!!!(1000字) 开头 中间 解决的问题 应用的方法 得到的结果 结尾 应用价值、本文亮点 关键词(3-6个) 积累、二次拓展 目录 1.问题重述 拆分背景与问题,也可以结…

菜鸟之MATLAB学习——QPSK OQPSK信号生成及频谱分析

本人MATLAB学习小白,仅做笔记记录和分享~~ % qpsk && oqpsk clc; close all;Ts1; fc10;N_sample16; N_sum100; dt1/fc/N_sample; t0:dt:N_sum*Ts-dt; Tdt*length(t);d1sign(randn(1,N_sum)); d2sign(randn(1,N_sum));gtones(1,fc*N_sample); …

Java基础综合练习(飞机票,打印素数,验证码,复制数组,评委打分,数字加密,数字解密,抽奖,双色球)

练习一:飞机票 需求: ​ 机票价格按照淡季旺季、头等舱和经济舱收费、输入机票原价、月份和头等舱或经济舱。 ​ 按照如下规则计算机票价格:旺季(5-10月)头等舱9折,经济舱8.5折,淡季(11月到来…

产品电子画册用什么工具可以轻松制作

​随着互联网的普及和移动设备的增多,电子画册已经成为了企业宣传和产品展示的重要工具。然而,制作电子画册并不是一件容易的事情,需要耗费大量的时间和精力。现在,我们可以通过使用一些专业的工具来轻松制作产品电子画册&#xf…

想升职or转岗,可以考一个PMP吗?

现在就业形式比较严峻,如果不想被淘汰,就得提升自己的能力,增加自己的职场竞争力,今天就来推荐一个能在工作中起到非常大重要的证书--pmp项目管理证书。 首先,pmp是什么呢? PMP是由美国项目管理协会&…

Windows搭建Emby媒体库服务器,无公网IP远程访问本地影音文件

文章目录 1.前言2. Emby网站搭建2.1. Emby下载和安装2.2 Emby网页测试 3. 本地网页发布3.1 注册并安装cpolar内网穿透3.2 Cpolar云端设置3.3 Cpolar内网穿透本地设置 4.公网访问测试5.结语 1.前言 在现代五花八门的网络应用场景中,观看视频绝对是主力应用场景之一&…

UCOSIII移植

1、“sys.h” 头文件修改 //0,不支持ucos //1,支持ucos #define SYSTEM_SUPPORT_OS 1 //定义系统文件夹是否支持UCOS2、stm32f10x_it.c中断屏蔽 注释掉void PendSV_Handler(void) 和 void SysTick_Handler(void)中断 //void PendSV_Handler(void) //{ //} // //void Sys…