Gen-RecSys——一个通过生成和大规模语言模型发展起来的推荐系统

概述

生成模型的进步对推荐系统的发展产生了重大影响。传统的推荐系统是 “狭隘的专家”,只能捕捉特定领域内的用户偏好和项目特征,而现在生成模型增强了这些系统的功能,据报道,其性能优于传统方法。这些模型为推荐的概念和实施带来了创新方法。

当前的生成模型能够学习和采样复杂的数据分布,其中包括文本和图像内容以及用户和项目交互历史。这样就可以利用这些数据模式来完成新的交互式推荐任务。

此外,随着大规模语言模型(如 ChatGPT 和 Gemini)的引入,自然语言处理技术也取得了进步,在推理、上下文数射学习和获取广泛的开放世界信息方面都表现出色。由于这些广泛的能力,预学习生成模型为各种推荐应用提供了新的研究可能性,例如增强个性化、改进对话界面和生成更丰富的描述。
在这里插入图片描述

生成模型的核心在于其对所学数据分布进行建模和采样的能力。基于这一特性,推荐系统主要有两种应用。

一种是直接学习模型(如 VAE-CF,用于协同过滤的变异自动编码器)。它直接从用户-项目交互数据中学习,预测用户偏好。这种方法不需要使用大量不同的预训练数据集。另一种是预训练模型。它使用预先训练好的模型和文本、图像和视频等各种数据来理解复杂的模式、关系和上下文。

本文介绍了预训练生成模型在以下环境中的应用

  • 提示零次和多次拍摄
    • 使用情境学习(ICL),无需额外培训即可广泛理解。
  • 微调
    • 利用特定数据集定制模型,提供个性化建议。
  • 搜索扩展生成 (RAG)
    • 将信息检索与生成模型相结合,生成与上下文相关的输出结果。
  • 嵌入式下游培训
    • 为复杂的内容表示生成嵌入和标记序列。
  • 多模式方法
    • 使用不同的数据类型,提高模型建议的准确性和相关性。

这样,生成模型有望为推荐系统开辟新的可能性,并提供前所未有的交互式个性化用户体验。

近年来,一些调查报告显示了这一领域的重要进展:Deldjoo 等人探讨了基于 GAN 的推荐系统在四种不同情况下的应用:基于图、协作、混合和上下文感知,而Li 等人则探讨了用于推荐系统的大规模语言模型。研究了训练策略和学习目标。Wu等人还利用大规模语言模型为推荐系统生成输入词库或嵌入词库。其他活跃的研究包括Wang 等人推出的下一代推荐系统GeneRec,该系统通过人工智能生成器个性化内容,解释用户指令并收集用户偏好�

这些研究提供了重要的见解,但其范围仅限于大规模语言模型或特定模型集(如 GAN)。另一方面,GeneRec提供了侧重于个性化内容生成的全面研究。

下图概述了本文关于 Gen-RecSys 的研究内容。它按数据源、推荐模型、场景等进行分类,并深入探讨了每个系统的评估和挑战。本文基于该系统研究 Gen-RecSys。

论文涵盖了广泛的生成模型和数据模式,为未来的推荐系统提供了系统信息。

使用生成模型的交互驱动型推荐

交互驱动型推荐是最常见的推荐系统,它完全基于用户与物品之间的交互(如用户 A 点击物品 B)。在这种情况下,重点是用户与物品之间的交互,而不是文本或视觉信息等其他模式,重点是推荐列表或网格的输出。深度生成模型(DGM)可用于此类系统。

例如,深度生成模型可以增强用户与物品的交互、为推荐使用降噪技术、学习推荐布局的分布等。本节总结了使用用户和项目交互数据完成推荐任务的深度生成模型,包括自编码模型、自回归模型、生成对抗网络(GAN)和扩散模型。

