DirectAU论文阅读笔记

news/2024/10/4 11:29:37

Towards Representation Alignment and Uniformity in Collaborative Filtering论文阅读笔记

Abstract

现存的问题:

​ 现有的研究主要集中在设计更强大的编码器(如图神经网络)来学习更好的表示。然而,很少有人努力致力于研究CF中表示的期望属性,这对于理解现有CF方法的基本原理和设计新的学习目标很重要。

提出方法:

​ 在本文中,我们从超球面上的对齐和均匀性的角度来衡量CF中的表示质量。我们首先从理论上揭示了BPR损失和这两个性质之间的联系。然后,我们从量化对齐和一致性方面对典型CF方法的学习动态进行了实证分析,结果表明,更好的对齐或均匀性都有助于更高的推荐性能。基于分析结果,提出了一个直接优化这两个属性的学习目标,即DirectAU。

Introduction

​ 为了学习信息丰富的用户和项目表示,对齐和一致性都是非常重要的。如果只考虑对齐,那么通过将所有用户和项映射到同一嵌入中,就很容易实现完全对齐的编码器。在CF中现有的损失函数的目标可以看到,以避免这种琐碎的常数(即,保持均匀性),同时优化以更好的对齐。在实践中,通常使用负样本来实现这一目标。例如,BPR损失将每个正交互与一个随机抽样的负项目配对,并鼓励交互项目的预测得分高于负项目。

​ 在这项工作中,我们分析了CF的对齐和一致性性质的启发,在对比表示学习。我们首先从理论上证明了BPR损失实际上有利于这两个性质,并且完全对齐和均匀的编码器形成了BPR损失的精确最小化器。然后,我们通过中提出的相应的量化指标,对典型CF方法的学习动态的对齐和一致性进行了实证分析。我们发现不同的CF方法显示出不同的学习轨迹,并且更好的对齐或更好的一致性都有利于表示质量。例如,最简单的BPR可以快速收敛到有希望的对齐,并主要在之后提高均匀性。其他先进的方法通过各种技术,如硬负样本和基于图的编码器,可以实现更好的对齐或一致性,从而获得更好的性能。基于分析结果,我们提出了一个直接优化这两个属性的学习目标,称为DirectAU。

​ 本文的主要贡献如下:

​ 我们从理论上证明了完全对齐和均匀的编码器形成了BPR损失的精确最小值。我们还从量化对齐和一致性方面分析了典型CF方法的学习动态。

​ 基于分析结果,提出了一个简单但有效的学习目标,直接优化这两个属性,称为DirectAU

Preliminaries

Alignment and Uniformity

​ 最近,在无监督对比表示学习中的研究表明,表示的质量与两个关键属性高度相关,即对齐和一致性。给定数据\(p_{data}(\cdot)\)的分布和正对\(p_{\mathrm{pos}}(\cdot,\cdot)\)的分布,对齐直接定义为正对的归一化嵌入之间的期望距离:

\(l_{\mathrm{align}}\triangleq\underset{(x,x^+)\sim p_{\mathrm{pos}}}{\operatorname*{\mathbb{E}}}||\tilde{f(x)}-f(\tilde{x^+})||^2,\)

​ 其中,\(f\tilde{(}\cdot)\)表示𝑙2规范化表示。另一方面,均匀性损失被定义为平均成对高斯势的对数:

\(l_{\mathrm{uniform}}\triangleq\log\mathbb{E}_{x,y\sim p_{\mathrm{data}}}e^{-2||f(x)-f(y)||^2}.\)

​ 这两个指标与表示学习的目标很好地一致:正实例应该彼此接近,而随机实例应该分散在超球体上。在这项工作中,我们将把BPR损失与这两个指标联系起来,并使用它们来分析典型CF方法的学习动态。

协同过滤中的对齐和一致性

​ 在本节中,我们首先从理论上证明了BPR损失有利于超球面上的表示对齐和均匀性。然后,我们通过经验观察了这两种特性在不同CF方法的训练过程中是如何演变的

理论分析

​ 假设正用户-项目对的分布为𝑝pos,用户和项目的分布分别表示为𝑝user和𝑝item,我们首先定义CF中对齐和一致性的最优性概念如下:

​ 完美对齐:如果\(\tilde{f(u)}=\tilde{f(i)}a.s.over(u,i)\sim p_{\mathrm{pos}}.\)则编码器f是完美的对齐

​ 完美的一致性:如果\(u\sim p_{\mathrm{user}}\)\(\tilde{f(u)}\)分布和\(u\sim p_{\mathrm{item}}\)\(\tilde{f(i)}\)分布是\(S^{d-1}\)上的均匀分布\(\sigma_{d-1}\),则编码器f是完美的一致性

