基于全局采样的混合门控神经网络推荐模型

2022-12-30 07:51张意灵邵雄凯王春枝吴歆韵
计算机工程与设计 2022年12期
关键词:全局损失神经网络

张意灵,邵雄凯,高 榕,2+,王春枝,吴歆韵

(1.湖北工业大学 计算机学院,湖北 武汉 430068;2.南京大学 计算机软件新技术国家重点实验室,江苏 南京 210093)

0 引 言

当前,互联网中的数据规模增速日趋加快,使得人们难以从海量候选产品中选择自己中意的产品。因此,推荐系统应运而生,并逐渐成为减轻信息过载问题的重要手段。

目前在基于内容的推荐算法[1-4]方面的研究尽管取得了一定的成果,但仍存在一些不足:首先,以前的工作大多利用加权正则化项对多源信息的隐藏表示进行融合。然而,由于不同的数据源具有不同的统计特性和不同的数量级,这可能无法充分利用来自异构数据源的数据,并引发繁琐的超参数调整。其次,现有的神经推荐方法主要依靠负采样策略,而负采样对采样分布和采样数非常敏感[5]。因此,基于抽样的策略很难收敛到最优性能。

基于上述分析,本文提出一种基于改进门控神经网络的混合推荐模型(IGNN)。本文的主要创新点如下:

(1)提出一个改进的混合门控神经网络,以增强对多源数据中隐藏特征的获取。

(2)采用一种基于全局采样策略来对损失函数进行优化,以减少有用信息的损失,从而提供更加精准的推荐服务。

1 相关工作

在这一部分中,我们将阐述与所提出模型相关的研究工作:基于隐式反馈推荐和推荐模型中的优化技术。

1.1 基于隐式反馈的推荐算法

近几年,基于隐式反馈的推荐方法的研究是推荐领域关注的重点[6]。基于隐式反馈的协同过滤(CF)通常被视为一个top-N的推荐任务,其目标是向用户推荐可能感兴趣的项目列表。与评分预测任务相比,项目推荐问题更具实际性和挑战性[7],更符合现实世界的推荐场景。为了利用潜在因素模型进行项目推荐,早期的工作要么采用统一的加权方案,将所有缺失数据作为负样本处理[8],要么从缺失数据中抽取负样本[9]。最近,Bayer等[10]为基于特征的因子分解模型开发了隐式坐标下降方法。由于具有学习显著表征的能力,还采用了基于深度神经网络的方法。为了进一步提高性能,研究人员尝试融合多源数据特征,以帮助减轻用户-项目交互数据中的稀疏性和冷启动问题。Kim等[11]将卷积神经网络集成到概率矩阵分解中,通过捕获文档的情境信息,使用户项目评分数据稀疏性对推荐系统的影响得到了一定的缓解,提高评分预测的准确性。

1.2 推荐模型中的优化技术

推荐模型有两种采样策略:①负采样策略[12],这种策略从缺失数据中抽取负实例;②基于全局采样的采样策略[13],将所有缺失的数据都视为负实例。如之前的研究工作[14]所示,这两种策略都有其优缺点:负采样策略通过减少训练中的负面例子提高性能,但可能会降低模型的性能;基于全局采样的策略可能更好地覆盖完整全部数据,保持模型性能不变。

本文提出的模型与上述工作的主要区别在于,本文利用改进的神经门控网络融合多源数据,并有效减少了融合过程中的特征丢失;此外,为了提高模型的精确性,本文受到文献[15]在迁移学习中采样策略的启发,使用基于全局采样策略,并继而基于全局采样策略的优化损失函数从而提高推荐系统的性能。

2 问题表述

在推荐系统中,整体项目D中通常包含m个用户的用户集合U={u1,u2,…,ui,…,um},n个项目的项目集合I={i1,i2,…,ij,…,in}, 用户偏好R∈Rm×n。 项目之间的关系由邻接矩阵N∈Rn×n表示,如果项目i和项目j相关,则Nij=1。

通过对整体项目D, 项目之间的关系N以及训练集中用户偏好R进行用户行为建模,从而对测试集中的用户偏好进行预测,并生成一个推荐列表。

