APP下载

基于知识感知采样的神经协同过滤

2022-07-14钟裔灵

电视技术 2022年6期
关键词:采样器损失协同

钟裔灵,朵 琳

(昆明理工大学 信息工程与自动化学院,云南 昆明 650500)

0 引言

作为缓解信息过载的有效手段,推荐系统在电商、音乐及短视频等领域得到了广泛应用。传统的推荐方法包括基于协同过滤的推荐、基于内容的推荐以及混合推荐方法。基于协同过滤的推荐利用用户对项目的评分数据,通过相似度计算或建模的方式来进行推荐。由于依赖于评分数据,往往存在数据稀疏和冷启动问题。基于内容的推荐利用用户生成内容(评论、标签等),通过计算内容相似度来进行推荐。由于未使用评分数据,所以不存在数据稀疏的问题,但依旧存在新用户冷启动的问题。目前,对于推荐系统的研究主要致力于如何使用不同的数据进行混合推荐,来缓解数据稀疏和冷启动问题,以提高推荐的准确性。通过使用深度学习模型代替传统的简单模型,提供非线性建模能力和有效的内容特征提取能力,往往能获得更好的推荐性能。然而,这些研究大多忽略了自然噪声的影响。

用户与项目没有发生交互行为(用户对项目的点击、浏览、收藏等行为),存在两种可能:一种可能是用户知道但不喜欢该项目,另一种可能是用户不知道该项目的存在。这种项目的曝光偏差使得数据无法完全表达用户的真实想法,为推荐模型的训练引入了自然噪声,影响了推荐的准确性。大多数的研究工作通过执行负采样来缓解这个问题。随机采样[1]是按照一定的采样比从没有观察到交互行为的项目中随机均匀地进行采样。基于项目流行度的采样[2]是根据项目的流行度来进行随机非均匀地采样。这种随机的采样策略,可能把用户知道但不喜欢的项目筛选出来,而排除了用户不知道但可能喜欢的项目。虽然执行了负采样,但对推荐性能的提升非常有限。一些研究者利用其他的辅助数据来改进采样器,如查看但未点击和点击但未购买[3]的数据。但由于这类数据规模有限,对推荐性能的提升效果不佳,甚至比上述随机的采样策略效果更差。有研究者利用采样器和推荐器之间的对抗训练[4]来获取高质量的负样本,在参数优化上表现出比随机采样更好的性能,但该方法的缺陷在于可能把正例误认为是高质量的负例。

基于知识图谱的负采样策略[5]利用项目与项目之间共同的知识实体,寻找高质量的负例来与正例匹配,从而提升推荐模型的性能。该方法能够有效缓解误采样问题,通过确保采样负例的真实性,从而提高推荐的准确性,获得了比上述方法更好的性能表现。但是,为了减小算法的时间复杂度,该方法在确定候选负例集后,选择了候选负例集中的最后一个元素作为负例来优化推荐模型。然而,最后一个候选负例并不一定是最佳负例,通过改进采样策略,可以进一步提升推荐性能。为了简化整个模型,该方法使用了推荐领域最为经典和简单的矩阵分解模型作为推荐器。然而,简单的线性建模无法有效地拟合用户与项目之间复杂的交互关系,通过使用更加优秀的推荐模型作为推荐器,可以进一步提升推荐质量。此外,仅采样一个负例与正例匹配,通过成对损失来优化推荐模型,这种固定的采样比也限制了推荐模型的性能。

本文的研究工作围绕基于知识图谱的负采样策略展开,从3 个方面对该方法做了改进。

(1)设计了一个奖励函数,对候选负例集中的元素评分,根据评分高低选择与正例匹配的最佳负例,然后通过最大化累积奖励函数期望来优化采样器。目的是寻找更真实的负例来训练推荐器,提升推荐性能。