自动编码模型可学习重建输入,由于其重建输入的能力,可用于去噪、表征学习和生成任务。在这种情况下,去噪自动编码模型学习从损坏的输入中重建原始输入。例如,AutoRec 可重建部分观察到的输入向量。BERT 等模型也被认为是去噪自动编码模型,其中 BERT4Rec 经过训练可预测用户先前交互序列中被掩盖的项目。

变异自动编码模型(VAE)学会从复杂的概率分布映射到简单的概率分布。变异自动编码模型被广泛应用于协同过滤、顺序推荐等领域,并显示出卓越的性能。此外,条件自编码模型(Conditional VAE,CVAE)可以学习特定用户推荐列表的分布,并与 ListCVAE 和 PivotCVAE 一样,生成整个推荐列表以及单个项目的排名。

自回归模型还能在输入序列的每一步学习条件概率分布。这些模型用于序列建模,并广泛应用于基于会话和顺序的推荐、模型攻击和捆绑推荐。其中,递归神经网络(RNN)被用于预测基于会话和顺序推荐中的下一个项目。例如,GRU4Rec 及其衍生物可预测篮子和捆绑推荐中的下一组项目。

自注意自回归模型以变压器为基础,用自注意和相关模块取代循环单元。这些模型用于基于会话和顺序的推荐、预测下一篮子或捆绑以及模型攻击。自注意模型具有有效处理长期依赖关系和实现并行训练的优势。

生成式对抗网络(GAN)也由两个主要部分组成:生成器网络和判别器网络。这些网络通过竞争学习,提高了两者的性能。生成器网络和判别器网络用于在交互驱动的环境中选择信息丰富的训练样本。例如,在 IRGAN 中,生成搜索模型会对负面项目进行采样。生成对抗网络通过综合用户偏好和交互来增强训练数据,在生成推荐列表和整页推荐方面也很有效。

此外,扩散模型通过两个阶段的过程产生输出。首先,它在正向过程中学习将输入转化为噪声,然后在反向过程中从噪声中恢复原始输入。该模型可以学习用户未来的交互概率,并在缓解数据稀缺和长尾用户问题方面显示出良好的效果。

推荐中的大规模语言模型

基于内容的推荐系统利用语言已有 30 多年的历史,但随着预先训练的大规模语言模型(LLMs)的出现,它已进入了一个新阶段。大规模语言模型的通用、多任务自然语言推理能力允许使用文本内容,以统一和可解释的形式表示项目特征、用户偏好、交互、推荐任务甚至外部知识。

文本内容与项目标题、描述和评论相关联,用户偏好也可以用自然语言表达。预先训练好的大规模语言模型为利用这些文本数据提供了新的方法,并能在许多领域中根据用户偏好及其描述进行推荐。本节概述了大规模语言模型在推荐系统中发展的主要方法。

例如,高密度检索(High Density Retrieval)将项目的文本内容视为文档,并将用户最近偏好的项目描述串联起来,合成一个查询。例如,大型语言模型( 如 BERT、TAS-B 或 Condenser)可用于生成项目排名列表;近似搜索库(如 FAISS)可用于构建高度可扩展的系统。

零镜头和小镜头生成式推荐使用大规模现成的语言模型来建立提示,用自然语言描述用户偏好,并预测下一个要推荐的项目标题和评级。在没有足够数据的情况下,零点提示具有竞争力。

检索增强生成(RAG)也是一种方法,大规模语言模型的输出生成以从外部知识源获取的信息为条件。这有利于在线更新并减少错觉(错误生成)。搜索增强生成是一种方法, 首先使用搜索器或推荐系统构建候选项集,然后向 编码器-解码器大规模语言模型提供提示,对候选项集重新排序。

此外,大规模语言建模技术的进步使用户与自然语言系统的交互成为可能,从而为会话推荐(ConvRec)提供了可能性。元素整合在一起。一些研究使用 GPT-4 等单体大规模语言模型来促进 自然语言对话,并根据对话和交互历史生成项目推荐。

