图神经网络 —— 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


目录
相关文章
|
2天前
|
机器学习/深度学习 数据采集 人工智能
基于Huffman树的层次化Softmax:面向大规模神经网络的高效概率计算方法
层次化Softmax算法通过引入Huffman树结构,将传统Softmax的计算复杂度从线性降至对数级别,显著提升了大规模词汇表的训练效率。该算法不仅优化了计算效率,还在处理大规模离散分布问题上提供了新的思路。文章详细介绍了Huffman树的构建、节点编码、概率计算及基于Gensim的实现方法,并讨论了工程实现中的优化策略与应用实践。
44 15
基于Huffman树的层次化Softmax:面向大规模神经网络的高效概率计算方法
|
4月前
|
机器学习/深度学习
神经网络各种层的输入输出尺寸计算
神经网络各种层的输入输出尺寸计算
208 1
|
2月前
|
存储 缓存 算法
|
2月前
|
存储
|
4月前
|
云安全 安全 网络安全
云端防御战线:融合云计算与网络安全的未来策略
【7月更文挑战第47天】 在数字化时代,云计算已成为企业运营不可或缺的部分,而网络安全则是维护这些服务正常运行的基石。随着技术不断进步,传统的安全措施已不足以应对新兴的威胁。本文将探讨云计算环境中的安全挑战,并提出一种融合云服务与网络安全的综合防御策略。我们将分析云服务模式、网络威胁类型以及信息安全实践,并讨论如何构建一个既灵活又强大的安全体系,确保数据和服务的完整性、可用性与机密性。
|
4月前
|
机器学习/深度学习 存储 自然语言处理
天啊!深度神经网络中 BNN 和 DNN 基于存内计算的传奇之旅,改写能量效率的历史!
【8月更文挑战第12天】深度神经网络(DNN)近年在图像识别等多领域取得重大突破。二进制神经网络(BNN)作为DNN的轻量化版本,通过使用二进制权重和激活值极大地降低了计算复杂度与存储需求。存内计算技术进一步提升了BNN和DNN的能效比,通过在存储单元直接进行计算减少数据传输带来的能耗。尽管面临精度和硬件实现等挑战,BNN结合存内计算代表了深度学习未来高效节能的发展方向。
55 1
|
6月前
|
机器学习/深度学习 人工智能 自然语言处理
Transformer 能代替图神经网络吗?
Transformer模型的革新性在于其自注意力机制,广泛应用于多种任务,包括非原始设计领域。近期研究专注于Transformer的推理能力,特别是在图神经网络(GNN)上下文中。
118 5
|
4月前
|
网络协议 算法 网络架构
OSPF 如何计算到目标网络的最佳路径
【8月更文挑战第24天】
63 0
|
5月前
|
机器学习/深度学习 搜索推荐 知识图谱
图神经网络加持,突破传统推荐系统局限!北大港大联合提出SelfGNN:有效降低信息过载与数据噪声影响
【7月更文挑战第22天】北大港大联手打造SelfGNN,一种结合图神经网络与自监督学习的推荐系统,专攻信息过载及数据噪声难题。SelfGNN通过短期图捕获实时用户兴趣,利用自增强学习提升模型鲁棒性,实现多时间尺度动态行为建模,大幅优化推荐准确度与时效性。经四大真实数据集测试,SelfGNN在准确性和抗噪能力上超越现有模型。尽管如此,高计算复杂度及对图构建质量的依赖仍是待克服挑战。[详细论文](https://arxiv.org/abs/2405.20878)。
85 5
|
5月前
|
机器学习/深度学习 PyTorch 算法框架/工具
图神经网络是一类用于处理图结构数据的神经网络。与传统的深度学习模型(如卷积神经网络CNN和循环神经网络RNN)不同,
图神经网络是一类用于处理图结构数据的神经网络。与传统的深度学习模型(如卷积神经网络CNN和循环神经网络RNN)不同,

热门文章

最新文章