[论文学习]Deep Learning Based Recommendation: A Survey

Liu J, Wu C. Deep Learning Based Recommendation: A Survey[C]//International Conference on Information Science and Applications. Springer, Singapore, 2017: 451-458.

ABSTRACT

由于在其他领域取得的巨大成功,深入学习在推荐研究领域引起了极大的关注。 在本文中,我们回顾了基于深度学习的推荐方法,提出了一种基于深入学习的推荐方法根据方法的输入和输出进行划分的分类框架。 我们也提出了未来可能的研究方向。

1 Introduction

近年来,作为一种机器学习方法,深入学习成功应用于许多不同的研究领域,如计算机视觉,语音识别,自然语言处理等。 在这些领域,与传统方法相比,基于深度学习的方法显着提高了性能。 由于深入学习取得了巨大的成功,有些研究人员试图在推荐系统中使用深度学习[1-11,13-15],希望这些新提出的模型可以提高推荐系统的性能,就像深度学习模型 在其他研究领域表现的那样。

在本文中,基于深度学习的推荐方法在我们提出的分类框架下进行了回顾。 在这个框架下,基于深度学习的推荐方法是通过输入和输出的方法分类的。 在推荐系统中引入深度学习是一个新的研究方向。 现有工作已经提出了几种方法,但实际使用的方法很少。 可扩展性是推荐系统中的一个问题,其中有大量的项目和用户。 根据这个事实,我们也指出了深度学习做推荐的未来研究方向。

本文的组织结构如下。 首先,介绍了推荐系统和深度学习的背景。 在第三节,介绍了深度学习方法的分类框架,并对这些方法进行了回顾。 未来的研究方向将在Sect 4中,其次是结论放在第5节。

2 Background

2.1 Recommendation

传统上,从推荐方法的角度来看,推荐系统分为三种:基于内容,协同和混合推荐方法[17]。 推荐系统也根据应用领域进行分类[18]。 在本文中,我们从基本的推荐问题的角度回顾推荐系统。 换句话说,我们根据系统中推荐问题的输入和输出来划分推荐系统。

推荐系统通常在系统中收集用户的活动,包括评分,点击,购买,评论等,这是推荐方法的输入。评分是推荐系统中使用最多的输入,允许用户通过k点整数对项目进行评分。推荐结果根据评分生成。典型的方法是PMF [19]及其扩展。通常,评分被视为一种明确的反馈。一些方法采取隐含的反馈,如点击,查看等作为输入。与显式反馈相比,推荐系统可以轻松收集隐含的反馈。 BPR [20]从隐反馈推导出来用户和项目之间的用户二进制偏好关系,但它只能处理一种隐式反馈。一些推荐系统不只从一种反馈中学习,而是利用多种反馈[6,21]。吴等[6]也在他们的方法中使用反馈的时间信息。

推荐系统的输出是给用户的推荐结果。 不同的推荐系统给出不同种类的推荐结果。 一些系统预测用户尚未发布的评分。 基于矩阵分解的方法是解决评分预测问题的最流行的方法。 一些推荐系统预测项目之间使用的偏好顺序,这被称为基于排名的推荐方法。 这种方法包括BPR [20],ListPMF [22]和QPMF [23]。 在某些情况下,用户可能会期望产品的组合,例如外套和匹配的裤子。 提出组合推荐问题。 [24,25]解决了服装推荐领域的这个问题。

2.2 Deep Learning

如今,深度学习是指机器学习算法的一类。 通常,深度学习的模型包含一系列非线性变换层。 通过端到端优化来学习模型中的参数。

目前研究者们已经提出了几种深度学习模型。 最常用的模型之一是前馈神经网络。 只有一个隐藏层的典型前馈神经网络如图1所示。图1(a)。 在深度学习中使用的前馈神经网络通常具有不同维度的几个隐藏层,以便在高级抽象中对输入进行编码。 如图1(a)所示,