通过利用大规模语言模型的力量,有望实现更加复杂和个性化的推荐系统。

生成式多模态推荐系统

近年来,用户对交互的要求越来越丰富,而不仅仅是文字和图片搜索。具体的例子包括将所需产品的照片与自然语言指令相结合,如 “照片中裙子的红色版本”,或者将服装穿在身上的效果或家具摆放在房间里的效果可视化,以确认推荐。这些先进的交互方式要求新的推荐系统能够发现隐藏在每种模式(文本、图像等)中的独特属性。

我们为什么需要多模态推荐?零售商拥有多种多样的信息,包括产品描述、图片和视频、客户评价和购买历史记录,但传统的推荐系统采用的方法是对每种信息源进行独立处理,然后将结果融合在一起。这种方法往往不能完全满足客户的需求。

例如,在 "冷启动 "问题中,由于缺乏用户行为数据而无法推荐新客户或新产品,因此必须利用多样化的信息为新产品和新客户提供适当的推荐。此外,要满足 "我正在为我的客厅寻找一张 300 美元以下的黑色金属玻璃茶几 "这一要求,产品的外观和形状需要与房间里的其他物品相关联。单靠文字或图片是无法满足这样的要求的。

此外,多模态理解对于将用户提供的产品图片或音频(如与声音片段类似的歌曲)与文字修改说明或互补相关产品(如图片中自行车的脚架)相结合的请求也很重要。对于具有复杂输出的推荐系统(如虚拟试穿功能或智能交互式购物助手)来说,多模态理解也是必要的。

然而,开发多模态推荐系统面临着一些挑战。首先,收集多模态数据比收集单模态数据更困难,而且注释可能不完整。此外,有效结合不同的数据模式也很困难。例如,现有的对比学习方法将每种数据模态映射到一个共同的潜在空间,但可能会遗漏互补信息。

此外,训练多模态模型需要大量数据。尽管存在这些挑战,最近的研究在建立有效的多模态生成模型方面取得了进展。具体来说,这些研究包括利用大规模语言和扩散模型生成合成数据、高质量的单模态编码器和解码器、将潜空间与共享空间相匹配的技术、高效的重参数化和学习算法,以及将结构注入所学潜空间的技术。

通过多模态学习生成模型需要学习每种模态的潜在表征,并确保它们的一致性。应对这一挑战的方法之一是首先学习多种模态之间的一致性,然后在 "一致性良好 "的表征上训练生成模型。

典型的对比学习方法有 CLIP 和 ALBEF:CLIP 使用并行编码器将图像和相关文本投射到同一个嵌入空间;ALBEF 扩展了 CLIP,使用多模态编码器将文本和图像嵌入融合在一起;ALBEF 使用单个编码器将图像和相关文本投射到同一个嵌入空间。ALBEF 在使用较少图像进行预训练的情况下,在零拍摄和微调多模态基准测试中取得了优异的成绩。

基于对比度的匹配显示出令人印象深刻的零镜头分类和检索结果,并已成功用于物体检测、分割和动作识别等许多任务。相同的匹配目标已被用于其他模式之间或同时用于几种模式中。

利用多模态数据的推荐系统能为用户提供更丰富、更准确的推荐。本文介绍了使用生成模型的多模态推荐系统的典型方法。首先是多模态变异自编码器(VAE)。变异自动编码器(VAE)可直接应用于多模态数据,但使用在大型数据集上训练的特定模态编码器和解码器更为有效。一种常见的方法是同时处理图像和文本输入,并按模态划分潜在空间。例如,ContrastVAE 在每种模态的潜在表征之间增加了对比度损失,对潜在空间的扰动具有鲁棒性,同时解决了数据不确定性和稀缺性的问题。

