图神经网络在推荐系统中的应用综述

news2024/9/20 11:39:01

1 研究计划

  1. 了解推荐系统的研究背景和发展历程
  2. 了解为什么推荐系统需要GNN
  3. 了解基于GNN的推荐的关键挑战
  4. 了解基于GNN的推荐的现有方法

2 完成情况

2.1推荐系统的研究背景和发展历程

随着各种服务和平台(如电子商务、短视频等)上信息的快速爆炸,推荐系统在缓解信息过载方面发挥着关键作用。推荐系统的开发一般包括三个阶段,1.浅层模型,2.基于神经网络的模型,3.基于GNN的模型。如下:

(1)浅层模型

浅层模型是推荐系统最早期使用的方法,主要基于简单的机器学习算法,如协同过滤(Collaborative Filtering),矩阵分解(Matrix Factorization),或基于内容的推荐(Content-based Recommendation)。这些方法结构简单,通常依赖于历史数据的关联性。

特点:

协同过滤:利用用户和物品的交互历史,通过相似用户或物品进行推荐。包括基于用户的协同过滤和基于物品的协同过滤。

矩阵分解:使用用户-物品评分矩阵,将其分解成低维的用户和物品隐向量,从而通过这些隐向量进行推荐。

基于内容的推荐:基于用户历史偏好或物品属性,推荐具有相似内容的物品。

优缺点:

优点:实现简单,计算速度快。

缺点:无法处理复杂的非线性关系,容易受冷启动问题影响。

(2)基于神经网络的模型

随着计算能力的提高,深度学习模型被引入推荐系统,能够捕捉更复杂的用户偏好和物品特征。深度神经网络(DNN)、自编码器(Autoencoder)、循环神经网络(RNN)、卷积神经网络(CNN)等模型广泛应用于推荐系统。

特点:

DNN: 提取用户和物品的深层次特征,通过多层神经网络进行非线性映射,生成推荐结果。

Autoencoder: 常用于隐含层重构用户行为数据,用于降维和去噪。

RNN: 处理用户的序列化行为数据,如时间序列中的偏好变化。

CNN: 常用于处理图像类物品推荐,例如图片、视频等领域的推荐系统。

优缺点:

优点:能够学习复杂的非线性关系,更加精准地捕捉用户的深层次兴趣。

缺点:训练和推理时间长,对计算资源要求高。

(3)基于GNN的模型

近年来,图神经网络(Graph Neural Network, GNN)作为一种新型深度学习方法,因其能够有效处理图结构数据(如社交网络、用户-物品交互网络等)而备受关注。GNN通过将用户与物品的交互视为图结构,学习到更加精确的推荐表示。

特点:

GNN: 将用户和物品视为图中的节点,交互行为视为图中的边,通过图卷积神经网络传播节点信息,捕捉复杂的高阶关系,进行推荐。

优势: GNN能够利用图结构中的高阶关系,理解用户与物品之间的复杂连接和影响力,不仅依赖直接交互,还能够通过间接交互获得更精细的推荐结果。

优缺点:

优点:能够有效利用图结构信息,捕捉复杂的高阶交互。

缺点:计算复杂度较高,训练时间长。

2.2为什么推荐系统需要GNN

(1)统一结构化数据。在推荐系统中,数据是不同形式的,而图可以用代表各种实体或特征的节点和边来组织和统一数据。通过这种方式,专门设计的GNN将捕获不同数据源之间的相关性和相互作用,并为特定任务学习高级表示。

(2)高阶连接的建模。图上的多层嵌入传播可以关联多跳实体信息,从而捕获用户和项目之间的高阶连通性和相似度。

(3)多重监控信号。GNN可以缓解具有半监督信号的推荐系统的数据稀疏性问题,例如在多行为推荐中辅助目标行为与其他行为的建模。此外,自监督范式在基于gnn的模型中也很有用.

2.3基于GNN的推荐的关键挑战

