【Pytorch神经网络理论篇】 25 基于谱域图神经网络GNN:基础知识+GNN功能+矩阵基础+图卷积神经网络+拉普拉斯矩阵

简介: 图神经网络(Graph Neural Network,GNN)是一类能够从图结构数据中学习特征规律的神经网络,是解决图结构数据(非欧氏空间数据)机器学习问题的最重要的技术之一。

同学你好!本文章于2021年末编写,获得广泛的好评!


故在2022年末对本系列进行填充与更新,欢迎大家订阅最新的专栏,获取基于Pytorch1.10版本的理论代码(2023版)实现,


Pytorch深度学习·理论篇(2023版)目录地址为:


CSDN独家 | 全网首发 | Pytorch深度学习·理论篇(2023版)目录


本专栏将通过系统的深度学习实例,从可解释性的角度对深度学习的原理进行讲解与分析,通过将深度学习知识与Pytorch的高效结合,帮助各位新入门的读者理解深度学习各个模板之间的关系,这些均是在Pytorch上实现的,可以有效的结合当前各位研究生的研究方向,设计人工智能的各个领域,是经过一年时间打磨的精品专栏!

https://v9999.blog.csdn.net/article/details/127587345


欢迎大家订阅(2023版)理论篇

以下为2021版原文~~~~

815902569f6a467a99304f9ac1482386.png


图神经网络(Graph Neural Network,GNN)是一类能够从图结构数据中学习特征规律的神经网络,是解决图结构数据(非欧氏空间数据)机器学习问题的最重要的技术。


1 图神经网络的基础知识


   图神经网络(Graph Neural Network,GNN)是一类能够从图结构数据中学习特征规律的神经网络,是解决图结构数据(非欧氏空间数据)机器学习问题的最重要的技术之一。


   前面章节中主要介绍了神经网络的相关知识。接下来,让我们了解一下图神经网络相关的基础知识。


1.1 欧氏空间与非欧氏空间


  • 欧氏空间/欧几里得空间:能用一维、二维或更高维的矩阵表示,其最显著的特征就是有规则的空间结构。这是一个特别的度量空间。例如,音频、图像和视频等都是定义在欧氏空间下的欧几里得结构化数据。


  • 非欧氏空间:并不是平坦的规则空间,是曲面空间,即规则矩阵空间以外的结构。非欧氏空间下最有代表的结构就是图(graph)结构,它常用来表示社交网络等关系数据。


1.2 图


在计算机科学中,图是由顶点(也称节点)和顶点之间的边组成的一种数据结构。它通常表示为G(V,E)的形式,其中G表示一个图,V是图G中顶点的集合,E是图G中边的集合。


9befe500f5194818aa0a708f3b60ba29.png


图结构研究的是数据元素之间的多对多关系,即任意两个元素之间都可能存在关系,即顶点之间的关系可以是任意的,图中任意元素之间都可能相关。


在图结构中,不允许没有顶点。任意两个顶点之间都有可能有关系,顶点之间的逻辑关系用边来表示。边可以是有向的或无向的,边集合可以是空的。


图结构中的每个顶点都有自己的特征信息,顶点间的关系可以反映出图结构的特征信息。在实际的应用中,可以根据图顶点特征或图结构特征进行分类。


1.3 图相关的术语


  • 无向图和有向图:根据图顶点之间的边是否带有方向来确定。


  • 权:图中的边或弧上附加的数量信息,这种可反映边或弧的某种特征的数据称为权。


  • 网:图上的边或弧带权则称为网,可分为有向网和无向网。


  • 度:在无向图中,与顶点v关联的边的条数称为顶点v的度。在有向图中,则以顶点v为弧尾的弧的数量称为顶点v的出度,以顶点v为弧头的弧的数量称为顶点v的入度,而顶点ν的度即其出度与入度之和。


1.4 图计算中的度量单位


1.顶点数(node);节点的数量。


2.边数(edge):边或连接的数量。


3.平均度(average degree):表示每个顶点连接边的平均数,如果图是无向图,那么平均度的计算为2×edge÷nodes


4.平均路径长度(average netwok distarce):任意两个顶点之间距离的平均值。它反映网络中各个顶点间的分离程度。值越小代表网络中顶点的连接度越大。


5.模块化指数(modulanty index):衡量网络图结构的模块化程度。一般地,该值大于0.44就说明网络图达到了一定的模块化程度。


