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版本

对比学习

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

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

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

预测和损失函数

相关推荐
阡之尘埃4 小时前
Python数据分析案例61——信贷风控评分卡模型(A卡)(scorecardpy 全面解析)
人工智能·python·机器学习·数据分析·智能风控·信贷风控
孙同学要努力6 小时前
全连接神经网络案例——手写数字识别
人工智能·深度学习·神经网络
sniper_fandc8 小时前
深度学习基础—循环神经网络的梯度消失与解决
人工智能·rnn·深度学习
weixin_518285058 小时前
深度学习笔记10-多分类
人工智能·笔记·深度学习
Java Fans8 小时前
深入了解逻辑回归:机器学习中的经典算法
机器学习
慕卿扬9 小时前
基于python的机器学习(二)—— 使用Scikit-learn库
笔记·python·学习·机器学习·scikit-learn
阿_旭9 小时前
基于YOLO11/v10/v8/v5深度学习的维修工具检测识别系统设计与实现【python源码+Pyqt5界面+数据集+训练代码】
人工智能·python·深度学习·qt·ai
YRr YRr9 小时前
深度学习:Cross-attention详解
人工智能·深度学习
阿_旭9 小时前
基于YOLO11/v10/v8/v5深度学习的煤矿传送带异物检测系统设计与实现【python源码+Pyqt5界面+数据集+训练代码】
人工智能·python·深度学习·目标检测·yolo11
夏天里的肥宅水9 小时前
机器学习3_支持向量机_线性不可分——MOOC
人工智能·机器学习·支持向量机