将GNN应用于推荐系统的挑战:

  • 将推荐系统的数据输入仔细而恰当地构造成图,用节点表示元素,边表示关系。第二,对于具体任务,图神经网络中的组件需要自适应设计,包括如何传播和聚合,在这方面已有的作品探索了各种不同优缺点的选择。第三,基于gnn的模型的优化,包括优化目标、损失函数、数据采样等,应符合任务要求。第四,由于推荐系统对计算成本有严格的限制,并且由于gnn的嵌入传播操作引入了大量的计算,因此图神经网络在推荐系统中的有效部署是另一个关键挑战。总的来说,就是图的构建,网络设计,模型优化和计算效率四个方面。

(一).图的构建

结点:使用图神经网络学习的主要目标之一是为节点分配表征。这在很大程度上决定了GNN模型的尺度,其中大部分参数被第0层节点嵌入所占据。注意,边缘嵌入通常要么不考虑,要么基于节点嵌入计算。另一方面,确定是否区分不同类型的节点也是一个具有挑战性的问题。例如,在协作过滤任务中,可以对用户和项节点进行不同的建模,或者将其视为相同类型的节点。另一个挑战是处理具体的输入,如物品价格等数字特征,这总是连续的数字。为了在图中表示这些特征,一种可能的解决方案是将它们离散成分类特征,然后可以用节点表示。

边:在进一步的传播和聚合过程中,边的定义对图的质量和模型的优化有很大的影响。在一些琐碎的任务中,推荐系统的数据输入可以被认为是一种关系数据,例如用户-物品交互或用户-用户社会关系。在一些复杂的任务中,其他关系也可以表示为边。例如,在捆绑推荐中,一个捆绑项目由几个项目组成。然后,连接束和项的边可以反映隶属关系。在构造图的时候,好的边的设计应该充分考虑图的密度。过于密集的图意味着有极高度的节点。这将使得嵌入传播由大量的邻居进行。这将进一步使传播嵌入无识别性和无用性。为了处理过于密集的边缘,对图进行采样、滤波或剪枝是很有前途的解决方案。过于稀疏的图也会导致嵌入传播的效用较差,因为传播将只在很小一部分节点上进行。

(二).网络设计

传播层使得GNN不同于传统的图学习方法。在传播方面,如何选择路径是高阶相似度推荐系统建模的关键。此外,传播也可以是参数化的,对不同的节点分配不同的权重。例如,将项目嵌入传播到用户-项目交互图中的用户节点可以捕获基于项目的CF效果。权重指的是历史上相互作用的项目的不同重要性。在传播过程中,聚合函数也有多种选择,包括mean pooling、LSTM、max、min等。由于没有单一的选择可以在所有推荐任务或不同的数据集中执行得最好,因此设计一个特定的和适当的选择是至关重要的。此外,传播/聚合方式的选择对计算效率影响很大。例如,均值池化被广泛应用于基于gnn的推荐模型,因为它可以高效地计算,特别是对于包含高节点的图,例如非常受欢迎的项目(可以连接许多用户)。此外,可以堆叠传播/聚合层,以帮助节点访问更高跳的邻居。太浅的层使高阶图结构不能很好地建模,太深的层使节点嵌入过于光滑。这两种情况中的任何一种都会导致推荐性能差。

(三).模型优化

为了优化基于图神经网络的推荐模型,推荐系统中的传统损失函数往往转向图学习损失。例如,优化中的logloss可以看作是逐点的链路预测损失。同样,在图上的链路预测任务中通常采用BPR loss。另一个方面是数据采样。在基于gnn的推荐中,对正项或负项进行采样,采样方式高度依赖于图的结构。例如,在社交推荐中,对图进行随机漫步可以生成弱正项目(如好友互动的项目)。此外,有时候,基于gnn的推荐可能涉及多个任务,例如不同类型边上的链路预测任务。那么在这种情况下,如何平衡每个任务并使它们相互促进是具有挑战性的。

(四).计算效率

在现实世界中,推荐系统应该被有效地训练/推断。因此,为了保证基于gnn的推荐模型的应用价值,其计算效率应认真考虑。与传统的非GNN推荐方法(如NCF或FM)相比,GNN模型的计算成本要高得多。GCN的每一层都涉及到复杂的矩阵运算,特别是对于GCN这样的谱型GNN模型。随着GCN层的多层叠加,计算成本进一步增加。因此,像PinSage这样的空间GNN模型可以更容易地在大规模工业应用中实现。通过在邻居之间进行采样或者对图结构进行修剪,只要我们能接受推荐性能的一定下降,就可以保持较高的计算效率。