6.聚类系数(clustering coefficient):和平均路径长度一起能够展示网络节点的平均路径小的情况,从而给出一些节点聚类或“抱团”的总体迹象。


7.网络直径(diameter):网络图直径的最大测量长度,即任意两点间的最短距离构成的集合之中的最大值。


1.5 结构化数据与非结构化数据


1.5.1 结构化数据


由二维表结构来进行逻辑表达和实现的数据,严格地遵循数据格式与长度规范,主要通过关系型数据库进行存储和管理。


1.5.2 非结构化数据


数据结构不规则或不完整、没有预定义的数据模型,不方便用数据库二维逻辑表来表现的数据。它包括所有格式的办公文档、文本、图片HTML、各类报表、图像、音频或视频信息等。


1.6 GNN在不同类型数据上的应用


图神经网络(GNN)是一种直接在图结构上运行的神经网络,可以对图结构数据进行基于节点特征或结构特征的处理,通过顶点间的信息传递、变换和聚合来(层级化)提取或处理特征。GNN成为在图、点云和流形上进行表征学习的主流方法。


在结构化场景中,GNN被广泛应用在社交网络、推荐系统、物理系统、化学分子预测,指知识图谱。


在非结构化领域,GNN可以用在图像和文本等领域。


在其他领域,还有图生成模型和使用GNN来解决组合优化问题的场景。


1.7 GNN的起源


1.7.1 GCN


GNN的第一个动机源于卷积神经网络(CNN),最基础的CNN便是图卷积网络(GraphConvolutional Network,GCN)。GNN的广泛应用带来了机器学习领域的突破并开启了深在规则的欧氏空间数据上运行,GCD是将卷积神经网络应用在各模型。


1.7.2 图嵌入


GNN的另一个动机来自图嵌入,它学习图中节点、边或子图的低维向量空间表示。DeepWalk、LINE、SDNE等方法在网络表示学习领域取得了很大的成功,然而这些方法在计算上较为复杂并且在大规模的图上并不是最优的。GNN却可以解决这些问题。


1.7.3 总结


GNN不但可以对单个顶点和整个结构进行特征处理,而且可以对图中电一小部分顶点所组成的子图)进行特征处理。如果把图数据当作一个网络,那么GNN可以分别对网络的整体、部分和个体进行特征处理。GNN将深度学习技术应用到由符号表示的图数据上,充分融合了符号表示和低维向量表示,并发挥出两者的优势。


2 矩阵基础


2.1 哈达马积


两个矩对应位置上的元素进行相乘的结果


d7b8d8968db64c3b992dd60c6469f4fa.png


2.2 点积


两矩阵的行列乘法的结果


2.3 度矩阵与邻接矩阵


图的度矩阵:描述图中每个节点所连接的边数。


图的邻接矩阵:描述图中每个节点之间的相邻关系。


4c845db685d3486b925b55d6d789abf9.png


度矩阵D:


7dd215ae41e94d3bbc4ce542cb57ff20.png


邻接矩阵A:


64978adf607f4455afccc43c14f9d6ec.png


2.4 邻接矩阵的几种操作


邻接矩阵的行数和列数一定是相等的(即为方形矩阵)。无向图的邻接矩阵一定是对称的,而有向图的邻接矩阵不一定对称。 一般地,通过矩阵运算对图中的节点信息进行处理。


2.4.1 获取有向图的短边


80d8ee6ae15c40b680b35aaadc99a2d4.png

f1942867d5514ad1b21bd31fbe01b54f.png


2.4.2 获取有向图的长边


efcc8d1cdb1247b3b07892c0563fa73e.png

31cda55d957f43a1b901ff1a86043c62.png


2.4.3 将有向图的邻接矩阵转化成无向图的邻接矩阵


1d604f87602c410ba01268e187849f2e.png

2e2c2eb9a0724d5890a6f711cea0ad0b.png


3 图卷积神经网络


在下图中可以看到,图卷积神经网络的输入是一个图,经过一层层的计算变换后输出的还是一个图。


如果从卷积的角度来理解,那么可以将处理后的邻接矩阵当作一个卷积核,用这个卷积核在每一个隐藏层的特征结果上进行全尺度卷积。由于该卷积核的内容是图中归一化后的边关系,因此用这种卷积核进行卷积处理可使隐藏层的特征按照节点间的远近关系信息进行转化,对隐藏层的特征进行了去噪处理。去噪后的特征含有同类样本间的更多信息,从而使神经网络在没有大量样本的训练条件下,也可以训练出性能很好的模型。

