图神经网络研究综述(GNN)

图结构可描述复杂关系,如基因结构、通信网络、交通路线、社交网络等。图计算挖掘结构信息,但无法学习节点特征。神经网络在欧氏空间数据上表现优越,但无法直接应用于非欧氏空间的图数据。图神经网络结合图计算和神经网络优势,处理非欧氏空间数据及其复杂特征,应用于网络链接预测、推荐系统和交通道路分析等场景。实际应用中,图数据规模庞大,如百亿级节点、千亿级边,存储开销超过10TB。GNN在大规模数据中面临计算效率、内存管理和分布式通信开销的挑战。图神经网络模型在大规模数据应用中面临的挑战可分为图数据结构、图神经网络模型、数据规模、硬件平台。

(4)硬件结构。图神经网络模型在图数据结构和复杂特征方面有建模需求,需要灵活的不规则数据读取和高效的密集计算。CPU和GPU各有优势,但无法同时满足这两点需求,增加了大规模图神经网络模型加速的难度。

本文内容组织如图2所示:

图2本文内容组织

2图神经网络

图神经网络(GNN)是一种用于图结构数据的神经网络模型,结合图计算和神经网络优势,捕捉图结构并抽象节点特征。图计算模型擅长捕捉拓扑结构,但无法处理高维特征。典型神经网络适用于欧氏空间数据,如卷积神经网络处理网格数据,循环神经网络处理序列信息。针对非欧氏空间复杂图数据,建模过程需要新处理机制。目前受欢迎的消息传播模式通过获取高阶邻居信息提升节点表达能力,包括邻居聚合和节点更新两步。

本节从消息传递机制出发,介绍图神经网络模型的聚合和更新操作,分类介绍图卷积神经网络、图注意力网络、循环图神经网络和自编码器图神经网络,分析其在大规模数据训练中的挑战,并总结挑战。

2.1消息传递机制

2.2常见模型

大规模数据训练中,GCN面临内存不足和邻居爆炸问题。分批训练可缓解内存限制,但增加计算和内存消耗。随着层数增加,资源消耗呈指数级增长。

图注意力网络(GraphAttentionNetwork,GAT)。GAT是一种深度学习模型,用于处理图结构数据。它通过引入注意力机制,为每个节点分配不同权重,以捕捉节点间的依赖关系。GAT在图神经网络中具有高效性和可扩展性,广泛应用于社交网络、推荐系统和生物信息学等领域。

大规模数据训练中,GAT与GCN均存在内存不足和邻居爆炸问题。GAT采用注意力权重加权聚合,计算和存储资源消耗更多。

大规模数据训练中,GGNN需载入整个邻接矩阵,占用更大内存。训练涉及大量参数,内存挑战显著。分批训练中,图数据不规则性增加冗余计算。

基于自编码器的图神经网络(StructuralDeepNetworkEmbedding,SDNE)。自动编码器由编码器和解码器组成,通过无监督学习高效学习节点表示。SDNN模型将自动编码器应用于图结构数据,和典型自动编码器模型相同,SDNN需要减小节点的重构损失。此外,还考虑节点间的相似性。

SDNE无法捕捉节点间的高阶关联,需通过损失函数捕捉节点间直接关联,但在大规模数据训练中,内存限制导致分批训练产生冗余计算。尽管采用负样本采样,图数据的不规则性仍带来挑战。

表3概括了图神经网络模型、图数据结构以及数据规模三个方面基于不同模型训练方式(整批训练和分批训练)的挑战。

表3图神经网络在大规模数据应用中存在的挑战

3图神经网络采样算法

针对图神经网络在大规模数据训练中面临的挑战,已经开展了一些有意义的算法优化工作。大部分的工作都集中在数据的优化上,其中最主要的方法是使用不同粒度的采样算法实现分批训练。这些算法主要可以按照采样粒度分为以下三类:基于节点的采样算法、基于层的采样算法以及基于子图的采样算法。

3.1基于节点的采样算法

