图神经网络能做什么?

news2024/12/24 8:14:55

从概念上讲,我们可以将图神经网络的基本学习任务分为 5 个不同的方向:

(1)图神 经网络方法;
(2)图神经网络的理论理解;
(3)图神经网络的可扩展性;
(4)图神经网络 的可解释性;
(5)图神经网络的对抗鲁棒性。

图神经网络方法。图神经网络是专门设计的用于在图结构数据上进行操作的神经网络 架构。图神经网络的目标是通过聚合邻居节点的表征及其在前一次迭代中的表征来迭代更 新节点表征。目前已有多种图神经网络被提出(Kipf and Welling ,2017a;Petar et al ,2018; Hamilton et al ,2017b;Gilmer et al ,2017;Xu et al ,2019d;Veličković et al ,2019d;Veličković et al ,2019;Kipf and Welling ,2016),它们可以进一步划分为有监督的GNN 和无监督的 GNN。学习到节点表征之后,GNN 的一个基本任务就是进行节点分类, 也就是将节点分类 到一些预定义的类别中。尽管各种 GNN 已经取得巨大的成功,但我们在训练深度图神经网 络时仍面临一个严重的问题—过平滑问题(Li et al ,2018b),其中所有的节点都有类似的 表征。最近有许多研究提出了不同的补救措施来解决过平滑问题。

图神经网络的理论理解。GNN算法的快速发展引起了人们对GNN理论分析的极大兴趣。特别地,为了描述GNN与传统图算法(如基于图核的方法)相比表达能力如何,以及如何构建更强大的GNN以克服GNN的一些限制,人们做出了很多努力。具体来说,Xuetal(2019d)证明了目前的GNN方法能够达到一维Weisfeiler-Lehman测试(WeisfeilerandLeman,1968)的表达能力,这是传统图核领域广泛使用的方法(Shervashidzeetal,2011b)

最近的许多研究进一步提出了一系列的设计策略,以进一步超越一维 Weisfeiler-Lehman 测 试的表达能力,包括附加随机属性、距离属性和利用高阶结构等。

图神经网络的可扩展性。随着图神经网络日益普及,许多人尝试将各种图神经网络方法 用于现实世界中的应用, 其中图的大小可以有大约 1 亿个节点和 10 亿条边。遗憾的是, 因 为需要大量的内存,大多数 GNN 方法不能直接应用于这些大规模的图结构数据(Hu et al , 2020b)。具体来说,这是因为大多数 GNN 需要在内存中存储整个邻接矩阵和中间层的特征 矩阵,这对计算机内存消耗和计算成本都是巨大的挑战。为了解决这些问题,最近的许多 研究提出了各种抽样策略,如节点抽样(Hamilton et al ,2017b;Chen et al ,2018d)、层抽 样(Chen and Bansal ,2018;Huang ,2018)和图抽样(Chiang et al ,2019;Zeng et al ,2020a)。

图神经网络的可解释性。为了使机器学习过程可以被人类理解,可解释的人工智能正 变得越来越流行,特别是由于深度学习技术的黑盒问题。因此,人们对提高 GNN 的可解释 性同样深感兴趣。一般来说,GNN 的解释结果可以是重要的节点、边,也可以是节点或边 的重要特征。从技术上讲,基于白盒近似的方法(Baldassarre and Azizpour , 2019 ; Sanchez-Lengeling et al ,2020)利用模型内部的信息(如梯度、中间特征和模型参数)来提 供解释。与之相对,基于黑盒近似的方法(Huang et al ,2020c;Zhang et al ,2020a;Vu and Thai ,2020)则放弃了对复杂模型内部信息的使用,而是利用内在可解释的简单模型(如线 性回归和决策树)来适应复杂模型。然而,大多数现有的工作很耗时,这就造成处理大规 模的图成为瓶颈。为此,人们最近做出了很多努力,以便在不影响解释准确性的情况下开 发更有效的方法。

图神经网络的对抗鲁棒性。值得信赖的机器学习最近吸引了大量的关注。这是因为现 有的研究表明,深度学习模型可以被故意愚弄、逃避、误导和窃取(Goodfellow et al ,2015)。 因此,在计算机视觉和自然语言处理等领域, 已有一系列工作广泛地研究了模型的鲁棒性, 这也启发了对 GNN 鲁棒性的类似研究。从技术上讲,研究 GNN 鲁棒性的标准方法(通过 对抗性例子)是构造输入图数据的一个微小变化,然后观察是否导致预测结果产生较大变 化(如节点分类准确性)。目前,越来越多的人开始研究对抗性攻击(Dai et al ,2018a;Wang and Gong ,2019;Wu et al ,2019b;Zügner et al ,2018;Zügner et al ,2020)和对抗性训练 (Xu et al ,2019c;Feng et al ,2019b;Chen et al ,2020i;Jin and Zhang ,2019)。最近的许多 努力致力于在对抗性训练以及可认证的鲁棒性(certified robustness)方面提供理论保证和新算法开发。

