Neural Collaborative Filtering

摘要

近年来,深度神经网络在语音识别、计算机视觉和自然语言处理等方面取得了巨大的成功。然而,对推荐系统深度神经网络的研究却相对较少。在这项工作中,我们努力开发基于神经网络的技术来解决基于隐式反馈的协同过滤这一关键问题

虽然最近的一些研究采用了深度学习作为推荐,但他们主要是用它来建模辅助信息,例如对音乐项目的文本描述和音乐的声学特征。在对协同过滤的关键因素——用户和项目特征之间的交互进行建模时,仍然采用矩阵因子化方法,对用户和项目的潜在特征应用内积

通过用一种可以从数据中学习任意函数的神经结构代替内积,提出了一种通用的神经网络协同过滤框架NCF。NCF是泛型的,可以在其框架下对矩阵分解进行压缩和推广。为了提高非线性NCF模型的性能,我们提出利用多层感知器学习用户项交互函数。在两个实际数据集上的大量实验表明,我们提出的NCF框架比最先进的方法有了显著的改进。经验证据表明,使用更深层次的神经网络可以提供更好的推荐性能

1 引言

在信息爆炸的时代,推荐系统在缓解信息过载方面发挥着至关重要的作用,已经被许多在线服务广泛采用,包括电子商务、在线新闻和社交媒体网站。个性化推荐系统的关键在于根据用户过去的互动(如评分和点击)对用户的偏好进行建模,这就是所谓的协同过滤[31,46]。在各种协同过滤技术中,矩阵分解(matrixfactorization, MF)[14,21]是最流行的一种,它将用户和项目投射到一个共享的潜在空间中,使用一个潜在特征向量来表示一个用户或一个项目。在此基础上,将用户对商品的交互建模为其潜在向量的内积

由于Netflix奖的推广,MF已经成为一种基于潜在因素模型的推荐方法。增强mf的研究已经投入了大量的精力,例如将其与基于邻域的模型[21]集成,将其与项目内容[38]的主题模型相结合,并将其转化为因子分解机器[26],以便对特性进行一般的建模。尽管MF算法在排序滤波方面有很好的效果,但是众所周知,它的性能可以通过简单地选择内积的交互函数来实现。例如,对于基于显式反馈进行评级预测的任务,众所周知,将userand item bias terms合并到交互函数1中可以提高MF模型的性能。虽然这看起来只是内部product操作符[14]的一个微不足道的调整,但它指出了设计一个更好的、专用的交互功能来建模用户和项目之间的la-tent功能交互的积极效果。内积只是线性地组合了latentfeatures的乘法,可能不足以捕获复杂的用户交互数据结构

本文探讨了利用深度神经网络从数据中学习交互作用函数,而不是像以前许多工作那样手工学习[18,21]。神经网络已经被证明能够近似于任何连续函数[17],而更深层次的神经网络(DNNs)被发现在从计算机视觉、语音识别到文本处理等多个领域都是有效的[5,10,15,47]。然而,相对于大量的文献,使用DNNs进行推荐的研究相对较少。尽管最近的一些进展[37,38,45]已经将DNNs应用于推荐任务并显示出了有希望的结果,但它们大多使用DNNs来建模辅助信息,如项目的文本描述、音乐的听觉特征和图像的视觉内容。通过对关键协同过滤效果的建模,他们仍然采用MF模型,利用内部产品将用户和项目的潜在特征结合起来