第二种是扩散模型。这是一种最先进的图像生成技术,也可用于文本生成。例如,DALL-E 基于 CLIP 嵌入空间生成新图像,而 Stable Diffusion 则使用经过感知损失和基于补丁的对抗目标训练的 UNet 自编码器。这提高了生成结果的可控性和一致性,并已应用于虚拟试衣等应用中。

第三个是多模态大规模语言模型(MLLM)。它提供了一个自然语言界面,用户可以用多种模态表达查询,并显示不同模态的回复。它连接了经过鉴别预训练的编码器和解码器,并使用自适应层来确保单模态表征的一致性。例如,Llava 可接受文本和图像输入,并生成有用的文本响应。关于多模态大规模语言模型的研究才刚刚起步,但它们已被用于推荐应用中。

生成式多模态推荐系统具有显著改善用户体验的潜力。预计这些技术在未来将发挥越来越重要的作用。

影响和危害评估

对推荐系统的评估是多方面和复杂的。这些系统由大量推荐模型以及其他机器和非机器学习组件组成,因此很难评估单个模型的性能。此外,由于推荐对用户体验和行为有着广泛的影响,量化其影响也是一项具有挑战性的任务。尤其是 Gen-RecSys(生成式推荐系统)的引入使评估过程变得更加复杂。 重要的是,对推荐系统的评估不仅包括系统的性能和能力,还包括其安全性和潜在的社会危害。本节将回顾评估要点,探讨评估指标和未决问题,以及未来的研究方向。 首先,离线影响评估。模型评估的常见方法是在离线环境下了解准确性和效率,然后进行现场实验。

用于识别任务的常用指标包括召回率@k、精确率@k、NDCG@k、AUC、ROC、RMSE 和 MAE。对于生成任务,自然语言处理技术也很有用。例如,BLEU 分数可用于描述和评论生成,ROUGE 分数可用于摘要评估。评估生成式推荐模型的训练和推理效率也很重要。这被视为未来研究的一个领域。

基准也很重要。用于判别式推荐模型的流行基准数据集(如 Movielens、Amazon Reviews、Yelp Challenge)对生成式推荐模型也很有用。不过,ReDial 和 INSPIRED 等最新数据集专门用于会话推荐。需要为新任务开发新的基准。

下一步是在线和长期评估。A/B 测试是必要的,因为离线实验无法考虑模型与其他因素之间的相互依存关系。使用代理进行模拟也很有用。重要的是要通过收入和参与度等业务指标来了解短期影响和长期影响。

评估会话推荐的其他有用指标是 BLEU 和困惑度。此外,还应辅之以特定任务和特定目标的指标。功能强大的大规模语言模型可以充当评判者,但人工评估最终还是很重要的;CRSLab 等工具包可以在这一过程中提供帮助。Milano 等人将与推荐系统相关的危害分为六类(内容、侵犯隐私、威胁人类自主权、透明度、过滤泡沫和公平性)。生成模型带来了新的挑战。这些挑战包括大规模语言模型的偏差、环境影响和人类工作者的替代。

评估推荐系统的离线指标、在线性能和危害具有挑战性。不同利益相关者的评估方法各不相同,需要进一步研究和开发工具;应参照 HELM 基准设计综合评估框架。

因此,评估推荐系统的影响和危害需要多方面的视角。评估中不仅要考虑准确性和效率,还要考虑安全性和社会影响。未来的研究和新基准的开发将促进推荐系统的发展。

总结

本文是一项调查,旨在探索生成模型在推荐系统中的多样性和潜力。 正如前文所述。推荐系统的应用及其评估正变得越来越复杂,希望本调查能对该领域的发展做出贡献。

注:
源码地址:https://github.com/yasdel/Gen-RecSys.git
论文地址:https://arxiv.org/pdf/2404.00579

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

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

相关文章

太速科技-440-基于XCVU440的多核处理器多输入芯片验证板卡