图神经网络应用

由于图神经网络能够对各种具有复杂结构的数据进行建模,因此图神经网络已经被广泛用于多种应用和领域,如现代推荐系统、计算机视觉(Computer Vision ,CV)、自然语言 处理(Natural Language Processing ,NLP)、程序分析、软件挖掘、生物信息学、异常检测 和智慧城市等。尽管在不同的应用中GNN 被用来解决不同的任务,但它们都包括两个重要 步骤— 图构建和图表征学习。图构建旨在将输入数据转换或表示为结构化数据。在图的 基础上, 图表征学习则针对下游任务,利用GNN 来学习节点嵌入或图嵌入。接下来针对不同的应用,我们将简要介绍这两个步骤涉及的技术。

1 图构建

图构建对于捕捉输入数据中对象之间的依赖关系非常重要。鉴于输入数据的不同格式, 不同的应用有不同的图构建技术,其中,有些任务需要预先定义节点和边的语义,以充分表达输入数据的结构信息。

具有显式图结构的输入数据。一些应用自然而然地在数据内部存在图结构,而不需要 预先定义节点及其之间的边或关系。例如:在推荐系统中,用户与物品的相互作用自然地 形成了一个图,其中用户与物品的偏好被视为用户和物品的节点之间的边;在药物开发的 任务中,分子也被自然地表示为一个图,其中的每个节点表示一个原子,每条边表示连接 两个原子的键;在蛋白质功能和相互作用的任务中,图也可以很容易地适用于蛋白质,其 中的每个节点代表一个氨基酸,每条边代表氨基酸之间的相互作用。

有些图是用节点和边的属性构建的。例如,在处理智慧城市交通时,交通网络可以形 式化为一个无向图来预测交通状态。具体来说, 节点是交通传感位置, 如传感器站、路段, 边是连接这些交通传感位置的交叉口。一些城市交通网络可以建模为具有预测交通速度属 性的有向图,其中的节点是路段,边是交叉口。路段的宽度、长度和方向被表示为节点的 属性,交叉口的类型、是否有交通灯或收费站被表示为边的属性。

具有隐式图结构的输入数据。对于许多天然不存在结构化数据的任务,图构建变得 非常具有挑战性。选择最佳的表征方法是很重要的, 由此节点和边才能捕捉到所有重要的 信息。例如,计算机视觉任务有三种图构建方式。第一种是将图像或视频帧分割成规则的网格,每个网格可作为视觉图的一个顶点。第二种是先得到预处理的结构,再直接借用顶 点表征,如场景图的生成。第三种是利用语义信息来表示视觉顶点, 比如将具有相似特征 的像素分配给同一个顶点。视觉图像中的边缘可以捕捉到两种信息。第一种是空间信息。 例如,对于静态方法,在生成场景图(Xu et al ,2017a)和人类骨架(Jain et al ,2016a) 时,自然会选择视觉图中节点之间的边来表示它们的位置连接。第二种是时间信息。例如, 为了表示视频,模型不仅要在帧的内部建立空间关系,也要捕捉相邻帧之间的时间联系。

在自然语言处理任务中,根据文本数据构建的图可以分为 5 类—文本图、句法图、 语义图、知识图谱和混合图。下面介绍其中的 4 类。文本图通常将单词、句子、段落或文 件视为节点,并通过单词共现、位置或文本相似性来构建边。句法图(或树)强调一条句 子中单词之间的语法依赖关系,如依赖图和成分图。知识图谱是数据图,旨在积累和传达 现实世界的知识。混合图包含多种类型的节点和边,以整合异质信息。在程序分析的任务 中,对程序的图表征的表述包括语法树、控制流、数据流、程序依赖性和调用图,其中的 每个图都提供了程序的不同视图。在更高的层面上,程序可以认为是一组异质的实体,它 们通过各种关系相互关联。这种观点直接将程序映射为一个异质有向图,其中的每个实体 被表示为一个节点,每种类型的关系则被表示为一条边。

2 图表征学习