本文通过形式化一种用于协同过滤的神经网络建模方法,解决了上述研究中的问题。我们专注于隐性反馈,它通过观看视频、购买产品和点击商品等行为,直接反映用户的偏好。与显式反馈(即,隐式反馈可以自动跟踪,因此更容易为内容提供商收集。然而,利用它更具挑战性,因为用户的满意度不是客观存在的,而且自然缺乏负面反馈。本文主要探讨如何利用神经网络对含噪隐式反馈信号进行建模

2 预处理

我们首先将问题形式化,并讨论现有的隐式反馈协同过滤解决方案。然后,我们简要地概括了广泛使用的MF模型,强调了由于使用内积而造成的局限性

2.1 利用隐士反馈进行学习

这里的值为1 foryui表示useruand itemi之间存在交互;然而,这并不意味着真的喜欢我。类似地,值0不一定表示不喜欢i,也可以表示用户不知道该项。这对从隐含数据中学习提出了挑战,因为它只提供关于用户参数的噪声信号。虽然观察到的条目至少反映了用户对条目的兴趣,但未被观察到的条目可能只是缺少数据,而且负面反馈缺少

隐含反馈的推荐问题被表述为估计未提供服务的inY条目得分的问题,这些条目用于对条目进行排序。基于模型的方法假定数据可以由底层模式生成(或描述)
方法pointwiselearning通常遵循一个回归框架之间通过minimiz-ing平方损失ˆyuiand valueyui其目标为了处理没有负面数据的情况,他们要么将所有未观察到的条目视为负面反馈,要么从未观察到的条目中抽取抽样的负面实例。两两学习[27,44]的观点是,观察到的entrie应该排在比未观察到的entrie更高的位置。因此,成对收益并没有最小化yuiandyui之间的损失,而是最大化了观察到的入口yui和未观察到的入口yuj之间的差额。

向前移动一步,NCF框架parame-terizes functionfusing神经网络的交互toestimateˆyui。因此,它自然支持点对点和成对学习

向前移动一步,NCF框架parame-terizes functionfusing神经网络的交互toestimateˆyui。因此,它自然支持点对点和成对学习

2.2 矩阵分解

MF对用户和项目潜在因素的双向交互进行建模,假设潜在空间的各个维度相互独立,并以相同的权重将它们线性组合,因此,MF可以看作是潜在因素的线性模型。

图1说明了内积函数如何限制MF的表达。为了更好地理解示例,这里有两个设置需要事先明确说明。首先,由于MF将用户和项映射到相同的latentspace,所以两个用户之间的相似性也可以用一个内积(或相等的2)来度量,它们的潜在向量夹角的余弦。我们使用Jaccard系数3作为MF需要恢复的两个用户的地面真实相似性

在这里插入图片描述将p4建模为靠近p1,则会导p4和p2、p3的排序错误。

上面的例子说明了在低维空间中使用一个简单而固定的内积来处理复杂的用户项交互可能造成的mfsr的限制。我们注意到解决这个问题的一种方法是使用大量的潜在因素sk。然而,这可能不利于模型的泛化(例如,数据的过度拟合),特别是在稀疏设置[26]中。在这项工作中,我们通过从数据中学习DNNs的交互函数来解决这个问题

3 神经协同过滤

首先介绍了一般的NCF框架,详细说明了如何使用一个概率模型来学习NCF,该模型对隐式数据的二进制特性进行em阶段化。然后证明了在NCF下MF可以表示和推广。为了探讨DNNs的协同过滤,我们提出了一个实例化的NCF,使用多层感知器(MLP)学习用户项的交互功能。最后,在NCF框架下提出了一种新的神经矩阵分解模型MF和MLP;该方法综合了MF的线性和mlp的非线性的优点,对用户项潜在结构进行了建模。

3.1 通用框架

为了对协同过滤进行完整的神经处理,我们采用多层表示对用户iteminteractionyuias建模,如图2所示,其中单层的输出作为下一层的输入。底层inputlayer由描述beuseruand itemi的两个feature vectorsvuuand vii组成;它们可以进行定制,以支持对用户和项目等进行广泛的建模作为上下文感知的[28,1],基于内容的[3]和基于邻居的[26]。由于这项工作的重点是纯协作过滤设置,所以我们只使用用户的标识和一个条目作为输入特性,将其转换为一个带有一个热编码的二进制稀疏向量。注意,使用这种输入的ageneric特性表示,我们的方法可以很容易地进行调整,通过使用内容特性表示用户和项来解决冷启动问题。

输入层上方为嵌入层;它是一个完全连通的层,将稀疏表示投射到稠密向量上。所得到的用户(项)嵌入可以看作是潜在因素模型中用户(项)的潜在向量。然后将用户嵌入和项目em-寝具输入多层神经网络结构,我们称之为神经协同过滤层,将潜在向量映射到预测分数。可以定制neu-ral CF层的每一层,以发现用户项交互的某些潜在结构。最后一个隐藏层的维数决定了模型s的能力。最后一个输出层是预测的yui得分,通过最小化yui与其目标值yui之间的点态损失来进行训练。我们注意到,训练模型的另一种方法是成对学习,比如使用贝叶斯个性化排名[27]和基于边缘的损失[33]。由于本文的研究重点是神经网络建模部分,我们将NCF的扩展留给成对学习作为未来的工作

![在这里插入图片描述](https://img-blog.csdnimg.cn/20190722135712687.PNG?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzMwMzc0NTQ5,size_16,color_FFFFFF,t_70

这是NCF meth-ods最小化的目标函数,其优化可以通过随机梯度下降(SGD)实现。细心的读者可能已经认识到,它与二进制交叉熵损失相同,也称为对数损失。通过对NCF的概率处理,我们将隐式反馈的推荐作为一个二元分类问题来处理。由于分类感知日志丢失在推荐文献中很少被研究,所以我们在本文中对其进行了探讨,并在4.3节中对其有效性进行了实证分析。对于负因变量,我们在每次迭代中都从未观察到的因变量中均匀采样,并控制采样率。观察到的相互作用的数量。虽然非均匀抽样策略(如项目受欢迎程度偏倚[14,12])可能会进一步提高性能,但我们将探索留到以后的工作中。

3.2 GMF

现在,我们展示如何将MF解释为NCF框架的一个特殊案例。由于MF模型是最受欢迎的推荐模型,并且在大量的文献中被研究过,因此能够恢复它使得NCF能够模拟大量的因子分解模型.

3.3 MLP

由于NCF采用两种路径对用户和项目进行建模,因此将两种路径的特征进行连接,从而将其结合起来是很直观的。该设计已被广泛应用于多模态深度学习工作中[47,34]。然而,单纯的向量连接并没有考虑到用户和项目潜在特征之间的任何交互,这对于建模协同过滤效果是不够的。为了解决这个问题,我们建议在组合向量上添加隐藏层,使用一个标准的MLP来学习用户和项目潜在特性之间的交互。从这个意义上说,我们可以赋予模型很大的灵活性和非线性,以学习普气之间的相互作用,而不是转基因食品的方式,只使用固定的元素明智的产品。更准确地说,NCFframework下的MLP模型定义为

对于网络结构的设计,一个共同的solutionis跟随塔模式,在底层就是和每一层有一个较小的数量ofneurons(如图2)。前提是用小数量的隐藏单位更高的层次,他们学习起[10]的数据更具有抽象能力的特性。我们经验地实施了塔式结构,每一层将层数减半

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值