GraphSage。GraphSage采用节点采样进行表示学习,优化模型参数。如图3(b)所示,针对目标节点,随机采样固定数目邻居节点,使用聚合函数进行特征聚合,借助反向传播学习。通过优化模型实现新数据表示,并借助随机节点采样算法将不规则图结构数据规则化,实现参数共享。

PinSage。PinSage算法结合随机游走和图卷积操作,用于大规模推荐系统。通过节点采样构建计算图,捕捉图结构特征,提高图卷积神经网络模型在大规模数据上的可拓展性。提出基于重要性的节点采样算法,如图3(c)所示,利用随机游走策略评估节点重要性,对每个节点选择最重要的k个节点作为采样节点,并在聚合过程中进行重要性加权。

LGCL。LGCL将图数据结构化以满足卷积操作的要求,通过节点特征重组将不规则图结构数据转化为欧氏空间,便于利用CNN算法进行优化。然而,基于显著特征的重组方式在一定程度上破坏了节点特征多样性,加剧了节点表示过度平滑问题。以图3(e)为例,采样均值聚合方式导致节点特征值趋于接近对应特征最大值,最终所有节点表示趋于相似,加剧图卷积神经网络的过度平滑问题。

3.2基于层的采样算法

AS-GON。AS-GON是一种自适应层级采样算法,通过逐层固定采样节点数避免GCN中邻居节点爆炸问题。基于上层采样结果对下层节点进行采样,使下层采样邻居节点被尽可能多的上层节点共享。AS-GON还通过连接跳跃捕捉二阶相似性,利用连接跳跃策略获取二阶邻居特征,传播高阶邻居特征信息,无需额外采样开销。

LADIES。LADIES是一种新的采样算法,旨在解决基于节点和基于层的采样算法中存在的挑战。如图4(d)所示,该算法根据上层节点及其邻居节点构建二分图,计算重要性分数作为采样概率,并依概率采样固定数目的邻居节点作为下层节点。通过迭代构建整个计算图,可以有效地降低计算和内存开销。

总结。PastGCN通过层级采样估计积分值,避免邻居节点爆炸,但存在连接稀疏和冗余节点问题。AS-GCN通过显式方差消减保证收敛性,并捕捉二阶关联性。LADIDS基于二分图构建相邻两层节点,进行层级重要性采样,缓解邻居节点爆炸问题,但全局节点复用有限。

3.3基于子图的采样算法

Cluster-GCN。Cluster-GCN通过子图采样算法提高了GCN分批训练的计算效率。通过聚类感知的划分算法Metis将节点划分为c块,并将邻接矩阵转化为对角矩阵A和B。将GCN的表示函数分解到不同的聚类分块中,并通过随机组合分块来缓解存在的边遗漏和估计误差的问题。在分批训练中,每一批随机选择多个聚类分块而不是将单个分块作为训练数据。

GraphSAINT。GraphSAINT是一种基于采样的图神经网络模型,通过先采样子图再构建网络模型,消除分批训练偏差,并降低分批方差。首先,估计节点和边的采样概率,然后在每个训练批次中进行子图采样,并构建完整的GON模型进行训练。通过归一化方法消除偏差,同时借助随机游走策略优化采样算法。Zeng等提出了GraphSAINT,通过偏差消除和误差降低提高精度。他们提出了一个并行训练框架,通过子图采样分批训练,提高程序并行性。采样器间和采样器内并行化理论上带来近线性加速比。特征传播方面,通过数据划分提高缓存利用率,减小通信开销。此外,他们还提出了运行时调度器,通过重排操作顺序和调整分批图优化并行性能。

SHADOW-GNN。SHADOW-GNN是一种图神经网络模型,旨在解决大规模数据带来的挑战,并缓解过度平滑问题。通过解耦节点接受区域与图神经网络深度之间的关联,实现深层网络表达能力,同时避免过度平滑。SHADOWGNN采用子图采样策略,形成不同子图,然后在子图上应用任意深度的图神经网络模型,获得节点表示。