在得到输入数据的图表示后,下一步是应用GNN 来学习图表征。有些研究直接利用了 典型的 GNN,如 GCN(Kipf and Welling ,2017a)、GAT(Petar et al ,2018)、GGNN(Li et al ,2016a)和 GraphSage(Hamilton et al ,2017b),而且能够推广到不同的应用任务。不过, 一些特殊的任务需要在 GNN 架构上进行额外的设计, 以更好地处理具体问题。例如,针对 推荐系统中的任务,人们提出了PinSage (Ying et al ,2018a),旨在将一个节点的前 k 个计 数节点作为其感受野并进行加权聚合。PinSage 可以扩展到具有数百万用户和物品的网络规 模的推荐系统中。KGCN(Wang et al ,2019d) 旨在通过在知识图谱中聚合对应的实体邻域 来提高物品的表征。KGAT(Wang et al ,2019j)与 KGCN 的思路基本相似, 前者只是在知 识图谱的重建中加入了一个辅助损失。例如,在 KB-对齐的 NLP 任务中,Xu et al(2019f) 将其表述为一个图匹配问题,并提出了一种基于图注意力的方法:首先匹配两个知识图谱 中的所有实体,然后根据局部匹配信息进行联合建模,进而得到图级匹配向量。我们在后 续内容中将详细介绍各种应用的GNN 技术。

本文摘自《图神经网络:基础、前沿与应用》

图神经网络:基础、前沿与应用

前沿:图神经网络是机器学习、数据科学、数据挖掘领域新兴的发展方向,被称作图上的深度学习,有望推动第三代人工智能的顺利发展。

丰富:综述图神经网络的基础理论、模拟算法、研究前沿以及广泛和新兴的应用场景

深入:摒弃简单介绍概念与框架的思维,深入分析图神经网络的现状以及未来的调整与机遇,帮助专业人士和初学者知其然知其所以然。

本书致力于介绍图神经网络的基本概念和算法、研究前沿以及广泛和新兴的应用,涵盖图神经网络的广泛主题,从基础到前沿,从方法到应用,涉及从方法论到应用场景方方面面的内容。全书分为四部分:第一部分介绍图神经网络的基本概念;第二部分讨论图神经网络成熟的方法;第三部分介绍图神经网络典型的前沿领域;第四部分描述可能对图神经网络未来研究比较重要和有前途的方法与应用的进展情况。

本书适合高年级本科生和研究生、博士后研究人员、讲师以及行业从业者阅读与参考。

 

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

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

相关文章

Git的进阶使用(二)

本篇文章旨在分享本人在学习Git时的随笔记🤩 文章目录 概述1、Git 分支1.1 主干分支1.2 其他分支1.2.1 创建分支1.2.2 查看分支1.2.3 切换分支1.2.4 删除分支 2、Git 合并2.1 主干分支2.2 其他分支2.3 合并分支 3、Git 冲突3.1 主干分支3.2 其他分支3.3 切换分支 -B…

Replika:AI智能聊天机器人

【产品介绍】 Replika,这个名字可能有点拗口,但如果你知道这是复制品Replica的同音变体,你即刻能明白这个产品的定位了。官方Luka公司定义它是你的AI朋友,默默学习你,最终成为你的复制品。它不像现在市面上各大厂的AI助…

《ChatGPT开发应用指南》,Datawhale开源了!

Datawhale发布 开源教程:HuggingLLM,Datawhale团队 随着ChatGPT的爆火,我们相信未来会有越来越多的大模型及类似OpenAI提供的服务出现,AI 正在逐渐平民化,将来每个人都可以利用大模型轻松地做出自己的AI产品。 Huggin…

【历史上的今天】3 月 23 日:网景创始人出生;FORMAC 语言的开发者诞生;PRMan 非商业版发布

整理 | 王启隆 透过「历史上的今天」,从过去看未来,从现在亦可以改变未来。 今天是 2023 年 3 月 23 日,在 141 年前的今天,1882 年 3 月 23 日,抽象代数之母艾米诺特(Emmy Noether)诞生。她的…

JUC-多线程(12. AQS-周阳)学习笔记

文章目录 1. 可重入锁1.1. 概述1.2. 可重入锁类型1.3. Synchronized 可重入实现机理 2. LockSupport2.1. LockSupport 是什么2.2. 3种线程等待唤醒的方法2.2.1 Object 的等待与唤醒2.2.2. Condition接口中的等待与唤醒2.2.3. 传统的 synchronized 和 Lock 实现等待唤醒通知的约…

本地搭建属于自己的ChatGPT:基于PyTorch+ChatGLM-6b+Streamlit+QDrant+DuckDuckGo

本地部署chatglm及缓解时效性问题的思路: 模型使用chatglm-6b 4bit,推理使用hugging face,前端应用使用streamlit或者gradio。 微调对显存要求较高,还没试验。可以结合LoRA进行微调。 缓解时效性问题:通过本地数据库…

YOLOv7如何提高目标检测的速度和精度,基于模型结构提高目标检测速度

目录 一、目标检测二、目标检测的速度和精度的权衡1、速度和精度的概念和定义2、如何评估目标检测算法的速度和精度3、速度和精度之间的权衡 三、基于模型结构提高目标检测速度1、Backbone网络的选择2、特征金字塔网络的设计3、通道注意力机制4、混合精度训练 一、目标检测 目…