2.4推荐系统的四个关键角度:

(一).阶段

一般来说,现代推荐系统由以下三个阶段组成,遵循匹配、排序和重新排序的流程。

Matching.:第一个阶段从非常大的项目池(百万级甚至十亿级)中生成数百个候选项目,这大大减少了规模。这个阶段的模型通常是简洁的。也就是说,该阶段的核心任务是高效检索潜在的相关项,并获得用户兴趣的粗粒度建模。

Ranking:在匹配阶段后,将来自不同渠道的多个候选项目来源合并为一个列表,然后使用单个排序模型进行评分。具体来说,排名模型根据得分对这些项目进行排名,并选择前几十个项目。

Re-ranking:排名阶段后得到的项目列表虽然在相关性方面进行了优化,但可能无法满足其他重要要求,如新鲜度、多样性、公平性等,因此,重新排序阶段是必要的。该阶段通常会删除某些项或更改列表的顺序,以满足其他标准并满足业务需求。这一阶段的主要关注点是考虑得分最高的项目之间的多重关系。

(二).场景

该场景包括社交、顺序、基于会话、跨领域、多行为、捆绑推荐等。

社交推荐

用户的行为可能会受到其朋友的行为或想法的影响,这被称为社会影响。例如,微信,视频平台的用户可能只是因为他们的微信朋友的点赞行为而喜欢一些视频。以社交电商为例,来自同一个家庭的用户可能有相似的产品偏好,比如食品、服装、日用品等。因此,社会关系往往被整合到推荐系统中,以提高最终的绩效,这被称为社会推荐。

顺序推荐

在推荐系统中,用户会随着时间的推移产生大量的交互行为。顺序推荐方法从这些行为序列中提取信息,预测用户的下一个交互项。顺序推荐使用用户的历史行为序列来学习时间戳感知的顺序模式,以推荐用户可能感兴趣的下一个项目。

会话推荐

基于会话的推荐(SBR)问题,其目的是使用给定的匿名行为会话数据预测下一个项目,它专注于分析用户在单个会话中的行为模式,以预测用户在当前会话中可能感兴趣的下一个项目。与顺序推荐不同,同一个用户的后续会话在SBR中是独立处理的,因为每个会话中的用户行为只显示基于会话的特征。

跨领域推荐

CDR方法大致可分为单目标CDR (STCDR)和双目标CDR (DTCDR)两大类。CDR方法将信息从源域单向传递到目标域;DTCDR强调源域和目标域信息的相互利用,可以扩展到多目标CDR (MTCDR)。由于利用来自多个领域的信息可以提高性能,跨领域推荐已经成为推荐系统中的一个重要场景。

单目标CDR(STCDR)的例子:

假设我们有两个电子商务网站,一个是卖电子产品的(源域),另一个是卖书籍的(目标域)。目标域的书籍网站是新开的,用户行为数据较少,导致推荐系统难以准确预测用户的阅读偏好。

STCDR策略:

数据收集:从电子产品网站(源域)收集用户行为数据,包括用户的浏览、购买和评分行为。

特征提取:从源域数据中提取用户和物品的特征,比如用户的兴趣偏好、物品的类别和属性。

模型训练:使用源域数据训练一个推荐模型,学习用户和物品之间的潜在关系。

信息传递:将训练好的模型应用到目标域的书籍网站上,尝试预测用户可能感兴趣的书籍。

优化目标:STCDR的目标是优化目标域的推荐性能,即使目标域的数据较少。

双目标CDR(DTCDR)的例子:

假设我们有两个音乐流媒体服务,一个是流行音乐(源域),另一个是古典音乐(目标域)。古典音乐的用户相对较少,数据稀疏。

DTCDR策略:

数据收集:从流行音乐服务(源域)和古典音乐服务(目标域)同时收集用户行为数据。

联合特征提取:提取两个域的共有特征和各自特有的特征。

联合模型训练:同时训练一个推荐模型,该模型能够学习两个域之间的共同点和差异。