基于XCVU440的多核处理器多输入芯片验证板卡 一、板卡概述 本板卡系我司自主研发的基于6U CPCI处理板,适用于多核处理器多输入芯片验证的应用。芯片采用工业级设计。 基于XCVU440T的多核处理器多输入芯片验证板卡基于6U CPCI架构,是单机中的一个…

SpringBoot框架在共享汽车管理中的应用

3系统分析 3.1可行性分析 通过对本共享汽车管理系统实行的目的初步调查和分析,提出可行性方案并对其一一进行论证。我们在这里主要从技术可行性、经济可行性、操作可行性等方面进行分析。 3.1.1技术可行性 本共享汽车管理系统采用SSM框架,JAVA作为开发语…

【数据分享】1901-2023年我国省市县镇四级的逐年降水数据(免费获取/Shp/Excel格式)

之前我们分享过1901-2023年1km分辨率逐月降水栅格数据和Shp和Excel格式的省市县四级逐月降水数据,原始的逐月降水栅格数据来源于彭守璋学者在国家青藏高原科学数据中心平台上分享的数据!基于逐月数据我们采用求年累计值的方法得到逐年降水栅格数据&#…

Javaweb-book书籍借阅系统-开源计划-起源-003

效果视频: https://www.bilibili.com/video/BV1w5m6YkEW3/?spm_id_from333.999.0.0项目地址: https://gitee.com/lucky-six/Javaweb-book

基于springboot+vu的二手车交易系统(全套)

一、系统架构 前端:vue | element-ui | html 后端:springboot | mybatis-plus 环境:jdk1.8 | mysql | maven | nodejs 二、代码及数据库 三、功能介绍 01. web端-首页1 02. web端-首页2 03. web端-注册 04. web端-登录 05. w…

系统架构师2023版:习题

架构设计基础 计算机基础 目前处理器市场中存在 CPU 和 DSP 两种类型的处理器,分别用于不同的场景,这两种处理器具有不同的体系结构,DSP采用()。 A.冯诺依曼结构 B.哈佛结构 C.FPGA 结构 D.与 GPU 相同的结构 解析:…

C++ | Leetcode C++题解之第552题学生出勤记录II

题目&#xff1a; 题解&#xff1a; class Solution { public:static constexpr int MOD 1000000007;vector<vector<long>> pow(vector<vector<long>> mat, int n) {vector<vector<long>> ret {{1, 0, 0, 0, 0, 0}};while (n > 0) {…

智能化SCRM方案助力企业高效管理与营销转型

内容概要 现代企业面临着复杂多变的市场环境&#xff0c;传统的管理与营销方式常常无法满足日益增长的需求。这时&#xff0c;智能化SCRM方案便应运而生&#xff0c;为企业带来了新的机遇与挑战。智能化SCRM方案不仅仅是一个单一的工具&#xff0c;它更像是一个全面的解决方案…

Axure是什么软件?全方位解读助力设计入门

在产品设计和开发领域&#xff0c;Axure是一款大名鼎鼎且功能强大的软件&#xff0c;它为专业人士和团队提供了卓越的设计支持&#xff0c;帮助他们将创意转化为实际可操作的产品原型。 一、Axure 的基本介绍 Axure是一款专业的原型设计工具&#xff0c;主要用于创建交互式的…

linux之文件(上)

linux之文件&#xff08;上&#xff09; 一.文件的预备知识二.C语言的文件接口和linux的系统接口2.1fopen2.2fclose2.3open2.4close2.5write2.6read 三.文件与系统3.1文件描述符3.2 标准输入&#xff0c;标准输出和标准错误3.3fd的分配规则 四.重定向4.1重定向的概念4.2重定向的…

CSS的配色

目录 1 十六进制2 CSS中的十六进制2.1 十六进制颜色的基本结构2.2 十六进制颜色的范围2.3 简写形式2.4 透明度 3 CSS的命名颜色4 配色4.1 色轮4.2 互补色4.3 类似色4.4 配色工具 日常在开发小程序中&#xff0c;客户总是希望你的配色是美的&#xff0c;但是美如何定义&#xff…

