self-supervised glr

sigir2021

摘要:

对于推荐来说,用户-商品图的表示学习已经从使用单个id或交互历史发展到利用高阶邻居,导致了GCN的成功推荐。但是仍存在两个局限性:

1.热门商品对表示学习有很大的影响,恶化了冷门商品的推荐。

2.邻域聚合方案进一步扩大了观察边的影响,因此表示容易受到噪声交互的影响。

在本研究中,探索了在用户-商品图上的自监督学习,以提高GCN推荐的准确性和鲁棒性。(该思想是用一个辅助的自监督任务来补充经典的推荐监督任务,通过自鉴别器来强化节点表示学习)。

具体来说:我们生产了一个 节点的多个视图,最大化同一个节点不同视图表示之间的相似性,最小化不同节点表示之间的相似性。

我们设计了三个操作来生成视图(节点dropout,边dropout和随机游走)以不同的方式改变图的结构。我们将这种新的学习范式成为自监督图学习(SGL),并在lightgcn上实现。我们发现SGL具有自动挖掘难负样本(即容易将负样本看成正样本的那些样本)的能力。实验证明提高了推荐精度,尤其是对冷门商品,以及对交互噪声的鲁棒性。

介绍:

从交互数据中学习高质量的用户和商品表示是协同推荐的主要任务。矩阵分解:将每个用户的单个id投影到一个嵌入向量中。一些后续研究用交互历史丰富了单一id,以学习更好的表示。GCN提供了一种端到端方法,将多跳邻居集成到节点表示学习中,并实现了最先进的推荐性能,但是GCN的模型仍存在一些局限性:

1.稀疏的监督信号。大多数模型在监督学习范式下处理推荐任务,其中监督信号来自于观察到的用户-商品交互。然而与整个交互空间相比,观察到的交互是非常稀疏的,不足以学习高质量的表示。

2.链式的数据分布。观察到的交互作用通常表现为幂律分布(长尾分布),其中长尾由于缺乏监督信号的冷门商品组成。相比之下,热门商品在邻域聚合和监督损失中出现的更频繁,因此对表示学习的影响很大。GCN很容易偏向于热门商品,从而忽略了冷门商品。

3.交互中的噪声。用户提供的大多数反馈是隐式的(例点击,浏览),而不是显式的(例评分,喜欢、不喜欢)因此,观察到的交互通常包含噪声,用户误点一个商品,并在使用后发现无趣。GCN中的邻域聚合扩大了交互对表示学习的影响,使学习更容易受到交互噪声的影响。

在这项工作中,重点探索自监督学习(SSL)的推荐。其想法是设置一个辅助任务,从输入数据本身提取额外的信号,特别是通过利用未标记的数据空间。与监督学习相比,SSL允许我们通过对输入数据进行更改来利用未标记的数据空间,在下游任务中取得了显著的改进。

我们希望引入SSL的优势到推荐表示学习,我们构建了辅助任务来区分节点自身的表示。具体来说,它由两个关键部分组成:

1.数据增强,为每个节点生成多个视图。

2.对比学习,与其他节点相比,最大化同一节点不同视图之间的一致性。

对于用户-商品图上的GCN,图结构作为输入数据,对学习起着至关重要的作用。通过改变图邻接矩阵来构造“未标记”数据空间是很自然的,为此,我们开发了三个操作:节点dropout,边dropout,随机游走。然后对改变后的结构进行基于GCN的对比学习。因此SLG通过探索节点间的内部关系来增强节点表示学习。

从概念上讲,我们的SGL补充了现有的基于GCN的推荐模型:

(1)节点自鉴别器提供了辅助监督信号,这是对仅从观察到的交互作用的经典监督的补充。
(2)增强操作,特别是边dropout,通过有意降低热门商品的影响,帮助减轻度偏差;
(3)对于节点的多个视图,不同的局部结构和邻域增强了模型对相互作用噪声的鲁棒性。
最后但并非最不重要的是,我们对对比学习范式进行了理论分析,发现它具有挖掘难负样本的附加作用,不仅提高了性能,而且加速了训练过程。 值得一提的是,我们的SGL是与模型无关的,可以应用于任何由用户或商品嵌入组成的基于图的模型。这里我们在简单而有效的模型LightGCN上实现它。在三个基准数据集上的实验证明了SGL的有效性,明显提高了推荐精度,特别是在长尾商品上,并提高了对交互噪声的鲁棒性。我们总结了这项工作的贡献如下:
我们设计了一种新的学习范式SGL,它将节点自识别作为自监督任务,为表示学习提供辅助信号。
除了减轻度偏差和增加对交互噪声的鲁棒性外,我们还在理论上证明了SGL的本质。我们在理论上证明,SGL本质上激励从难负样本中学习,由softmax损失函数中的温度超参数控制(温度参数T: T越大,结果越平滑,T越小,结果越尖锐)。
 