双向信息流动:模型不仅将流行音乐服务的用户偏好传递给古典音乐服务,还可以将古典音乐服务的反馈传递回流行音乐服务,实现信息的双向流动。

优化目标:DTCDR的目标是同时优化两个域的推荐性能。

多行为推荐

用户在多种情况下与推荐系统交互当然不止一种行为。例如当用户点击视频时,他/她也可能会进行收集或评论等行为。在电子商务网站中,用户在购买商品之前,通常会先点击、加入购物车、分享或收集商品。虽然推荐系统的最终目标是推荐用户会购买的产品,但与用户的点击、分享等行为相比,购买行为是非常稀疏的。对于多行为推荐,一般来说,有两个主要的挑战。首先,不同的行为对目标行为有不同的影响。有些行为可能是强信号,有些可能是弱信号。同时,这种影响对每个用户都是不同的。准确地模拟这些不同行为对目标行为的影响是一项挑战。其次,从不同类型的行为中学习综合表征是具有挑战性的。不同的行为反映了用户对物品的不同偏好;换句话说,不同的行为有不同的含义。为了获得更好的表征,需要将不同行为的意义整合到表征学习中。

捆绑推荐

现有的推荐系统主要侧重于向用户推荐独立的项目。捆绑是商品的集合,是产品促销的重要营销策略。捆绑推荐的目的是推荐商品组合供用户消费。如今,捆绑推荐在在线平台上非常普遍,例如Spotify的音乐播放列表、Pinterest的钉板、亚马逊的电脑套装和宜家的家具套件。

(三).目标

目标包括准确性、多样性、可解释性、公平性。

多样性:

推荐系统通常考虑两种类型的多样性,即个人层面的多样性和系统层面的多样性。具体来说,个人层面的多样性是衡量每个用户推荐项目的不相似性的一个重要目标,因为重复的相似项目使用户不愿意探索系统。对于系统级的多样性,它比较不同用户的推荐结果,并期望它们彼此不相似。因此,系统级的多样性有时被称为长尾推荐。

可解释性:

由于目前的推荐系统大多采用深度学习范式,因此对推荐的可解释性提出了迫切的需求。可解释推荐系统的重点不仅在于产生准确的推荐结果,还在于产生有说服力的解释,说明如何以及为什么向特定用户推荐该项目。增加推荐系统的可解释性可以增强用户感知的透明度、说服力和可信度,并便于从业者调试和完善系统。具体而言,过去的研究采用了两种不同的方法:一种是努力设计内在可解释的模型,通过设计具有透明逻辑(而不仅仅是“黑箱”)的模型来确保推荐结果的可解释性,例如显式因子模型、隐藏因子和主题模型、TriRank。其他人稍微妥协:他们设计了事后独立的模型来解释“黑盒”推荐系统产生的结果,例如,解释挖掘。第二种是推荐依赖于知识图中的外部知识。

公平性:

具体来说,根据所涉及的利益相关者,推荐系统中的公平性可以分为两类:用户公平性,即试图确保在特定用户或人口群体中不存在算法偏差;项目公平性,即不同项目的公平曝光,或不同项目之间不存在流行偏差。在这里,我们关注的是用户公平性,而将项目公平性留在多样性部分,因为它们在解释和解决方案上有着密切的联系。具体来说,研究者采用了两种方法来增强公平性:一种是在训练过程中直接去偏推荐结果,另一种是通过后处理方法对项目进行排序来减轻不公平性。事实上,越来越多的证据表明,图形数据(例如user-user)的使用可能会加剧对公平性的关注。因此,在丰富的图数据背景下消除推荐中的不公平性是一个挑战。此外,从图的角度来提升推荐中的用户公平性更是难上加难。

(四).应用

推荐系统广泛存在于当今的信息服务中,有着各种各样的应用,其中具有代表性的有以下几种。

产品推荐,又称电子商务推荐,是推荐系统最著名的应用之一。对于电子商务场景中的推荐模型,其商业价值受到高度关注。因此,处理与平台利润密切相关的多种行为至关重要,包括添加到购物车或购买。有文献提出同时优化点击率和转化率。此外,在电子商务平台中,产品可能具有丰富的属性,如价格、品类等,在此基础上可以构建异构图。产品推荐的代表性基准数据集有Amazon†、Tmall‡等。