3 IGNN推荐模型

在本节中,本文将介绍IGNN推荐模型。首先本文具体介绍特征提取模块,对输入的数据提取特征。然后,对数据融合模块介绍,本文使用改进的神经门控网络对获得的多源数据进行特征融合。接下来,对融合邻域特征的用户行为建模模块进行介绍。最后,本文介绍一种基于全局采样策略的损失函数以减少有用信息的丢失。总体模型如图1所示。

图1 推荐模型总体框架

该模型从下到上分为4部分。第一部分:输入用户评分和项目描述;第二部分:特征提取模块提取用户评分和项目描述的潜在特征向量,并且采用词级注意模块从用户评分和项目描述中学习项目的特征;第三部分:使用改进的门控神经网络对获得的多源数据进行特征融合;同时,本文使用集成邻域注意力和自动编码器的学习框架对项目与项目之间的相关关系——这一重要的辅助信息进行学习,然后对用户偏好进行建模。第四部分:本文采用了一个基于全局采样策略的损失函数,以减少有用信息的丢失。最后给出计算公式,得到推荐列表。

3.1 特征提取部分—基于多源信息特征建模

本节中,介绍该模型框架的输入层和特征提取模块,通过输入层为该模型提供必要的数据准备。特征提取模块模型如图2所示。

图2 特征提取模块

3.1.1 项目描述的特征提取

在进行特征嵌入操作时,受Transformer[16]的启发,本文仅依赖于机器翻译中的注意机制,在不使用复杂的递归或卷积神经网络的情况下,对单词序列应用多维注意机制进行学习项目的隐藏表示。由于在现实生活中,用户可能更关心句子中的几个重要词语,而不是顺序中的单词关系。词级注意的目标是对单词赋予不同的重要性,然后以加权的方式聚合单词嵌入来表征项目。给定项目Di的单词嵌入,计算注意权重的普通注意机制由两层神经网络表示

(1)

式中:wa1∈Rh,Wa2∈Rh×h,ba2∈Rh是学习参数, softmax(·) 可以确保所有计算的权重总和为1。然后本文根据ai提供的权重对Di中的嵌入进行汇总,得到项目的向量表示

(2)

然而,在进行嵌入时为一个单词设置一个重要值通常会使模型关注于项目描述的一个特定方面[17]。它可以是项目描述中的多个方面共同表征这个项目,特别是当字数很多时尤其如此。因此,本文需要多个ai来关注项目描述的不同部分。基于这一启发,本文采用矩阵来捕获多维注意,并为每个词的嵌入指定一个注意权重向量。注意权重向量的每一个维度表示Di中所有嵌入特征的某一个方面。假设本文希望从嵌入中提取的注意维度为da, 然后本文将wa扩展到Wa1∈Rda×h

Ai=softmax(Wa1tanh(Wa2Di+ba2)+ba1)

(3)

式中:Ai∈Rda×li是注意权重矩阵,ba1∈Rda是偏差项。

通过将注意力权重矩阵与单词嵌入相乘,本文得到了项目的矩阵表示

(4)

(5)

式中:wt∈Rda是聚合层中的参数,at(·) 是激活函数。

3.1.2 用户评分的特征提取

(6)

3.2 建模层

本节使用混合神经门控层,先对数据融合模块进行阐述,然后对融合邻域特征的用户行为建模模块进行阐述,建模层模块如图3所示。

图3 建模层模块

3.2.1 数据融合模块

本文从两个不同来源的数据——用户评分和项目描述,分别得到了用户和项目的相应特征。本模块的目标是将这两种多源异构数据的特征结合起来,以便于对用户的偏好进行预测。

(7)

(8)

(9)

(10)

式中:w1,w2是对隐藏表示合并进行加权的权重值。

3.2.2 融合邻域特征模块—集成邻域注意力和自动编码器的学习框架

(11)

式中:Wn∈Rh×h是在相邻层中学习的参数。

(12)

3.3 基于全局采样策略的损失函数

在迁移学习中对损失函数优化方法的启发,本文采用基于全局采样策略的学习方法。

