Knowledge-Adaptive Contrastive Learning for Recommendation

Knowledge-Adaptive Contrastive Learning for Recommendation(WSDM2023)

摘要

通过对用户-项目交互和知识图(KG)信息进行联合建模,基于知识图谱的推荐系统在缓解数据稀疏和冷启动问题方面表现出了优越性。 近年来,图神经网络(GNN)由于具有强大的捕获高阶结构信息的能力,在基于知识图谱的推荐中得到了广泛的应用。

我们认为现有的基于 GNN 的方法具有以下两个局限性。

交互支配:用户-项目交互的监督信号将主导模型训练,因此知识图谱的信息几乎不会编码在学习到的项目表示中

知识过载:KG包含大量与推荐无关的信息,这种噪声在GNN的消息聚合过程中会被放大。

上述限制阻碍了现有方法充分利用 KG 中的有价值信息。 在本文中,我们提出了一种名为**知识自适应对比学习(KACL)**的新颖算法来应对这些挑战。

创新

我们首先分别从用户-项目交互视图和知识图谱视图生成数据增强,并在两个视图之间进行对比学习。 我们的对比损失设计将迫使项目表示对两个视图共享的信息进行编码,从而缓解交互支配问题。 此外,我们引入了两个可学习的视图生成器,以在数据增强期间自适应地删除与任务无关的边缘,并帮助容忍知识过载带来的噪声。

动机

  1. 交互支配:用户-项目交互的监督信号将主导模型训练,这表明 KG 的信息几乎没有被编码 在学习项目表示中。 尽管一些基于CKG的方法[13, 25]将协作知识图(CKG)构建为用户-项目图和KG的组合,在KG方面采用了额外的TransR [11]损失,但它们仍然未能从根本上解决这个问题 。 作为证据,我们发现在 KGAT [25] 中向项目节点执行信息传播时,实体节点的注意力分数远低于用户的注意力分数。 因此,现有的方法不能充分捕获和利用知识图谱中的有价值的信息。
  2. 知识过载:KG包含许多与推荐无关的三元组,例如图1中的三元组(𝑒2,copyright_date_of,𝑣1)很难用于向用户推荐书籍。 此外,观察到的用户-项目交互也包含噪声。
  1. 我们提出了知识自适应对比学习(KACL)方法来解决上述局限性。 我们首先通过边缘丢弃构建两个增强视图(即交互视图和知识视图),并分别进行消息聚合。
  2. 然后,我们的对比损失将迫使两个视图中的项目的表示彼此更接近,而不同项目的表示则分开。 理想情况下,借助对比学习,项目表示将仅对交互和知识视图之间共享的信息进行编码,从而减轻交互信息的支配和推荐无关知识的噪声。
  3. 为了便于删除与推荐无关的信息,我们提出了两个可学习的视图生成器,以自适应地删除对比学习的数据增强中可能不重要的边缘。
  4. 用于构建用户、项目和实体表示的图编码器基于具有关系感知修改的 GNN,以捕获高阶连接性。 通过这种方式,KACL 可以学习高质量的表示并有助于提高推荐性能。 最后,我们利用多任务训练的方式,将对比损失与经典的推荐损失和KG损失联合优化,以更好地编码KG结构。

问题定义

用户物品交互图:用户和物品有交互则存在边,反之不存在边
知识图谱:物品和属性
问题:通过交互图和知识图谱,学习一个函数,来预测用户将会交互的物品。

方法

交互图编码

采用GAT称为GCNv1版本

知识适应性对比学习

(1)分别从交互图和知识图生成自适应视图;

(2)增强图上用户/项目/实体的关系感知结构编码;

(3) 对比学习任务,迫使项目表示对两个视图共享的信息进行编码

图结构的自适应数据增强

  1. 我们首先分别从交互图和知识图导出两个不同的增强视图。 为了简洁起见,我们将交互图上的视图称为交互视图,将知识图上的视图称为知识视图。
  2. 与之前基于 CL 的研究 [36, 40] 中的数据增强仅提取特定类型节点之间的关系不同,我们建议在增强视图中保留节点/边的异质性。 这种异质性可以保留更多的原始数据信息,对于不同关系对推荐的贡献差异很大的知识观来说是至关重要的。
  3. 为了充分探索有助于推荐的跨视图信息,我们建议设计增强策略,以保持重要的和推荐相关的边缘不变,同时扰乱可能不重要的边缘。 具体来说,我们引入了一种新颖的增强方法,该方法首先通过随机删除一定比例的边缘来破坏输入图,然后采用两个可学习的视图生成器分别进一步删除不重要的边缘。
  4. 对于图损坏,我们直接对整个图 G𝑏 和 G𝑘 进行扰动,在每个 epoch 中随机丢弃一定比例𝜌的边。
p的值为0或1

用于节点编码的关系感知图注意

  1. 尽管GNNv1的架构在建模交互视图方面很强大,但由于忽略了关系类型,它可能不是知识视图的最佳选择。 为了解决这个问题,我们通过考虑关系的影响来扩展原有的注意力机制,得到专门针对知识视图的异构图编码器GNNv2。
  2. 具体来说,我们首先为每个关系和实体分配一个可学习的嵌入,然后通过将关系嵌入合并到注意力计算中来计算注意力分数。 形式上,关系类型 𝑟(⟨ℎ, 𝑡⟩) ∈ R 中头实体 ℎ 和尾实体 𝑡 之间的注意力分数计算如下:

>GNNv1和GNNv2版本只有注意力分数计算方式有差异

交互图和交互图的增强视图节点编码采用 GNNv1版本
知识图和知识图增强视图节点编码采用GNNv2版本

对比学习

![交互式视图和知识视图的表示空间不同,需要映射到同一空间进行对比学习。

正样本对:不同视图的相同物品

负样本对:不同视图的不同物品

预测和损失函数

相关推荐
罗小罗同学5 分钟前
医工交叉入门书籍分享:Transformer模型在机器学习领域的应用|个人观点·24-11-22
深度学习·机器学习·transformer
孤独且没人爱的纸鹤9 分钟前
【深度学习】:从人工神经网络的基础原理到循环神经网络的先进技术,跨越智能算法的关键发展阶段及其未来趋势,探索技术进步与应用挑战
人工智能·python·深度学习·机器学习·ai
阿_旭11 分钟前
TensorFlow构建CNN卷积神经网络模型的基本步骤:数据处理、模型构建、模型训练
人工智能·深度学习·cnn·tensorflow
羊小猪~~12 分钟前
tensorflow案例7--数据增强与测试集, 训练集, 验证集的构建
人工智能·python·深度学习·机器学习·cnn·tensorflow·neo4j
极客代码19 分钟前
【Python TensorFlow】进阶指南(续篇三)
开发语言·人工智能·python·深度学习·tensorflow
Seeklike20 分钟前
11.22 深度学习-pytorch自动微分
人工智能·pytorch·深度学习
YRr YRr1 小时前
如何使用 PyTorch 实现图像分类数据集的加载和处理
pytorch·深度学习·分类
不去幼儿园2 小时前
【MARL】深入理解多智能体近端策略优化(MAPPO)算法与调参
人工智能·python·算法·机器学习·强化学习
无脑敲代码,bug漫天飞3 小时前
COR 损失函数
人工智能·机器学习
HPC_fac130520678164 小时前
以科学计算为切入点:剖析英伟达服务器过热难题
服务器·人工智能·深度学习·机器学习·计算机视觉·数据挖掘·gpu算力