Self-supervised learning (SSL) has recently achieved great success in mining the user-item interactions for collaborative filtering. As a major paradigm, contrastive learning (CL) based SSL helps address data sparsity in Web platforms by contrasting the embeddings between raw and augmented data. However, existing CL-based methods mostly focus on contrasting in a batch-wise way, failing to exploit potential regularity in the feature dimension. This leads to redundant solutions during the representation learning of users and items. In this work, we investigate how to employ both batch-wise CL (BCL) and feature-wise CL (FCL) for recommendation. We theoretically analyze the relation between BCL and FCL, and find that combining BCL and FCL helps eliminate redundant solutions but never misses an optimal solution. We propose a dual contrastive learning recommendation framework -- RecDCL. In RecDCL, the FCL objective is designed to eliminate redundant solutions on user-item positive pairs and to optimize the uniform distributions within users and items using a polynomial kernel for driving the representations to be orthogonal; The BCL objective is utilized to generate contrastive embeddings on output vectors for enhancing the robustness of the representations. Extensive experiments on four widely-used benchmarks and one industry dataset demonstrate that RecDCL can consistently outperform the state-of-the-art GNNs-based and SSL-based models (with an improvement of up to 5.65\% in terms of Recall@20). The source code is publicly available (https://github.com/THUDM/RecDCL).
翻译:自监督学习(SSL)近期在挖掘用户-物品交互以实现协同过滤方面取得了显著成功。作为主要范式,基于对比学习(CL)的SSL通过对比原始数据与增强数据之间的嵌入表示,有效应对了网络平台中的数据稀疏性问题。然而,现有基于CL的方法主要关注批量维度上的对比,未能充分利用特征维度中潜在的规律性,导致用户和物品表示学习过程中产生冗余解。本文研究了如何同时利用批量对比学习(BCL)与特征对比学习(FCL)进行推荐。我们从理论上分析了BCL与FCL之间的关系,发现两者结合有助于消除冗余解且不会遗漏最优解。我们提出了一种双重对比学习推荐框架——RecDCL。在该框架中,FCL目标旨在消除用户-物品正样本对上的冗余解,并通过多项式核函数优化用户与物品内部的均匀分布,驱动表示正交化;BCL目标则用于对输出向量生成对比嵌入,以增强表示的鲁棒性。在四个广泛使用的基准数据集和一个工业数据集上的大量实验表明,RecDCL能够持续优于现有基于GNN和SSL的最优模型(在Recall@20指标上最高提升5.65%)。源代码已公开(https://github.com/THUDM/RecDCL)。