【论文阅读】Adap-t: Adaptively Modulating Embedding Magnitude for Recommendation

news2024/11/24 3:51:09

【论文阅读】Adap-𝜏: Adaptively Modulating Embedding Magnitude for Recommendation

文章目录

  • 【论文阅读】Adap-𝜏: Adaptively Modulating Embedding Magnitude for Recommendation
    • 1. 来源
    • 2. 介绍
    • 3. 模型解读
      • 3.1 准备工作
        • 3.1.1 任务说明
        • 3.1.2 基于嵌入的模型
        • 3.1.3 损失函数
        • 3.1.4 嵌入归一化
      • 3.2 分析嵌入的规范化
        • 3.2.1 规范化的必要性

1. 来源

在这里插入图片描述

  • 2023 WWW CCFA
  • https://arxiv.org/pdf/2302.04775.pdf
  • https://github.com/junkangwu/Adap_tau

2. 介绍

近年来,基于嵌入式嵌入的方法在推荐系统中取得了巨大的成功。

  • 尽管它们的性能不错,但我们认为这些方法的一个潜在局限性——嵌入幅度没有被明确调制,这可能会加剧流行偏差和训练不稳定性,阻碍模型做出好的推荐。
  • 它激励我们利用推荐中的嵌入规范化。通过将用户/项目嵌入规范化到一个特定的值,我们在四个真实世界的数据集上观察到令人印象深刻的性能提高(平均9%)。
  • 虽然令人鼓舞,但我们在推荐中应用归一化时也揭示了一个严重的限制——性能对控制归一化嵌入规模的温度 𝜏 的选择高度敏感。
  • 为了充分培养归一化的优点,同时规避其局限性,本文研究了如何自适应地设置适当的 𝜏。为此,我们首先对𝜏进行了全面的分析,以充分了解其在推荐中的作用。然后,我们开发了一种自适应细粒度策略 Adap-𝜏,它满足四种理想的特性,包括自适应、个性化、效率和模型不可知。
  • 作者进行了广泛的实验来验证该提案的有效性。该代码可以在 https://github.com/junkangwu/Adap_tau 上找到。

3. 模型解读

3.1 准备工作

在本节中,我们将介绍一些推荐系统的背景。

3.1.1 任务说明

假设我们有一个带有用户集 U U U 和项目集 I I I 的推荐系统。让 𝑛 和 𝑚 表示RS中的用户数量和项目的数量。收集到的隐式反馈可以用矩阵 𝑌∈{0,1} n × m ^{n\times m} n×m来表示,其元素 y u i y_{ui} yui 表示用户 u u u 是否与一个项目 i i i 进行了交互(例如,点击)。为方便起见,我们将整个交互的数据收集为 D={(𝑢,𝑖)|𝑦𝑢𝑖= 1};将每个用户𝑢(项目𝑖)的交互项(用户)收集为P𝑢≡{𝑖|𝑦𝑢𝑖=1}(P𝑖≡{𝑢|𝑦𝑢𝑖= 1})。RS的任务是为每个用户推荐他可能感兴趣的项目。

3.1.2 基于嵌入的模型

基于嵌入的方法在RS中得到了广泛的应用。他们首先将用户/项目特征(如id)转换为向量化表示(即e𝑢、e𝑖),然后根据嵌入的相似度进行预测。被广泛使用的相似度函数包括内积和神经网络。为了方便起见,本工作只采用具有代表性的内积进行分析,即模型预测可以表示为:
在这里插入图片描述

3.1.3 损失函数

训练推荐模型有多种损失函数选择,包括点态损失(如BCE、MSE)、成对损失(如BPR)和Softmax损失。最近的工作发现,Softmax损失可以减轻人气偏差,实现良好的训练稳定性,并与排名度量很好地一致。它通常比其他更好的性能,因此吸引了对推荐的兴趣。此外,Softmax损耗可以被认为是常用的BPR损耗的扩展。因此,我们将Softmax视为代表损失来作分析,可以表述为:
在这里插入图片描述
在实践中,经常包含一个日志操作,并进行负采样或小批处理策略来加速。但它们不是我们的重点,这里我们只是参考原始损失进行理论分析。

