一、摘要
本文主要是在推荐系统中对GNN的改进。在协同过滤中,主要是对用户-项目交互图进行建模。但是基于GNN的方法遇到了有限的接受域和嘈杂的“兴趣无关”连接的挑战。相比之下,基于Transformer的方法擅长于自适应地和全局地聚合信息但是在大规模交互图中的应用由于捕获复杂的纠缠结构信息的固有复杂性和挑战而受到阻碍。在本文中,我们提出了一种新的TransGNN模型,它交替地集成了Transformer层和GNN层,以相互增强它们的能力:TransGNN利用Transformer层来拓宽接受域,并从边缘分离出信息聚合,从而聚合来自更相关节点的信息,从而增强GNN的消息传递。此外,为了有效地捕获图结构信息,并集成到GNN层中,将结构知识编码到节点属性中,从而提高了变压器在图上的性能。通过提出对Transformer最相关节点的采样,以及两种有效的样本更新策略来降低复杂性,也减轻了效率的考虑。
二、现有问题:
1、消息传递机制依赖于边来融合图的结构和节点属性,导致强偏差和潜在的噪声。
2、由于对流行项目的过度推荐,用户可能会与他们不感兴趣的产品进行交互,从而导致在用户-项目交互图中形成“与兴趣无关的连接”
3、嵌入沿着边缘的传播可能会加剧噪声效应,潜在地扭曲了基于gnn的模型中潜在用户兴趣的编码。
4、GNN的最佳层数是3层,对于长期序列消息捕获效果不好
由于自注意机制,每个项目都可以从用户-项目交互序列中聚合所有项目的信息。因此,Transformer可以捕获序列数据中的长期依赖关系,并取代了卷积和递归神经网络。但是它们有效利用图结构信息的能力受到了限制,因为它的聚合过程不依赖于边缘,这导致了对关键的历史相互作用的低估。
三、模型结构
三个重要的组成部分:
(1)注意采样模块:通过考虑注意采样模块中的语义相似度和图结构信息,对每个中心节点最相关的节点进行采样
(2)位置编码模块:计算位置编码,以帮助Transformer获取图的拓扑信息
(3) TransGNN模块:(i)Transformer层(扩展接受域),(ii)GNN层(有助于上一层感知图的结构信息),(iii)样本更新子模块(更新了注意样本)
3.1 注意采样模块
用于降级复杂度,从中选取最相关的节点作为注意样本
3.2 位置编码模块
引入了三种针对推荐场景的不同位置编码:
(i)基于最短路径跳的位置编码。
(ii)基于学位的位置编码。
(iii)基于page排名的位置编码。
前两种编码表示用户和项目之间的接近性,强调用户交互的多样性和频率或项目的流行程度。同时,最后一个编码表示由图的拓扑结构所决定的显著性。
3.2.1 最短路径跳
对于每个用户,到不同项目的距离(反之亦然)可能有不同的含义。将最短路径跳矩阵表示为P,对于每个节点𝑣𝑖∈V及其注意样本节点𝑣𝑗∈Smp(𝑣𝑖),最短路径跳为𝑃(𝑖,𝑗),计算每个注意样本节点𝑣𝑗的基于最短路径跳的位置编码(SPE)为:
3.2.2 基于学位的位置编码
用户的交互频率,或一个项目的流行程度,在推荐中起着关键的作用。
一个项目的受欢迎程度或用户的不同品味可以利用他们在图中的节点度。因此,使用度deg𝑖来计算位置编码。
3.2.3 基于page排名的位置编码
某些用户或项目由于其在交互图中的位置而产生更大的影响,因此基于每个节点的页面秩值来计算位置编码。对于节点𝑣𝑖,我们将其页面排名值表示为Pr(𝑣𝑖),并计算基于页面排名的位置编码(PRE)为:
将编码与原始节点属性进行聚合,对于中心节点𝑣𝑖及其注意样本Smp(𝑣𝑖),下列公式用于对位置编码进行聚合:
其中,x为节点原始属性,AGG为聚合函数,COMB是组合函数
3.3 TransGNN模块
- Transformer层(扩展接受域)
- GNN层(有助于上一层感知图的结构信息)
- 样本更新子模块(更新了注意样本)
3.3.1 Transformer层
为了降低复杂度并过滤掉不相关的信息,只考虑每个中心节点的最相关的样本。
以中心节点𝑣𝑖及其注意样本Smp(𝑣𝑖)为例,作为一个例子来说明Transformer层,对于其他节点,这个过程是相同的
输入表示为H,中心节点𝑣𝑖的表示为ℎ𝑖。注意样本Smp(𝑣𝑖)的表示为矩阵H𝑖Smp。使用三个矩阵W𝑞、W𝑘、W𝑣分别将相应的表示投影到Q、K和V中,并根据注意力分布将信息汇总为
其中Q是查询的表示,K,V是键和值的表示。这个过程可以扩展到多头的注意
其中,m为头数,Concat是串联函数
3.3.2 GNN层
给定节点𝑣𝑖,GNN层的消息传递过程可以描述为:
其中,N(𝑣𝑖)为𝑣𝑖的邻居节点集。ℎ𝑖,ℎ𝑘分别是𝑣𝑖,𝑣𝑘的表示。Message(·)和Combine(·)是GNN定义的消息传递函数和聚合函数
3.3.3 样本更新
有两种方法。
论文后续分析了复杂度以及对数据集和实验,但是对我的实验没有很大参考价值。