©作者 | 顾舒贇
单位 | 北邮GAMMA Lab
来源 | 北邮GAMMA Lab
论文标题:
Self-supervised Graph Neural Networks for Multi-behavior Recommendation
收录会议:
IJCAI 2022
http://shichuan.org/doc/134.pdf
https://github.com/GuShuyun/S-MBRec
个性化推荐系统在现在的网络平台(或应用)中已经得到了广泛的应用,已解决它们面对的信息过载的问题。大多数推荐模型都是基于单一行为(称为单一行为推荐模型)设计的,即用户和项目之间的一种关联。
例如,如下图 a 所示,在构建推荐模型时只使用购买行为。然而,在真实场景中,用户行为通常不止一种。例如,如下图 b 所示,除了购买行为外,单击并添加到购物车也可以在一定程度上反映用户的偏好。我们通常将购买行为视为目标行为,其他类型的行为视为辅助行为。近年来,越来越多的研究发现,仅仅利用购买行为是远远不能令人满意的,而辅助行为在帮助预测目标行为方面具有巨大的潜力。
为了充分利用这些不同类型的行为,近年来出现了一些多行为推荐模型。一种简单的方法是直接建模所有类型的行为,并应用单一行为推荐模型,而不考虑行为之间的差异。为了区分不同行为的语义,一些工作将不同的可学习权重分配给不同的边缘,以建模行为的重要性。此外,最近的一些研究为每个行为提供了一种嵌入表示,它可以配合节点嵌入来参与图卷积运算。(相关工作原文可见)
尽管取得了成功,但这些模型仍面临以下缺点。首先,他们主要关注有效融合多种行为,并捕捉这些行为的差异。然而,他们大多忽略了利用这些行为的共性,这对推荐性能也非常重要。例如,如上图(b)所示,通过目标行为购买与用户 u3 关联的项目和与添加到购物车的辅助行为关联的项目之间必须存在差异,这会导致用户对它们的不同行为。但同时,这些项目通过任何行为连接到用户 u3,因此它们对 u3 也有某些共性(例如,相同的样式或价格区间)。
这些共性可以反映用户在不同行为中的总体偏好,这些偏好通常对用户是否进行目标行为(例如购买)起决定性作用。因此,我们需要挖掘目标行为与其他行为之间的共性,并将这些共性整合到目标行为中,以提高目标行为下嵌入的质量,从而达到更高精度的推荐效果。因此,如何捕捉目标行为和辅助行为之间的共性是一个重要但尚未深入探讨的问题。
其次,大多数推荐模型都是基于监督范式的,用户和项目之间观察到的目标行为通常被视为监督信号。然而,稀疏监督信号不能保证图形学习的质量。即使有多种行为,上述问题仍然存在。为了解决这一问题,人们在单行为推荐方面做了一些努力,将单行为图分成两个视图进行对比学习。然而,这些方法不能直接应用于多行为推荐,因为它们忽略了辅助行为对目标行为的影响,放弃了它们的协同作用。因此,在多行为推荐领域,开发一种新的方案来解决这一问题显得尤为重要。
在本文中,我们提出了一个新的模型 S-MBRec,这是一个 多行为推荐模型 ,它从两种任务的角度考虑了多个行为的差异和共性,并且可以有效地缓解稀疏监督信号的问题。具体来说,对于每个行为,我们都执行 GCN 来了解用户和项目嵌入。为了区分不同行为的重要性,我们考虑了监督任务,并使用自动学习权重来聚合多个行为下的嵌入。同时,考虑到多种行为之间的共性,并有效地缓解了数据稀疏的问题,我们提出了一种星型对比学习任务,该任务只在目标和每个辅助行为之间进行对比学习。最后,我们共同优化这两项任务。
我们将这项工作的贡献总结如下:
1. 在多行为推荐场景的基础上,与以往区分不同类型行为的工作不同,我们首先努力研究如何保持它们的共性,同时解决数据稀疏问题。
2. 我们提出了一个新的多行为推荐模型 S-MBRec,该模型由监督和自监督学习任务组成。特别是,我们设计了一种星型对比学习策略,分别为目标和每个辅助行为子图构建了一个对比视图对。
3. 在三个真实数据集上验证了我们的 S-MBRec 模型的有效性,这证明我们的模型与其他基线相比提高了推荐性能。
2.1 问题定义
我们定义图
,其中
是顶点集,由用户节点
和物品节点
组成。
中的边是
中的用户项交互边。假设
有用户和项目之间的行为,把第
种行为表示为
。同时,
和所有的节点可以组成一个子图
,它可以用一个矩阵
表示。我们假设第一个行为是目标行为,而其他
种行为是辅助行为。我们的目标是在各种行为的帮助下,预测目标行为下用户和项目之间交互的可能性。
2.2 整体框架
从框架图可以看出,我们首先拆分多行为图的子图,并对每个子图执行 GCNs 操作,以获得每个行为子图下的节点嵌入。然后我们设置了两个任务:自适应监督任务和星型自监督任务。
在监督任务中,为了区分不同行为的重要性,捕捉嵌入之间的差异,我们引入了自动学习权重系数来融合每个行为下的嵌入,并使用监督损失函数来控制该任务。在自监督任务中,为了捕捉目标和辅助行为之间的共性,缓解数据稀疏性,我们对目标行为子图和每个辅助行为子图进行对比学习,形成星形对比结构,然后使用多个对比学习损失函数来控制该任务。最后,我们共同优化了这两项任务。
首先,我们需要了解每个子图(行为)下用户和项目的嵌入表示。对于第
个行为的子图
,我们可以根据交互矩阵
得到邻接矩阵
:
然后我们可以得到 GCN 的多层消息传播公式,如下所示:
其中
是带有自循环的归一化矩阵,其中
是在第
个行为下的
的度矩阵,并且
,
是
的单位矩阵。
是节点在第
层卷积第
种行为下的嵌入矩阵,
表示嵌入的维度。
和
分别代表模型中可学习的权重参数和非线性激活函数。
为了确保近程邻居节点对生成的嵌入贡献更大,我们使用函数
合并所有层的结果,如下所示:
其中
。
由用户的嵌入矩阵
和物品的嵌入矩阵
组成。
操作常见的设计有“只去最后一层”、“拼接”、“加权和”
在本节中,我们将不同行为下的节点表示与自动学习权重系数相结合,该权重系数考虑了不同类型行为的数量和影响强度,以便自动区分多个行为的强度。最后,我们使用监督学习损失函数来控制该模块的优化,从而提高目标行为下相关用户和项目的嵌入相似度。
首先,我们为用户
的第
个行为设计了一个语义融合系数
,其中不仅需要考虑用户
的第
个行为在所有行为中的比例,还需要识别不同行为(对于所有用户)的强度,如下所示:
其中,
被视为行为
的强度权重,该权重对所有用户都是相同的,并且在模型中具有自动学习的能力。
是用户
在行为
下的关联数。
我们得到了行为
下的嵌入矩阵
和
,其中用户
和项目
的嵌入分别用
和
表示。然后我们将合并所有行为下的表示。对于用户
,使用
行为的系数
,我们可以整合所有行为,生成用户
的最终表示,如下所示:
其中
和
是神经网络的权重和偏差。然而,由于项目的特征是静态的,因此项目的多个行为之间的融合不同于用户的融合。因此,我们可以通过串联操作将不同行为下的物品
表示组合起来,如下所示:
其中
,
是多层感知器(MLP),
表示
向量之间的串联操作。
为了优化当前模块,我们使用了成对贝叶斯个性化排序(BPR)损失,这使得关联节点之间的相似度高于非关联节点之间的相似度。BPR损失函数如下:
在本节中,我们将介绍自监督学习任务。假设存在
种行为,我们通常需要对任意两种行为进行对比学习,即存在
对比学习对和复杂性将为
。然而,考虑到主要目标是捕捉目标和辅助行为之间的关系,我们提出了一种星型对比结构,即我们只需要在目标和每个辅助行为子图之间进行对比学习。通过这种方式,我们可以捕捉这些多种行为的共性,并使用它们来增强嵌入在目标行为下的表示能力。
到目前为止,我们已经通过 GCNs 在等式(3)中获得了每个子图下的用户和项的嵌入。对比学习的一个非常重要的步骤是选择合理的正面和负面例子。大多数实践是,正对强调同一节点的不同视图之间的一致性,而负对强调不同节点之间的差异。然而,在目标行为下具有类似关联信息的用户(或项目)也应被视为积极的例子。因此,我们引入点态互信息
(
)
来计算目标行为下两个用户(或项目)之间的相似性。用户 PMI 计算如下:
其中
是和用户
交互的物品集数量,
是用户
和
都关联的物品集数量。通过这种方式,可以计算目标行为下任意两个用户的相似性。在保留传统正对选择方案的基础上,我们规定相似度高于阈值t的用户也可以作为正对使用。项目
计算方法与用户一致。对于负面例子的选择,我们采用了随机选择的策略。
在找到正例和负例后,我们采用对比损失,即
,来最大化正例对的一致性,最小化负例对的一致性。当第一目标行为和辅助行为
,
,
进行对比学习时,损失函数如下:
其中
是正例,
是负例。
是一个超参数,叫做温度系数。类似地,我们可以得到另一个对比损失
。通过组合用户和项目下的所有损失函数,可以得到自监督任务的损失函数,如下所示:
为了将以上两项任务结合起来,我们共同优化了推荐模型,如下所示:
其中中,
表示两个任务中的所有可训练参数;
和
分别是控制自监督任务和
正则化比例的超参数。
我们进行了大量实验,并记录了实验结果,如表 2 所示。为了全面评估结果,我们在实验中分别取 N=10、40 和 80。从表 2 中,我们总结了以下观察结果:
首先,表 2 显示,我们的 S-MBRec 模型始终优于所有基线。我们的模型在贝贝数据集上的平均改善率约为 14.1
,在淘宝数据集上的平均改善率约为 20%,在 Yelp 数据集上的平均改善率约为 15.4%。S-MBRec 与基线模型最大的区别在于,我们不仅需要区分不同行为的重要性,还需要提高目标和辅助行为子图下节点表示的相似性,因此我们认为捕捉目标和辅助行为之间的共性可以提高推荐效果。
同时,由于监督信号稀疏的问题,所有的基线模型都是基于监督任务进行训练的。因此,我们的模型可以通过在多个行为中引入星型自我监督任务来很好地缓解这个问题。第二,多行为模型的性能一般优于单一行为模型,这充分反映了添加辅助行为丰富了语义,对预测目标行为有积极作用。与最佳单行为方法(LightGCN)相比,我们的模型在贝贝数据集、淘宝数据集和 Yelp 数据集上的平均改进率分别为 53.9%、102.2% 和 76.5%,也很好地验证了上述结论。
为了更充分地验证我们模型功能的完善性,我们进行了以下消融实验。首先,我们探讨了辅助行为的影响。为了探索每个辅助行为在我们的模型中的重要性,我们移除了每个辅助行为,然后测试了实验结果。
如图 3 所示,以 Beibei 和 Yelp 数据集为例,我们分别删除了每个辅助行为,实验结果明显低于我们的完整模型。通过对实验结果的分析,我们发现不同的辅助行为对目标行为的预测结果有不同的影响。例如,在 Beibei 数据集中,删除添加到购物车行为的预测精度远低于删除视图行为的预测精度,这表明添加到购物车行为对用户的目标行为有更大的影响。其次,我们探讨了这两项任务在我们的模型中的重要性。我们分别移除它们,然后比较实验结果。
如图 4 所示,以 Beibei 和 Yelp 数据集为例,我们发现移除监督任务后,实验结果下降更显著。因此,我们可以得出结论,在我们的模型中,两个任务都扮演着重要的角色,其中监督任务的效果更为明显。同时,新增加的自我监督任务也可以在提高整体效果方面起到关键的辅助作用。
由于我们的模型使用等式(13)中的超参数
联合优化了有监督和自监督任务,我们首先探索了
对模型性能的影响。此外,我们还分析了式(11)中温度系数
的影响。这两个参数的变化趋势如图 5 所示。
首先,我们在 {0.05,0.1,0.2,0.3,0.5,1.0} 中调整
,然后检查相应的结果。如图 5(a)所示,当
≤ 0.1,实验结果明显不令人满意,这是因为自我监督任务的比例相对较小,其作用可以忽略。随着
从 0.1 增加到 0.2,可以看出实验结果有了很大的改善,这表明两项任务的比例逐渐合理。当
≥ 0.2时,实验结果呈下降趋势,说明自我监督任务的比例过大,降低了传统监督任务的影响。综上所述,在我们的模型中,这两个任务扮演着不同的角色,其中监督任务的比例更大。
接下来,我们分析了实验结果随式(11)中不同参数
的变化。
控制式(11)中嵌入相似性的平滑度。我们在三个数据集上进行实验,并将其调整为{0.05,0.1,0.2,0.5,0.8,1.0}。如图 5(b)所示,随着
接近 0.1,实验结果逐渐改善。当
大于 0.1 时,实验结果随
的增大而逐渐减小。显然,
=0.2 是我们模型的最佳选择。事实上,当
的值很小时,相似度会很高,而当τ较大时,相似度会很平滑。可以看出,设置
=0.2 可以确保适当的相似性平滑度。
在这项工作中,我们提出了一个名为 S-MBRec 的新模型,这是一个多行为推荐模型,从两类任务的角度考虑了多个行为的差异和共性,并可以与各种类型的行为数据进行协作,以有效缓解稀疏监督信号的问题。我们进行了综合实验,结果表明,该方法在三个数据集上提高了推荐的性能。
如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。
总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。
PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读 ,也可以是学术热点剖析 、科研心得 或竞赛经验讲解 等。我们的目的只有一个,让知识真正流动起来。
📝 稿件基本要求:
• 文章确系个人原创作品 ,未曾在公开渠道发表,如为其他平台已发表或待发表的文章,请明确标注
• 稿件建议以 markdown 格式撰写,文中配图以附件形式发送,要求图片清晰,无版权问题
• PaperWeekly 尊重原作者署名权,并将为每篇被采纳的原创首发稿件,提供业内具有竞争力稿酬 ,具体依据文章阅读量和文章质量阶梯制结算
📬 投稿通道:
• 投稿邮箱: hr@paperweekly.site
• 来稿请备注即时联系方式(微信),以便我们在稿件选用的第一时间联系作者
• 您也可以直接添加小编微信(pwbot02 )快速投稿,备注:姓名-投稿
△长按添加PaperWeekly小编
🔍
现在,在「知乎」 也能找到我们了
进入知乎首页搜索「PaperWeekly」
点击「关注」 订阅我们的专栏吧