POI(兴趣点)推荐,也是一个流行的应用程序,旨在为用户下次访问推荐新的位置/兴趣点。在兴趣点推荐中,有两个重要的因素:空间因素和时间因素。空间因子是指poi自然存在的地理属性,即地理位置。此外,用户的访问也在很大程度上受到地理活动区域的限制,因为用户无法像在电商网站上浏览/购买产品那样轻松访问poi。此外,时间因素也很重要,因为用户的访问/签入行为总是形成一个序列。

新闻推荐帮助用户找到喜欢的新闻,这也是另一个典型的应用。与其他推荐应用不同,新闻推荐需要对新闻文本进行适当的建模。因此,自然语言处理方法可以与推荐模型相结合,更好地提取新闻特征。此外,用户总是对最新的新闻感兴趣,可能会拒绝过时的新闻。因此,快速准确地从快速变化的候选池中过滤新闻也很关键,但也很有挑战性。在新闻推荐方面,MIND数据集是最近发布的代表性基准数据集。

电影推荐是最早的推荐系统之一。例如,Netflix的电影推荐竞争激发了许多先锋推荐研究。早期的电影推荐设置是估计用户对电影的评分分数,从1到5,这被称为显式反馈。近年来,二元隐式反馈已成为比较流行的设置。

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

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

相关文章

UWA支持鸿蒙HarmonyOS NEXT

华为在开发者大会上,宣布了鸿蒙HarmonyOS NEXT将仅支持鸿蒙内核和鸿蒙系统的应用,不再兼容安卓应用,这意味着它将构建一个全新且完全独立的生态系统。 为此,UWA也将在最新版的UWA SDK v2.5.0中支持鸿蒙HarmonyOS NEXT&#xff0c…

NLP三天入门大模型,我领先你好几个版本了

大模型时代下,nlp初学者需要怎么入门? 入门姿势简单粗暴:打一些必要的基础就跑步进入Transformera 大模型时代,传统的算法,像分词、词性标注,被替代得非常厉害,在入门阶段没必要花费太多精力在传统算法上面。 数学和…

强弱电的基本知识和区别

什么是弱电: 弱电一般是指直流电路或音频、视频线路、网络线路、电话线路,直流电压一般在36V以内。家用电器中的电话、电脑、电视机的信号输入(有线电视线路)、音响设备(输出端线路)等用电器均为弱电电气设…

IDEA Cody 插件实现原理

近年来,智能编程助手 在开发者日常工作中变得越来越重要。IDEA Cody 插件是 JetBrains 生态中一个重要的插件,它可以帮助开发者 快速生成代码、自动补全、并提供智能提示,从而大大提升开发效率。今天我们将深入探讨 Cody 插件的实现原理&…

Facebook隐私设置指南:如何更好地保护个人信息

在数字化时代,隐私保护成为了每个互联网用户面临的重要课题。Facebook,作为全球最大的社交网络平台之一,拥有庞大的用户基础和丰富的个人数据。因此,了解和管理Facebook的隐私设置对保护个人信息至关重要。本文将为您提供一份详细…

RTX 4090/RTX 4090D停产,为RTX 5090扫平“障碍”

原文转载修改自(更多互联网新闻/搞机小知识): RTX 4090/4090D或于10月停产,为RTX 5090“登基”铺路 作为网络人均一代旗舰的RTX 4090至今也已发售近两年,说实在的,按老黄一贯的手法,也到了该落…

金属材质检测系统源码分享

金属材质检测检测系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 项目来源AACV Association for the Advancement of Computer Vis…

Docker 进入容器并运行命令的方法

目录 理解 Docker 容器的基本概念 使用 docker exec 进入运行中的容器 基本用法 常用选项解析 选项详解 实际案例演示 1. 进入容器的交互式 Shell 2. 在容器中运行单个命令 3. 以指定用户运行命令 4. 设置环境变量并运行命令 5. 指定工作目录 使用 docker attach 附…

Lingo求解器基本语法

Lingo是一款用于线性规划和整数规划的数学建模和求解软件,被广泛应用于运筹学、生产优化、供应链管理等领域。今天与大家一起来熟悉一下它的基本语法 Lingo基本语法 1、定义目标函数为MIN,MAX. 2、以一个分号“;”结尾。除SETS,ENDSETS,D…

