图神经网络 —— GNN通用计算管道

简介: 图神经网络 —— GNN通用计算管道

前言

大家好,我是阿光。

本专栏整理了《图神经网络》,内包含了不同图神经网络的原理以及相关代码实现,详细讲解图神经网络,理论与实践相结合,如GCN、GraphSAGE、GAT等经典图网络,每一个代码实例都附带有完整的代码+数据集。

正在更新中~ ✨

🚨 我的项目环境:

  • 平台:Windows10
  • 语言环境:python3.7
  • 编译器:PyCharm
  • PyTorch版本:1.11.0
  • PyG版本:2.1.0

💥 项目专栏:【入门图神经网络】


一、GNN模型的通用计算管道

对于GNN模型来说可以将其看成一个通用的图模型管道,对于管道那么就会有通用的流水线设计,对于这个流水线中的常见步骤有4步,找出任务中的图结构信息指定图类型设计指定任务的损失函数使用计算模块构建模型

二、找出任务中的图结构信息

使用GNN的前提就是我们首先需要判断我们的任务能够使用GNN来进行建模,其次就是如果符合那么我们的图数据是什么。

通常有两种情景:结构性情景非结构性情景

在结构场景中,图结构在应用中是显式的,例如蛋白质分子结构、智慧交通、知识图谱、推荐系统等应用。

在非结构场景中图是隐式的,因此我们必须首先从任务中构建图,例如像现在的文本处理我们也可以使用GNN来进行建模,但是GNN是基于图数据的,但是我们的文本数据并不是属于图结构,所以我们必须要进行构造,常用构建方式就可以设计一个窗口,将窗口内的词进行连接,将每个词看成图中的节点。

三、指定图类型

  • 有向和无向图:有向图中的边都是从一个节点指向另一个节点的,这提供了比无向图更多的信息。无向图中的每条边也可以看作是两条有向边。
  • 同构图和异构图:同构图中的节点和边具有相同的类型,而异构图中的结点和边具有不同的类型。节点和边的类型在异构图中起着重要作用,应该进一步考虑。
  • 静态图和动态图:当输入特征或图的拓扑随时间变化时,该图被视为动态图。在动态图中应仔细考虑时间信息。

对于这些类型我们可以随意组合,例如,可以处理动态有向异构图。还有其他几种图形类型是为不同的任务设计的,如超图和签名图。我们不会在这里列举所有类型,但最重要的想法是考虑这些图提供的附加信息。一旦我们指定了图形类型,在设计过程中应该进一步考虑这些图形类型提供的附加信息。

四、设计指定任务的损失函数

对于不同的任务我们需要设计不同的损失函数,常见的图应用有节点级任务边级任务图级任务

  • 节点级任务侧重于节点,包括节点分类、节点回归、节点聚类等。节点分类试图将节点分类为几个类,节点回归预测每个节点的连续值。节点聚类旨在将节点划分为几个不相交的组,其中相似的节点应该在同一组中。
  • 边级任务是边缘分类和链接预测,这要求模型对边缘类型进行分类,或预测两个给定节点之间是否存在边缘。
  • 图级任务包括图分类、图回归和图匹配,所有这些都需要模型来学习图表示。

五、使用计算模块构建模型

我们需要针对不同的任务设计不同的模块来获得相应的信息。

  • 传播模块:传播模块用于在节点之间传播信息,以便聚合的信息可以捕获特征和拓扑信息。在传播模块中,卷积算子和递归算子通常用于聚集来自邻居的信息,而跳过连接操作用于从节点的历史表示中收集信息并缓解过度平滑问题。
  • 采样模块:当图很大时,通常需要采样模块来对图进行传播。采样模块通常与传播模块相结合。
  • 池化模块:当我们需要高级子图或图的表示时,需要池模块来从节点中提取信息。

利用这些计算模块,通常通过组合它们来构建典型的GNN模型。其中卷积算子、递归算子、采样模块和跳过连接用于在每一层传播信息,然后添加池模块以提取高层信息。这些层通常被堆叠以获得更好的表示。请注意,这种架构可以概括大多数GNN模型。