3.3.1 加权策略

本文首先给出了矩阵R中每个条目的权重策略:

(2)负采样的权重计算如下,将较大的权重分配给频率较高的项目

(13)

3.3.2 损失函数优化

在以往的研究中往往会采用一个基于负反馈的损失函数

(14)

为了提高模型预测的准确度,本文将基于式(14),推导出一个基于全局优化的损失函数

(15)

式中:B和V分别是计算时的用户批次和该批次中的用户集。

在隐式数据中,由于Ruv∈{0,1} 表示用户u是否点击了项目v, 因此可以用一个常数来代替它以简化方程。此外,缺失数据的丢失可以用所有数据丢失与正数据丢失之间的残差表示

(16)

(17)

(18)

将Zn进行展开,可以获得以下公式

(19)

通过将式(18)带入式(16)并移除常量部分,可以得到最终的基于全局采样策略的损失函数

(20)

4 实验结果与分析

为了验证本文所提出模型的性能,本节主要展示在真实数据集下该模型与其它主流先进的推荐模型的实验结果及其分析。首先介绍实验采用的数据集和评估指标,然后设计了多组实验从不同的角度对比分析了本模型的性能情况。

4.1 实验数据集

所提出的模型是在两个真实世界数据集上进行评估的:Movielens-20M[21]和Amazon-CDs[22]。Movielens-20M是一个用户电影数据集。Amazon-CDs数据集取自Amazon review dataset,它包含了大量的用户和项目相交互数据,如评论、评分、项目标签等。本文将评分不低于四(满分五分)的评分作为正反馈,并将所有其它评分视为数据集中缺失的条目。本文从评分矩阵中计算项目-项目相似性,并将阈值设置为0.2,以选择项目的邻域。为了过滤噪音数据,本文只保留至少10个等级的用户和至少5个等级的项目。

预处理后的数据统计见表1。对于每个用户,本文随机选择评分项目的20%作为测试集。其余部分构成训练集。随机选择独立进行5次。

表1 数据集的统计信息

4.2 评价指标

(21)

NDCG是信息检索领域中用于评测搜索引擎性能的重要指标之一。对于目标用户u′, 其推荐列表中被推荐物品i的NDCG值计算公式

(22)

式中:λu′表示用户u′的最大DCG的值。其中,reln表示第n个物品与用户的相关度。

4.3 对比模型

为了验证本文模型的有效性,我们将本文提出的方法与如下几种方法进行了对比:

ConvMF:卷积矩阵分解(ConvMF),它应用卷积神经网络(CNN)捕获文档的上下文信息,并将CNN集成到概率矩阵分解(PMF)中。

CVAE:协同变分自动编码器(CVAE)是一种生成潜变量模型,它对项目描述和用户评分的隐藏表示进行融合,并使用带推理网络的变分贝叶斯进行变分推理。

JRL[23]:联合表示学习(JRL),是一个从不同信息源学习联合表示的框架,用于top-N推荐。

GATE:门控自动编码器(GATE)是一种多源数据融合模型,将不同信息源的隐藏特征提取并融合。

4.4 实验设置