我的AI工具箱Tauri版-VideoClipMixingCut视频批量混剪

本教程基于自研的AI工具箱Tauri版进行VideoClipMixingCut视频批量混剪。 VideoClipMixingCut视频批量混剪 是自研AI工具箱Tauri版中的一款强大工具,专为自动化视频批量混剪设计。该模块通过将预设的解说文稿与视频素材进行自动拼接生成混剪视频,适合需要…

企业展厅数字化变革:多媒体创新方案打造全新体验

相较于动态、形象的内容表达方式,传统展馆展厅已经无法满足观众的需求,所以数字化已经成为展厅升级转型的必然趋势,通过数字多媒体将展厅的内涵呈现出来,这便是展厅的特色,本文就来了解一下多媒体创新解决方案在企业展…

【TPAMI 2024】如何让模型在任何环境下都能胜出?领域泛化学习从单一到多元!

Out-of-Domain Generalization From a Single Source: An Uncertainty Quantification Approach 题目:单一源域的域外泛化:一种不确定性量化方法 作者:Xi Peng; Fengchun Qiao; Long Zhao 关注公众号:AI前沿速递,获取…

深度学习自编码器 - 收缩自编码器(CAE)篇

序言 在深度学习的浪潮中,收缩自编码器( Compressive Autoencoder, CAE \text{Compressive Autoencoder, CAE} Compressive Autoencoder, CAE)作为自编码器的一种高级形式,正逐步崭露头角。收缩自编码器在保留自编码器核心功能—…

RT-DETR改进策略:BackBone改进|Next-ViT主干赋能下的革命性改进

摘要 Next-ViT(下一代视觉Transformer)是专为解决传统ViT模型在工业部署中遇到的推理速度慢、计算复杂度高等问题而设计的。它巧妙地结合了高效的Next Convolution Block(NCB)和Next Transformer Block(NTB),通过创新的混合策略(NHS)堆叠这些模块,从而在各种视觉任务…

数据不出境------IP证书申请

数据不出境IP证书的申请流程主要涉及选择国内验签的SSL证书服务商、注册账号、选择证书类型、提交验证文件和等待签发等步骤。以下是具体说明: 选择服务商:需要选择一个提供国内验签服务的SSL证书供应商,如JoySSL,这些服务商通常具…

校医务室健康服务系统小程序的设计

管理员账户功能包括:系统首页,个人中心,用户管理,医生管理,医患交流管理,预约医生管理,健康打卡管理,运动打卡管理,饮食打卡管理 微信端账号功能包括:系统首…

在MAC中Ollama开放其他电脑访问

ollama安装完毕后默认只能在本地访问,之前我都是安装其他的软件之后可以结合开放其他端口访问,其实是可以新增或修改下电脑的系统配置,就可以打开端口允许除本机IP或localhost访问。 步骤如下: 1、查看端口(默认是&…

气膜场馆造价解析:来自气膜厂家的专业解答—轻空间

气膜场馆作为一种新型的建筑形式,凭借其独特的结构和材料优势,逐渐在体育、文旅、工业等领域崭露头角。相较于传统建筑,气膜场馆在造价方面具有显著的优势,尤其是在节能、环保、安全等方面表现突出。然而,气膜场馆的造…

Spring底层架构源码解析(二)

目录 BeanDefiniton BeanDefinitionReader(读取器) AnnotatedBeanDefinitionReader XmlBeanDefinitionReader ClassPathBeanDefinitionScanner (扫描器) BeanFactory 有关该篇内容的前置知识可以参考我上篇文章:…

2024最新-基于 VUE + Flask全国空气质量预测数据可视化

目录 1.1. 项目介绍 1.2. 技术栈 1.3. 数据来源 1.3.1. 设置城市和时间为爬虫程序的入口 1.3.2. 爬虫程序主要代码 1.3.3. 后端代码调用js 1.4. 后端实现 1.5. 前端实现 1.6. 页面展示 1.6.1. 地图展示 1.6.1.1 省级地图 1.6.1.2 县级地图 1.6.2. 全国分布 1.6.3. 区…