图神经网络——图学习

图学习

    • 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 的重要性以及它们成为机器学习重要工具的原因。

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

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

相关文章

log4cplus visual c++ 编译及调试小记

简介 最近在调试一款SATA加密设备,发现设备有时加密出来的数据,再解密时与明文对不上,怀疑是通信问题。因此,急需要在测试工具中加入通信日志。由于对第三方日志库都不熟悉,所以随便选了个log4cplus软件集成到现有工具…

Easy Rules规则引擎实战

文章目录 简介pom 规则抽象规则Rule基础规则BasicRule事实类Facts:map条件接口动作接口 四种规则定义方式注解方式RuleBuilder 链式Mvel和Spel表达式Yml配置 常用规则类DefaultRuleSpELRule(Spring的表达式注入) 组合规则UnitRuleGroup 规则引…

009、引用

1. 引用与借用 下面的示例重新定义了一个新的 calculate_length 函数。与之前不同的是,新的函数签名使用了 String 的引用作为参数而没有直接转移值的所有权: fn main() { let s1 String::from("hello"); let len calculate_length(&s1…

Java学习,一文掌握Java之SpringBoot框架学习文集(1)

🏆作者简介,普修罗双战士,一直追求不断学习和成长,在技术的道路上持续探索和实践。 🏆多年互联网行业从业经验,历任核心研发工程师,项目技术负责人。 🎉欢迎 👍点赞✍评论…

我有实体店,为什么要做小程序

做小程序对于实体店来说有以下几个好处: 拓展线上渠道:随着移动互联网的普及,越来越多的消费者习惯在手机上进行购物和搜索相关信息。通过做小程序,你可以将线下实体店与线上渠道相结合,提供在线购买、预约、查询等功能…

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.前言 在现代五花八门的网络应用场景中,观看视频绝对是主力应用场景之一&…

pycharm中Pyside2/QtDesigner安装和配置

目录 1、安装pyqt5 2、安装pyqt5-tools 3、在pycharm中配置Qt Designer PyQt5/QtDesigner安装和配置 1、安装pyqt5 pip install pyqt5 安装了 pyqt5 之后,在 python 安装目录下面的 Scripts 文件夹中,有一个 pyuic5.exe 文件,这个可执行文…

大数据概念:数据网格和DataOps

数据网格(Data Mesh) 一种新型的数据架构模式,旨在解决传统数据架构中存在的一些问题,例如数据孤岛、数据冗余、数据安全等。数据网格将数据作为一种服务,通过在分布式环境中提供数据服务,实现数据的共享和…

c++ 静态联编+动态联编 (多态)

静态多态 动态多态 1)静态多态和动态多态的区别就是函数地址是早绑定(静态联编)还是晚绑定(动态联编)。 如果函数的调用,在编译阶段就可以确定函数的调用地址,并产生代码,就是静态多态(编译时多态),就是说地址是早绑定…

Flink实时电商数仓(十)

common模块回顾 app BaseApp: 作为其他子模块中使用Flink - StreamAPI的父类,实现了StreamAPI中的通用逻辑,在其他子模块中只需编写关于数据处理的核心逻辑。BaseSQLApp: 作为其他子模块中使用Flink- SQLAPI的父类。在里面设置了使用SQL API的环境、并行…

数据库攻防学习之Redis

Redis 0x01 redis学习 在渗透测试面试或者网络安全面试中可能会常问redis未授权等一些知识,那么什么是redis?redis就是个数据库,常见端口为6379,常见漏洞为未授权访问。 0x02 环境搭建 这里可以自己搭建一个redis环境&#xf…

文件监控软件丨文件权限管理工具

文件已经成为企业最重要的资产之一。然而,文件的安全性和完整性经常受到威胁,如恶意软件感染、人为误操作、内部泄密等。 为了确保文件的安全,文件监控软件应运而生。本文将深入探讨文件监控软件的概念、功能、应用场景和未来发展等方面。 文…

7、InternVL

简介 github demo 使用网络获取的油画图片,InternVL识别还算可以。 使用stable diffusion生成的图片,InternVL能很好的识别。 权重 huggingface地址 模型搭建 github地址 下载源码 git clone https://github.com/OpenGVLab/InternVL.git创建环…

Windows 使用 nmap软件测试 UDP 端口

下载windows版nmap ,下载后双机默认安装。 Download the Free Nmap Security Scanner for Linux/Mac/Windows 打开CMD , 输入 cd C:\Program Files (x86)\Nmap C:\Program Files (x86)\Nmap>ncat -z -v -u ntp.aliyun.com 123 Ncat: Version 7.80 ( …

【HarmonyOS开发】共享包HAR和HSP的创建和使用以及三方库的发布

OpenHarmony提供了两种共享包,HAR(Harmony Archive)静态共享包,和HSP(Harmony Shared Package)动态共享包。 HAR与HSP都是为了实现代码和资源的共享,都可以包含代码、C库、资源和配置文件&…

redis的搭建及应用(七)-redis的限流插件redis-cell

Redis限流插件-redis-cell redis-cell 是一个用rust语言编写的基于令牌桶算法的的限流模块,提供原子性的限流功能,并允许突发流量,可以很方便的应用于分布式环境中。 下载redis-cell插件 访问Releases brandur/redis-cell (github.com) 上传…

计算机网络——应用层与网络安全(六)

前言: 前几章我们已经对TCP/IP协议的下四层已经有了一个简单的认识与了解,下面让我们对它的最顶层,应用层进行一个简单的学习与认识,由于计算机网络多样的连接形式、不均匀的终端分布,以及网络的开放性和互联性等特征&…

Python流星雨完整代码

文章目录 环境需求完整代码详细分析环境需求 python3.11.4PyCharm Community Edition 2023.2.5pyinstaller6.2.0(可选,这个库用于打包,使程序没有python环境也可以运行,如果想发给好朋友的话需要这个库哦~)【注】 python环境搭建请见:https://want595.blog.csdn.net/arti…

找第三方数据公司获取电商平台商品数据订单数据店铺信息等

API文档 如何获取? 应用业务场景(不限)

京东tp3手势验证

2024祝我们越来越好。 新年第二天,来看下这最新的tp3手势验证码,很在之前就发过一篇,最近看了看更新了一个东西,但是难点还是在轨迹上面,感兴趣的朋友可以去看看。 risk_jd[jstub] 改了下这,之前我都没带…