摘要
自监督学习(SSL)可以从原始数据中自动生成真实样本,在改进推荐系统方面具有巨大的潜力。现有的基于ssl的方法通过节点/边dropout干扰原始数据图,生成新的数据视图,然后对不同视图进行基于对比学习的自识别,学习通用的表示。 在该模式下,只在两个不同视图的节点之间建立一个双射映射,说明忽略了来自其他节点的自监督信号。由于在推荐系统中被广泛观察到的同质性,我们认为来自其他节点的监督信号也很有可能有利于推荐的表示学习。为了捕获这些信号,本文提出了一种集成 tri-training的通用社交感知SSL框架。从技术上讲,我们的框架首先通过用户的社交信息来增强用户的数据视图。然后在多视图编码的tri-training机制下,该框架在增强视图上构建三个图编码器(只有一个编码器用于推荐),并利用其他两个编码器生成的其他用户的自监督信号对每个编码器进行迭代更新。 由于tri-training是在自监督信号的相同数据源的增强视图上进行的,因此我们将其命名为 self-supervised tri-training。在多个真实数据集上进行的大量实验一致地验证了self-supervised tri-training框架改进推荐的有效性。代码: https://github.com/Coder-Yu/QRec.
1 介绍
自监督学习(SSL)是一种不需要人工标注标签的新型学习范式,最近在许多领域受到了相当广泛的关注。由于SSL的基本思想是从原始数据中学习自动生成的监督信号,可以解决推荐系统中的数据稀疏性问题,因此SSL在提高推荐性能方面具有巨大的潜力。自监督图表示学习的最新进展已经证明是一种有效的基于图的任务训练模式。也就是说,通过使用节点/边dropout或随机特征变换/掩蔽原始图来执行随机增强,以创建补充视图,然后最大化同一节点但从不同视图学习的表示之间的一致性,这称为图对比学习。受其有效性的启发,一些研究遵循这个训练模式,并致力于将其移植到推荐中。
通过这些研究的努力,自监督推荐领域最近已经被证明了一些有潜力的结果,表明从随机增强中挖掘监督信号是可取的。然而,与其他基于图的任务相比,推荐是截然不同的,因为在用户和商品之间有广泛观察到的同质性。大多数现有的基于ssl的方法是对增广视图进行基于自识别的对比学习,以学习针对原始数据的通用表示。在该方案下,在两个不同视图中的节点之间建立一个双射,一个给定的节点可以在另一个视图中从它本身挖掘信息。同时,将在潜在空间中的其他节点视为与给定节点被推开远离的负节点。一些节点是假负样本,由于同质性,它们与给定的节点相似,如果它们被识别为正样本,那么在推荐下,实际上可以有利于表示学习。相反,把它们粗略地归入负样本可能会导致性能下降。
为了解决这一问题,本文提出了一种将 tri-training(多视图共同训练)与SSL相结合的社交感知SSL框架。补充的视图可以捕获用户之间的同质性,从另一个隐式反映用户偏好的数据源中捕捉社交关系。由于在过去的十年中社交平台的流行,社交关系现在在许多推荐系统中都很容易获得。我们利用用户-用户和用户-项目交互中的三元结构来增强两个补充数据视图,并分别将其解释为用户在扩展社交圈的兴趣和向朋友分享项目的兴趣。考虑到用户-项目视图包含了用户的历史购买,我们有三个视图从不同的角度描述用户的偏好,并提供一个场景来融合 tri-training和SSL。
tri-training是一种流行的半监督学习算法,它使用三种分类器利用无标签数据。在本工作中,我们利用它来挖掘具有多视图编码的推荐系统中其他用户的自监督信号。从技术上讲,我们首先在三个视图上构建了三个非对称图编码器,其中两个仅用于学习用户表示和给出伪标签,另一个针对用户-项目视图完成生成推荐的任务。然后,我们动态地扰乱社交网络和用户-项目交互图,创建一个无标签的样本集。在tri-training机制下,在每轮期间,其他两个视图上的编码器预测当前视图中每个用户的无标签的样本集中最可能的语义正样本。然后,该框架通过所提出的基于邻居识别的对比学习细化用户表示,即最大化当前视图中有标签与无标签数据集的用户表示之间的一致性来细化用户表示。随着所有编码器在这个过程中不断改进,生成的伪标签也变得更丰富,这反过来又递归地使编码器再次受益。因此,与仅通过自识别SSL方案增强的推荐编码器相比,用户-项目视图上的推荐编码器变得更强。由于tri-training是基于同一数据源的补充视图来学习自监督信号,因此我们将其命名为自监督tri-training。
这篇论文主要的贡献总结如下:
- 我们提出了一个通用的社交意识自监督tri-training推荐框架。通过在此框架下统一推荐任务和SSL任务,推荐性能可以取得显著的改进。
- 我们提出从其他用户中挖掘积极自监督信号,并开发一种基于邻居识别的对比学习方法。
- 我们在多个真实数据集上进行了广泛的实验,以证明所提出的SSL框架的优势,并通过全面的消融研究来研究该框架中每个模块的有效性。
本文的其余部分的结构如下。第二节总结了推荐和SSL的相关工作。第3节介绍了所提出的框架。实验结果报告见第4节。最后,第5节总结了本文的结论。
2 相关工作
2.1 图神经推荐模型
近年来,图神经网络(GNNs)因其在解决图相关推荐任务的有效性而在推荐系统领域受到了广泛的关注。特别是,GCN,作为GNNs的普遍公式,即谱图卷积的一阶近似,已经驱动了大量的图神经推荐模型,如GCMC,NGCF和LightGCN。这些基于GCN的模型的基本思想是通过聚合邻居的嵌入来利用用户-项目图中的高阶嵌入来细化目标节点的嵌入。除了这些通用模型之外,GNNs也被使用到其他针对特定图的推荐方法中,如基于会话的图SR-GNN和DHCN,以及社交网络上的DiffNet和MHCN。值得一提的是,GNN经常被用于社交计算,因为GNN可以很好地捕获社交网络中的信息传播。这就是为什么我们利用社交网络由图神经编码器生成自监督信号的原因。
2.2 在社交推荐中的自监督学习
自监督学习(SSL)是一种新兴的范式,可以通过自动从原始数据中生成的真实样本进行学习。它首先被用于视觉表示学习和语言建模进行模型预训练。SSL的最新进展试图利用这种灵活的学习范式来进行图表示学习。图上的SSL模型主要是利用图的结构来挖掘自监督信号。这一研究方向的主要机制是图对比学习,它对比了同一个图的多个视图,其中不一样的视图是通过对原始图进行随机增强来建立的。常见的随机增强类型包括但不限于节点/边dropout、随机特征/属性变换和使用随机游走的子图采样。
受图对比学习成功的启发,最近有一些工作将同样的想法移植到推荐的场景中。Self-Supervised Learning for Sequential Recommendation with Mutual Information Maximization通过随机屏蔽项目的属性、跳过给定序列的项目和子序列来设计辅助的自监督目标,用于预训练顺序推荐模型。姚等人。[37]提出了一种具有统一特征掩蔽和退出的双塔DNN架构,用于自我监督的项目推荐。马氏等人。[19]通过观察长远的未来,挖掘额外的信号进行监控,重建未来的自我监控序列,本质上采用了特征掩蔽。吴等人。[29]总结了图上所有的随机增强,并将其统一为一个一般的自监督图学习框架进行推荐。此外,还有一些研究在集合间的互信息最大化来细化用户表示。
3 提出的框架
在本节中,我们将介绍我们的SElf-suPervised Tri-training 框架,称为SEPT。SEPT的模型如图1所示。
3.1 准备工作
3.1.1 符号
本文使用两个图作为数据源,包括用户-项目交互图 G 𝑟 G_𝑟 Gr和用户社交网络 G 𝑠 G_𝑠 Gs。U={𝑢1,𝑢2,…, 𝑢 𝑚 𝑢_𝑚 um}(|U|=𝑚)表示 G 𝑟 G_𝑟 Gr和 G 𝑠 G_𝑠 Gs上的用户节点,I={𝑖1,𝑖2,…, 𝑖 𝑛 𝑖_𝑛 in}(|I|=𝑛)表示 G 𝑟 G_𝑟 Gr中的项目节点。由于我们关注项目推荐,𝑹∈ R 𝑚 × 𝑛 R^{𝑚×𝑛} Rm×n是一个只有0和1填充的二进制矩阵,表示 G 𝑟 G_𝑟 Gr中的用户-项目交互。对于𝑹中的每对(𝑢,𝑖),如果用户𝑢已购买/单击项目𝑖, 𝑟 𝑢 𝑖 𝑟_{𝑢𝑖} rui=1,否则 𝑟 𝑢 𝑖 𝑟_{𝑢𝑖} rui=0。对于社会关系,我们使用𝑺∈ R 𝑚 × 𝑚 R^{𝑚×𝑚} Rm×m来表示社交邻接矩阵,它是二元对称的,因为我们研究的是具有双向关系的无向社交网络。我们使用𝑷∈ R 𝑚 × 𝑑 R^{𝑚×𝑑} Rm×d和𝑸∈ R 𝑛 × 𝑑 R^{𝑛×𝑑} Rn×d分别表示学习到的供推荐的最终用户和项目嵌入。为了便于阅读,本文中矩阵以粗体大写字母表示,向量以粗体小写字母表示。
3.1.2 Tri-Training
Tri-Training是一种流行的半监督学习算法,它从co-training范式发展而来,解决了确定如何标记无标签数据以改进分类器的问题。与标准的co-training算法在理想情况下需要两个足够的、冗余的和有条件独立的数据样本视图来构建两个不同的分类器相比,通过解除对训练集的限制,可以很容易地使用 Tri-Training。它不假设数据属性之间有足够的冗余,并通过引导抽样在生成的三个不同的数据视图上初始化三个不同的分类器。然后,在 Tri-Training的标记过程中,对于任何一个分类器,只要其他两个分类器对这个例子的标记达成一致,就可以对一个未标记的例子进行标记。然后将生成的伪标签作为真实值,在下一轮标记中训练相应的分类器。
3.2 数据增强
3.2.1 视图增强
正如所讨论的,在推荐系统中存在广泛的同质性。也就是说,用户和项目有许多相似的对应物。为了获取自监督的同质性,我们利用用户的社交关系来增强数据,因为社交网络通常被称为同质性的反映。(即,有相似偏好的用户更有可能在社交网络中建立联系,反之亦然)。由于许多像Yelp这样的服务提供商鼓励用户在其平台上与他人互动,它为他们的推荐系统提供了利用丰富的社交关系的机会。然而,由于社会关系本质上是有噪声的,对于准确的补充监督信息,SEPT仅利用用户中普遍存在的三元闭合来使用可靠的社交关系。在社交软件推荐系统中,通过对齐用户-项目交互图
G
𝑟
G_𝑟
Gr和社交网络
G
𝑠
G_𝑠
Gs,我们可以很容易地得到两种三角形:三个用户之间的社交联系(如图1中的𝑢1、𝑢2和𝑢4)和两个购买相同项目的社交联系用户(如图1中的𝑢1、𝑢2和𝑖1)。前者被解释为描述用户在扩充社交圈中的兴趣,后者是描述用户对他的朋友分享物品的兴趣。直接认为三角形是加强的联系,因为如果现实生活中的两个人有共同的朋友或共同的利益,他们更有可能有亲密的关系。
根据我们之前的工作(MHCN),上述两种三角形可以有效地提取为矩阵乘法的形式。设
𝑨
𝑓
𝑨_𝑓
Af∈
R
𝑚
×
𝑚
R^{𝑚×𝑚}
Rm×m和
𝑨
𝑠
𝑨_𝑠
As∈
R
𝑚
×
𝑚
R^{𝑚×𝑚}
Rm×m表示包含这两种三角关系的用户邻接矩阵。它们可通过以下方法进行计算:
乘法𝑺𝑺(
𝑹
𝑹
⊤
𝑹𝑹^⊤
RR⊤)计算了通过共享好友(项目)连接两个用户的路径,而哈达玛积⊙𝑺将这些路径制成三角形。由于𝑺和𝑹都是稀疏矩阵,因此计算并不耗时。操作⊙𝑺确保
𝑨
𝑓
𝑨_𝑓
Af和
𝑨
𝑠
𝑨_𝑠
As中的关系是𝑺中关系的子集。由于
𝑨
𝑓
𝑨_𝑓
Af和
𝑨
𝑠
𝑨_𝑠
As不是二进制矩阵,等式(1)可以被看作基于来自𝑹的互补信息𝑺上的引导采样的特殊情况。鉴于
𝑨
𝑓
𝑨_𝑓
Af和
𝑨
𝑠
𝑨_𝑠
As作为𝑺和𝑹的增强,我们有三个视图从不同的角度来描述用户的偏好,也为我们提供了一个融合tri-training和SSL的场景。为了便于理解,我们将用户-项目交互图的偏好视图由R表示、三角形社交关系朋友视图由
𝑨
𝑓
𝑨_𝑓
Af表示,共享视图由
𝑨
𝑠
𝑨_𝑠
As表示。
3.2.2 无标签样本集。
要进行tri-training,需要一个无标签样本集。我们遵循现有的工作,以概率𝜌对原始图进行边dropout,创建一个被干扰的图,从中学习的用户表示被用作无标签的样本。此过程可表述为:
其中
N
𝑟
N_𝑟
Nr和
N
𝑠
N_𝑠
Ns为节点,
E
𝑟
E_𝑟
Er和
E
𝑠
E_𝑠
Es是
G
𝑟
G_𝑟
Gr和
G
𝑠
G_𝑠
Gs中的边,𝒎∈
0
,
1
∣
E
𝑟
∪
E
𝑠
∣
{0,1}^{|E𝑟∪E𝑠|}
0,1∣Er∪Es∣是边的掩码向量。在这里,我们同时干扰
G
𝑟
G_𝑟
Gr和
G
𝑠
G_𝑠
Gs,而不是只干扰G𝑟,因为社交信息包含在上述两个增强视图中。 对于集成的自监督信号,扰动连接图是必要的。
3.3 SEPT:Self-Supervised Tri-Training
3.3.1 框架
使用增强视图和无标签的样本集,我们遵循Tri-Training的设置来构建三个编码器。在结构上,所提出的自监督训练框架可以与模型无关,从而促进大量的图神经推荐模型。 但对于一个易于遵循的具体框架,由于其简单性,我们采用了LightGCN作为编码器的基本结构。编码器的一般形式的定义如下:
其中𝐻为编码器,𝒁∈
R
𝑚
×
𝑑
R^{𝑚×𝑑}
Rm×d或
R
(
𝑚
+
𝑛
)
×
𝑑
R^{(𝑚+𝑛)×𝑑}
R(m+n)×d为节点的最终表示,相同大小的𝑬为三个编码器共享的初始节点嵌入,V∈{𝑹,𝑨𝑠,𝑨𝑓}为三个视图中的任何一个。需要注意的是,与普通的tri-training不同,SEPT是不对称的。两个编码器𝐻𝑓和𝐻𝑠工作在朋友视图、分享视图上,只负责通过图卷积学习用户表示给出伪标签,而编码器𝐻𝑟工作在偏好视图上,承担生成推荐的任务,从而学习用户和项目表示(如图1所示)。设𝐻𝑟为主编码器(推荐模型),𝐻𝑓和𝐻𝑠为辅助编码器。理论上,给定像LightGCN这样的具体𝐻𝑟,应该有𝐻𝑓和𝐻𝑠的最优结构。然而,探索辅助编码器的最优结构超出了本文的范围。为简单起见,我们将相同的结构分配给𝐻𝑓和𝐻𝑠。此外,**为了从扰乱的图˜G中学习无标签样本的表示,需要另一个编码器,但只做图卷积。**所有的编码器都共享初始嵌入𝑬,并使用LightGCN结构在不同的视图上构建编码器。
3.2.2 构造自监督信号
通过在这三个视图上进行图卷积,编码器学习了三组用户表示。由于每个视图都反映了用户偏好的不同方面,因此从其他两个视图中寻求监督信息,以改进当前视图的编码器。给定一个用户,我们使用来自其他两个视图的用户表示来预测它在无标签样本集中的语义上的正样本。以偏好视图中的用户𝑢为例子,表述为:
其中𝜙为余弦操作,
𝒛
𝑢
𝑠
𝒛^𝑠_𝑢
zus和
𝒛
𝑢
𝑓
𝒛^𝑓_𝑢
zuf分别为𝐻𝑠和𝐻𝑓学习到的用户𝑢的表示,˜𝒁为通过图卷积得到的无标签样本集中用户的表示,
𝒚
𝑢
+
𝑠
𝒚^𝑠_{𝑢^+}
yu+s和
𝒚
𝑢
+
f
𝒚^f_{𝑢^+}
yu+f表示每个用户在相应视图中为用户𝑢的语义正样本的预测概率。
在 tri-training方案下,为了避免噪声样本,只有𝐻𝑠和𝐻𝑓都同意将用户标记为正样本,才能在𝐻𝑟将用户进行标记。我们遵循这一规则,并将从这两个视图中得到的预测概率加起来,得到:
根据这些概率,我们可以选择可信度最高的𝐾个正样本。此过程可表述为:
在每次迭代中,通过随机边dropout进行˜G的重构,生成不同的用户表示。SEPT在每个视图中为每个用户在数据增强中动态的生成正向伪标签。然后,这些标签被用作监督信号来定义初始的底部表示。
3.3.3 对比学习
通过生成的伪标签,我们开发了邻居识别对比学习方法来实现SEPT中的自监督。给定某个用户,我们最大化它的节点表示和
P
𝑢
+
r
P^r_{𝑢+}
Pu+r中的有标签用户表示之间的一致性,并最小化它的节点表示和无标签用户表示之间的一致性。邻居辨别的思想是,在当前视图中给定确定的用户,在其他两个视图中正向的伪标签在语义上表示它的邻居或潜在的邻居,由于不同视图的同质性,那么我们也应该把这些正对放到当前视图中。这可以通过邻居辨别对比学习来实现。形式上,我们遵循之前的研究,采用在互信息估计中有效的InfoNCE作为我们的学习目标,以最大化正对之间的一致性,最小化负对之间的一致性:
是一个辨别器函数,它输入两个向量,预估它们之间的一致性,是为了放大辨别效果的温度系数(在我们的实现中,=0.1是最佳的效果)。我们可以简单地通过应用余弦操作来实现辨别器。与自辨别器相比,邻居辨别器利用了来自其他用户的监控信号。当只使用一个正样本,并且如果在
𝒚
𝑢
+
𝒚_{𝑢+}
yu+中用户自身˜𝑍的得分最高时,邻居辨别器就会退化为自辨别器。因此,自辨别器可以看作是邻居辨别器的一种特例。 但是,当使用足够数量的正样本时,这两种方法也可以同时被采用,因为˜𝑍中的用户本身通常很可能在Top-K类似的示例P𝑢+中。随着训练过程的进行,编码器不断改进,生成不断演化的伪标签,进而递归地使编码器再次受益。
与普通的tri-training相比,值得注意的是,在SEPT中,我们没有将伪标签添加到邻接矩阵中,用于后续的图卷积。相反,我们采用了一种灵活的方式,通过互信息最大化来指导用户表示,这不同于普通的tri-training训练,后者将伪标签添加到训练集中,以进行进一步的循环训练。这种建模的好处是有两方面的。首先,添加伪标签会导致每次迭代后重建邻接矩阵,这很耗时;其次,早期生成的伪标签可能没有信息;重复使用它们会误导框架。
3.3.4 优化器
SEPT的学习包括两个任务:推荐和基于邻居辨别的对比学习。设L𝑟为BPR成对损失函数,其定义为:
其中
I
(
u
)
I(u)
I(u)是用户𝑢交互的项目集,
ˆ
𝑟
𝑢
𝑖
ˆ𝑟_{𝑢𝑖}
ˆrui=
𝑷
𝑢
⊤
𝑸
𝑖
𝑷_𝑢^⊤𝑸_𝑖
Pu⊤Qi、𝑷 和 𝑸 通过拆分
𝒁
𝑟
𝒁^𝑟
Zr得到,𝜆是控制𝐿2正则化的系数。SEPT的训练分为初始化和联合学习两个阶段进行。首先,我们通过优化
L
𝑟
L_𝑟
Lr的推荐任务来初始化框架。使用
L
𝑟
L_𝑟
Lr进行训练,共享的底部𝑬比随机初始化的嵌入获得了更强的表示能力。然后,自监督tri-training如公式(4)-(7)中所述进行。辅助任务与主要任务被合并为联合学习目标,提高推荐任务的性能。联合学习的总体目标被定义为:
其中𝛽是一个超参数,用来控制self-supervised tri-training的大小。算法1给出了SEPT的总体过程。
3.4 讨论
3.4.1与社交正则化的联系
社会推荐将社会关系集成到推荐系统中,以解决数据稀疏性问题。社交推荐的一个常见思想是通过最小化社会连接用户之间的欧氏距离来规范用户表示,这被称为社会正则化。尽管提出的SEPT也利用了社交-感知监督信号来完善用户表示,它不同于社会的正规化。有两方面的差异。首先,社交正则化是一个静态的过程,它总是作用在有社会关联的用户上,而邻居辨别是动态的,并且迭代地改进对不确定用户施加监督信号;其次,负面的社会关系(不喜欢)不能在社会推荐中被轻易地检索到,因此社交正规化只能使有社会联系的用户保持接近。但SEPT也可以将那些在三种视图中语义不正向的用户分开。
3.4.2 复杂性
在结构上,SEPT可以是与模型无关的,其复杂性主要取决于所使用的编码器的结构。在本文中,我们提出了一个基于LightGCN的结构。给定O(|𝑹|𝑑)作为图卷积的推荐编码器的时间复杂度,图卷积的总复杂度小于4O(|𝑹|𝑑),因为𝑨𝑓、𝑨𝑠和˜G通常比R更稀疏。另一个成本来自于等式(6)中标记过程的Top-K操作,通过使用最大堆,它通常需要O(𝑚log(𝐾))。为了降低成本,加快训练速度,在每批训练中,一批随机选择𝑐个(𝑐≪𝑚,如1000)用户作为伪标签的无标签样本集,这种采样方法也可以防止过拟合。基于邻居辨别的对比学习的复杂度为O(𝑐𝑑)。
4 实验
4.1 实验设置
数据集
三个真实的数据集:Last.fm,Douban-Book和Yelp在我们的实验中用来评估SEPT。SEPT旨在改进Top-N推荐,Douban-Book数据集包含1-5的评分,我们遵循之前研究的惯例,在豆瓣的数据集中省略小于4的评分,其余的赋值为1。数据集的统计数据如表1所示。为了进行精确的评估,对所有的实验都进行了5倍交叉验证,并给出了平均结果。
基线
将三种最近的图神经推荐模型与SEPT进行比较,以检验 self-supervised tri-training推荐的有效性:
- LightGCN是一个基于GCN的通用推荐模型,它利用用户-项目的接近程度来学习节点表示并生成推荐,这被报告是最先进的方法。
- DiffNet++是最新的一种基于GCN的社会推荐方法,它模拟了用户和项目空间中的递归动态社交扩散。
- MHCN是一种最新的基于超图卷积网络的社交推荐方法,它用超边形成用户之间的复杂相关性,以提高推荐性能。
LightGCN是SEPT中的基本编码器。研究LightGCN和SEPT的性能至关重要。由于LightGCN是最近许多论文中报道的一个广泛公认的SOTA基线,我们没有将SEPT与其他弱基线如NGCF、GCMC和BPR进行比较。两种强的社交推荐模型也与SEPT进行了比较,以证明使用社交关系不是性能改进的主要驱动力。
Metrics
为了评估所有的方法,我们首先对所有的候选项目进行项目排序。然后是两个基于相关性的指标,Precision@10和Recall@10,以及一个基于排名的指标NDCG@10。
设置
为了进行公平的比较,我们参考基线原始论文中报告的最佳参数设置,然后微调基线的所有超参数,以确保它们的最佳性能。对于所有方法的一般设置,我们将潜在因素(嵌入)的维数设置为50,正则化参数𝜆设置为0.001,批处理大小设置为2000。在第4.4节中,我们研究了SEPT的参数敏感度,并在第4.2节和第4.3节中使用了最佳参数。我们使用Adam来优化所有这些模型,初始学习率为0.001。
4.2 总体性能比较
在这部分中,我们验证了SEPT是否可以改进推荐。性能比较如表2和表3所示。我们在表2中使用不同的层数进行了实验。
在表3中,所有方法都采用了两层设置,因为它们在此设置下在所使用的数据集上都达到了最好的性能。↑(↓)标记的性能提升(下降)是通过使用性能差除分来计算的。根据研究结果,我们可以得出以下观察结果和结论:
- 在所有不同的图层设置下,SEPT可以显著提高LightGCN。特别是在更稀疏的数据集上(Douban-Book和Yelp),提升更大。最大的改进甚至可以达到11%。这可以是证明自监督学习有效性的一个证据。此外,虽然当层数为3时,LightGCN和SEPT都存在过平滑的问题,但SEPT的性能仍然优于LightGCN。我们认为可能的原因是,对比学习可以在一定程度上缓解过平滑的问题,因为动态生成的无标签的样本提供了足够的数据方差。
除了与LightGCN进行比较外,我们还将SEPT与社会推荐模型进行了比较,以验证 selfsupervised tri-training主要不是因为社会关系提升了推荐性能。由于MHCN也建立在LightGCN之上,因此比较这两种模型可以提供更多的信息。此外,𝑆2-MHCN是MHCN自监督的变体,通过比较SEPT和𝑆2-MHCN的结果,计算了性能提升(下降)。根据表3中的结果,我们有以下观察和结论:
- 虽然将社会关系整合到图神经模型中是有帮助的(比较MHCN和LightGCN),但在SEPT方案下的学习可以获得更多的性能提高(比较SEPT和MHCN)。DiffNet++与其他三种方法相比没有竞争力。它的失败可以归因于其冗余和无用的参数和操作。在LastFM 和 Douban-Book上,SEPT的表现都优于𝑆2-MHCN。在Yelp上,𝑆2-MHCN的 。比SEPT更好。SEPT和𝑆2-MHCN的优越性表明,自监督学习具有巨大的提升推荐的能力。此外,SEPT不需要学习除了底部嵌入之外的其他参数,而𝑆2-MHCN还需要学习许多其他参数。与此同时,SEPT的运行速度比𝑆2-MHCN快得多,这使得它更具竞争力,即使它在Yelp上被𝑆2-MHCN小幅度击败。
4.3 自识别 vs 邻居识别
在SEPT中,生成的正样本可以包括用户本身和无标签样本集的其他用户。目前还不清楚是哪一部分对推荐性能的贡献更大。在这部分中,我们研究了在没有用户本身的情况下,自我辨别和邻居辨别。
为方便起见,我们使用SEPT-SD表示自我辨别,使用SEPT-ND表示邻居辨别。还应该提到的是,仅对于SEPT-ND,𝛽=0.001可以在所有数据集上获得最好的性能。在本例中使用了两层设置。
根据图2,我们可以观察到,SEPT-SD和SEPT-ND都表现出比LightGCN更好的性能,这证明了来自用户本身和其他用户的监督信号都可以受益于自监督推荐模型。我们认为来自其他用户的自监督信号的想法得到了验证。此外,自我辨别和邻居辨别的重要性也因数据集而异。在LastFM上,他们的贡献几乎相同。在 Douban-Book上,自我辨别表现得更为重要。在Yelp上,邻居辨别更有效。
这种现象可以用图5来解释。随着正例的增加,我们看到SEPT在LastFM和Yelp上的表现几乎保持稳定,但在Douban-Book上逐渐下降。我们推测在LastFM和Yelp中存在广泛观察到的同质性,因此大量用户具有相似的偏好,这可能是这两个数据集中高质量的正例。然而,Douban-Book的用户可能会有更多样化的兴趣,当使用的正面例子数量增加时,就会导致性能下降。
4.4 视图研究
在SEPT中,我们构建了两个增强视图来对挖掘监控信号进行tri-training。在这部分中,我们研究每个视图的贡献。在本研究中使用了两层设置。在图3中,“Friend”或“Sharing”意味着对应的视图被分离。当只使用两个视图时,SEPT退化为自我监督的co-training。“Preference-Only”意味着只使用偏好视图,在这种情况下,SEPT进一步退化为 self-training。
从图3中,我们可以看到,在LastFM和Yelp上,所有的视图都有贡献,而在Douban-Book上,自监督的co-training设置表现最好。此外,当只使用Preference-Only视图时,SEPT的性能较低,但仍优于LightGCN。随着使用视图数的减少,SEPT在LastFM上的性能略有下降,而在Yelp上的性能明显下降。在Douban-Book上,当只有一种视图时,表现先略有上升,然后明显下降。结果表明,在半监督设置下,即使是一个单一的视图也能产生理想的自监督信号,因为社会关系或其他方面的信息在某些情况下并不总是可获得的。此外,增加视图的使用数量可能会带来更多的性能提高,但这并不是绝对正确的。
4.5 参数敏感性分析
在SEPT中使用了三个重要的超参数:𝛽是用于控制self-supervised tri-training的大小,𝐾是使用的正例的数量和𝜌是˜G的边dropout。我们选择了一些具有代表性的值来研究SEPT的参数敏感性。结果如图4 - 6.所示。在研究𝛽的影响时,我们固定了𝐾=10和𝜌=0.3。对于图5中𝐾的影响,我们在LastFM和Yelp上设置了𝛽=0.005,在Douban-Book上设置了𝛽=0.02,𝜌=0.3。最后,对于图6中𝜌的影响,𝛽=0.02,𝐾=10。在本研究中使用了两层设置。
从图4中可以看出。SEPT对𝛽很敏感。在不同的数据集上,我们需要选择不同的𝛽值以获得最佳性能。一般来说,一个小的𝛽值就会导致理想的性能,而一个大的𝛽值就会导致性能的巨大下降。图5已在第4.3节中进行了解释。根据图6中。我们看到SEPT对边dropout不敏感。即使是一个很大的𝜌值(例如,0.8)也可以创建提供信息的自监督信号,这对于SEPT可能的广泛使用是一个很好的特性。当被扰乱的图是高度稀疏时,它不能为自监督学习提供有用的信息。
5 结论和未来工作
自监督图对比学习被广泛应用于图表示学习领域,最近被移植到推荐学习中,以提高推荐性能。然而,大多数基于SSL的方法只通过自我识别来利用自监督信号,而SSL不能在推荐的场景中充分利用广泛观察到的同质性。为了解决这一问题,在本文中,我们提出了一个名为SEPT的社交-意识self-supervised tri-training框架,通过从原始数据的两个互补视图中发现自监督信号来改进推荐。在self-supervised tri-training方案下,提出了基于邻居识别的对比学习方法,利用邻居中的伪标签来细化用户表示。大量的实验证明了SEPT的有效性,并进行了彻底的消融研究来验证self-supervised tri-training的基本原理。
本文只利用了来自用户的自监督信号。然而,项目也可以类似地为自监督提供信息性的伪标签。这可以通过利用项目的多模式来实现。我们把它作为我们未来的工作。我们还相信,自我监督的多视图共同训练的想法可以推广到除推荐之外的更多的场景。