​ 这里的\(S^{d-1}=\{x\in\mathbb{R}^d:||x||=1\}\)是𝑑维单位球的表面。请注意,通过将所有输入映射到相同的表示方式,可以很容易地实现完美对齐的编码器,但代价是最差的一致性。考虑到用户/项目的数量通常很大,而在实际应用程序中,𝑑也很小,因此也可以实现完全统一的编码器。下面的定理表明,如果可以实现完美的对齐和均匀性,则BPR损失有利于这两个性质。

​ 理论1:

​ 如果存在完全对齐和统一的编码器,它们将形成BPR损失L𝐵𝑃𝑅的精确最小值。

​ 证明略,感兴趣可以去看原文,证明的结果为,证明过程的两点不等号都要求完美的对齐性和均匀性:

\(L_{BPR}\geq-1+\int_{S^{d-1}}\int_{S^{d-1}}\log\left(e+e^{x^Ty}\right)\mathrm{d}\sigma_{d-1}(x)\mathrm{d}\sigma_{d-1}(y).\)

​ 考虑到第 2.2 节中的量化指标已被证明与完美对齐和均匀性完全一致[27],该定理表明 BPR 损失确实偏向于较低的𝑙对齐和𝑙均匀性。接下来,我们将从对齐和均匀性的角度,实证展示不同 CF 方法的学习动态

经验观察

​ 我们使用BPR损失来训练Beauty数据集上的一个矩阵分解(MF)模型。首先,我们发现随机初始化的编码器对齐较差,但很均匀(初始均匀性损失较低)。随着BPR损失的优化,对齐损失迅速减少,导致均匀性损失的增加。随着对齐损失的稳定,均匀性损失开始减小。总的来说,随着实现更好的对齐和一致性,推荐性能会得到提高。这验证了3.1节的分析,即BPR损失确实优化了较低的𝑙align和𝑙uniform。

​ 除了最简单的带有BPR损失(BPRMF)的MF编码器外,不同的CF方法可能有不同的学习轨迹。我们进一步可视化了4种典型的CF方法的对齐和一致性指标。我们主要有以下观察结果:

  • BPR的优化更关注一致性(区分积极和消极的互动),但没有不断推动积极的用户-项目对
  • BPR-DS 对较难对齐的负项进行了采样,因此统一性损失较低,性能较好。但是,高难度的负项也会使用户与正项之间的对齐变得困难(对齐损失更高)。
  • LGCN 汇集了邻域信息,因此即使在一开始也能实现出色的对齐。这就解释了为什么 LGCN 在使用 BPR loss 时通常表现良好。GNN 编码器结构在对齐方面表现出色,而 BPR 损失在均匀性方面表现出色。虽然训练过程会损害对齐性,而且最终的均匀性也比 BPRMF 差,但最终的对齐性仍然很出色,从而相应地获得了更好的性能。
  • 与上面的成对方法不同,ENMF直接优化MSE并利用所有的负交互,这将正用户-项目对的分数推到1,但不仅仅大于像BPR那样的负对。这种基于全数据的训练在很大程度上有利于对齐,同时保持有希望的一致性,从而产生优越的性能。但这种点态优化也会损害后期训练阶段的一致性。

pkVlZZD.png

​ 根据以上观察,我们发现不同的CF方法在对齐和一致性方面具有不同的学习动态。与标准BPRMF相比,BPR-DS的均匀性更好,但对齐效果较差;LGCN的对齐效果较好,但均匀性较差,而BPR-DS和LGCN都比BPRMF获得了更高的推荐性能。ENMF进一步获得了最好的性能,并有良好的对齐和均匀性。这表明CF中的用户和项目表示确实有利于这两个属性。实现更好的对齐或一致性都有助于更高的推荐性能,并且同时优化它们是有益的

直接优化对齐和均匀性

​ 上述分析表明,对齐和一致性对于学习具有信息性的用户和项目表示都是必不可少的。这促使我们设计一个新的学习目标,直接优化这两个属性,以获得更好的推荐性能,名为DirectAU。

​ 下图展示了拟议框架的整体结构。首先将输入的正用户-物品对编码为嵌入式,并对超球进行 l2 归一化。我们使用一个简单的嵌入表(将用户/物品 ID 映射到嵌入)作为默认编码器5 。然后,我们对 CF 中的对齐度和统一性进行如下量化:

\(\begin{aligned} l_{\mathrm{align}}& =\underset{(u,i)\sim p_{\mathrm{pos}}}{\operatorname*{\mathbb{E}}}||f\tilde{(u)}-f\tilde{(i)}||^{2} \\ l_{\mathrm{uniform}}& =\log_{u,u^{\prime}\sim p_{\mathrm{user}}}e^{-2||\tilde{f(u)}-f(\tilde{u^{\prime}})||^{2}}/2+ \\ &\log_{i,i^{\prime}\sim p_{\mathrm{item}}}e^{-2||f(i)-f(i^{\prime})||^{2}}/2. \end{aligned}\)