3.1.4 嵌入归一化

本工作研究了在推荐中嵌入规范化的性质。在内积的基础上,我们在预测中利用嵌入规范化如下:
在这里插入图片描述
其中,用户/项目嵌入的大小已被重新调整。第一个因素:
在这里插入图片描述
可以理解为余弦相似度,其中的大小已经被隔离;第二个因子 1/𝜏 重新调整了归一化嵌入。我们注意到,我们没有直接引入一个控制尺度的参数,而是在对比学习中借用了类似的想法,并利用了传统的温度。这种排列可以使我们的发现更好地推广到其他领域。

3.2 分析嵌入的规范化

在本节中,我们首先验证了在RS中利用嵌入规范化的本质。(3.2.1),然后确定一个潜在的限制(3.2.2).最后,我们对温度进行了全面的分析,并揭示了它的两个重要作用 (3.2.3)。

3.2.1 规范化的必要性

  • 理论分析。

    • 我们从理论分析开始,表明如果没有标准化,流行项目的大小比不受欢迎的项目增长得快得多。事实上,我们有:
      • 引理1。通过选择不控制大小的内积,我们在每次迭代中都有项目嵌入大小 𝛿𝑖 的变化:
        在这里插入图片描述
        在训练程序的早期阶段,𝛿𝑖 遵守:
        在这里插入图片描述
        该引理的证明方法见原文附录B.1。我们可以从Lamma 1中得出一个观察结果:请注意,在训练过程的早期阶段,用户和项目都是均匀分布的。换句话说, p u i f ( u , i ) p_{ui}f(u,i) puif(u,i) 不能区分出显著的差异, ∑ k ∈ N u p u k ( τ ) \sum_{k\in N_u} p_{uk}(\tau) kNupuk(τ)相对较小,而流行项目的规模将获得 ∣ P i ∣ ( I [ y u i = 1 ] ) |P_i|(I[y_{ui}=1]) Pi(I[yui=1]) 的爆炸性上升。
  • 实证分析。

    • 从引理1中,我们知道这个大小与项目的受欢迎程度相关。在本小节中,我们通过丰富的实验来探讨其对推荐的负面影响。
    • 实验设计。为了展示自由变化幅度的影响,这里我们进行了四个实验:
      • (1) 我们首先在训练过程中可视化不同项目受欢迎程度的项目嵌入的幅度(图1 a)。在这里,我们根据项目的受欢迎程度将项目分为十组。较大的组ID表示该组包含更多流行的项目
      • (2) 我们还报告了不同项目组的表现(图1 b)。
      • (3) 具有训练时期的积极实例的预测分数为如图1 c. 所示。
      • (4) 我们可视化了有无归一化的MF的性能(图1 d)。所有实验均在MF主干和Yelp2018 数据集上进行。
      • 类似的结果也可以在其他模型(如LightGCN)和数据集上观察到。实验设置的详细信息可参考第5.1节。
    • 自由变化的幅度加剧了人气偏见。如果我们关注于训练的早期阶段(图1 (a)),流行物品的数量迅速上升,这与理论证明相一致。因此,流行的项目容易获得更高的分数,因为大小直接有助于模型预测。此外,不同的大小也损害了用户嵌入的训练。用户嵌入的梯度可以写成:𝜕𝜕𝐿e𝑢=I𝑢,𝑖𝜕𝑓𝜕𝐿(𝑢,𝑖)e𝑖,其中规模较大的流行项目会发挥过度的贡献,并可能压倒来自他人的信号。这个模型会陷入有偏差的结果。图1:(b)提供了证据。这个模型会陷入有偏差的结果。可以看出,有归一化的模型比没有归一化的模型产生了更公平的结果。
    • 自由变化的幅度损害了收敛性。如果我们将注意力转向图1 ©中的训练结束时,我们观察到,即使有许多epoch(例如,500),香草MF的预测分数和嵌入幅度仍然处于上升而不是收敛的状态,而性能持续下降(图1 (d))。但是当我们利用在MF中的规范化时,我们观察到令人印象深刻的改进——模型以更少的epoch(即20)快速收敛,并且在更多的epoch时表现稳定。
    • 规范化可以提高性能。为了进一步验证规范化的优点,在这里,我们直接测试了无论是否对用户或项目嵌入进行规范化时的推荐性能(表1)。可以看出,具有双边归一化的模型(即Y-Y)的性能明显优于具有单边归一化的模型(即Y-N或N-Y),而且它们都超过了未进行归一化的模型(N-N)。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 文章很枯燥,不想看了,屮。想看去自己看原文吧。

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

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