在实验中,所有模型的潜在维数都设置为50。对于CVAE,本文参照原论文所设置的参数a=1,b=0.01, 当λu=0.1,λv=10,λr=0.01时,CVAE能获得良好的性能。对于ConvMF,本文将CNN配置设置为与原稿相同,当a=1,b=0.01,λu=0.1,λv=10时,可以获得较好的效果。对于JRL,本文按照原论文中的设置,将batch size设置为64,负样本数,λ1=1。 上述方法的网络体系结构也与原论文设置相同。对于GATE,本文按照原论文中的设置,将batch size设置为1024,激活函数设置为tanh(·)。 对于IGNN,项目的评分是来自所有用户的评分向量;项目的描述是来自其描述的单词序列。本文将字序列的最大长度设置为300,学习率和λ分别设置为0.01和0.001。激活函数同样设置为tanh。 batch size设置为1024。本文的实验是在Nvidia GeForce GTX 3070的GPU机器上运行的PyTorch(https://Pytorch.org/)。

4.5 实验结果与分析

本节将从3个方面:对比实验结果分析、混合神经门控层参数对实验模型效果的影响和基于全局采样策略的损失函数对模型效果的影响对实验结果进行分析。

4.5.1 对比实验结果分析

在4.4节设置实验条件的情况下,所有对比算法在2个数据集上的实验结果见表2。

表2 在两个数据集上各个模型的性能比较

从表2中可以发现:首先,本文提出的模型IGNN在两个数据集上都达到了最好的性能,说明了该模型性能处于优势。其次,IGNN相较于JRL和ConvMF有更好的结果。尽管JRL和ConvMF分别通过doc2vec模型和卷积神经网络捕获项目描述中的上下文信息,但它们平等地对待项目的每个单词,没有考虑到信息词带来的影响,导致对项目描述的文本信息的理解不够充分。第三,IGNN优于CVAE的原因可能是,CVAE是通过词袋来学习项目描述中的文本表示,忽略了重要词对项目主题或概要的描述作用,同时这种方法通过正则化项将不同数据源的隐藏表示联系起来,这可能无法平稳地平衡各种数据表示的影响,并导致繁琐的超参数调整。第四,IGNN性能优于GATE的原因可能是,IGNN对门控神经网络进行了优化,将被网络“遗忘”的信息重新记忆入网络中,同时使用了基于全局采样的优化方法,从而在对隐藏特征进行获取方面表现的更优秀。

4.5.2 混合神经门控层参数对模型效果的影响

在式(9)中,两个信息源的信息不一定是相同重要的,所以我们以一定比例进行混合,不妨将混合的比例设计为w1+w2=1。 其中,w1,w2是超参。为了研究不同的混合比例对模型的影响,我们在两个数据集上进行了实验。我们规定以w1为x轴,取Recall@10和NDCG@10为示例进行分析,如表3所示。

表3 在两个数据集上不同比例混合对性能的影响

通过观察实验结果,我们可以发现:当w1为0或1时,模型变为普通门控网络,并且模型获得的结果也不相同,说明传统的门控神经网络对于多源数据融合确实出现特征丢失的情况。

4.5.3 基于全局的优化损失函数对模型效果的影响

为了验证本文的基于全局采样策略的损失函数是否比原损失函数能更有效率地学习,所以在本节中,我们将从损失函数的收敛性以及模型运行时间这两个方面与原损失函数进行对比实验。损失函数收敛趋势对比见表4;模型运行时间对比见表5。

表4 损失函数收敛趋势对比

表5 模型运行时间对比实验

其中,IGNN-E表示使用了原本的损失函数,IGNN表示使用了基于全局采样的损失函数。表4中表头表示训练批次,表的内容表示当前批次训练损失值;表5中的s、m分别表示秒和分钟,S表示单个迭代的训练时间、I表示收敛所需的迭代次数、T表示总训练时间。

从表4中,我们发现IGNN收敛性优于IGNN-E的收敛性;而从表5中,我们发现IGNN的训练时间开销比IGNN-E小。这验证了本文的损失函数的高效性与先进性。

5 结束语

本文中,我们提出一种基于全局采样优化策略的改进门控神经网络(IGNN)的混合推荐模型进行推荐。IGNN使用了改进的优化门控神经网络将用户评分和项目描述进行充分的特征融合。为了减少有用信息的丢失,我们采用了一个基于全局采样的损失函数。实验结果表明,我们的方法优于其它主流先进的推荐模型。未来,我们将在多源数据融合方面开展进一步研究工作,以期减少特征丢失,让推荐模型达到最佳性能。

猜你喜欢
全局损失神经网络
基于改进空间通道信息的全局烟雾注意网络
基于递归模糊神经网络的风电平滑控制策略
胖胖损失了多少元
神经网络抑制无线通信干扰探究
基于神经网络的中小学生情感分析
玉米抽穗前倒伏怎么办?怎么减少损失?
落子山东,意在全局
记忆型非经典扩散方程在中的全局吸引子
高超声速飞行器全局有限时间姿态控制方法
菜烧好了应该尽量马上吃