2.准备工作

我们首先总结了基于GCN的协同过滤模型的通用范例。设U和I分别是用户和商品的集合,O+ ={undefined yui|u∈U,i∈I}是观察到的交互,其中yui表示用户u以前已经交互了商品i。大多数现有的模型构造了一个二部图G=(V,E),其中节点集V=U∪I包含了所有用户和商品,边集E=O+表示观察到的交互。

回顾GCN,其核心是在G上进行邻域聚合,通过聚合邻域节点的表示来更新自我节点的表示。

监督学习损失:

一个预测层建立在最终表示的基础上,以预测用户u购买商品i的可能性。经典的方案就是内积。

总结:文章认为当前的推荐算法往往是基于GCN的结构监督学习,更侧重于网络中度数高(即发生交互多)的节点而忽视了低度数节点,此外还容易收到交互噪声的影响。因此文章将自监督学习self-supervised learning引入到图结构数据上,提出了SGL框架,通过利用节点舍弃,边舍弃,随机游走的三种方法,为同一节点生成不同视图,从而达到在原有数据上的增强,进一步提高了推荐算法的稳健性和效果。

3.方法

我们提出了自监督图学习(SGL)范式,它将主监督任务与自监督学习相叠加。图1显示了SGL的工作流程。具体来说,自监督任务(也称为假象任务或辅助任务)是从输入数据的相关性中构造监督信号。

具体来说,我们介绍了如何执行生的表成多个表示视图的数据增强,然后基于生成示进行对比学习来构建辅助任务。将SSL与经典的GCN以多任务学习的方式相结合。然后,我们从梯度水平上对SSL进行了理论分析,揭示了其与难负样本挖掘的联系。最后,我们分析了SGL的复杂度。

SGL的整体系统框架。上层说明了主监督学习任务的工作流程。下层显示了图结构增强的SSL任务的工作流程。

3.1 利用自监督学习对图结构进行数据增强

具体来说,第一跳邻居直接描述了用户或商品节点,例如,用户的历史商品(或商品的交互用户)可以视为用户(或商品)的预先存在的特性。用户(或商品)的二跳相邻节点显示相似的用户行为(或类似的商品)。此外,从用户到商品的高阶路径反映了用户对该商品的潜在兴趣。毫无疑问,挖掘图结构中的固有模式有助于表示学习。因此,我们在图结构上设计了三个操作,节点dropout、边dropout和随机游走,来创建节点的不同视图。

文章小部分地改变图结构,为每个节点生成多个视图,在训练过程中,促使属于同一节点视图生成的嵌入向量更加接近,而非同意节点的向量更加偏离。具体的,算法每次为每个节点额外多生成两个视图,Z1,Z2:

其中,将在图G上进行两个随机选择s1,s2,建立节点Z1,Z2的两个相关视图。H为与GCN相似的聚合函数,s表示对图结构进行的不同调整。我们详细说明了增强运算如下:

节点dropout(ND)

以概率p将图中的每个节点及其连接的边丢弃。s1,s2可以建模为:

其中是应用于节点集V上的两个掩码向量来生成两个子图。(使用M为掩码向量,通过将某个节点对应位置上的掩码设置为0,即在图中屏蔽了该节点)因此,这种增强有望从不同的增强视图中识别出有影响力的节点,并表示学习对结构变化不那么敏感。

边dropout(ED)

以概率p丢弃图中的边。两个独立的过程表示为:

其中 是边集E上的两个掩码向量。只有邻域内的部分连接对节点表示有贡献。因此将这两个子图耦合在一起的目的是捕获节点局部结构的有用模式,并进一步赋予表示对噪声交互更强的鲁棒性。

随机游走(RW)