参考文章

  • Graph neural networks: A review of methods and applications


目录
相关文章
|
5月前
|
算法 JavaScript 数据安全/隐私保护
基于GA遗传优化的最优阈值计算认知异构网络(CHN)能量检测算法matlab仿真
本内容介绍了一种基于GA遗传优化的阈值计算方法在认知异构网络(CHN)中的应用。通过Matlab2022a实现算法,完整代码含中文注释与操作视频。能量检测算法用于感知主用户信号,其性能依赖检测阈值。传统固定阈值方法易受噪声影响,而GA算法通过模拟生物进化,在复杂环境中自动优化阈值,提高频谱感知准确性,增强CHN的通信效率与资源利用率。预览效果无水印,核心程序部分展示,适合研究频谱感知与优化算法的学者参考。
|
5月前
|
存储 消息中间件 弹性计算
阿里云服务器ECS计算型c7和通用算力型u1在适用场景、计算性能、网络与存储性能等方面的对比
阿里云ECS服务器u1和c7实例在适用场景、性能、处理器特性等方面存在显著差异。u1为通用算力型,性价比高,适合中小企业及对性能要求不高的场景;c7为企业级计算型,采用最新Intel处理器,性能稳定且强大,适用于高性能计算需求。u1支持多种CPU内存配比,但性能一致性可能受底层平台影响;c7固定调度模式,确保高性能与稳定性。选择时可根据预算与性能需求决定。
301 23
|
5月前
计算网络号的直接方法
子网掩码用于区分IP地址中的网络部分和主机部分,连续的“1”表示网络位,“0”表示主机位。例如,255.255.255.0 的二进制为 11111111.11111111.11111111.00000000,前24位是网络部分。通过子网掩码可提取网络号,如 IP 192.168.1.10 与子网掩码 255.255.255.0 的网络号为 192.168.1.0。此外,文档还介绍了十进制与二进制间的转换方法,帮助理解IP地址的组成与计算。
314 11
|
机器学习/深度学习
神经网络各种层的输入输出尺寸计算
神经网络各种层的输入输出尺寸计算
734 1
|
10月前
|
机器学习/深度学习 数据采集 人工智能
基于Huffman树的层次化Softmax:面向大规模神经网络的高效概率计算方法
层次化Softmax算法通过引入Huffman树结构,将传统Softmax的计算复杂度从线性降至对数级别,显著提升了大规模词汇表的训练效率。该算法不仅优化了计算效率,还在处理大规模离散分布问题上提供了新的思路。文章详细介绍了Huffman树的构建、节点编码、概率计算及基于Gensim的实现方法,并讨论了工程实现中的优化策略与应用实践。
256 15
基于Huffman树的层次化Softmax:面向大规模神经网络的高效概率计算方法
|
机器学习/深度学习 人工智能 自然语言处理
Transformer 能代替图神经网络吗?
Transformer模型的革新性在于其自注意力机制,广泛应用于多种任务,包括非原始设计领域。近期研究专注于Transformer的推理能力,特别是在图神经网络(GNN)上下文中。
430 5
|
机器学习/深度学习 编解码 数据可视化
图神经网络版本的Kolmogorov Arnold(KAN)代码实现和效果对比
目前我们看到有很多使用KAN替代MLP的实验,但是目前来说对于图神经网络来说还没有类似的实验,今天我们就来使用KAN创建一个图神经网络Graph Kolmogorov Arnold(GKAN),来测试下KAN是否可以在图神经网络方面有所作为。
413 1
|
云安全 安全 网络安全
云端防御战线:融合云计算与网络安全的未来策略
【7月更文挑战第47天】 在数字化时代,云计算已成为企业运营不可或缺的部分,而网络安全则是维护这些服务正常运行的基石。随着技术不断进步,传统的安全措施已不足以应对新兴的威胁。本文将探讨云计算环境中的安全挑战,并提出一种融合云服务与网络安全的综合防御策略。我们将分析云服务模式、网络威胁类型以及信息安全实践,并讨论如何构建一个既灵活又强大的安全体系,确保数据和服务的完整性、可用性与机密性。

热门文章

最新文章