(2)使用神经协同过滤作为推荐器,以取代矩阵分解模型。神经协同过滤是一个双通道推荐模型,一个通道在矩阵分解的基础上引入逻辑函数作为激活函数,将输出结果限制在[0,1]的范围内,赋予了模型概率学解释。另一个通道利用多层感知机学习用户和项目之间复杂的交互关系,代替了矩阵分解中的内积,提高了非线性建模能力。通过线性与非线性的结合,获得了比矩阵分解更好的推荐性能。

(3)为了能灵活地控制采样比,用逐点损失代替成对损失来优化推荐器,以获得更好的推荐性能。在真实数据集上进行了广泛实验,以验证所提方法的有效性。

1 推荐框架

本文提出一种新的推荐框架——基于知识感知采样的神经协同过滤(Neural Collaborative Filtering Based on Knowledge-Aware Sampling,NCFKAS),框架包括一个推荐器和一个采样器。总体而言,采样器负责寻找高质量的负例作为训练数据,推荐器负责训练推荐模型,同时将预测分数反馈给采样器作为奖励来强化学习。

1.1 推荐器

推荐器的任务是利用用户正例和采样得到的负例来训练推荐模型。文献[5]使用的是矩阵分解模型,该模型用用户潜在特征向量和项目潜在特征向量的内积来表示用户与项目之间的交互关系。由于矩阵分解模型属于线性建模,而线性建模无法拟合用户与项目之间的非线性交互关系。于是,本文采用神经协同过滤作为推荐器。

神经协同过滤是一个双通道推荐模型。一个通道是广义矩阵分解(Generalized Matrix Factorization,GMF),在矩阵分解的基础上增加一个逻辑函数作为激活函数,将输出限制在[0,1]的范围内,赋予了模型概率学解释。具体公式如下:

式中:pu,qi分别是用户和项目潜在特征向量,hT是连接权重,aout是激活函数,为逻辑函数。

另一个通道是多层感知机(Multilayer Perceptron,MLP),低层的输出作为高层的输入,任务是学习一个复杂的非线性函数来拟合用户与项目之间的交互关系,具体公式如下:

式中:Wx,ax,bx分别是x层感知机的权重矩阵、激活函数、偏置向量,σ也是激活函数,这里的激活函数统一使用ReLU。

神经协同过滤的最终输出为:

通过线性与非线性的结合,神经协同过滤极大地提升了推荐的性能。

文献[5]采用成对损失优化推荐模型,该方法存在的缺陷在于仅采样一个负例与正例匹配,无法灵活地控制采样比来进一步提升推荐性能。于是,本文通过最小化逐点损失来优化推荐模型,损失函数如下:

1.2 采样器

1.2.1 构建知识图谱

本文利用用户对项目的隐式反馈和项目的知识信息来构建知识图谱。图谱中的每一个节点e代表一个用户u、项目i或知识实体k,图谱中的每一条边代表用户u与项目i存在交互行为或项目i具有某个知识实体k。利用多个图卷积层来更新每个节点e的表示形式,在第l个图卷积层中,以节点e为起始节点接收其相邻节点的信息并更新其向量表示。更新公式如下:

1.2.2 知识感知采样

将知识图谱作为采样环境,将采样作为马尔科夫决策过程M={S,A,P,R},其中S={s}是探索状态,A={a}是探索动作,P是状态转移矩阵,R是奖励函数。在第t步探索操作中,st=(u,et)表示用户u当前的状态,即用户u访问节点et。at=(et→→et+1)表示从项目et经过知识实体到达项目et+1的两跳路径。给定状态st下的动作at,则向st+1的状态转移为:p(st+1=(u,et+1)|st=(u,et),at=(et→→et+1))=1。探索过程可以形式化为{s0,a1,s1,…,at,st},其中s0=(u,i)表示用户u的初始状态。

经过t次探索操作之后,确定了一个候选负例集C={e1,e1,…,et},其中et表示第t个探索操作找到的候选负例。原来的采样策略[5]将最后一个探索操作找到的候选负例作为正式负例,然而,最后一个候选负例并不一定是最佳负例。有的正例经过一个探索操作就找到了最佳负例,有的负例经过多个探索操作才能找到最佳负例。由于并没有相关的理论依据来证明哪一个候选负例就是最佳负例,为了确保采样的真实性,进一步提升推荐的准确性,本文设计了一个奖励函数,来评价每一个候选负例的质量。奖励函数如下:

式中:R(e?)表示候选负例e?的得分,f(u,j)表示用户u对负例j的预测评分,g(i,j)表示正例i和负例j的相似度。

预测评分的计算公式如下:

相似度的计算公式如下:

式中:n(i),n(j)分别表示项目i,j具有的知识实体数量,n(i∩j)表示项目i,j同时具有的知识实体数量。

预测评分衡量了用户与负例之间的匹配度。预测评分越高,用户与负例的匹配度就越高。质量越高的负例促使推荐模型为其产生更高的预测评分。通过这样一种反馈机制,来衡量负例的质量。相似度衡量了正例与负例之间的匹配度,相似度越高,正例与负例的匹配度就越高。类似于基于项目的协同过滤推荐,为目标用户推荐偏好项目的相似项目。

此外,考虑到仅选取得分最高的一个候选负例作为正式负例来优化推荐模型,不符合一个正例存在多个负例的实际情况,制约了推荐性能的发挥,因此,本文允许选择得分最高的n个候选负例作为正式负例,来与正例匹配,用逐点损失代替原来的成对损失来优化推荐模型,并评估n对推荐性能的影响。通过最大化累积奖励函数期望,来优化采样器参数Θs,如下:

2 实 验

2.1 实验设置

2.1.1 数据集描述

本文利用网上公开的Amazon-book 数据集来进行NCF-KAS 算法的验证实验。Amazon-book 是亚马逊电商平台上关于书籍的电商数据,其中包含了70 679 个用户对24 985 个项目的847 733 条交互数据。使用的用户辅助信息为年龄、性别、职业等,项目辅助信息为作者、类别、出版社等。

2.1.2 基准线

由于文献[5]已经通过大量实验证明了其方法的优越性,而本文的研究工作是针对该方法在采样器、推荐器、损失函数三方面的改进,因此本文采用控制变量的原则来进行对比实验。即在推荐器、损失函数相同的情况下,仅对比不同采样器下的推荐性能,以此类推,以验证本文所提的每一处改进都有其意义。参与对比的采样器为知识图谱策略网络[5](KGpolicy)和知识感知采样(KAS),参与对比的推荐器为矩阵分解[5](MF)和神经协同过滤(NCF),参与对比的损失函数为成对损失[5](BPR)和逐点损失(CEL)。

2.1.3 性能指标

评价推荐质量的性能指标为召回率(recall@K)和归一化折扣累积增益(ndcg@K)。在没有特别说明的情况下,本文将K设置为10。对于测试集中的每一个用户,观察所有的正例项目,并评估推荐器在整个项目空间中对正例项目进行排名的性能,报告每个测试集中所有用户的平均指标。

2.1.4 参数设置

将所有推荐器和采样器的嵌入大小固定为64,用Adam 来优化模型,使用Xavier 初始化采样器参数。本文使用经过预训练的MF 和NCF 来与采样器匹配,从而加速模型训练。对于超参数,本文进行网格搜索以找到每个模型的最佳设置,根据搜索推荐器和采样器的学习率,以L2 正则系数搜索;用两个图卷积层来进行图形学习,即式(8)、式(9)中的l=2。将负例的个数n设置为1 到10 的整数,并在3.2.3 节报告其性能。

2.2 性能比较

2.2.1 知识图谱策略网络与知识感知采样的性能对比

在这组实验中,统一使用神经协同过滤作为推荐器,用逐点损失作为损失函数,比较了在知识图谱策略网络、知识感知采样下的推荐性能。记录了在数据集上获得的最佳性能,如表2 所示。

表1 不同采样策略对比