ND,ED两个操作生成一个跨所有图卷积层共享的子图。为了探索更高的能力,我们考虑使用不同的子图来分配不同的层。这可以看作是使用随机游走为每个节点构建一个单独的子图。假设我们在每一层选择ED(具有不同的比例或随机的种子),我们可以通过使隐向量对层级敏感来表示RW:

ED,ND都是在同一层中生成不同子图,而随机游走则是为不同层分配不同子图(即同层使用同一游走结果)

 

图2:带有Edge Dropout(左)和Random Walk(右)的三层GCN模型中一个高阶连通性的小例子。与Edge Dropout相比,Random Walk中,图的结构在各层之间不断变化。因此,在节点u1,i1之间存在一条三阶路径,而在Edge Dropout中却不存在。

随机游走与上述两种舍弃方法是可以共存的,因此节点在不同层拥有不同的图结构,在同一层在经过节点或边的舍弃得到两个不同的视图。

 

其中 是在第l层边集E的掩码向量。

3.2对比学习

在为每个节点生成两个不同的视图之后,算法将这两个视图衍生的嵌入向量(同一节点的视图)视为正样本对,将其他不同的节点视为负样本对。正对的辅助监督促进了同一节点的不同视图之间的一致性来进行预测,而负对的监督则加强了不同节点之间的差异。我们遵循SimCLR,采用对比损失InfoNCE,那么自监督学习的优化目标即正样本对中的两个嵌入向量尽可能相似,最小化负对的一致性有:
 

其中z'和z‘’代表两个视图的嵌入向量,函数s()用于计算向量间的相似度,设为余弦相似度函数;T为超参,成为softmax中的温度。值得注意的是,在推荐算法中,用户和商品的节点向量要分开考虑,因此自监督学习的损失函数应为上述用户和商品损失函数的加和。

3.3多任务训练

为了改进SSL任务的推荐,我们利用多任务训练策略来联合优化经典的推荐任务(公式5和公式10)自监督学习是用于增强推荐算法稳健性和效果的通用性框架,因此除自监督的优化目标外,整体的损失函数还需要考虑推荐的优化目标。

 main指的是即任意推荐算法的核心推荐损失函数,自监督损失和罚项通过不同的超参数进行调节。

4.实验

我们在三个数据集上进行了实验:Yelp2018,amazon-book,alibaba-ifashion。

以7:1:2的比例将交互划分为训练,验证和测试集。对于测试集的用户,遵循全排名协议来评估top-k的推荐性能。K=20

对比算法:NGCF;LightGCN;Mult-VAE(一种基于变化的自动编码器(VAE)的基于内容的CF方法);DNN+SSL(一种最先进的基于SSL的推荐方法)

与lightgcn的性能比较。

1.SGL模型取得好的性能,我们将这些归因于边dropout操作有捕获图结构中固有模式的能力。SGL-ED在密集的数据集效果更好,可能是因为ED更有可能阻止低阶节点的连接,而RW可以在不同的层上恢复他们的连接。 

 2.ND相对于其他的不稳定。随着层数的增加,ND的变化不同。节点dropout可以看作是边dropout的一种特殊情况,它会丢弃几个节点周围的边。因此,丢弃高阶节点会极大的改变图的结构,影响信息的聚合,使得训练不稳定。

3.模型深度的增加,SGL的性能也在提高。说明:利用SSL可以增强基于GCN的推荐模型的泛化能力,即不同节点之间的对比学习有希望解决节点表示的过平滑问题,进一步避免过拟合。

与最先进的技术进行比较

SGL带来的三个好处:1.长尾训练;2.训练效率,3.对噪声的鲁棒性。 

 1.长尾训练:SGL的性能提升主要来自于准确推荐具有稀疏交互的商品,这再次验证了表示学习从辅助监督中获益良多。

2.训练效率:SGL在yelp和amazon-book上第18,16轮达到最佳性能,而lightgcn在720,700轮才达到最佳,说明SGL可以大大减少训练时间,同时取得了显著的改进。

3.对噪声的鲁棒性:通过添加一定噪声来验证。通过对比不同的节点增强视图,SGL能够找到有用的模式,特别是节点的信息图结构,并减少对某些边的依赖。简而言之,SGL提供了一个不同的角度来消除推荐中错误的交互。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值