AdaMCL: Adaptive Fusion Multi-View Contrastive Learning for Collaborative Filtering论文阅读笔记

AdaMCL: Adaptive Fusion Multi-View Contrastive Learning for Collaborative Filtering

Abstract

​ 大多数基于CL的方法只利用原始的用户-项目交互图来构造CL任务,缺乏对高阶信息的显示利用。而且即使是使用高阶信息的基于CL的方法,高阶信息的接收字段也是固定的,没有考虑到节点之间的差异,于是我们提出了一种新的自适应多视图融合对比学习框架,称为AdaMCL,用于图的协同过滤。为了更准确的利用高阶信息,我们提出了一种自适应融合策略来融合从用户-项目和用户-用户图中学习到的嵌入。此外还提出了一种多视图融合对比学习凡是来构建有效的CL任务。此外为了缓解高阶邻居聚合引起的噪声信息,我们提出了一个层级CL任务。

Introduction

​ 构建有意义的CL任务的方式对提高推荐性能起着至关重要的作用,目前基于CL的图协同过滤方法可分为以下几类:

  • 基于图增强的CL,例如SGL,使用结构扰动来增强用户-项目交互图,然后最大化GNN学习到的不同视图之间的节点表示的一致性,但是SGL中的CL任务忽略了原始用户-项目图中的高阶关系
  • 基于表示的增强,比如SimGCL,它通过简单地扰动学习到的节点表示来构造对比对。但是也没有用到CL任务中的高阶关系
  • 基于邻居增强的CL,即NCL,它设计了一个结构感知的CL目标,改目标提取节点的表示,并为其k-hop结构邻居的代表性嵌入。但是对高阶信息的使用是隐性的和不充分的。此外只考虑了固定跳的邻居
  • 基于超图的CL,开发了一个超图CL框架来捕获用户之间的高阶一来关系,但是会有巨大的训练开销。

​ 虽然NCL和HCCF在一定程度上考虑了高阶关系,但它们隐式地利用了高阶信息,由于高阶关系的高度重要性,需要一种明确的和更有效的方法。为了更准确地确定辅助高阶用户-用户关系的贡献,我们应该以自适应和细粒度的方式设计每个节点的高阶信号接收场。

​ 所以我们提出了一种新的自适应多视图融合对比学习框架AdaMCL,用于图的协同过滤。首先为了显式地建模用户-用户和项目-项目关系,我们从用户-项目交互图中构建单独的用户-用户和项目-项目图。我们以用户表示学习为例。在每个GNN层中,从用户-项目和用户-用户图中学习到的用户嵌入被融合,以捕获用户-项目和用户-用户关系。

​ 为了更准确地利用高阶信息,我们提出了一种自适应融合策略,该策略考虑了当前的GNN层、用户-项目图中的用户活动程度,以及从用户-项目和用户-用户图中学习到的两个嵌入之间的相似性。自适应融合策略的目的式消除无用的高阶信息,了解用户活动,减少冗余信息。将所有GNN层中融合嵌入的平均池化视为构建协同过滤主要任务的最终用户表示。

​ 其次,我们提出了一种多视图融合对比学习范式来构建有效的CL任务。具体来说,让最终的用户表示是融合视图,从用户-项目图和用户-用户图中学习到的平均池分别是交互视图和协作邻居视图。融合视图可以被认为是交互和协作的邻居视图的聚合,因此可以提供更多的信息。我们建议分别将融合视图与交互邻居视图和协作邻居视图进行对比,而不是直接构建交互邻居视图和协作邻居视图之间的对比对。

​ 此外随着GNN层数的增加,融合视图的邻域接收域是传统的基于GNN模型的两倍,导致了噪声信号。为了缓解高阶邻居聚合引起的噪声,我们提出了一个在融合视图中的层级对比学习任务。在融合视图和中间层学习到的融合嵌入之间构造对比对

​ 本文的贡献可以总结如下:

  • 我们提出利用一种新的自适应多视图融合对比学习框架,明确地利用用户-项目交互图中的高阶信息进行图协同过滤
  • 为了更准确地确定辅助高阶用户-用户关系的贡献,我们提出了一种自适应融合策略,并将所有GNN层融合嵌入的平均池视为最终的用户表示
  • 为了构建有效的CL任务,我们首先提出了一种多视图融合对比学习方法,该方法同时结合了交互信息(用户-项目图)和高阶协作信息(用户-用户和项目-项目图)此外我们提出了层级对比学习来缓解噪声信号

Method

模型的结构图如下:

pFFD9XD.png

Collaborative Neighbor Graph Construction

\(sim_{i,j}=\frac{|\mathcal{N}_G(i)\cap\mathcal{N}_G(j)|}{|\mathcal{N}_G(i)\cup\mathcal{N}_G(j)|}\)

\(\left.\hat{G}_{i,j}=\left\{\begin{array}{cc}sim_{i,j}&sim_{i,j}\geq\eta\textbf{ or top K values for node i}\\0&\mathrm{others}\end{array}\right.\right.\)

感觉这里的协作邻居图有点粗糙,到时候可以改进一下,这部分的核心就是协作邻居图的构造

Representation Learning on Multi-Graph

\(\begin{aligned} &h_{i}^{l} =h_{i}^{\mathcal{G},l}+\beta_{i}h_{i}^{\widetilde{\mathcal G},l} \\ &\boldsymbol{\beta}_{i} =\frac\gamma{l+sim(h_i^{\hat{G},l},~\hat{h}_i^{\hat{G},l})~d_i} \\ &d_{i} =\frac{log\left(|N_{\mathcal{G}(i)}|\right)}{\frac1{|\mathcal{V}|}\sum_{v\in\mathcal{V}}log\left(|N_{\mathcal{G}(v)}|\right)} \end{aligned}\)

这里自适应的\(\beta\)计算的方式感觉挺复杂,这里的核心就是\(\beta\)的计算

Multi-View Fusion Contrastive Learning

这里就设计对比学习的任务,交互视图和融合视图进行对比学习以及协作视图和融合视图进行对比学习。

然后开始证明优化多视图融合对比学习等价于同时最大化同一视图和跨视图之间的互信息。

最后是层级的对比学习,将融合视图的嵌入与融合嵌入在中间层进行对比

Conclusion

本文提出了一种新的自适应多视图融合对比框架AdaMCL,用于图的协同过滤。为了更明确地确定辅助高阶用户-用户关系的贡献,我们提出了一种自适应融合策略。在此基础上,提出了一种结合交互信息和高阶协同信息的多视图融合对比学习方法。此外还提出了层级对比学习来缓解噪声信号。

posted @ 2024-01-16 17:26  ANewPro  阅读(159)  评论(0编辑  收藏  举报