这里写图片描述

图中的输出O,计算过程如下:

h=σ(Wx)O=δ(Vh)

其中V和W是隐层到输出层和输入层到隐层的加权矩阵。 函数δ和σ是非线性变换函数,如tanh和sigmoid函数。

由于前馈神经网络无法分析序列数据,如自然语言,因此有了循环神经网络。 在这个模型中,隐藏层反复连接到输入层,如图1所示。 前馈神经网络(a)和循环神经网络(b)的结构。 时间t,Ot的输出计算如下,

ht=σ(Wxt+Yht1)Ot=δ(Vht)

其中Y是前一个隐藏层到当前隐藏层的权重矩阵。

这里写图片描述

卷积神经网络被广泛用于图像识别,它包含一个或多个卷积层,其中神经元以这样的方式被平铺,使得它们响应于视野中的重叠区域。 在两个相邻卷积层之间,总是有一个子采样层。 典型的卷积神经网络如图2所示。由于CNN中的参数比其他深度学习模型少得多,训练更容易。 这使得他们成为一个非常有吸引力的网络结构。

3 Classification of Deep Learning Based Recommendation Methods

3.1 Classification Framework

在本文中,基于深度学习的推荐方法是通过方法的输入和输出进行分类。 在输入方面,一些方法考虑了内容信息,一些方法不使用这种信息。 在输出视图中,分别预测用户评分和用户活动顺序。 我们的分类框架工作如表1所示。

这里写图片描述

3.2 Classification by Input

使用内容信息的方法 Oord等人[1]提出了一种基于深层神经网络的音乐推荐方法。在这种方法中,用户和项目潜在特征向量首先通过加权矩阵分解(WMF)算法学习[16]。然后通过进一步的深卷积网络学习项目潜在特征向量,其中将已经学习的用户潜在特征向量和音乐信号作为输入。用于训练神经网络的目标函数是加权评分预测误差(WPE),与WMF中的加权评分预测误差(WPE)相同。不同的是WMF学习的项目潜在特征向量与神经网络学习的潜在特征向量之间的差异。最后,类似于标准MF,即通过用户和项目潜在因素之间的内部产品进行推荐。因为项目潜在特征向量是从项目内容学习的,所以这种方法在项目冷启动情况下特别有用,此时目标项目没有反馈可用。该方法后来在Spotify在实验中使用[2]。

矩阵分解和深度信念网络(DBN)被集成在[14]中。 在该模型中,项目(音乐)潜在特征向量是DBN的输出,它先根据音乐的内容信息进行训练。

另外在音乐领域,Hamel等人 [3]设计了两个神经网络模型来预测音乐标签。 预测的标签用于音乐推荐。 这些模型的输入是通过离散傅里叶变换(DFT),mel压缩和主成分分析(PCA)获得的预处理音乐特征。 作者调查了几个pool函数的性能,发现结合几个pool函数可以提高性能。

Elkahky等人 [4]提出了一种深度学习方法,将用户和项目映射到潜在空间,在潜在空间里用户与其首选项目之间的相似性最大。 他们从不同领域学习项目特征。 用户特征是通过多视图深度学习模型学习。 提出的方法通过测试Windows应用程序,新闻和电影/电视推荐。

王等人 [11]提出了贝叶斯堆栈去噪自动编码器(SDAE)[12],并将该模型与贝叶斯概率矩阵分解(BPMF)相结合,称为协同深度学习(CDL),以解决隐式反馈推荐问题。 在其方法中,潜在项目特征首先根据项目内容信息由先前训练的SDAE模型生成。 然后,以与BPMF类似的方式生成用户发布的用户潜在特征向量和评分。

在YouTube的推荐系统中有两个神经网络模型[13]。 根据用户的历史行为,一个模型用于从大量项目中产生数百个候选项。 然后根据历史用户行为,上下文信息和项目特征,候选项目被另一模型排序。