相关文章

Linux:http服务(Apache 2.4.57)源码编译——配置网站 || 入门到入土

目录 1.下载源码包 2.配置httpd运行环境 3.编译源码包安装apache软件 4.优化执行路径 5.添加httpd系统服务 正文 1.httpd服务器的基本配置 2.本章持续更新 我的服务器为centos7系统 1.下载源码包 访问官方网站↓↓↓ Welcome! - The Apache HTTP Server Project ↑↑…

ONLYOFFICE Docs 7.4 版本大大增强了图形编辑功能!

ONLYOFFICE Docs 7.4 版本大大增强了图形编辑功能! 书接上文: 北冰洋汽水我的最爱https://mp.weixin.qq.com/s?__bizMzI2MjUyNzkyNw&mid2247493734&idx1&sn416c4ee5756ea59883591d3c2c4a6ae4&chksmea4b66bedd3cefa89050e25b661e0be16…

malloc 背后的虚拟内存 和 malloc实现原理

面试的时候经常会被问到 malloc 的实现。从操作系统层面来说,malloc 确实是考察面试者对操作系统底层的存储管理理解的一个很好的方式,涉及到虚拟内存、分页/分段等。下面逐个细说。 1. 虚拟内存 首先需要知道的是程序运行起来的话需要被加载的物理内存…

spark 和 flink 的对比

一、设计理念 Spark 的数据模型是 弹性分布式数据集 RDD(Resilient Distributed Dattsets),这个内存数据结构使得spark可以通过固定内存做大批量计算。初期的 Spark Streaming 是通过将数据流转成批 (micro-batches),即收集一段时间(time-window)内到达的…

【计算机组成原理】——知识点复习(期末不挂科版)

课本: 考试题型: 题型一、计算题(30分) 1、定点数表示:用原码、反码、补码、移码表示十进制数(5分) 2、浮点数表示:十进制数↔单精度浮点数(5分) 3、加减运…

行业报告 | AI+制造业赋能,机器视觉开启掘金新大陆(上)

原创 | 文 BFT机器人 01 核心要点 Al制造业赋能,META 发布 SAM 助力机器视觉迎来 GPT 时刻。 机器视觉技术使得工业设备能够“看到”它正在进行的操作并进行快速决策,完整机器视觉系统由硬件软件组成,分别进行成像和图像处理工作。 目前,以“…

全网超全,接口自动化测试实战总结详全,这几个阶段你知道吗?

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 接口自动化根本目…

【深入浅出 Spring Security(十)】权限管理的概述和使用详情

权限管理 一、授权的核心概念二、权限管理策略权限表达式(SpEL Spring EL)1. 基于 URL 的权限管理(过滤器)基本用法 2. 基于 方法 的权限管理(AOP)EnableGlobalMethodSecurity基本用法 三、权限管理之版本问…

游戏中用脚开飞机实现方案

看看这个图片,有人用脚开飞机,用几个踏板去控制,在游戏中,开飞机的操作比较简单,上升,下降,加减油门,方向左,方向右。 android设备中,使用模拟点击就可以实现…