总结。Cluster-GCN通过节点聚类提高节点利用率,如图5(c)所示;RWT借助随机游走策略逐层扩张子图,如如图5(b)所示;GraphSAINT侧重减小估计偏差与方差,提高模型性能;SHADOWGNNI63借助图采样策略增强模型可拓展性,缓解过度平滑问题,如图5(d)所示。

图5基于子图的采样算法

表4数据集统计信息

针对大规模数据训练中存在的挑战,本节总结了不同粒度的采样算法(如表6所示),如节点级、层级和子图级采样算法。这些算法在一定程度上缓解了大规模数据训练中存在的内存限制问题,增加了模型的可拓展性,并通过重要性采样、方差消减、随机组合等方式提高模型收敛性。然而,目前的采样算法主要基于静态的同构图进行优化,忽略了现实应用中图数据的异构性、动态性、幂律分布等复杂特征。

表6采样算法总结

4图神经网络框架

图神经网络计算过程涉及不规则访存和复杂特征计算,传统框架在图计算上性能较差。针对此问题,研究者提出面向图神经网络的编程框架并探索优化技术,为大规模图神经网络模型运行和优化奠定基础。

5总结与展望

编程框架。本文首先总结了DGL、PyG等主流的编程框架.然后将现有优化技术分为数据划分、任务调度、并行执行、内存管理和其他方面五类。针对每一个类别,简要介绍了其优化目标并列举了具体的优化策略。最后进行了全面的总结和分析。