光纤网卡传输速率和它的应用领域有哪些呢?通常会用到哪些型号网络变压器呢?

Hqst盈盛(华强盛)电子导读:常有客户问起光纤网卡该如何选用到合适的产品,选用时要注意到哪些事项,这节将结合配合到的网络变压器和大家一起探讨,希望对大家有些帮助。 1.光纤网卡传输速率与网络…

【教程】一文读懂 ChatGPT API 接入指南

ChatGPT 是一个基于自然语言处理技术的 API,它能够根据用户的输入,生成智能回复。结合当前最先进的AI技术,AP智能续写&承接上下文;可以回答各种问题,例如:历史,科学,文化&#x…

【越早知道越好】的道理——能够提高效率的【快捷键】

文章目录 1️⃣虚拟桌面⚜️第一步:打开任务视图⚜️第二步:创建桌面⚜️第三步:桌面切换⚜️第四步:桌面删除 2️⃣窗口切换3️⃣桌面分屏⚜️如何分屏 前言🧑‍🎤:作为程序员👨‍&…

15天学习MySQL计划-多表联查(基础篇)第四天

15天学习MySQL计划(多表联查)第四天 1.多表查询 1.1概述 ​ 指从多张表中查询数据 ​ 在项目开发中,在进行数据库表结构设计时,会根据业务需求及业务模块之间的关系,分析并设计表结构,由于业务之间相互…

大数据实战 --- 美团外卖平台数据分析

目录 开发环境 数据描述 功能需求 数据准备 数据分析 RDD操作 Spark SQL操作 创建Hbase数据表 创建外部表 统计查询 开发环境 HadoopHiveSparkHBase 启动Hadoop:start-all.sh 启动zookeeper:zkServer.sh start 启动Hive: nohup …

人工智能会影响测试工程师吗

并不是危言耸听 当下最火的是什么,那非ChatGPT莫属了,以ChatGPT为代表的各类AIGC工具,在不断颠覆我们的认知,不仅能完成律师,医学考试;还能画出一张精美的设计图,拿下艺术大赛一等奖。 以之对…

C#基础学习--反射和特性

元数据和反射 要使用反射,必须使用System.Reflection 命名空间 Type类 Type是一个抽象类,用来包含类型的特性,使用这个类的对象可以让我们获取程序使用的类型的信息 我们可以从Type对象中获取需要了解的有关类型的几乎所有信息 获取Type对象…

Node.js下载安装及环境配置教程

一、进入官网地址下载安装包 https://nodejs.org/zh-cn/download/ 选择对应你系统的Node.js版本,这里我选择的是Windows系统、64位 Tips:如果想下载指定版本,点击【以往的版本】,即可选择自己想要的版本下载 二、安装程序 &…

在 VSCode 中让 TypeScript 错误更漂亮且易于阅读

简介 TypeScript 是一种流行的编程语言,为 JavaScript 提供了静态类型和改进的错误检测。然而,随着类型的复杂性增加,错误的复杂性也增加了。这就是 Pretty TypeScript Errors VSCode 插件的用途,它可以在 Visual Studio Code 中…

8.线性搜索算法和二进制搜索算法

算法:线性搜索算法 线性搜索是一种非常简单的搜索算法。在这种类型的搜索中,逐个对所有项目进行顺序搜索。检查每个项目,如果找到匹配项,则返回该特定项目,否则搜索将继续,直到数据收集结束。 算法 Linea…

【数据结构】- 链表之单链表(下)

文章目录 前言一、单链表(下)1.1 查找修改1.2 在任意位置插入1.2.1 在pos位置插入(也就是pos位置之前)1.2.2 在pos位置之后插入 1.3 在任意位置删除1.3.1 删除pos位置得值1.3.2 删除pos位置后面的值 二、完整代码总结 前言 未来藏在迷雾中 叫人看来胆怯 带你踏足其中 就会云开…

【C++类和对象】类和对象(中):拷贝构造函数 {拷贝构造函数的概念及特征,拷贝构造函数不能使用传值传参,编译器自动生成的拷贝构造函数}

四、拷贝构造函数 4.1 概念 在创建对象时,可否创建一个与已存在对象一某一样的新对象呢? 拷贝构造函数:只有单个形参,该形参是对本类类型对象的引用(一般常用const修饰),在用已存在的类类型对象创建新对象时由编译器…

MySQL高级(二)

一、SQL优化 (一)插入数据 批量插入 多次插入每一次insert都要与数据库建立连接。 INSERT INTO 表名 VALUES (),(),(); 一次插入数据不宜过多,不要超过1000条。 手动提交事务 START TRANSACTION; INSERT INTO 表名 VALUES (),(),(); I…