好用的电容笔有哪些推荐?apple pencil的平替笔测评

随着平板电脑在校园、办公室中的应用越来越广泛,需要一种具有良好性能的电容笔。苹果品牌原装的这支电容笔,虽然功能很强,但因为其的价格实在是太贵了,所以只是用来学习记笔记,实在是太浪费了。所以,哪个电…

python接口自动化(一)--什么是接口、接口优势、类型(详解)

简介 经常听别人说接口测试,接口测试自动化,但是你对接口,有多少了解和认识,知道什么是接口吗?它是用来做什么的,测试时候要注意什么?坦白的说,笔者之前也不是很清楚。接下来先看一下…

计算机网络——自顶向下方法(第一章学习记录)

什么是Internet? 可以从两个不同的方面来理解Internet。(它的构成。它的服务) 1.因特网的主要构成 处在因特网的边缘部分就是在因特网上的所有主机,这些主机又称为端系统(end system),端系统通过因特网服…

openEuler+Linaro合作成果展示|2023开放原子全球开源峰会

2023年6月11~13日,2023年开放原子全球开源峰会(OpenAtom)在北京经济开发区北人亦创国际会展中心召开,本届峰会旨在搭建全球开源生态发展合作交流平台,聚焦开源生态建设发展,并组织了openEuler、…

STL容器——unordered_set的用法

0、概述 unordered_set容器,可直译为无序 set 容器。即 unordered_set容器和 set 容器很像,唯一的区别就在于 set容器会自行对存储的数据进行排序,而 unordered_set 容器不会。下面是set、multiset和unordered_set之间的差别。 注意这三种集…

计算机网络管理 SNMP协议实用工具MIB Browser的安装和使用

⬜⬜⬜ 🐰🟧🟨🟩🟦🟪(*^▽^*)欢迎光临 🟧🟨🟩🟦🟪🐰⬜⬜⬜ ✏️write in front✏️ 📝个人主页:陈丹宇jmu &am…

qt常用基本类

文章目录 点直线时间相关的类 qt里面打印log或者打印东西&#xff0c;自带打印函数qDebug 里面<<插入操作符可以写任意类型 qDebug()<<"im ssss"<<520; //默认给你带换行//也能加endl&#xff0c;那就多换一行并不是说printf或者cout就不能用了…

[进阶]Java:阶段项目02——首页、登录、客户操作页

代码演示&#xff1a; public class MovieSystem {/*** 定义系统的数据容器用户存储数据* 1.存储很多用户&#xff08;客户对象&#xff0c;商家对象&#xff09;*/public static final List<User> ALL_USERS new ArrayList<>();/*** 2.存储系统全部商家和其排片…

Zebec Protocol 与 PGP 深度合作,将流支付更广泛的应用于薪资支付领域

Zebec Protocol 与 PGP 深度合作&#xff0c;将流支付更广泛的应用于薪资支付领域 随着传统机构的入局&#xff0c;以及相关加密合规法规的落地&#xff0c;加密支付正在成为一种备受欢迎的全新支付方式。加密支付基于区块链底层&#xff0c;不受地域、时间等的限制&#xff0c…

网络安全 log4j漏洞复现

前言&#xff1a; log4j被爆出“史诗级”漏洞。其危害非常大&#xff0c;影响非常广。该漏洞非常容易利用&#xff0c;可以执行任意代码。这个漏洞的影响可谓是重量级的。 漏洞描述&#xff1a; 由于Apache Log4j存在递归解析功能&#xff0c;未取得身份认证的用户&#xff…

Gof23设计模式之简单工厂/静态工厂模式

在java中&#xff0c;万物皆对象&#xff0c;这些对象都需要创建&#xff0c;如果创建的时候直接new该对象&#xff0c;就会对该对象耦合严重&#xff0c;假如我们要更换对象&#xff0c;所有new对象的地方都需要修改一遍&#xff0c;这显然违背了软件设计的开闭原则。如果我们…