
使用这些基本 REST API 最佳实践构建出色的 API
图神经网络(GNN)和Transformer模型各自以其独特的优势在处理复杂数据和捕捉序列依赖关系上取得了显著成果。
GNN,即图神经网络(Graph Neural Network),是一种基于图结构的深度学习模型,专门用于处理图数据。
GNN简介:
论文《Graph neural networks: A review of methods and applications》
GNN是一类用于处理图数据的深度学习模型,能够捕捉节点间的依赖关系。它们在多个领域表现出色,如社交网络分析、物理系统建模、蛋白质接口预测和疾病分类。
GNN的设计流程:
图神经网络(GNN)设计流程分为4步,包括找到图结构、指定图类型和规模、设计损失函数以及使用计算模块构建模型。
具体设计流程如下:
GNN的核心模块:
在图神经网络(GNN)中,计算模块是模型的核心,它定义了节点之间信息的传递和聚合方式。
在图神经网络(GNN)中,关键的计算模块包括:
详细了解图神经网络GNN:神经网络算法 – 一文搞懂GNN(图神经网络)
Transformer是一种基于自注意力机制的深度学习模型,最初是为了解决自然语言处理中的序列到序列(sequence-to-sequence)问题而设计的。
Transformer简介:论文《Attention Is All You Need》
由于Transformer强大的性能,Transformer模型及其变体已经被广泛应用于各种自然语言处理任务,如机器翻译、文本摘要、问答系统等。
注意力机制:注意力机制是一种允许模型在处理信息时专注于关键部分,忽略不相关信息,从而提高处理效率和准确性的机制。它模仿了人类视觉处理信息时选择性关注的特点。
当人类的视觉机制识别一个场景时,通常不会全面扫描整个场景,而是根据兴趣或需求集中关注特定的部分,如在这张图中,我们首先会注意到动物的脸部,正如注意力图所示,颜色更深的区域通常是我们最先注意到的部分,从而初步判断这可能是一只狼。
注意力机制通过查询(Q)匹配键(K)计算注意力分数(向量点乘并调整),将分数转换为权重后加权值(V)矩阵,得到最终注意力向量。
注意力分数是量化注意力机制中某一部分信息被关注程度的数值,反映了信息在注意力机制中的重要性。
在Transformer架构中,有3种不同的注意力层:
详细了解Transformer中的三种注意力机制:神经网络算法 – 一文搞懂Transformer中的三种注意力机制Transformer的核心组件:Transformer模型包含输入嵌入、位置编码、多头注意力、残差连接和层归一化、带掩码的多头注意力以及前馈网络等组件。
Transformer的架构:
Transformer遵循编码器-解码器总体架构,使用堆叠的自注意力机制和逐位置的全连接层,分别用于编码器和解码器,如图中的左半部分和右半部分所示。
Encoder编码器:Transformer的编码器由6个相同的层组成,每个层包括两个子层:一个多头自注意力层和一个逐位置的前馈神经网络。在每个子层之后,都会使用残差连接和层归一化操作,这些操作统称为Add&Norm。这样的结构帮助编码器捕获输入序列中所有位置的依赖关系。
Decoder解码器:Transformer的解码器由6个相同的层组成,每层包含三个子层:掩蔽自注意力层、Encoder-Decoder注意力层和逐位置的前馈神经网络。每个子层后都有残差连接和层归一化操作,简称Add&Norm。这样的结构确保解码器在生成序列时,能够考虑到之前的输出,并避免未来信息的影响。
编码器与解码器的本质区别:在于Self-Attention的Mask机制。
详细了解Transformer:神经网络算法 – 一文搞懂Transformer
图神经网络(GNN)和Transformer的结合是近年来的研究热点。这类结合不仅能够让两者发挥各自的优势,还能推动模型的创新,提高处理图数据的效率和性能。
具体点讲,通过利用Transformer,我们可以扩展GNN的感受野,包括那些距离中心节点较远的相关节点。相对的,GNN也可以帮助Transformer捕捉复杂的图拓扑信息,并从相邻区域高效地聚合相关节点。
Transformer的局限:
尽管 Transformer 在自然语言处理和计算机视觉方面取得了巨大成功,但由于两个重要原因,它很难推广到中大规模图数据。
GNN的局限:
在图表示学习中,图神经网络(GNN)可以融合图结构和节点属性,但感受野有限。
TransGNN:
是否可以将 Transformer 和 GNN 结合起来,互相帮助?论文《Can Transformer and GNN Help Each Other?》提出了一种名为 TransGNN 的新模型,其中 Transformer 层和 GNN 层交替使用以相互改进。
具体来说,为了扩大感受野并解开边的信息聚合,论文建议使用 Transformer 聚合更多相关节点的信息,以改善 GNN 的消息传递。此外,为了捕获图结构信息,使用位置编码并利用GNN层将结构融合为节点属性,从而改进了图数据中的Transformer。
TransGNN的架构图:
TransGNN 的框架如图所示:
TransGNN的核心模块:
TransGNN框架是一个结合了注意力机制、位置编码和图神经网络(GNN)的深度学习模型。该框架主要包括三个核心模块:
TransGNN Module:
Transformer擅长聚合远距离的相关信息,而GNN则擅长捕捉图的结构信息。结合这两个机制,可以构建出一个更强大、更全面的图神经网络模型。
以下是TransGNN模块的三个核心子模块的概述:
推荐系统的重要性:
推荐系统在现代在线平台中至关重要,因为它们有效解决了信息过载的问题,通过为用户推荐有用的内容提高了用户体验。协同过滤(CF)与用户和项目信息编码:协同过滤是推荐系统的核心方法之一,其中对用户和项目信息的有效编码对于准确推断用户偏好至关重要。近年来,用于建模图结构数据的图神经网络(GNN)的发展迅速增多。一个有前途的方向是沿着用户-项目交互执行信息传播,以基于递归聚合模式完善用户嵌入。
图神经网络(GNN)的挑战:
通过将GNN和Transformer结合,可以充分利用两者的优势,同时弥补各自的不足,从而构建更强大、更全面的推荐系统模型。这种结合可以扩展GNN的感受野,同时利用Transformer的全局聚合能力来捕获长期依赖关系。TransGNN论文论文《TransGNN: Harnessing the Collaborative Power of Transformers and Graph Neural Networks for Recommender Systems》
TransGNN论文架构:
TransGNN被应用于多个推荐系统数据集,并与其他先进的推荐算法进行了比较。以下是一些具体的案例和数据结果:
数据集:
研究团队在五个公共数据集上进行了实验,这些数据集涵盖了不同的推荐场景,如电影推荐、商品推荐等。这些数据集包含了丰富的用户-项目交互信息,以及项目的内容信息和图结构信息。
实验设置:
为了验证TransGNN的有效性,研究团队将TransGNN与多个基线模型进行了比较,包括基于GNN的模型(如GCN、GraphSAGE)和基于Transformer的模型(如Transformer-Rec)。此外,还考虑了其他先进的推荐算法,如矩阵分解(MF)和深度神经网络(DNN)。
实验结果:
文章转自微信公众号@架构师带你玩转AI