pkVlaJs.png

​ 对齐损失推高了正相关用户-项目对的表示之间的相似性,而均匀性损失则衡量了表示在超球体上的分散程度。我们分别计算用户表示和项目表示之间的一致性,因为用户和项目的数据分布可能是不同的,这更适合分别进行测量。最后,我们用一个权衡超参数𝛾共同优化这两个目标:

\(\mathcal{L}_{\mathrm{DirectAU}}=l_{\mathrm{align}}+\gamma l_{\mathrm{uniform}}.\)

​ 权重𝛾控制着所期望的均匀性程度,这取决于每个数据集的特征。

​ 需要注意的是,以往的 CF 方法通常依靠负采样来区分正负交互,而 DirectAU 则不需要额外的负采样,只使用输入的一批正用户-物品对。均匀性损失是根据批内表征之间的成对距离计算的。使用批内实例使其更符合用户和物品的实际数据分布(即𝑝user,𝑝item),这已被证明有助于减少推荐系统中的暴露偏差。与现有的 CF 方法相比,DirectAU 在没有负样本的情况下很容易实现,而且只有一个超参数需要调整(无需考虑负样本的数量和采样策略)。因此,DirectAU 可以在各种应用场景下轻松工作。对于分数函数,我们使用用户和项目表示之间的点积来计算排名分数并提出建议,这在文献中很常见

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/28964.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

rabbitmq开启ssl

官网:https://www.rabbitmq.com/docs/management#multiple-listeners生成证书openssl req -newkey rsa:2048 -nodes -keyout rsa_private.key -x509 -days 365 -out cert.crt //一次性生成私钥和证书2.使用 已有RSA 私钥生成自签名证书openssl req -new -x509 -days 365 -ke…

ITIL4视角下的IT监控与故障管理:守护服务健康的双刃剑

引言:监控的曙光 在IT服务管理的浩瀚星图中,"监控"这一璀璨星辰终于得到了应有的重视与聚焦。ITIL4的出台,不仅明确将监控告警纳入事件管理的广阔宇宙,而且强调了其在预防故障、保障服务连续性中的核心地位。当组织拥抱ITIL 4的管理智慧时,多套监控系统的部署成…

Python基础之基本运算符

【一】参考网站菜鸟教程:https://www.runoob.com/python/python-operators.html【二】算数运算符python支持的算数运算符与数学的运算符号是一样的# 【1】加法运算符 a = 3 b = 4 c = a + b print(c) # 输出 7# 【2】减法运算符 a = 3 b = 4 c = a - b print(c) # 输出 -1…

struct:Python二进制数据结构

在C/C++语言中,struct被称为结构体。而在Python中,struct是一个专门的库,用于处理字节串与原生Python数据结构类型之间的转换。 本篇,将详细介绍二进制数据结构struct的使用方式。 函数与Struct类 struct库包含了一组处理结构值得模块级函数,以及一个Struct类。格式指示符…

NumPy:Python科学计算基础包

NumPy 是 Python 科学计算的基础包,几乎所有用 Python 工作的科学家都利用了的强大功能。此外,它也广泛应用在开源的项目中,如:Pandas、Seaborn、Matplotlib、scikit-learn等。Numpy全称Numerical Python。它提供了2种基本的对象:ndarray与ufunc。 ndarray是存储单一数据的…

Python 如何优雅的操作 PyMySQL

一、PyMysql 在使用Python操作MySQL数据过的过程中,基本的增删改查操作如何更加高效优雅的执行。这里将以PyMySQL为例,介绍一下如何使用Python操作数据库。 Python对MySQL数据库进行操作,基本思路是先连接数据库 Connection 对象,建立游标 Cursor 对象,然后执行SQL语句对数…

7个鲜为人知的 Python 好库!

https://mp.weixin.qq.com/s/eY1QXpwbTNSOd08Wfpg4sQ①-PivotTableJS 无需任何代码就可以在Jupyter Notebook中交互式地分析数据。 https://pypi.org/project/pivottablejs/ ②-PyTube 只需5行代码就可以下载油管视频。可能这个是国内用户最用不到的Python库了。https://pytube…

C#多选下拉菜单自定义控件

C#在winform项目中 多选下拉菜单自定义控件 。 由 ComboBox 和 CheckedListBox 组合形成。 效果: 自定义控件代码 MultiComboBox.csusing System; using System.Collections.Generic; using System.ComponentModel; using System.Drawing; using System.Data; using System.L…