实验结果表明,本文提出的知识感知采样相比于原来的知识图谱策略网络,在数据集上的所有性能指标都有明显提升。对于Amazon-book 数据集,recall@10 提升了3.47%,ndcg@10 提升了4.52%。本文将这种改进归因于以下两个方面:

(1)通过利用知识图谱中项目与知识实体间丰富的关系,特别是高阶连通性,使得知识感知采样能有效地避免误采样问题,从而找到更高质量的负例;

(2)通过奖励函数对候选负例的进一步筛选,使得负例与正例在内容和评分两个方面都具有较高的相似度,为推荐器的训练提供了较大的梯度贡献。

总体而言,实验验证了本文所提的采样策略对于提升推荐性能的有效性。

2.2.2 矩阵分解与神经协同过滤的性能对比

在这组实验中,统一使用知识感知采样作为采样器,用逐点损失作为损失函数,比较了在矩阵分解和神经协同过滤下的推荐性能。记录了在数据集上获得的最佳性能,如表2 所示。

表2 不同推荐策略对比

实验结果表明,神经协同过滤相比于矩阵分解,在数据集上的所有性能指标都有明显提升。对于Amazon-book 数据集,recall@10 提升了2.31%,ndcg@10 提升了3.13%。本文将这种改进归因于以下两个方面:

(1)非线性建模比线性建模更有效地拟合用户与项目之间复杂的交互关系;

(2)神经协同过滤通过线性与非线性的结合,进一步提升了推荐性能。

总体而言,实验验证了本文使用神经协同过滤作为推荐器对于提升推荐性能的有效性。

2.2.3 成对损失与逐点损失的性能对比

在这组实验中,统一使用知识感知采样作为采样器,神经协同过滤作为推荐器,比较了在成对损失和逐点损失下的推荐性能。记录了负例数从1 到10 的推荐性能,实验结果如图1 所示。

图1 不同损失函数对比

实验结果表明,在所有性能指标上,逐点损失在优化推荐模型上表现出比成对损失更好的性能。本文将这种改进归因于以下两个方面:

(1)成对损失利用一个正例与一个负例匹配来优化推荐器,这种固定的采样比限制了推荐性能的发挥;

(2)逐点损失可以灵活地控制采样比,更加符合一个正例对应多个负例的真实情况,从而提升推荐性能。

此外注意到,Amazon-book 数据集在4 个负例的情况下达到最佳性能。这就意味着,采样比并不是越大越好。达到最佳性能后,继续增大采样比,将导致推荐性能下降,这是由于后面的采样引入了低价值的负例。总体而言,实验验证了本文利用逐点损失作为损失函数对于提升推荐性能的有效性。

3 结语

本文提出了一种新的推荐框架——基于知识感知采样的神经协同过滤。在知识图谱策略网络的基础之上,对采样器、推荐器、损失函数做了改进:设计了一个奖励函数来衡量候选负例的质量,从而更有效地获取高质量的负例;使用神经协同过滤作为推荐器,通过结合线性建模和非线性建模来提升推荐性能;利用逐点损失作为损失函数,突破了成对损失的固定采样比对于推荐性能的限制。在三个真实数据集上的广泛实验验证了所提方法的有效性。

基于深度学习的推荐方法不仅能够挖掘用户和项目深层次本质特征,还能有效融合多源异构数据。在后续的工作中,将尝试引入其他辅助信息,如用户评论、时间信息等,以进一步提升推荐质量。另外,对于用户而言,实时性可能是比准确性更加重要的性能指标,为此,将进一步探索实现实时推荐的方法。

猜你喜欢

采样器损失协同
地表水环境监测采样需注意问题探讨
输入受限下多无人机三维协同路径跟踪控制
家校社协同育人 共赢美好未来
胖胖损失了多少元
蜀道难:车与路的协同进化
大气采样器检定注意事项及常见故障排除探析
浅析密闭采样系统在炼化企业生产中的应用
粉尘采样器检定和校准证书中不确定度区别
“四化”协同才有出路
玉米抽穗前倒伏怎么办?怎么减少损失?