图神经网络的实质是:对节点间的图结构关系进行计算,并将计算结果作用在每个节点的属性特征的拟合当中。


5f983eb06cb44584b4dcd27ed1e11604.png


3.1 图结构与拉普拉斯矩阵的关系


图卷积本质上不是传播标签,而是传播特征。图卷积将未知的标签特征传播到已知标签的特征节点上,利用已知标签节点的分类器对未知标签特征的属性进行推理。


图卷积模型利用节点间的关系信息实现了特征的传播。而节点间的关系信息又是通过加工后的邻接矩阵来表现的。这个加工后的邻接矩阵称为拉普拉斯矩阵/基尔霍夫矩阵。


3.2 图卷积操作的步骤


1、将图结构的特征用拉普拉斯矩阵表示。

2、将拉普拉斯矩阵作用在节点特征的计算模型中,完成节点特征的拟合。


拉普拉斯矩阵的主要用途是表述图结构的特征(对矩阵的特征进行分解),是图卷积操作的必要步骤。


3.3 拉普拉斯矩阵的三种形式


729de6ae7ec54459a8f6b666d2550afe.png

c4ec564e35ff45dbb210ba4e1d830e7b.png


7725400372b5460ca676dc790b4dd008.png


4 图神经网络的角度看待深度学习


1.深度学习的神经网络擅长处理欧氏空间中的数据。


2.图神经网络檀长处理非欧氏空间中的数据。


3.图神经网络的实际处理过程中,还是将非欧氏空间的结构转化成矩阵来实现,用矩阵作为桥梁,就可以找到神经网络与图神经网络之间的联系。


4.1 实例解释图神经网络与深度学习的关系(以神经网络中常见的图像处理任务为例)


图像通常被理解为矩阵,矩阵中的每个元素是像素,像素是由RGB通道的3个数值组成的向量。换个角度想想,矩阵也可以理解为图谱,图谱由点和边组成,相邻的点之间用边相连。


4.1.1 矩阵是特殊的图谱


(1)矩阵中的每个点有固定个数的邻点。从图谱的角度来看,图像中的像素就是图谱中的点。图像中的每个像素,也就是图谱中的每个点,周边总共有8个邻点。


(2)矩阵中每条边的权重是常数。从图谱的角度来看,图像中的每一个像素只与周边8个邻点之间有边,其中边的长短权重是常数。


4.1.2 图谱的限制


图像作为一种特殊的图谱,其特殊性体现在这两个限制上面。如果放松了这两个限制,问题就更复杂了。这是深度学习算法向图神经网络衍化的必经之路。


4 图神经网络使用拉普拉斯矩阵的原因


图卷积的计算过程是将拉普拉斯矩阵与图节点特征进行点积运算,实现图结构特征向单个节点特征的融合。主要从图节点之间的传播关系方面阐释这个问题。


4.1 节点与邻接矩阵的点积作用


4.1.1 点积计算


9f389935cf594aefa9ca8c939fa881f0.png


4.1.2 分析邻居节点的聚合特征


be79f7feeaab4b3f8aca74f4f30cde7c.png


4.1.3 结论


将节点特征与带自环的邻接矩阵执行点积运算,本质上就是将每个节点特征与自己的邻居节点特征相加,即对图中邻居节点特征进行加法聚合。


4.2 拉普拉斯矩阵的点积作用


拉普拉斯矩阵本质上是邻接矩阵的归一化。同理,拉普拉斯矩阵的点积作用本质上也是图中邻居节点特征的加法聚合,只不过在加法聚合过程中加入归一化计算。


4.3 图卷积的拟合性质


将图结构信息融入节点特征的操作,本质上就是按照图结构中节点间的关系,将周围邻居的节点特征加起来。这样,在相邻的节点特征中,彼此都会有其他节点的特征信息,实现了标签节点的特征传播。


4.4 点积计算的扩展


使用矩阵运算方法会有较大的局限性,因为在节点特征与拉普拉斯矩阵执行点积的计算过程中,只能对图中邻居节点特征进行加法聚合。


在图节点的邻居特征聚合过程中,还可以使用更多其他的数学方法(比如取平均值、最大值),并不局限于加法。