YOLOv11融合[ECCV2024]自调制特征聚合SMFA模块及相关改进思路|YOLO改进最简教程

YOLOv11v10v8使用教程&#xff1a; YOLOv11入门到入土使用教程 YOLOv11改进汇总贴&#xff1a;YOLOv11及自研模型更新汇总 《SMFANet: A Lightweight Self-Modulation Feature Aggregation Network for Efficient Image Super-Resolution》 一、 模块介绍 论文链接&#xff1…

数据库SQLite的使用

SQLite是一个C语言库&#xff0c;实现了一个小型、快速、独立、高可靠性、功能齐全的SQL数据库引擎。SQLite文件格式稳定、跨平台且向后兼容。SQLite源代码属于公共领域(public-domain)&#xff0c;任何人都可以免费将其用于任何目的。源码地址&#xff1a;https://github.com/…

【大模型】Spring AI Alibaba 对接百炼平台大模型使用详解

目录 一、前言 二、Spring AI概述 2.1 spring ai是什么 2.2 Spring AI 核心能力 2.3 Spring AI 应用场景 三、Spring AI Alibaba 介绍 3.1 Spring AI Alibaba 是什么 3.2 Spring AI Alibaba 核心特点 3.3 Spring AI Alibaba 应用场景 四、SpringBoot 对接Spring AI Al…

Java:HTTP/HTTPS

HTTP HTTP(全称"超文本传输协议")是一种应用最广泛的应用层协议; 文本=>字符串 超文本:可以传输文本,图片,语言等等其他的各种数据... HTTP各种应用场景: 1.使用浏览器打开网页; 2.打开手机APP; 3.后端程序,都是"分布式/微服务"体系结构; HTTPS可…

【Promise】JS 异步之宏队列与微队列

文章目录 1 原理图2 说明3 相关面试题3.1 面试题13.2 面试题23.3 面试题33.4 面试题4 1 原理图 2 说明 JS 中用来存储待执行回调函数的队列包含 2 个不同特定的队列&#xff1a;宏队列和微队列。宏队列&#xff1a;用来保存待执行的宏任务(回调)&#xff0c;比如&#xff1a;定…

用 Python 从零开始创建神经网络(二):第一个神经元的进阶

第一个神经元的进阶 引言1. Tensors, Arrays and Vectors&#xff1a;2. Dot Product and Vector Additiona. Dot Product &#xff08;点积&#xff09;b. Vector Addition &#xff08;向量加法&#xff09; 3. A Single Neuron with NumPy4. A Layer of Neurons with NumPy5…

【优选算法 — 滑动窗口】最大连续1的个数 将 x 减到0的最小操作数

最大连续1的个数 最大连续1的个数 题目描述 题目解析 给我们一个元素全是0或者1的数组&#xff0c;和一个整数 k &#xff0c;然后让我们在数组选出最多的 k 个0&#xff1b;这里翻转最多 k 个0的意思&#xff0c;是翻转 0 的个数< k&#xff0c;而不是一定要翻转 k …

各种排序分组

简易排序方法如下: public static void XX(){var circles Z.db.SelectEntities<Circle>();circles circles.OrderByDescending(x > x.Center.Y).ThenBy(x > x.Center.X).ToList();for (int i 0; i < circles.Count; i){DBText text new DBText() { Positi…

RK3288 android7.1 适配 ilitek i2c接口TP

一&#xff0c;Ilitek 触摸屏简介 Ilitek 提供多种型号的触控屏控制器&#xff0c;如 ILI6480、ILI9341 等&#xff0c;采用 I2C 接口。 这些控制器能够支持多点触控&#xff0c;并具有优秀的灵敏度和响应速度。 Ilitek 的触摸屏控制器监测屏幕上的触摸事件。 当触摸发生时&am…