对于推荐来说,用户-商品图的表示学习已经从使用单个ID或交互历史发展到利用高阶邻居,这导致了图卷积网络(GCNs)的成功推荐,如PinSage和LightGCN。尽管有效,但我们认为它们存在两个局限性:(1)热门的商品对表示学习有更大的影响,恶化了冷门(长尾)商品的推荐;(2)邻域聚合方案进一步扩大了观察边的影响,因此表示容易受到噪声交互的影响。
在本研究中,我们探索了在用户-商品图上的自监督学习,以提高GCNs推荐的准确性和鲁棒性。该思想是用一个辅助的自监督任务来补充经典的推荐监督任务,通过自鉴别器来强化节点表示学习。具体来说,我们生成一个节点的多个视图,最大化同一个结点不同视图表示之间的相似性,最小化不同结点表示之间的相似性。我们设计了三个 *** 作来生成视图,分别是节点dropout、边dropout和随机游走,以不同的方式改变图的结构。我们将这种新的学习范式称为自监督图学习(SGL),并在最先进的模型LightGCN上实现它。通过理论分析,我们发现SGL具有自动挖掘难负样本(容易将负样本看成正样本的那些样本)的能力。在三个基准数据集上的测试证明了SGL的有效性,它提高了推荐精度,尤其是对长尾商品,以及对交互噪声的鲁棒性。
1. 介绍从交互数据中学习高质量的用户和商品表示是协同推荐的主要任务。早期的工作,如矩阵分解(MF)[34],将每个用户(或商品)的单个ID投影到一个嵌入向量中。一些后续研究用交互历史丰富了单一ID,以学习更好的表示。最近,表示学习已经发展到利用用户-商品图中的高阶连通性。该技术的灵感来自于图卷积网络(GCNs),它提供了一种端到端方法,将多跳邻居集成到节点表示学习中,并实现了最先进的推荐性能。尽管效果良好,但目前基于GCN的推荐模型仍存在一些局限性:
- 稀疏的监督信号。大多数模型在监督学习范式下处理推荐任务,其中监督信号来自于观察到的用户-商品交互。然而,与整个交互空间相比,观察到的交互是非常稀疏的,不足以学习高质量的表示。
- 链式的数据分布。观察到的交互作用通常表现为幂律分布(长尾分布),其中长尾由缺乏监督信号的冷门商品组成。相比之下,热门商品在邻域聚合和监督损失中出现得更频繁,因此对表示学习的影响很大。因此,GCN很容易偏向于热门商品,从而忽略了冷门(长尾)商品。
- 交互中的噪声
用户提供的大多数反馈都是隐式的(例如,点击、浏览),而不是显式的(例如,评分、喜欢/不喜欢)。因此,观察到的交互通常包含噪声,例如,用户误点一个商品,并在使用它后发现它无趣。GCN中的邻域聚合扩大了交互对表示学习的影响,使学习更容易受到交互噪声的影响。
在这项工作中,我们重点探索自监督学习(SSL)的推荐,以解决上述限制。尽管在计算机视觉(CV)[11,40]和自然语言处理(NLP)中SSL很普遍,但在推荐中对SSL的探索相对较少。其想法是设置一个辅助任务,从输入数据本身提取额外的信号,特别是通过利用未标记的数据空间。例如,BERT在一个句子中随机隐藏一些token,对隐藏token的预测作为一个任务,将该任务作为可以捕获token之间依赖关系的辅助任务;RotNet随机旋转标记的图像,在旋转的图像上训练模型,以获得改进的表示,用于物品识别或图像分类的隐藏任务。与监督学习相比,SSL允许我们通过对输入数据进行更改来利用未标记的数据空间,在下游任务中取得了显著的改进。
在这里,我们希望将SSL的优势引入推荐表示学习,这不同于CV/NLP任务,因为数据是离散的和相互关联的。为了解决上述基于GCN的推荐模型的局限性,我们构建了辅助任务来区分节点自身的表示。具体来说,它由两个关键组成部分组成:
(1)数据增强,为每个节点生成多个视图
(2)对比学习,与其他节点相比,最大化同一节点不同视图之间的一致性。
对于用户-商品图上的GCN,图结构作为输入数据,对表示学习起着至关重要的作用。从这个角度来看,通过改变图邻接矩阵来构造“未标记”数据空间是很自然的,为此,我们开发了三个 *** 作:节点dropout、边dropout和随机游走,其中每个 *** 作都具有不同的合理性。然后,我们对改变后的结构进行基于GCN的对比学习。因此,SGL通过探索节点间的内部关系来增强节点表示学习。
从概念上讲,我们的SGL补充了现有的基于GCN的推荐模型:
- (1)节点自鉴别器提供了辅助监督信号,这是对仅从观察到的交互作用的经典监督的补充。
- (2)增强 *** 作,特别是边dropout,通过有意降低热门商品的影响,帮助减轻度偏差;
- (3)对于节点的多个视图,不同的局部结构和邻域增强了模型对相互作用噪声的鲁棒性。
最后但并非最不重要的是,我们对对比学习范式进行了理论分析,发现它具有挖掘难负样本的附加作用,不仅提高了性能,而且加速了训练过程。 值得一提的是,我们的SGL是与模型无关的,可以应用于任何由用户或商品嵌入组成的基于图的模型。这里我们在简单而有效的模型LightGCN上实现它。在三个基准数据集上的实验证明了SGL的有效性,明显提高了推荐精度,特别是在长尾商品上,并提高了对交互噪声的鲁棒性。我们总结了这项工作的贡献如下: - 我们设计了一种新的学习范式SGL,它将节点自识别作为自监督任务,为表示学习提供辅助信号。
- 除了减轻度偏差和增加对交互噪声的鲁棒性外,我们还在理论上证明了SGL的本质。我们在理论上证明,SGL本质上激励从难负样本中学习,由softmax损失函数中的温度超参数控制(温度参数T: T越大,结果越平滑,T越小,结果越尖锐)。
我们首先总结了基于GCN的协同过滤模型的通用范例。设U和I分别是用户和商品的集合, O + O^+ O+={ y u i y_{ui} yui|u∈U,i∈I}是观察到的相互,其中 y u i y_{ui} yui表示用户u以前已经交互了商品i。大多数现有的模型构造了一个二部图G=(V,E),其中节点集V=U∪I包含了所有用户和商品,边集E= O + O^+ O+表示观察到的交互。
回顾一下GCN其核心是在G上进行邻域聚合,通过聚合邻域节点的表示来更新自我节点的表示:
其中
Z
(
l
)
Z^{(l)}
Z(l)表示在第l层的节点表示,
Z
(
l
−
1
)
Z^{(l-1)}
Z(l−1)代表了前一层,
Z
(
0
)
Z^{(0)}
Z(0)是ID嵌入(可训练的参数),H为邻域聚合函数,从向量级更好解释:
为了更新第 l 层的自我节点u的表示,它首先在(l-1)层聚合它的邻居
N
u
N_u
Nu的表示,然后与它自己的表示
z
u
(
l
−
1
)
z_u^{(l-1)}
zu(l−1)合并。对于
有许多设计。
我们可以看到,第 l 层的表示编码了图中 l 阶的邻居。在获得 l 层表示之后,可能会有一个读出函数来生成用于预测的最终表示:
常见的设计最后一层仅包括了连接和加权和。
一个预测层建立在最终表示的基础上,以预测用户 u 购买商品 i 的可能性。一个经典的解决方案是内积,它支持快速检索:
为了优化模型参数,现有的工作通常将任务框架为一种监督学习任务,其中监督信号来自于观察到的交互作用(也就是G的边)。例如,使预测值^
y
u
i
y_{ui}
yui接近真实值
y
u
i
y_{ui}
yui,并从缺失的数据中选择负例。除了进行上述点积学习之外,另一个常见的选择是成对贝叶斯个性化排序(BPR)损失,它强制对观察到的交互作用的预测得分比未观察到的评分更高:
其中,O={(u,i,j)|(u,i)∈
O
+
O^+
O+,(u,j)∈
O
−
O^-
O−}是训练数据,
O
−
O^-
O−=U × I
O
+
O^+
O+是未观察到的交互。在本研究中,我们选择它作为主要的监督任务。
我们提出了自监督图学习(SGL)范式,它将主监督任务与自监督学习相叠加。图1显示了SGL的工作流程。具体来说,自监督任务(也称为假象任务或辅助任务)是从输入数据的相关性中构造监督信号。
具体来说,我们介绍了如何执行生成多个表示视图的数据增强,然后基于生成的表示进行对比学习来构建辅助任务。将SSL与经典的GCN以多任务学习的方式相结合。然后,我们从梯度水平上对SSL进行了理论分析,揭示了其与难负样本挖掘的联系。最后,我们分析了SGL的复杂度。
图1:SGL的整体系统框架。上层说明了主监督学习任务的工作流程,下层显示了图结构增强的SSL任务的工作流程。
由于CV和NLP任务中采用的数据增强直接移植对于基于图的推荐是不可行的,因为有其特定的特征:
(1)用户和商品的特征是离散的,如one-hot ID和其他类型的变量。因此,在图上的增强 *** 作,如随机裁剪、旋转或模糊,都不适用。
(2)更重要的是,CV和NLP任务将每个数据实例视为孤立的,然而交互图中的用户和商品是内在相连的,相互依赖的。因此,我们需要为基于图的推荐而定制新的增强 *** 作。
二部图建立在观察到的用户-商品交互的基础上,从而包含了协同过滤信号。具体来说,第一跳邻居直接描述了用户和商品节点,例如,用户的历史商品(或商品的交互用户)可以视为用户(或商品)的预先存在的特性。用户(或商品)的二跳相邻节点显示相似的用户行为(或类似的商品)。此外,从用户到商品的高阶路径反映了用户对该商品的潜在兴趣。毫无疑问,挖掘图结构中的固有模式有助于表示学习。因此,我们在图结构上设计了三个 *** 作,节点dropout、边dropout和随机游走,来创建节点的不同视图。 *** 作可统一表示如下:
其中,图G将两个
s
1
s_1
s1和
s
2
s_2
s2随机选择分别应用于图G,建立节点
Z
1
(
l
)
Z_1^{(l)}
Z1(l)和
Z
2
(
l
)
Z_2^{(l)}
Z2(l)的两个相关视图。我们详细说明了增强运算如下:
节点 Dropout (ND).
以ρ的概率将图中的每个节点及其连接的边丢弃。s1和s2可以建模为:
其中
M
′
M^{'}
M′、
M
′
′
M^{''}
M′′ ∈
{
0
,
1
}
∣
V
∣
{ {0, 1}}^{|V|}
{0,1}∣V∣是应用于节点集V上的两个掩码向量来生成两个子图。因此,这种增强有望从不同的增强视图中识别出有影响力的节点,并使表示学习对结构变化不那么敏感。
边 Dropout (ED).
它以dropout 概率ρ去丢弃图中的边。两个独立的过程表示为:
其中
M
1
M_1
M1、
M
2
M_2
M2 ∈
{
0
,
1
}
∣
E
∣
{ {0, 1}}^{|E|}
{0,1}∣E∣是边集E上的两个掩码向量。只有邻域内的部分连接对节点表示有贡献。因此,将这两个子图耦合在一起的目的是捕获节点局部结构的有用模式,并进一步赋予表示对噪声交互更强的鲁棒性。
随机游走(RW).
上面的两个 *** 作生成一个跨所有图卷积层共享的子图。为了探索更高的能力,我们考虑使用不同的子图来分配不同的层。这可以看作是使用随机游走为每个节点构建一个单独的子图(以图2为例)。假设我们在每一层选择边dropout(具有不同的比例或随机的种子),我们可以通过使隐向量对层级敏感来表示RW:
其中
M
1
(
l
)
M_1^{(l)}
M1(l)、
M
2
(
l
)
M_2^{(l)}
M2(l) ∈
{
0
,
1
}
∣
E
∣
{ {0, 1}}^{|E|}
{0,1}∣E∣是在第l层边集E的掩码向量。
图2:带有Edge Dropout(左)和Random Walk(右)的三层GCN模型中一个高阶连通性的小例子。与Edge Dropout相比,Random Walk中,图的结构在各层之间不断变化。因此,在节点
u
1
u_1
u1和
i
1
i_1
i1之间存在一条三阶路径,而在Edge Dropout中却不存在。
为了简单起见,我们对每一轮的图结构上应用这些增强——也就是说,我们在新一轮的训练开始时生成每个节点的两个不同视图(对于RW,每层生成两个不同的视图)。请注意,对于两个独立的过程(例如s1和s2)的dropout比和掩码比保持相同。我们在未来的工作中留下了对不同比率的调整。值得一提的是,只涉及dropout和掩码 *** 作,并且没有添加任何模型参数。
3.2 对比学习在建立了节点的增强视图后,我们将同一节点的视图作为正对(即{( z u ′ z^{'}_u zu′、 z u ′ ′ z^{''}_u zu′′)|u∈U}),将任意不同节点的视图作为负对(即{{( z u ′ z^{'}_u zu′、 z v ′ ′ z^{''}_v zv′′)|u、v∈U、u不等于v})。正对的辅助监督促进了同一节点的不同视图之间的一致性来进行预测,而负对的监督则加强了不同节点之间的差异。形式上,我们遵循SimCLR,并采用对比损失,InfoNCE,以最大化正对的一致性,并最小化负对的一致性:
式中,s(·)度量两个向量之间的相似度,设为余弦相似度函数;τ 是超参数,称为softmax中的温度。相似地,我们也得到了商品的对比损失
L
s
s
l
i
t
e
m
L^{item}_{ssl}
Lsslitem.。合并这两种损失,我们得到了自监督任务的目标函数为
为了改进SSL任务的推荐,我们利用多任务训练策略来联合优化经典的推荐任务(公式(5))和自监督学习任务(公式(10))。
其中,Θ为
L
m
a
i
n
L_{main}
Lmain中的模型参数集,因为
L
s
s
l
L_{ssl}
Lssl没有引入额外的参数;λ1和λ2分别是控制SSL和L2正则化强度的超参数。我们还考虑了备选优化—
L
s
s
l
L_{ssl}
Lssl的预训练和
L
m
a
i
n
L_{main}
Lmain的微调。更多细节见第4.4.2节。
在本节中,我们提供了对SGL的深入分析,旨在回答以下问题:推荐模型如何从SSL任务中获益?为此,我们探讨了公式(10)中的自监督损失,发现了一个原因:它具有硬负样本挖掘的内在能力,为优化提供了大而有意义的梯度,并引导了节点表示学习。在接下来的内容中,我们将一步一步地展示我们的分析。
形式上,节点u∈U的表示
z
′
u
z'u
z′u,自监督损失的梯度的形式如下:
其中,
L
s
s
l
u
s
e
r
(
u
)
L^{user}_{ssl}(u)
Lssluser(u)是公式(10)中单个节点u的单个项;v∈u{u}是另一个节点,作为节点u的负视图;c(u)和c(v)分别表示正节点u和负节点v对
z
u
′
zu'
zu′上梯度的贡献:
其中
是来自不同视图的节点u的归一化表示,节点v也类似。然后,我们重点讨论了负节点v的贡献(公式(14)),其L2范数与以下各项成正比:
由于
s
′
u
s'u
s′u和
s
′
v
s'v
s′v都是单位向量,我们可以引入另一个变量x=
s
′
u
T
s'u^T
s′uT
s
′
′
v
s''v
s′′v=’v∈[−1,1]来简化公式(15)如下:
其中,x直接反映了正节点u和负节点v之间的表示相似性。根据相似性x,我们可以大致将负节点分为两组:
(1)难负节点,(即0
为了研究难负和易负的贡献,我们分别设置 τ = 1和τ = 0.1,绘制了图3a和图3b中节点相似度x变化时的曲线。
图3:当τ=1和τ=0.1时,g(x)的函数曲线,以及最大化g(x)时的τ及其最佳位置,即,ln g(
x
∗
x^∗
x∗)和
x
∗
(
τ
)
x^∗(τ)
x∗(τ)。
显然,在不同的 τ 条件下,负节点的贡献差异明显。具体来说,如图3a所示,给定τ = 1,g(x)的值在(0,1.5)的范围内,并且随着x的变化有微小的变化。这表明,无论难或易的负样本,对梯度都有相似的贡献。相比之下,如图3b所示,当设置τ = 0.1时,难负节点g(x)值可以达到4000,而易负节点的贡献正在消失。这表明,难负节点提供了更大的梯度来指导优化,从而使节点表示更有区别性,并加速了训练过程。
这些发现启发我们探讨τ对g(x)最大值的影响。通过将g(x)的导数接近于零,我们可以得到
最大值为g(
x
∗
x^∗
x∗)。为了了解g(
x
∗
x^∗
x∗)是如何随 τ 而变化的,我们将其对数表示为:
我们分别在图3c和图3d中展示了
x
∗
x^∗
x∗和g(
x
∗
x^∗
x∗)的曲线。随着τ的减少,最有影响力的负结点变得与正结点更加相似(即
x
∗
x^∗
x∗接近0.9),此外,它们的贡献呈超-指数级放大(即
g
∗
g^∗
g∗接近
e
8
e^8
e8)。因此,正确设置τ使SGL能够自动执行难负挖掘。
值得一提的是,我们的分析受到之前研究的启发,但有以下主要区别:
(1)将难负样本定义为与正样本相似性接近于零的样本(即x≈0),将易负样本定义为明显不同的样本(即x≈−1);
(2)它放弃了x>0的区域,这在我们的例子中是至关重要的。我们创新的在x>0区域提供了一个更细粒度的视图,以突出τ,即softmax中的温度超参数,在挖掘硬负样本中起到关键作用。
在本小节中,我们以ED为策略,以LightGCN为推荐模型,分析了SGL的复杂性;其他选择也可以进行类似的分析。由于SGL没有引入可训练的参数,因此空间的复杂度仍然与LightGCN相同。模型推理的时间复杂度也是相同的,因为模型结构没有变化。在接下来的部分中,我们将分析SGL训练的时间复杂度。
假设用户-商品交互图中的节点数和边数分别为|V|和|E|。设s表示轮数,B表示每个训练的批次大小,d表示嵌入大小,L表示GCN层数,ˆρ=1-ρ 表示SGL-ED的保留率。其复杂性主要分为两部分:
- 邻接矩阵的归一化处理。由于我们为每轮生成两个独立的子图,考虑到完整训练图和两个子图的邻接矩阵中非零元素的数量分别为2|E|,2ˆρ|E|和2ˆρ|E|,其总复杂度为O(4ρˆ|E|+2|E|)。
- 评估自监督的损失。我们在分析中只考虑内积。如公式(10)中所定义的,在计算用户的InfoNCE损失时,我们将所有其他用户节点视为负样本。在一个批次内,分子和分母的复杂度分别为O( B d Bd Bd)和O( B M d {BM}d BMd),其中M为用户数。因此,每轮用户和商品的总复杂度都是O(|E|d(2+|V|))。因此,整个训练阶段的时间复杂度为O(|E|d(2+|V|)s)。降低时间复杂度的另一种方法是只将批处理中的用户(或商品)视为负样本,从而导致O(|E|d(2+2B)s)的总时间复杂度。
我们在表1中总结了LightGCN和SGL-ED之间训练的时间复杂度。
LightGCN和SGL-ED的分析复杂性实际上是一样的,因为LightGCN的增加只增加了LightGCN的复杂性。在实验中,以Yelp2018数据集为例,ˆρ为0.8的SGL-ED的时间复杂度大约是LightGCN的3.7倍,考虑到我们将在第4.3.2节中展示的收敛速度的加速,这是完全可以接受的。测试平台为Nvidia
Titan RTX显卡,Interi7-9700KCPU(32GB内存)。LightGCN和SGL-ED在Yelp2018上每轮的时间成本分别为15.2s和60.6s,这与复杂性分析一致。
为了证明SGL的优越性并揭示其有效性的原因,我们进行了广泛的实验,并回答了以下研究问题:
- RQ1:与最先进的Top-K的CF模型相比,SGL表现如何?
- RQ2:在协作过滤中自监督学习的好处是什么?
- RQ3:不同的设置对SGL的效率如何影响?
我们在三个基准数据集上进行了实验:Yelp2018、Amazon-Book和Alibaba-iFashion。我们为Yelp2018和amazon-book使用相同的10核设置。Alibaba-iFashion更稀疏,我们从中随机抽取30万用户,并使用他们的所有互动。表2总结了所有三个数据集的统计数据。
我们遵循[46]中描述的相同策略,以7:1:2的比例将交互划分为训练、验证和测试集。对于测试集中的用户,我们遵循全排名协议来评估Top-K的推荐性能,并报告平均Recall@K和NDCG@K,其中K=20。
4.1.1 基线我们将所提出的SGL与以下CF模型进行了比较:
- NGCF。这是一种基于图的CF方法,在很大程度上遵循了标准的GCN。此外,在消息传递过程中,它还将二阶特征交互编码到信息中。我们在建议的范围内调整了正则化系数λ2和GCN层数。
- LightGCN。该方法设计了一种能提高训练效率和生成能力的轻量级图卷积方法。类似地,我们调整λ2和GCN层的数量。
- Mult-VAE。这是一种基于变化的自动编码器(VAE)的基于内容的CF方法。它通过一个额外的重构目标进行优化,这可以看作是SSL的一种特殊的情况。我们遵循提出的模型设置,并调整dropout率和β。
- DNN+SSL 。这是一种最先进的基于SSL的推荐方法。以DNNs作为商品的编码器,针对商品已存在的特征,采用特征掩码FM)和特征dropout(FD)两种增强运算。在没有商品特征可用的情况下,我们将对商品的ID嵌入进行增强。我们按照原论文的建议,调整DNN结构(即层数和每层神经元数)。
我们放弃了潜在的基线,如MF[34]、MeuMF[21]、GCMC[38]和PinSage[50],因为之前的工作[19,28,46]已经验证了比较基线的优越性。在LightGCN上,我们实现了所提出的SGL的三个变体,分别为SGL-ND、SGL-ED和SGL-RW,它们分别配备了节点dropout、边dropout和随机游走。
4.1.2超参数设置为了公平比较,所有模型都从头开始训练,并使用Xavier方法(一种很有效的神经网络初始化方法)进行初始化。采用Adam优化器对模型进行优化,学习率为0.001,批次大小为2048。早期停止策略与NGCF、LightGCN相同。所提出的SGL方法继承了共享超参数的最优值。对于SGL的唯一值,我们在以下范围内分别各自调整λ1、τ 和 ρ{、0.005、0.01、0.05、0.1、0.01、0.5、0.}、0.{0.1、0.2、0.5、0.5、1.0}和{0、0、0.1、0.2、···、0.5}。
4.2性能比较(RQ1) 4.2.1 与LightGCN的比较表3显示了SGL和LightGCN的结果比较。我们发现:
- 在大多数情况下,三种SGL实现的性能大大优于LightGCN,这表明了用自监督学习来补充推荐任务的优越性。
表3:不同层与LightGCN的性能比较。LightGCN在Yelp2018和Amazon-Book上的表现是从其原始论文中复制的。括号中的百分比表示比LightGCN的相对性能改进。粗体表示最佳结果。
- 在SGL中,SGL-ED在18个结果中有10个取得了最好的性能,而SGL-RW在所有三个数据集上的表现也优于SGL-ND。我们将这些归因于边dropout *** 作有捕获图结构中固有模式的能力。此外,SGL-ED在更密集的数据集(Yelp2018和Amazon-Book)的性能优于SGL-RW,而在稀疏的数据集(Alibaba-iFashion)稍差。一个可能的原因是,在更稀疏的数据集中,ED更有可能阻止低阶节点(不活跃的用户和不受欢迎的商品)的连接,而RW可以在不同的层上恢复它们的连接,如图2所示的节点u1和i1所示。
- SGL-ND对于SGL-ED、SGL-RW相对不稳定。例如,在Yelp2018和Amazon-Book上,随着图层数的加深,SGL-ED和SGL-RW的结果就会增加,而SGL-ND则表现出不同。节点dropout可以看作是边dropout的一种特殊情况,它会丢弃几个节点周围的边。因此,丢弃高阶节点会极大地改变图的结构,从而影响信息聚合,使训练不稳定。
- Amazon-Book和Alibaba-iFashion的提升比Yelp2018年更为显著。这可能是由于数据集的特征所致。具体来说,在Amazon-Book和Alibaba-iFashion中,来自用户-商品交互的监督信号太稀疏,无法指导LightGCN中的表示学习。由于自监督任务,SGL获得了辅助监督来协助表示学习。
- 将模型深度从1增加到3,可以提高SGL的性能。这说明利用SSL可以增强基于GCN的推荐模型的泛化能力,即不同节点之间的对比学习有希望解决节点表示的过平滑问题,进一步避免过拟合问题。
在表4中,我们总结了与各种基线的性能比较。我们发现:
- (1)SGL-ED的整体表现始终优于所有基线。这再次验证了整合自监督学习的合理性和有效性。
- (2)LightGCN的性能优于NGCF和Mult-VAE,这与LightGCN论文的结果一致。在Alibaba-iFashion上,Mult-VAE性能与NGCF和LightGCN不分上下,而在Amazon-book上的表现则优于NGCF。
- (3)DNN+SSL是Amazon-Book上最强的基线,显示了SSL在推荐中的巨大潜力。令人惊讶的是,在其他数据集上,DNN+SSL的性能比SGL-ED要差得多。这表明,在ID嵌入上直接使用SSL可能是次优的,比图表示上使用要差。此外,我们还进行了显著性验证,p值<0.05表明SGL-ED比最强基线的改进是显著的。
在本节中,我们将从三个维度来研究SGL的好处:
- (1)长尾推荐;
- (2)训练效率;
- (3)对噪声的鲁棒性。
由于空间有限,我们只报告了SGL-ED的结果,而在其他方面也有类似的观察结果。
4.3.1长尾推荐。
如引言所述,基于GNN的推荐模型很容易出现长尾问题。为了验证SGL是否有希望解决这个问题,我们根据受欢迎程度将商品分为10组,同时保证每一组的交互总数不变。GroupID越大,商品的度就越大。然后,我们将整个数据集的Recall@20指标分解为单个组的贡献,如下所示。
其中,M为用户数,
l
r
e
c
u
l^u_{rec}
lrecu和
l
t
e
s
t
u
l^u_{test}
ltestu分别是用户u测试集中的前k个商品推荐列表和有关的商品。因此,
R
e
c
a
l
l
(
g
)
Recall^{(g)}
Recall(g)衡量了第g组的推荐性能。我们在图4中报告了结果,并发现:
图4:SGL-ED和LightGCN之间不同商品组的性能比较,图中的后缀表示GCN的层数。
- LightGCN倾向于推荐高阶商品,而让长尾商品减少暴露。具体来说,虽然只包含0.83%、0.83%和0.22%的商品空间,但在三个数据集中分别占总召回分数的39.72%、39.92%和51.92%。由于稀疏的交互信号,LightGCN很难学习长尾商品的高质量表示。我们的SGL显示了缓解这一问题的潜力:在三个数据集中,10组的贡献分别下调到36.27%、29.15%和35.07%。
- 共同分析表3和图4,我们发现SGL的性能提升主要来自于准确推荐具有稀疏交互的商品。这再次验证了表示学习从辅助监督中获益良多,从而比LightGCN更好地建立这些商品的表示。
自监督学习在预训练自然语言模型和图结构方面具有优越性。因此,我们想研究其对训练效率的影响。图5显示了SGL-ED和LightGCN在Yelp2018和Amazon-Book上的训练曲线。随着轮数的增加,上面的图显示了训练损失的变化,下面的图测试集中的性能变化。我们有以下观察:
图5:三个数据集在SGL-ED和LightGCN上的训练曲线。图中的后缀是图的层数。
- 显然,在Yelp2018和Amazon-Book上,SGL比LightGCN的收敛速度要快得多。特别是,SGL在第18和第16轮达到最佳性能,而LightGCN在这两个数据集中分别需要720和700轮。这说明我们的SGL可以大大减少训练时间,同时取得了显著的改进。我们把这种加速归因于以下两个因素:
- (1) SGL采用InfoNCE损失作为SSL目标,使模型能够从多个负样本中学习表示,而LightGCN中的BPR损失只使用一个负样本,这限制了 模型的感知领域。
- (2)如第3.4节所分析的,使用适当的 τ ,SGL受益于动态的难负样本挖掘,其中难负样本提供了有意义的和更大的梯度来指导优化。
- 另一个观察结果是,BPR损失的快速下降期的起源略晚于Recall的快速上升期。这表明在BPR损失和排序任务之间存在差距。我们将在今后的工作中对这一现象进行深入的研究。
我们还进行了实验来检验SGL对噪声交互的鲁棒性。为此,我们通过添加一定比例的对抗样本(即5%、10%、15%、20%的负用户-商品交互)来污染训练集,同时保持测试集不变。图6显示了Yelp2018和Amazon-Book数据集上的结果。
图6:关于噪声比的模型性能。柱状图表示召回率,折线表示性能下降的百分比。
- 显然,添加噪声数据会降低SGL和LightGCN的性能。但SGL的性能下降幅度低于LightGCN,而且随着噪声比例的增加,两个下降曲线之间的差距更大。这表明,通过比较不同的节点增强视图,SGL能够找到有用的模式,特别是节点的信息图结构,并减少对某些边的依赖。简言之,SGL提供了一个不同的角度来消除推荐中错误的交互。
- 对于Amazon-Book,具有20%附加噪声交互的SGL的性能仍然优于具有无噪声数据集的LightGCN。这进一步证明了SGL相对于LightGCN的优越性和鲁棒性。
- 我们发现SGL在Yelp2018上更健壮。可能的原因可能是Amazon-book比Yelp2018要稀疏得多,并且添加噪声数据对Amazon-book的图结构的影响比Yelp2018的影响更大。
我们继续研究SGL中的不同设计。我们首先研究了超参数 τ 的影响。然后,我们探讨了采用SGL作为现有的基于图推荐模型的预训练的潜力。最后,我们研究了负例对SSL目标函数的影响。由于空间限制,我们省略了iFashion的结果,它与Yelp2018和Amazon-book有相似的趋势。
4.4.1 温度τ的影响如第3.4节所述,τ在难负样本挖掘中起着关键作用。图7显示了关于不同的 τ时 模型性能的曲线。
图7:调整 τ 时的模型性能。
我们可以看到:
(1)增加 τ 的值(例如,1.0)将导致较差的性能,而且需要更多的训练轮次来收敛,这缺乏区分难负样本和易负样本的能力。
(2)相比之下,**将 τ 固定在一个太小的值(例如,0.1)会降低模型的性能,因为少数负样本的梯度主导了优化,失去了在SSL目标中添加多个负样本的优势。**简言之,我们建议在0.1∼1.10范围内使用 τ 。
4.4.2 预训练的影响
上述实验表明了SGL的有效性,其中主监督任务和自监督任务被联合优化。在这里,我们想回答这样一个问题:推荐性能能从预先训练过的模型中获益吗?为此目标,我们首先对自监督任务进行预训练,以获得模型参数,利用这些参数初始化LightGCN,然后通过优化主任务对模型进行微调。我们将该变体称为SGL-pre,并在表5中显示了与SGL的比较。显然,尽管SGL-pre在两个数据集上的表现都不如SGL-ED,但SGL-pre的结果仍然优于LightGCN(cf。表3)。我们的自监督任务能够为LightGCN提供更好的初始化,这与之前研究的观察结果一致。然而,联合训练的更好性能表明,主任务和辅助任务的表示彼此之间相互增强。
4.4.3 负采样的影响
此外,我们还研究了在辅助任务中对负样本的选择的影响。考虑了两种变体:
(1)SGL-ED-batch,为了区分节点类型,并将小批次中的用户和商品分别视为用户和商品的负视图。
(2)SGL-ED-merge,将小批次中的节点视为负视图,而不区分节点类型。我们在表5中报告了这些比较。
SGL-ED-batch的性能优于SGL-ED-merge,这表明需要区分异构节点的类型。此外,SGL-ED-batch与将整个用户和商品视为负样本的SGL-ED结果差不多。这表明,在小批次处理中训练SSL任务是一种有效的方法。
在本节中,我们分别回顾了与我们的工作相关的两个任务:基于图的推荐和自监督学习。
5.1 基于图的推荐以往关于基于图的推荐的研究可以分为模型-级方法和图-级方法。模型级的方法主要用于挖掘用户-商品图的模型设计。研究的关注点已经从将图结构编码为转换概率的随机行走,发展到在图上传播用户和商品嵌入的GCN。最近,基于GCN的推荐模型引入了注意力机制,该模型学习权衡邻居,以获取信息更丰富的用户-商品交互。图级方法也引起了人们的关注,它通过考虑用户-商品交互之外的边信息来丰富用户-商品图,比如用户社交关系[1,32,53],商品共现[2],用户、商品属性。最近,知识图谱(KG)也与用户商品图相结合,可以考虑项目之间链接的详细类型。
尽管在这些方法上付出了巨大的努力,但所有现有的工作都采用了监督学习的范式来进行模型训练。本研究探索了自监督学习,为基于图的推荐开辟了一条新的研究方向。
5.2 自监督学习对自监督学习的研究大致可以分为两个分支:生成模型和对比模型。自动编码器是最流行的生成模型,它可以学习重构输入数据,其中可以有意地添加噪声,以增强模型的鲁棒性。对比模型通过噪声对比估计(NCE)作为比较目标,可以采用全局-局部对比或全局-全局对比方式。前者侧重于对样本的局部部分与其全局上下文表示之间的关系进行建模。然而后者直接在不同的样本之间进行比较,这通常需要样本的多个视图。SSL也可以应用于图数据上。例如,InfoGraph和DGI根据节点与局部结构之间的互信息来学习节点表示。此外,胡等人。扩展了学习GCN用于图表示的思想。此外,Kaveh等人采用对比模型同时学习节点和图表示,将从一个视图出发的节点表示与从另一个视图出发的图表示进行对比。此外,GCC利用样本鉴别器作为图结构信息预训练的辅助任务。这些研究集中在一般图上,而不考虑二部图的固有性质。
据我们所知,迄今为止,将SSL与推荐相结合的工作非常有限。最近的一个方法是序列推荐的 S 3 S^3 S3-Rec[55],它利用互信息最大化原则来学习属性、商品、子序列和序列之间的相关性。另一个尝试是,Self-supervised Learning for Deep Models in Recommendations[49]也采用了具有SSL的多任务框架。然而,它与我们的工作不同:(1)[49]使用双塔DNN作为编码器,而我们的工作阐明了基于图的推荐,并设计了图结构上的三个增强运算。(2)[49]利用分类元数据特征作为模型输入,而我们的工作考虑的是一个更普遍的协作过滤设置,只有ID作为特征。
6 结论及未来工作
在这项工作中,我们认识到了在一般的监督学习范式下,基于图的推荐的局限性,并探讨了SSL在解决这些局限性方面的潜力。特别地,我们提出了一个框架SGL,使用用户-商品图上的自监督学习来补充监督推荐任务。从图结构的角度出发,我们从不同的方面设计了三种类型的数据增强来构建辅助对比任务。我们在三个基准数据集上进行了广泛的实验,证明了我们的推荐模型在长尾推荐、训练收敛性和对噪声交互的鲁棒性方面的优势。
这项工作代表了使用自监督学习进行推荐的初步尝试,并开辟了新的研究可能性。在今后的工作中,我们希望使SSL更加适合执行推荐任务。除了图结构上的随机选择之外,我们计划探索新的视角,如反事实学习来识别有影响的数据点,以创建更强大的数据增强。此外,我们将重点关注推荐中的预训练和微调,也就是说,通过预训练一个模型,使该模型可以捕捉到用户在多个领域或数据集上的普遍和可传递模式,并在即将到来的领域或数据集上对其进行微调。另一个有希望的方向是实现SSL解决长尾问题的潜力。我们希望SGL的发展有利于提高推荐模型的泛化和可转移性。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)