Advertisement

KACL:Knowledge-Adaptive Contrastive Learning for Recommendation

阅读量:

Knowledge-Adaptive Contrastive Learning for Recommendation

解决的问题

近年来研究表明,在实际应用中逐渐展现了GNN(图神经网络)强大的高阶结构信息处理能力),其在基于知识图谱的个性化推荐系统中展现出显著优势。然而我们发现存在两个主要问题:其一,在监督信号导向下用户的互动行为可能过度影响模型性能导致知识图谱中的关键信息未能有效融入项目表示;其二由于知识库往往包含海量冗余数据在GNN进行特征聚合时易受噪声数据显著影响进而导致推荐质量下降为此提出了基于知识自适应机制的知识对比学习算法KACL(Knowledge-Aware Contrastive Learning)

在这里插入图片描述

KACL与结果

首先分别从交互表(Interaction Graph)和知识库(Knowledge Base)中生成增强视图,并在这两个视图之间实施约束学习(Constraint Learning),这有助于缓解单个视角主导的问题。为了提高模型性能,在生成增强视时引入两个可学习的生成器(Generators),它们能够自适应地去除数据扩充过程中的与任务无关的边,并有效容忍知识过载带来的噪声干扰。
其中,在这种设计下:

  • 交互表是一个二分图(Bipartite Graph);
  • 知识库由三元组(Triple)构成,每个三元组描述了一个头实体(Head Entity)到尾实体(Tail Entity)的关系;
  • 在这种情况下,
    I

    R
    分别表示知识库中实体集合与关系集合。
    给定输入互动表
    G_b
    与知识库
    G_k

    我们旨在设计一个能够准确预测用户与项目之间互动概率的知识密集型模型。
    模型架构如上所述:
在这里插入图片描述

基于GAT构建了该种深度神经网络架构模型体系,在其基础结构上首先阐述其单层计算过程及其工作原理:主要由两部分构成:邻域聚合模块和表示更新模块,在该层中节点i的所有邻居节点j其表示经线性组合得到。

在这里插入图片描述

其中的α就是i对j的注意力分数,计算方法为:

在这里插入图片描述

接下来使用GCN聚合器来更新节点表示:

在这里插入图片描述

基于内积计算的方法用于评估用户的项目偏好,在提高模型参数的过程中,BPR损失常被选用作目标函数。因此决定将成对偏好损失设定为主目标函数。

在这里插入图片描述

对比学习由三个关键部分组成:1.分别从交互图和知识图中生成自适应视图:
首先,增强视图是通过删除一定比例的边来破坏输入图,然后采用两个可学习的视图生成器来分别进一步删除不重要的边。具体来说,对于图的变体,我们直接对整个图进行扰动,通过在每个时期随机丢弃一定比率的边来获得图的子集;进一步引入了人两个视图生成器(交互视图生成器和知识视图生成器)来过滤掉噪声和无关信息,它们从修改后的自己中选择要修改的子集。
对于交互视图生成器,权重定义为:

在这里插入图片描述

0,1

0,1

0,1

在这里插入图片描述

另外,因为不同关系的语义和重要性是不同的,并且在KG中存在大量与语义无关的相互作用,为应对这个问题,我们建立了知识视图中的边权值 映射模型,将实体e和关系r结合考虑:

在这里插入图片描述

在获取边权重之后就可以如同交互视图生成器的方式构建增强视图并由参数p用于调节概率

在这里插入图片描述

经过多层次消息的聚合处理后可获得最终形式化的节点嵌入表示。
在对比学习框架下, 为逼使项目编码能够捕获两个不同视图之间共享的关键信息, 我们设计了特定的学习机制。
值得注意的是, 交互视图与知识表示的空间维度存在显著差异性特征。
随后, 这两部分分别生成的节点嵌入h和e会被分别馈送到对应的多层感知机(MLP)架构中进行处理, 并被映射到一个共同的目标空间z中, 以便于后续计算对比损失。
在此基础上, 我们采用基于InfoNCE损失函数设计了一种扩展版本用于衡量模型性能。

在这里插入图片描述

最终的模型预测:

在这里插入图片描述

此外,在推荐系统优化需求下,在知识视图中引入了一种辅助性的正则化机制:

在这里插入图片描述

KG损失与总损失分别是:

在这里插入图片描述

我们通过优化推荐损失模型来更新两个视图生成器的参数,在对比学习阶段固定这些参数以实现动态筛选出不重要和不相关的边缘特征。为了保持数据增强的有效性,在每个训练周期中都会重新生成所有随机性来源的数据样本

在这里插入图片描述

模型结果:

在这里插入图片描述

如图所示,在不同稀疏程度下的用户群组实验结果表明

在这里插入图片描述

在消融实验中,在不使用CL(Knowledge-Aware Learning)的情况下去除了知识自适应对比学习模块;在不使用Ada(Adaptive Augmentation)的情况下仅残留了数据增强过程中图形损坏;通过辅助知识正则化(Knowledge Graph Regularization),验证了知识嵌入的重要性。

在这里插入图片描述

模型所用技术与数学知识

BPR损失
GAT架构
对比学习
自适应

评价指标

Recall@20 and NDCG@20

代码链接

复制代码
    https://github.com/wsdmanonymous/KACL

全部评论 (0)

还没有任何评论哟~