目录
相关文章
|
7天前
|
机器学习/深度学习 人工智能 算法
猫狗宠物识别系统Python+TensorFlow+人工智能+深度学习+卷积网络算法
宠物识别系统使用Python和TensorFlow搭建卷积神经网络,基于37种常见猫狗数据集训练高精度模型,并保存为h5格式。通过Django框架搭建Web平台,用户上传宠物图片即可识别其名称,提供便捷的宠物识别服务。
118 55
|
17天前
|
机器学习/深度学习 人工智能 算法
【宠物识别系统】Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+图像识别
宠物识别系统,本系统使用Python作为主要开发语言,基于TensorFlow搭建卷积神经网络算法,并收集了37种常见的猫狗宠物种类数据集【'阿比西尼亚猫(Abyssinian)', '孟加拉猫(Bengal)', '暹罗猫(Birman)', '孟买猫(Bombay)', '英国短毛猫(British Shorthair)', '埃及猫(Egyptian Mau)', '缅因猫(Maine Coon)', '波斯猫(Persian)', '布偶猫(Ragdoll)', '俄罗斯蓝猫(Russian Blue)', '暹罗猫(Siamese)', '斯芬克斯猫(Sphynx)', '美国斗牛犬
99 29
【宠物识别系统】Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+图像识别
|
20天前
|
机器学习/深度学习 资源调度 算法
图卷积网络入门:数学基础与架构设计
本文系统地阐述了图卷积网络的架构原理。通过简化数学表述并聚焦于矩阵运算的核心概念,详细解析了GCN的工作机制。
51 3
图卷积网络入门:数学基础与架构设计
|
29天前
|
机器学习/深度学习 运维 安全
图神经网络在欺诈检测与蛋白质功能预测中的应用概述
金融交易网络与蛋白质结构的共同特点是它们无法通过简单的欧几里得空间模型来准确描述,而是需要复杂的图结构来捕捉实体间的交互模式。传统深度学习方法在处理这类数据时效果不佳,图神经网络(GNNs)因此成为解决此类问题的关键技术。GNNs通过消息传递机制,能有效提取图结构中的深层特征,适用于欺诈检测和蛋白质功能预测等复杂网络建模任务。
66 2
图神经网络在欺诈检测与蛋白质功能预测中的应用概述
|
16天前
|
机器学习/深度学习 人工智能 自然语言处理
深入理解深度学习中的卷积神经网络(CNN)##
在当今的人工智能领域,深度学习已成为推动技术革新的核心力量之一。其中,卷积神经网络(CNN)作为深度学习的一个重要分支,因其在图像和视频处理方面的卓越性能而备受关注。本文旨在深入探讨CNN的基本原理、结构及其在实际应用中的表现,为读者提供一个全面了解CNN的窗口。 ##
|
26天前
|
机器学习/深度学习 人工智能 自然语言处理
深度学习中的卷积神经网络(CNN): 从理论到实践
本文将深入浅出地介绍卷积神经网络(CNN)的工作原理,并带领读者通过一个简单的图像分类项目,实现从理论到代码的转变。我们将探索CNN如何识别和处理图像数据,并通过实例展示如何训练一个有效的CNN模型。无论你是深度学习领域的新手还是希望扩展你的技术栈,这篇文章都将为你提供宝贵的知识和技能。
81 7
|
23天前
|
机器学习/深度学习 自然语言处理 算法
深入理解深度学习中的卷积神经网络(CNN)
深入理解深度学习中的卷积神经网络(CNN)
32 1
|
28天前
|
安全 网络安全 数据安全/隐私保护
利用Docker的网络安全功能来保护容器化应用
通过综合运用这些 Docker 网络安全功能和策略,可以有效地保护容器化应用,降低安全风险,确保应用在安全的环境中运行。同时,随着安全威胁的不断变化,还需要持续关注和研究新的网络安全技术和方法,不断完善和强化网络安全保护措施,以适应日益复杂的安全挑战。
42 5
|
29天前
|
机器学习/深度学习 人工智能 自然语言处理
深度学习中的卷积神经网络(CNN)及其在图像识别中的应用
本文旨在通过深入浅出的方式,为读者揭示卷积神经网络(CNN)的神秘面纱,并展示其在图像识别领域的实际应用。我们将从CNN的基本概念出发,逐步深入到网络结构、工作原理以及训练过程,最后通过一个实际的代码示例,带领读者体验CNN的强大功能。无论你是深度学习的初学者,还是希望进一步了解CNN的专业人士,这篇文章都将为你提供有价值的信息和启发。

热门文章

最新文章

下一篇
DataWorks