不使用内容信息的方法 一些方法不使用内容信息。 在这些方法中,仅使用用户的反馈(如评分,点击等)来生成推荐结果。 例如,[7,8]使用观察到的评级来预测用户未访问的项目的评分。 在[5]中,隐式反馈用于生成排名项目订单。 并且[6]将多个反馈作为深度学习模型的输入。 [15]的输入是用户标签矩阵。

3.3 Classification by Output

项目排序预测方法 如上所述,使用内容信息的方法,如[3,4,11,13],训练深度学习模型并对项目进行排名。 推荐给用户排列好的商品列表。

一些方法不使用内容信息。 Hidasi等人 [5]提出了一种使用循环神经网络(RNN)的会话式推荐方法。 在他们的方法中,用户访问的项目被视为序列。 用户可能访问的预测项目序列由端对端的方式由经训练的RNN模型生成。 在提出的模型中有嵌入层,前馈层和几个GRU层。 作者发现成对损失函数优于点向损失函数。 具有单个GRU层的模型比具有几个GRU层的模型更好。

吴等 [6]提出了一种基于神经网络的推荐方法(RNNRec)来解决时间异质反馈推荐问题。 在这项工作中,用户时间戳的历史反馈活动被视为序列。 并且使用这些反馈序列来训练循环神经网络。 据报告,RNNRec产生的推荐结果比传统推荐方法产生的推荐结果更准确。

评级预测方法 [1,2,14]中使用内容信息来预测评分。

有一些只使用用户反馈(如raing和tag)生成推荐的方法。 Salakhutdinov等人 [10]使用RBM进行协同过滤。 RBM可以用作深度置信网络的基本单位。 但是在[10]中,RBM中只有一层。 此外,Edwin Chen在这篇博文中介绍了RBM在协同过滤方面的更为基本的使用:Introduction to Restricted Boltzmann Machines.。

Zhang 等人 [7]提出了一个深度学习模型来预测评分。 模型的输入是用户和项目的嵌入特征向量的并置。 模型中只有一个隐藏层,模型的输出是预测的评分。 郑等人 [8]使用神经自回归分布估计器(NADE)[9]模型来解决推荐问题。 该模型被修改为在评分之间共享参数。 为了扩展到大型数据集,提出了一种基于RBM的分解版本模型[10]。 在这项工作中,作者还提出了一个列表式的损失函数。 邹等在标签感知推荐系统中使用堆叠自动编码器。 用户潜在特征向量由堆叠的自动编码器根据用户标签矩阵生成。 通过聚合用户潜在特征向量和项目用户评分矩阵获得推荐结果。

4 Future Research Directions

基于深度学习的推荐方法的一个问题是推荐系统的可扩展性,其中有大量的项目和用户。 用户反馈每秒收集一次。 在这种情况下,推荐方法的表现很重要。 另一方面,训练深度学习模式是耗时的。 因此,如何提高基于深度学习的推荐方法的可扩展性是未来研究中的一个重要问题。

另一个可能的研究方向是设计新的深度学习模型来解决推荐中的特殊问题。 RNN和前馈神经网络已经用于现有的深度学习推荐方法。 卷积神经网络(CNN)在推荐中很少使用。 也许它可以获得一些推荐问题的好结果。

5 Conclusion

最近,由于深入学习取得了巨大成功,有研究者提出在推荐系统中采用深度学习方法。 在本文中,我们队基于深度学习的推荐方法通过模型的输入和输出进行了回顾和分类。 发现最常用的深度学习模型是前馈神经网络和循环神经网络。 卷积神经网络很少使用。 有人提出,基于CNN的推荐方法是可能的研究方向。 深度学习可以提高推荐系统的准确性,但可扩展性是系统中大量项目和用户的关键问题。 因此,提高基于深度学习的推荐方法的效率是这一领域的主要工作。

猜你喜欢

转载自blog.csdn.net/somTian/article/details/73610035
今日推荐