微信扫码
和创始人交个朋友
我要投稿
模型背景
GNN,即图神经网络(Graph Neural Network),是一种基于图结构的深度学习模型,专门用于处理图数据。
GNN简介:
论文《Graph neural networks: A review of methods and applications》
图神经网络:方法与应用的综述
GNN是一类用于处理图数据的深度学习模型,能够捕捉节点间的依赖关系。它们在多个领域表现出色,如社交网络分析、物理系统建模、蛋白质接口预测和疾病分类。
GNN的设计流程:
图神经网络(GNN)设计流程分为4步,包括找到图结构、指定图类型和规模、设计损失函数以及使用计算模块构建模型。
具体设计流程如下:
找出图结构:这是GNN的第一步,需要确定问题背后的数据结构。图结构通常通过节点和边来描述,其中节点代表数据样本,边代表节点之间的关系或连接。
指定图类型与规模:在确定了图结构后,需要指定图的类型和规模。不同类型的问题可能需要不同类型的图,如有向图、无向图、加权图等。同时,还需要指定图的规模,即节点和边的数量。
设计损失函数:损失函数是GNN模型训练的关键部分,用于衡量模型的输出与真实值之间的差异。设计损失函数的目标是最小化预测误差,使得模型能够更好地拟合训练数据。
使用计算模块构建模型:最后一步是使用计算模块构建GNN模型。这一步涉及定义GNN模型的各个部分,如输入层、隐藏层、输出层等,并设置相应的参数和激活函数。在构建模型时,可以选择使用现有的GNN模型架构,如GCN(图卷积网络)、GAT(图注意力网络)等,也可以根据自己的需求自定义模型架构。
GNN的核心模块:
在图神经网络(GNN)中,计算模块是模型的核心,它定义了节点之间信息的传递和聚合方式。
在图神经网络(GNN)中,关键的计算模块包括:
传播模块(Propagation Module):负责节点间信息的传递和状态的更新。核心操作包括聚合和更新。技术细节包括卷积操作、循环操作和跳跃连接等。
采样模块(Sampling Module):用于在大规模图中选择部分邻居节点进行聚合,以减少计算量。策略包括随机采样、重要性采样等。
池化模块(Pooling Module):在图级别的任务中,用于聚合整个图的节点表示以生成图的表示。包括全局池化和分层池化等技术。
注意力机制是全部所需
注意力机制通过查询(Q)匹配键(K)计算注意力分数(向量点乘并调整),将分数转换为权重后加权值(V)矩阵,得到最终注意力向量。
注意力分数
注意力分数
在Transformer架构中,有3种不同的注意力层:
编码器中的自注意力层(Self Attention layer)
解码器中的交叉注意力层(Cross Attention layer)
解码器中的因果自注意力层(Causal Attention layer)
详细了解Transformer中的三种注意力机制:神经网络算法 - 一文搞懂Transformer中的三种注意力机制
Transformer的核心组件
输入嵌入:将输入的文本转换为向量,便于模型处理。
位置编码:给输入向量添加位置信息,因为Transformer并行处理数据而不依赖顺序。
多头注意力:让模型同时关注输入序列的不同部分,捕获复杂的依赖关系。
残差连接与层归一化:通过添加跨层连接和标准化输出,帮助模型更好地训练,防止梯度问题。
带掩码的多头注意力:在生成文本时,确保模型只依赖已知的信息,而不是未来的内容。
前馈网络:对输入进行非线性变换,提取更高级别的特征。
Transformer的核心组件
Transformer的架构:
Transformer遵循编码器-解码器总体架构,使用堆叠的自注意力机制和逐位置的全连接层,分别用于编码器和解码器,如图中的左半部分和右半部分所示。
Transformer架构
Encoder编码器:Transformer的编码器由6个相同的层组成,每个层包括两个子层:一个多头自注意力层和一个逐位置的前馈神经网络。在每个子层之后,都会使用残差连接和层归一化操作,这些操作统称为Add&Norm。这样的结构帮助编码器捕获输入序列中所有位置的依赖关系。
Encoder(编码器)架构
Decoder解码器:Transformer的解码器由6个相同的层组成,每层包含三个子层:掩蔽自注意力层、Encoder-Decoder注意力层和逐位置的前馈神经网络。每个子层后都有残差连接和层归一化操作,简称Add&Norm。这样的结构确保解码器在生成序列时,能够考虑到之前的输出,并避免未来信息的影响。
Decoder(解码器)架构
编码器与解码器的本质区别
详细了解Transformer:神经网络算法 - 一文搞懂Transformer
模型介绍
图神经网络(GNN)和Transformer的结合是近年来的研究热点。这类结合不仅能够让两者发挥各自的优势,还能推动模型的创新,提高处理图数据的效率和性能。
GNN + Transformer
具体点讲,通过利用Transformer,我们可以扩展GNN的感受野,包括那些距离中心节点较远的相关节点。相对的,GNN也可以帮助Transformer捕捉复杂的图拓扑信息,并从相邻区域高效地聚合相关节点。
Transformer的局限:
尽管 Transformer 在自然语言处理和计算机视觉方面取得了巨大成功,但由于两个重要原因,它很难推广到中大规模图数据。
原因一:复杂性高。
原因二:未能捕获复杂且纠缠的结构信息。
在图表示学习中,图神经网络(GNN)可以融合图结构和节点属性,但感受野有限。
TransGNN:
是否可以将 Transformer 和 GNN 结合起来,互相帮助?
Transformer和GNN能互相帮助吗?
具体来说,为了扩大感受野并解开边的信息聚合,论文建议使用 Transformer 聚合更多相关节点的信息,以改善 GNN 的消息传递。此外,为了捕获图结构信息,使用位置编码并利用GNN层将结构融合为节点属性,从而改进了图数据中的Transformer。
TransGNN的架构图:
TransGNN 的框架如图所示:
TransGNN的架构图
TransGNN的核心模块:
TransGNN框架是一个结合了注意力机制、位置编码和图神经网络(GNN)的深度学习模型。该框架主要包括三个核心模块:
注意力采样模块:通过综合考虑节点的语义相似度和图结构信息,为每个中心节点选择与其最相关的邻居节点进行采样。这样可以在降低计算复杂度的同时,保留关键信息。
位置编码模块:计算节点的位置编码,以辅助Transformer层捕获图中的拓扑信息。位置编码对于Transformer模型来说至关重要,因为它本身不具有处理序列位置信息的能力,而图数据中的节点位置信息对于理解图结构同样关键。
TransGNN模块:结合Transformer的多头自注意力和GNN的图结构信息,通过扩展感受野和优化节点表示,以捕捉长距离依赖并提升图数据表征能力。
TransGNN的核心模块
TransGNN Module:
Transformer擅长聚合远距离的相关信息,而GNN则擅长捕捉图的结构信息。结合这两个机制,可以构建出一个更强大、更全面的图神经网络模型。
以下是TransGNN模块的三个核心子模块的概述:
Transformer层:利用多头自注意力机制,Transformer层能够捕获图中节点之间的远距离依赖关系。通过计算注意力分数,Transformer层可以识别出与中心节点最相关的节点,并聚合这些节点的信息。这有助于模型理解图的全局结构,并提升对图中远距离关系的感知能力。
GNN层:GNN层通过消息传递机制,将邻居节点的信息传递给中心节点。这一步骤允许模型捕获节点的局部结构信息,包括节点的直接邻居和更广泛的邻域。GNN层利用图的结构信息,将节点的表示与其在图中的位置关联起来,从而提供更丰富的上下文信息。
Samples更新子模块:在通过Transformer层和GNN层处理节点信息后,Samples更新子模块负责根据这些信息的聚合结果来更新节点的表示。该子模块可以采用各种策略来融合来自不同层的信息,并生成新的节点表示。这些新的表示将作为下一轮迭代的输入,用于更新模型的参数和进一步优化节点的表示。
TransGNN Module的核心子模块
—3—
模型应用
消息传递机制的限制:GNN的消息传递机制依赖于边来融合信息,这可能导致强偏差和噪声,特别是在存在位置偏差和“兴趣无关连接”的情况下。
感受野与过度平滑问题:GNN的感受野受限,导致难以捕获长距离依赖关系,同时深度GNN模型容易遇到过度平滑问题,使得节点表示难以区分。
通过将GNN和Transformer结合,可以充分利用两者的优势,同时弥补各自的不足,从而构建更强大、更全面的推荐系统模型。这种结合可以扩展GNN的感受野,同时利用Transformer的全局聚合能力来捕获长期依赖关系。
TransGNN:利用Transformer和图神经网络的协同能力构建推荐系统
TransGNN论文架构:
TransGNN被应用于多个推荐系统数据集,并与其他先进的推荐算法进行了比较。以下是一些具体的案例和数据结果:
数据集:
研究团队在五个公共数据集上进行了实验,这些数据集涵盖了不同的推荐场景,如电影推荐、商品推荐等。这些数据集包含了丰富的用户-项目交互信息,以及项目的内容信息和图结构信息。
实验设置:
为了验证TransGNN的有效性,研究团队将TransGNN与多个基线模型进行了比较,包括基于GNN的模型(如GCN、GraphSAGE)和基于Transformer的模型(如Transformer-Rec)。此外,还考虑了其他先进的推荐算法,如矩阵分解(MF)和深度神经网络(DNN)。
实验结果:
准确性提升:在多个数据集上,TransGNN在推荐准确性方面均取得了显著的提升。相比于基线模型,TransGNN能够更准确地预测用户的兴趣偏好,从而提供更符合用户需求的推荐结果。
长期依赖捕获:通过利用Transformer的自注意力机制,TransGNN能够捕获用户-项目交互序列中的长期依赖关系。这使得TransGNN在推荐长序列项目时更具优势,能够提供更连贯、更相关的推荐结果。
图结构信息利用:通过结合GNN层,TransGNN能够充分利用图结构信息来完善节点表示。这使得TransGNN在处理具有复杂图结构的数据集时更具优势,能够更准确地理解用户和项目之间的关系。
效率与复杂度:尽管TransGNN结合了Transformer和GNN的优势,但其计算复杂度和效率仍然保持在一个合理的范围内。通过采用有效的样本更新策略和节点采样技术,TransGNN能够在保证推荐准确性的同时,降低计算成本和提高训练效率。
相关论文
《Attention Is All You Need》
《Graph neural networks: A review of methods and applications》
53AI,企业落地大模型首选服务商
产品:场景落地咨询+大模型应用平台+行业解决方案
承诺:免费场景POC验证,效果验证后签署服务协议。零风险落地应用大模型,已交付160+中大型企业
2025-01-01
2025-02-01
2024-08-13
2024-04-25
2025-02-04
2024-07-25
2024-06-13
2024-04-26
2024-09-23
2024-04-12