1 研究计划
- 了解推荐系统的研究背景和发展历程
- 了解为什么推荐系统需要GNN
- 了解基于GNN的推荐的关键挑战
- 了解基于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,这被称为显式反馈。近年来,二元隐式反馈已成为比较流行的设置。