THE END
1.基于神经网络的图像压缩技术腾讯云开发者社区基于神经网络的图像压缩技术 (本文由软件工程师 Nick Johnston 和 David Minnen 发布) 在互联网之中,数据压缩技术可以说无处不在 —— 您在线观看的视频,分享的图片,听到的音乐,甚至是您正在阅读的这篇博客。压缩技术使得您可以快速且高效地分享内容。如果没有数据压缩,我们在获取所需的信息时,时间与带宽的开销会https://cloud.tencent.com/developer/article/1033691
2.基于神经网络的推荐系统模型神经网络模型通常用于推荐系统基于神经网络的推荐系统模型 近年来,推荐系统在各种商业领域得到了广泛的应用。 为用户提供建议的平台。协同过滤算法是推荐系统中使用的主要算法之一。这种算法简单、高效;然而,数据的稀疏性和方法的可扩展性限制了这些算法的性能,并且很难进一步提高推荐结果的质量。因此,提出了一种将协同过滤推荐算法与深度学习技术相https://blog.csdn.net/qq_41853536/article/details/80030322
3.博士学位论文密级 博士学位论文 基于神经网络的词和文档语义向量表示方法研究 作者姓名 指导教师 学位类别 学科专业 培养单位 来斯惟 赵军 研究员 中国科学院自动化研究所 工学博士 模式识别与智能系统 中国科学院自动化研究所 2016 年 1 月 Word and Document Embeddings based on Neural Network Approaches By Siwei Lai A http://arxiv.org/pdf/1611.05962
4.基于BP神经网络的多传感器数据融合技术优化AET摘要:传统的数据融合算法要求获得比较精确的对象数学模型,对于复杂的难于建立模型的场合无法适用。为解决上述问题,提出了一种基于BP神经网络算法的多传感器数据融合方法,对对象的先验要求不高,具有较强的自适应能力。仿真结果表明,采用BP神经网络对传感器数据进行融合处理大大提高了传感器的稳定性及其精度,效果良好。 http://www.chinaaet.com/article/171658
5.数据库实现神经网络神经网络python库深度神经网络算法,是基于神经网络算法的一种拓展,其层数更深,达到多层,本文以简单神经网络为例,利用梯度下降算法进行反向更新来训练神经网络权重和偏向参数,文章最后,基于Python 库实现了一个简单神经网络算法程序,并对异或运算和0-9字符集进行预测。 一、问题引入 https://blog.51cto.com/u_16099277/7652077
6.基于深度神经网络的行为识别基于深度神经网络的行为识别 丁雪琴 开通知网号 【摘要】: 近年来,伴随着社会信息化程度的提高,作为计算机视觉代表性任务之一的视频行为识别,因其在智能监控、自动驾驶、媒体分析和机器人等领域具有广泛的应用前景,受到了越来越多研究者的关注。同时在深度学习等技术蓬勃发展的背景下,涌现出大量基于深度神经网络的视频https://cdmd.cnki.com.cn/Article/CDMD-10300-1021778892.htm
7.基于区域的卷积神经网络机器之心基于区域的卷积神经网络 基于区域的卷积神经网络 (Region-based Convolutional Neural Network) 通常运用于图像物体检测的任务中,是对多种基于区域的深度学习方法的统称。 目标检测 (object detection) 指的是在给定的图像中精确找到某种或者某些物体的位置,并且标注出该位置的物体的类别。该任务最主要的流程就是找到某https://www.jiqizhixin.com/graph/technologies/826d6977-c832-4a3b-b997-448fcf72cdb7
8.《基于深度学习神经网络的自动驾驶技术研究》9000字.docx《基于深度学习神经网络的自动驾驶技术研究》9000字.docx 11页内容提供方:02127123006 大小:99.44 KB 字数:约1.17万字 发布时间:2023-11-03发布于湖北 浏览人气:17 下载次数:仅上传者可见 收藏次数:0 需要金币:*** 金币 (10金币=人民币1元)https://m.book118.com/html/2023/1102/8135113122006002.shtm
9.KinectforWindowsSDK开发入门(十):手势识别上:基本概念如果项目只需要识别几个简单的手势,那么使用基于算法或者基于神经网络的手势识别就足够了。对于其他类型的项目,如果有兴趣的话可以投入时间来建立可复用的手势识别引擎,或者使用一些人家已经写好的识别算法,接下来本文介绍几种常用的手势,并演示如何使用算法的方法来识别他们,手势识别的另外两种方法由于其复杂性本文不做https://www.hqew.com/tech/fangan/588922.html
10.科学网—[转载]一种基于深度神经网络的临床记录ICD自动编码方法摘要:随着国际疾病分类(international classification of diseases,ICD)编码数量的增加,基于临床记录的人工编码难度和成本大大提高,自动ICD编码技术引起了广泛的关注。提出一种基于多尺度残差图卷积网络的自动ICD编码技术,该技术采用多尺度残差网络来捕获临床文本的不同长度的文本模式,并基于图卷积神经网络抽取标签之间的层次https://blog.sciencenet.cn/blog-3472670-1280973.html
11.让神经网络“脑补”图像细节!复旦大数据学院医学影像人工智能实验为了建模图像的全局相似性,我们从数学的角度出发,基于神经网络提出了深度秩一分解与重建框架。图像的秩一成分代表了图像的自相似性特征,这是建模图像的一种有效手段。因此,我们通过如下图所示的方式分解图像,从而一定程度上保持图像的全局相似性。 图4. 图像秩一分解示例:左图为秩一分解示例,右图为不同方法秩一https://sds.fudan.edu.cn/b7/ef/c17412a440303/page.htm
12.评述:基于光学神经网络(ONN)的图像传感器技术资讯资讯信息在这些应用中,一方面为了保证分析结果的准确性,所拍摄的数字图像的分辨率通常都比较高,因此做图像处理时对算力和内存的占用都比较大,耗时也比较长;另一方面,一幅图片中通常只有一部分内容是有用的(如图1所示),尤其是对神经网络算法来说自然图像都包含稀疏信息,是可压缩的。为了解决这一问题,新一代的成像系统设计不https://b2b.csoe.org.cn/news/show.php?itemid=170
13.SpikingJelly是一个基于PyTorch,使用脉冲神经网络(SpikingSpikingJelly是一个基于PyTorch,使用脉冲神经网络(Spiking Neural Network, SNN)进行深度学习的框架。 SpikingJelly的文档使用中英双语编写:https://spikingjelly.readthedocs.io。 安装 以前所未有的简单方式搭建SNN 快速好用的ANN-SNN转换 CUDA增强的神经元 设备支持 https://gitee.com/mirrors/SpikingJelly