推荐系统综述:A review on deep learning for recommender systems: challenges and remedies

一、基本信息

论文题目:《A review on deep learning for recommender systems: challenges and remedies》

发表时间:2018 《Artificial Intelligence Review

论文作者及单位:

论文地址:https://link.springer.com/article/10.1007/s10462-018-9654-y

二、摘要

        推荐系统是有效的信息过滤工具,由于互联网接入的增加、个性化趋势和计算机用户习惯的改变,这种工具非常普遍。尽管现有的推荐系统成功地产生了不错的推荐,但是它们仍然面临着诸如准确性、可伸缩性和冷启动等挑战。在过去的几年中,深度学习,即在许多复杂任务中使用的最先进的机器学习技术,已经被用于推荐系统以提高推荐质量。在本研究中,我们对基于深度学习的推荐方法进行了全面的回顾,以启发和指导对该主题感兴趣的新手研究人员。我们从四个维度分析了已有的研究,即推荐系统中使用的深度学习模型、对推荐系统挑战的补救措施、对推荐领域的认知和流行的研究领域。我们还提供了对该领域出版物的全面定量评估,并通过讨论得出了见解和可能的未来有关该主题的工作。

三、主要内容与工作

1    Introduction

        信息技术的最新进展和在线服务的普及为人们提供了快速获取大量信息的能力。如今,普通用户可以立即访问几乎所有产品和服务的描述、广告、评论和评论。虽然访问信息是一种有价值的能力,但是人们面临着大量的数据源,这些数据源使他们难以找到有用和适当的内容,并导致信息过载问题。
        推荐系统是处理这类问题的信息过滤工具,它以个性化的方式向用户提供令人振奋的内容(谢弗等人)。2001年)。目前,许多在线供应商为他们的系统配备了推荐引擎,大多数互联网用户在日常活动中利用这些服务,如看书、听音乐和购物。在典型的推荐系统中,术语项目是指系统向其用户推荐的产品或服务。为用户生成推荐项目列表或预测用户对特定项目的喜好程度需要推荐系统分析志同道合的用户过去的偏好或从关于项目的描述信息中获益。这两个选项形成了推荐系统中的两种主要方法,即协作过滤和基于内容的推荐。2013年)。也有混合方法结合了这两种方法的优点(伯克2002 )。
        近年来,由于计算能力和大数据存储设施的增加,人工神经网络已经开始引起人们的极大关注。研究者成功地建立和训练了深层神经网络模型(辛顿等人)。(2006年;Hinton和Salakhutdinov,2006年;Bengio 2009 ),它促进了作为计算机科学新兴领域的深度学习。目前,图像处理、对象识别、自然语言处理和语音识别中的许多最新技术都将深度神经网络作为主要工具。深度学习技术的潜力也鼓励研究人员在推荐任务中采用深度架构( Salakhutdinov等人)。(2007年;gunawardana and Meek 2008;Truyen等人2009年)。
        在本研究中,我们深入回顾了深度学习技术在推荐系统领域的应用,以启发和指导对该主题感兴趣的研究人员。我们展示了当前研究领域的文献,并从四个不同的战略方向揭示了该主题的前瞻性概要。审查的贡献如下:
( i)    我们对基于深度学习的推荐系统进行了系统分类和详细分析。
( ii)   我们侧重于推荐系统的挑战,并根据建议的补救措施对现有文献进行分类。
( iii)    我们对现有基于深度学习的推荐系统领域意识的调查。
( iv)    我们讨论最先进的技术,并通过确定值得研究但研究不足的研究方向提供见解。
        文章的其余部分结构如下。2回顾相关工作和章节中的文献。3提供关于推荐系统和主要深度学习技术的必要背景信息。第四部分揭示了推荐系统中应用的深度学习方法的前景概要。第5节对综合文献和章节进行了定量评估。6展示了我们对该主题的见解和讨论,并提出了未来的研究方向。最后,在第7节中对第三节的研究进行总结。

2 Related work

        如同许多其他计算机科学领域一样,深度学习实践的成功对推荐系统的研究方向产生了显著影响。最初,Salakhutdinov等人。( 2007 )提出了一种在电影推荐任务中使用深度层次模型的方法。自从这项基础研究以来,已经有几次尝试将深度模型应用到推荐系统研究中。通过利用深度学习在提取隐藏特征和关系方面的有效性,研究人员提出了针对推荐挑战的替代解决方案,包括准确性、稀疏性和冷启动问题。Sedhain等人( 2015 )在自动编码器的帮助下,通过预测用户项目矩阵的缺失评级来实现更高的精度,而德文霍特和贝尔西尼( 2017 )利用神经网络通过将CF转换成序列预测问题来提高短期预测精度。Wang等人( 2015b )提出了一个使用CF的深度模型,以便通过学习良好的表示来处理稀疏性问题。此外,深度模型已经被用来处理可伸缩性问题,因为这些模型在降维和特征提取方面非常有用。埃尔卡基等人。( 2015 )通过使用深度神经网络从高维特征中获得低维特征来提出可伸缩性的解决方案,Louppe ( 2010 )利用深度学习进行降维来处理大数据集。
        当前深度架构的流行带来了对推荐系统研究中现有的深度学习研究进行回顾和分析的需求。全面的分析可以帮助和指导愿意在该领域工作的研究人员。尽管有这种迫切的需要,就我们所知,只有四项研究正在调查这一课题。郑( 2016 )调查并批评了最先进的深度推荐系统。然而,这项调查研究包含的出版物数量不足,导致对整个概念的看法非常有限。Betru等人( 2017 )解释传统推荐系统和深度学习方法。这项调查的范围也不够,因为它只分析了三份出版物。刘和吴( 2017 )分析了基于深度学习的推荐方法,并提出了一个分类框架,该框架根据输入和输出方面对程序进行分类。作者在有限的方向上解释了这项研究。然而,我们提出的工作为更精确地理解基于深度学习的技术在推荐系统中的应用提供了指导。

        最近,张等人。( 2017a )发表了一项关于基于深度学习的推荐系统的综合调查。虽然评论论文的数量在(张等人。2017a ),和在这篇文章中的数量非常接近,单我们的分类方法显示了特定的差异。而张等人。( 2017a )仅关注出版物的结构分类,并提出两个方面的方案(神经网络模型和集成模型),我们提供四维分类(神经网络模型、提供的补救措施、应用领域和目的属性)。此外,在研究出版物时,我们更愿意对主题有一个总体的理解,并为那些愿意为推荐系统进行深度学习的研究人员带路,而不是深入研究实现细节。我们的工作使得对这个主题感兴趣的学者能够理解在推荐系统中使用深度学习技术的主要效果。本综述研究的重点是了解在推荐系统中使用每种基于深度学习的方法的动机。此外,它还旨在为推荐系统当前面临的挑战提供基于深度学习的解决方案。

3 Background

        虽然推荐系统可以定义为特定类型的信息过滤系统,但是深度学习是机器学习的一个发展趋势。在研究这两种方法是如何结合在一起之前,有必要对这两种方法的基本原理进行研究。在本背景部分,我们简要介绍了推荐系统的基本原理、主要类型和主要挑战。然后,我们通过解释促使深入学习概念成为计算机科学新兴领域的因素来引入深入学习概念。最后,我们举例说明了在机器学习中广泛应用的深度学习模型。

3.1 Recommender systems

        推荐系统的出现是为了解决信息过载问题,在典型的推荐系统中,推荐问题是双重的,即( I )估计单个项目的预测或者( ii )通过预测对项目进行排名( Sarwar等人)。2001年)。虽然前一个过程是由用户触发的,并且集中于精确预测用户会有多喜欢所讨论的项目,但是后一个过程是由推荐引擎本身提供的,并且提供用户可能喜欢的项目的有序前N名列表。根据推荐方法,推荐系统分为三大类( Adomavicius和Tuzhilin 2005 ) :

  • 协同过滤推荐系统基于具有相似品味的其他用户的喜好向其用户产生推荐。
  • 基于内容的推荐系统通过利用项目的描述特征,基于新项目与用户过去喜欢的项目的相似性来生成推荐。
  • 混合推荐系统一起使用多种方法,并且它们通过利用其他方法的补偿来克服某些方法的缺点。

        除了这些常见的推荐系统,还有一些特定的推荐技术。具体而言,上下文感知推荐系统将用户的上下文信息结合到推荐过程中(韦伯特等人。2010 ),标签感知推荐系统将产品标签集成到标准CF算法中( TsoSutter等人。2008 ),基于信任的推荐系统考虑了用户之间的信任关系( Bedietal。2007 ),基于群组的推荐系统关注于在用户组级别个性化推荐( McCarthy等人。2006年)。

3.1.1 Collaborative filtering recommender systems

        协同过滤依靠与目标用户具有相似偏好的用户的历史购买记录产生推荐,它可以分为Memory-based algorithms和Model-based algorithms两种类型。

3.1.2 Content-based recommender systems

        基于内容的推荐系统基于项目的描述性属性和用户的喜好产生推荐。

3.1.3 Hybrid recommender systems

        协同过滤和基于内容的推荐系统都有它们各自的优点和缺点,混合式推荐系统就是将它们结合起来。

3.1.4 Challenges of recommender systems

        推荐系统面临的四大挑战:准确性、数据稀疏、冷启动、可伸缩性

3.2 Deep learning

        深度学习是机器学习的一个领域,它基于学习几层表示,通常是通过使用人工神经网络。通过深度学习模型的层次结构,较高层次的概念从较低层次的概念中分离出来(邓和俞,2014 )。
        自从Hinton等人。( 2006 )介绍了一种有效的训练深度模型的方法,Bengio( 2009 )展示了深度架构在复杂人工智能任务中的能力,深度学习已经成为计算机科学中的一个新兴课题。目前,深度学习方法为计算机视觉、自然语言处理和语音识别中的许多问题提供了最先进的解决方案(邓和俞,2014 )。
        尽管神经网络和深层模型背后的科学已经存在了50多年,但在过去十年中,深层学习技术的力量已经开始显现。作为最先进的机器学习技术,促进深度学习的主要因素有两个,分别是大数据和计算能力的提高。

        在本节中,我们简要介绍了在推荐任务中广泛使用的深度学习模型。

3.2.1 Restricted Boltzmann machines

        受限玻尔兹曼机( RBM )是玻尔兹曼机的一种特殊类型,它有两层单元。第一层包括可见单元,第二层包括隐藏单元。在这种受限的体系结构中,一个层中的单元之间没有连接( Salakhutdinov和Hinton 2009 )。

        模型中的可见单元对应于观察的组成部分,而隐藏单元代表观察的组成部分之间的依赖关系。例如,在著名的手写数字识别问题( Cire san等人)的情况下。2010 ),可见单元变成数字图像的像素,隐藏单元表示图像中像素之间的依赖性。

3.2.2 Deep belief networks

        深层信念网络(DBN)是一种多层学习体系结构,它使用一堆RBM来提取训练数据的深层层次表示。在这样的设计中,每个子网络的隐藏层充当即将到来的子网络的可见层。
        通过DBN学习时,首先底层的RBM是通过将原始数据输入可见单元来训练的。然后,对参数进行加密,并将RBM的隐藏单元用作第二层RBM的输入。学习过程一直持续到到达堆叠子网络的顶部,最终获得合适的模型来从输入中提取特征。由于学习过程是无监督的,所以通常在DBN的末尾添加一个新的监督学习网络,以便在分类或回归等监督学习任务中使用它。
3.2.3 Autoencoders

        自动编码器是一种前馈神经网络,它被训练来将输入编码成某种表示,从而可以从这种表示中重构输入( Hinton和Salakhutdinov 2006 )。通常,自动编码器由三层组成,即输入层、隐藏层和输出层。输入层中的神经元数量等于输出层中的神经元数量。
        自动编码器通过使用在隐藏层中获得的表示在输出层重建输入层。在学习过程中,网络使用两种映射,称为编码器和解码器。当编码器将数据从输入层映射到隐藏层时,解码器将编码数据从隐藏层映射到输出层。图3给出了自动编码器的图示。
自动编码器中的重建策略可能无法提取有用的特征。得到的模型可能导致无趣的解决方案,或者它可能提供原始输入的直接副本。为了避免这种问题,对原始数据使用去噪因子。
        去噪自动编码器( DAE )是自动编码器的一种变体,它被训练为从损坏的形式重建原始输入。去噪因子使自动编码器更加稳定和健壮,因为它们可以处理数据损坏(文森特等人)。2010年)。

        类似于结合RBMs构建深度信任网络的方式,自动编码器可以堆叠起来创建深度架构。一种堆叠式去噪自动编码器(SDAE)由多个一个在另一个之上的DAEs组成。

3.2.4 Recurrent neural networks

        递归神经网络是一类利用序列信息的人工神经网络。2015年)。RNN专用于处理一系列值x(0 ),x(1 ),...,x(t )。对序列的每个元素执行相同的任务,而输出取决于先前的计算。换句话说,RNNs具有内部存储器,可以捕获关于先前计算的信息。
        尽管RNNs的设计是为了处理长期依赖关系,但RNNs往往会遭受梯度消失或爆炸的影响( Hochreiter和Schmidhuber 1997 )。当反向传播通过时间训练网络时,梯度通过许多时间步长被传递回来,并且它趋向于消失或爆炸。这个问题的流行解决方案是长短期记忆(LSTM)和门控循环单元结构(GRU)。

3.2.5 Convolutional neural networks

        卷积神经网络是一种前馈神经网络,它在至少一个层中应用卷积运算来代替一般矩阵乘法。CNN已成功应用于许多困难的任务,如图像和物体识别、音频处理和自动驾驶汽车。
        一个典型的CNN由三个部分组成,将输入量转换为输出量,即卷积层、汇集层和完全连接层。这些层被堆叠以形成卷积网络架构,如图4所示。


        在使用CNN的典型图像分类任务中,网络各层执行以下操作。

  • 卷积:作为核心操作,卷积旨在从输入中提取特征。通过应用卷积滤波器和一组数学运算获得特征图。
  • 非线性:为了在模型中引入非线性,在每次卷积运算后都要使用一个额外的运算,通常是ReLU (校正线性单元)。
  • 池化(子采样) :池化降低了特征映射的维数,从而减少了处理时间。
  • 分类:卷积层和汇集层的输出代表输入的高级特征。这些特性可以在完全连接的层中用于分类。

4 Perspectival synopsis of deep learning within recommender systems

        深度学习技术在推荐领域的应用是一个热门话题。深度学习有利于分析来自多个来源的数据并发现隐藏的特征。由于大数据设施和超级计算机的进步,深度学习技术的数据处理能力正在提高,研究者已经开始受益于推荐系统中的深度学习技术。他们利用深度学习技术为推荐系统的挑战(如可伸缩性和稀疏性)提供实用的解决方案。此外,他们还使用深度学习来生成推荐、降维、从不同数据源提取特征并将其集成到推荐系统中。深度学习技术在推荐系统中被用来对用户-项目偏好矩阵或内容/辅助信息建模,有时两者都建模。表1展示了在数据建模实践中使用深度学习技术的出版物。

4.1 Deep learning techniques for recommendation

        在这一部分中,我们分析了深度学习方法在推荐系统中的使用方式和目的。本节中描述的技术有RBMs、DBNs、自动编码器、RNNs和CNNs。此外,在其他技术小节中还分析了一些不太传统的方法。

4.1.1 Restricted Boltzmann machines for recommendation

        RBMs是玻尔兹曼机器的特殊类型,它们有两种类型的层,即可见层和隐藏层。在RBM中,没有层内通信。RBM用于提取推荐领域中用户偏好或项目评级的潜在特征。RBM还用于联合建模用户已评分项目之间的相关性和评分过特定项目的用户之间的相关性,以提高推荐系统的准确性( Georgiev和Nakov,2013年)。基于群体的推荐系统中也使用RBM模型,通过联合建模集体特征和群体特征来建模群体偏好。

4.1.2 Deep belief networks for recommendation

        DBNs在推荐系统领域的一个应用集中在从音频内容中提取隐藏的和有用的特征,用于基于内容的和混合的音乐推荐(王和王2014 )。DBNs也被用于基于文本数据的推荐系统中。此外,DBNs被应用于基于内容的推荐系统,作为分析用户偏好的分类器,尤其是对文本数据的偏好。词的语义表示是利用DBNs来提供的。另外,DBNs用于从用户偏好的低级特征中提取高级特征。这些研究表明,DBNs主要用于提取特征和分类任务,尤其是文本和音频数据。

4.1.3 Autoencoders for recommendation

        一个简单的自动编码器用编码器部分压缩给定的数据,并通过解码器从其压缩版本重建数据。自动编码器试图通过降维操作重建初始数据。这种类型的深度模型用于推荐系统中,以学习用户-项目矩阵的非线性表示,并通过确定缺失值来重构它。自动编码器还用于降维,并通过使用编码器部分的输出值提取更多的潜在特征。此外,稀疏编码被应用于自动编码器以学习更有效的特征。
        DAEs是一种特殊形式的自动编码器,其中输入数据被破坏以防止成为身份网络。SDAEs只是许多堆叠在一起的自动编码器。这些自动编码器提供了提取更多隐藏特征的能力。DAEs用于推荐系统中,以预测损坏数据中的缺失值(吴等人。2016b ),SDAEs帮助推荐系统找到更密集形式的输入矩阵( Strub和Mary,2015 )。此外,通过允许来自多个数据源的数据,它们也有助于将辅助信息集成到推荐系统中。Wang等人( 2015b )利用贝叶斯统计数据分析,而李等人。( 2015年)利用边缘化DAE将辅助信息集成到他们的推荐系统中。Wang等人( 2015a )还通过生成概率形式的SDAE来将辅助数据整合到评级中,从而提出了关系SDAE。由于边缘化的DAE比DAE具有更大的可扩展性和更快的速度,因此它成为推荐系统中一个有吸引力的深度学习工具。(王等人。2015b ),辅助数据仅在输入级被集成。不像(王等人。2015b ),辅助信息被集成到( Strub等人)中的SDAE的每一层。( Strub等人2016年;Wei等人2017 ),使用自动编码器从辅助数据中提取特征,并与CF方法紧密耦合,如概率矩阵分解和TiME vd++ for ( Strub等人。2016年)和(魏等人。2017 ),分别解决稀疏性问题。Ying等人( 2016年)利用自适应进化算法提取辅助信息的潜在特征,并将其整合到成对排序模型的贝叶斯框架中。

        该领域的研究表明,与RBMs相比,自动编码器提供了更准确的建议。这种情况的原因之一是RBMs通过最大化对数似然性来产生预测,而自动编码器通过最小化均方根误差来产生预测,均方根误差是推荐系统最常用的精度度量之一。此外,由于使用了基于梯度的自动编码器反向传播和基于RBM的反向传播等方法,自动编码器的训练阶段比RBM的训练阶段要快得多( Sedhain等人。2015年)。堆叠式自动编码器比非堆叠式自动编码器提供更精确的预测,因为堆叠式自动编码器允许深入学习更多隐藏的特征(李等)。2015年)。自动编码器在推荐系统中有许多用途,例如特征提取、降维和产生预测。自动编码器被用于推荐系统中,尤其是用于处理稀疏性和可伸缩性问题。

4.1.4 Recurrent neural networks for recommendation

        RNN是专门处理一系列信息的。在电子商务系统中,用户当前的浏览历史会影响其购买行为。然而,大多数典型的推荐系统在会话开始时创建用户偏好,这导致忽略当前历史和用户动作序列的顺序。推荐系统中使用RNNs来整合当前的浏览网页历史和浏览顺序,以提供更准确的推荐(吴等人。2016 a;Hidasi等人2016 a;Tan等人2016年)。Wu等人( 2016a )还将RNN的结果与前馈神经网络的结果合并,以在产生预测时考虑用户-项目相关性。Ko等人( 2016 )利用RNNs来表示用户行为的时间、上下文方面,通过将这些表示与用户偏好的潜在因素相结合来改进更准确的推荐。
        RNNs还用于非线性地表示用户和项目的潜在特征之间的影响以及它们随时间的共同进化( Dai等人。2017年)。Devooght和Bersini (2017 )利用RNNs,通过将该问题视为序列预测问题,将用户口味的演变整合到推荐过程中。

        在对推荐系统的深度学习研究进行分析时,有可能得到几个结果。与传统的最近邻和基于矩阵分解的方法相比,RNN对推荐和短期预测(预测下一个可消费产品)的覆盖率有积极的影响。这种成功源于RNNs对用户品味的演变以及用户和物品潜在特征之间的协同进化的计算。此外,RNNs是很好的选择,特别是对于基于会话的推荐系统和将用户的隐含行为与他们的偏好相结合。

4.1.5 Convolutional neural networks for recommendation

        CNN使用至少一个层的卷积,这种类型的神经网络用于特定的任务,如图像识别和对象分类。推荐系统也受益于CNN。OORD等。(2013)当无法从用户反馈中获得潜在因素时,利用CNN从音频数据中提取潜在因素。沈等。(2016)使用CNN从文本数据中提取潜在因素。周等。(2016)提取视觉特征,以产生用户对推荐的视觉兴趣。雷等。(2016)利用CNN提取图像的潜在特征,将特征和用户偏好映射到同一潜在空间。使用CNN提取的文本信息的语义意义也被用于推荐系统,尤其是上下文感知推荐系统,以提供更多的定性推荐(Wu等人2017B)。因此,CNN主要用于从数据中提取潜在因素和特征,尤其是从图像和文本中提取,以供推荐。

4.1.6 Other techniques

        神经自回归分布估计(NADE)是RBM的一种替代形式,它为离散变量提供可跟踪的条件分布(Larochelle和Mur-Ray 2011)。郑等人。(2016b)将NADE应用于用于CF的用户项首选项。作者提取用户项首选项的条件隐藏表示,以生成前缀。与基于RBM的CF相比(Salakhuttdinov等人2007年),NADE提供了更准确的建议,并且更有效地优化(郑等人2016B)。杜等。(2016)通过同时模拟所有用户和项目的评级,利用CF中的NADE。
        前馈神经网络用于推荐系统,用于分类和生成预测(Wakita等人2016;Cheng等人2016;Zhang等人2018)。张等。(2018)利用多层神经网络,通过隐式反馈对用户和项目之间的交互进行非线性建模,实现项目的个性化排序。

4.2 Remedies for challenges of recommender systems

        在推荐系统中利用深度学习方法的方向之一是产生有效的推荐系统挑战的解决方案。在本节中,我们分析了基于深度学习的研究,这些研究涉及推荐系统的难题的解决方案。

4.2.1 Solutions for improving accuracy

在推荐系统中使用深度学习技术的主要目的之一是提高生成的预测的准确性。由于深度学习技术在提取隐藏特征方面取得了成功,研究人员利用它们来提取潜在特征。Salakhutdinov等人(2007)证明,将RBM模型与奇异值分解(SVD)相结合,能比Netflix推荐系统提供更准确的预测。

SeaHayin等人。(2015)提出使用自动编码器作为漏掉评分的预测器。实验结果表明,autorec优于基于RBM的bias矩阵分解CF(Salakhuttdinov等人2007年),以及本地低阶矩阵因式分解(LLORMA),在moviens和net flix数据集上的准确性。

郑等(2016b)将NADE应用于CF步骤。为了提高算法的精度,通过在同一个项目的不同评分·之间共享参数,生成基于项目的模型,并将其应用到更深层次的模型中。他们的经验表明,所提出的方法先于最先进的算法,如llorma、autorc(sedhain等人2015年),基于RBM的CF(Salakhuttdinov等人以及基于moviens和net flix数据集的几种矩阵分解方法。

Wu等人(2016b)通过重构用户偏好的密度,提出了针对Top-N推荐的协同去噪自动编码器(CDAE)。它们证明了CDAE的主要组件(映射函数、损失函数和损坏级别)对推荐精确度性能的影响。通过将隐藏层和输出层的映射函数定义为sigmoid和identity、丢失函数定义为square和logistic、损坏级别定义为0.0、0.2、0.4、0.6、0.8和1.0,它们生成了模型的四个变体。他们的实验在Movielens、Netflix和yelp数据集上进行。实证结果表明,最优变量取决于数据集,非线性函数改善了推荐值。此外,根据他们的结果,CDAE在准确性方面优于最先进的Top-N推荐方法。

尤格尔等人。(2016)利用自动编码器和主成分分析(PCA)来表示从传感器收集的数据中潜在的上下文特征,以提高上下文感知推荐系统的准确性。它们还将特定的上下文特征与PCA或自动编码器学习到的潜在上下文特征相结合,并将其与显式上下文模型和矩阵因子分解模型的准确性进行比较。他们的实验结果表明,仅使用自动编码器的潜在上下文特征具有更好的性能,尤其是在提供正反馈和负反馈的情况下。

邓等人。(2017)使用Deep AutoEncoder优化初始化矩阵分解初始化阶段的用户和项目潜在功能,以提高信任感知推荐系统的准确性。结果表明,该方法优于最先进的信任感知推荐算法。

提取隐藏特征的效率使得深度学习方法更可取。在推荐系统中,深度学习通常用于获取用户和物品的特征,生成基于用户和物品的方法或带有偏好信息的辅助信息的联合模型

特鲁瓦等。(2009)将用户偏好的潜在特征与内部用户和内部项目与Boltzmann机器的相关性相结合。他们比较了基于用户的Boltzmann机器(每个用户潜在方面和评级的图形模型)、基于项目的Boltzmann机器(项目评级的图形模型)、以用户和项目为中心的流程的联合建模以及与SVD算法的用户和项目相关性的联合建模。根据他们的实验结果,他们的表现优于SVD,尤其是对于与movielens数据集相关的联合模型。

杜等。(2016)提出了CF的神经自回归模型,旨在通过在用户和项目领域生成自回归结构来提高准确性。实验结果表明,该算法超越了现有的一些基于矩阵因子分解的方法和基于神经网络的方法,如autorc(sedhain等。2015)和cf-nade(郑等2016b)有关准确度的电影和网络流量数据集。

王等。(2015a)提出了一种混合标签感知推荐系统,将辅助信息与SDAEs集成,以提高准确性。此外,他们还提出了一个概率SDAE来学习项目之间的关系,然后将分层表示学习和关系学习结合起来,称为关系SDAE。结果表明,所提出的关系SDAE在CiteULike和movielens数据集上优于最先进的标记感知推荐方法。

胡等人。(2014)在基于群组的推荐中利用深度学习技术来提高准确性。他们利用深度学习技术从群体成员的特征中提取集体特征,并将集体特征与群体偏好相结合。他们的实验结果表明,与最先进的方法相比,深度学习提供了更好的推荐算法。

深度学习技术有助于及时监控用户品味的演变,这有助于提高推荐的质量

戴等。(2017)利用RNN对用户行为预测中的用户项目交互的共同演化性质进行非线性建模,以提高准确性。根据他们的研究结果,在准确性方面,所提出的方法优于在IPTV、Reddit和Yelp数据集上建模用户项交互的最先进方法,如Lowrankhawkes、Coevolving、PoissonTensor和Timesvd+。

Devoght和Bersini(2017)利用RNN将推荐过程转化为序列预测问题,以提高CF中的短期预测精度和项目覆盖率。利用RNN,他们不仅考虑用户的偏好,还考虑用户偏好的顺序。他们的结果表明,所提出的方法在短期预测准确度方面优于最先进的Top-N推荐方法。

吴等人。(2016a)利用深度RNN提供当前用户浏览模式的实时建议。他们将他们的模型与前馈神经网络连接起来,通过考虑用户购买历史来模拟CF技术。

王等。(2016)提出了一种协同循环自动编码器,通过联合建模序列生成和用户与物品之间的隐式关系,生成一个混合推荐系统,以提高推荐的准确性。

研究表明,深度学习提高推荐准确度的主要原因在于它能够提取隐藏的特征,并将来自不同来源的信息联合起来。表2汇编了各种研究的RMSE值,这些研究仅使用用户项矩阵作为推荐源。对MOVIELENS 1M数据集进行的实验表明,CF-NADE(Zheng等人2016b),Autorec(Sedhain等人和cf useritem共同回归(du等人与最先进的算法相比,2016)是非常成功的模型。如表2所示,基于项目的算法比基于用户的算法更精确。这种改进的原因是,每个项目的平均评分数量远远大于每个用户的平均评分数量。此外,研究人员还发现,基于用户和项目特征共同设计推荐系统可以提高推荐的准确性。此外,将利用的深度学习技术转化为更深层的形式,使得神经网络学习更多的隐藏表示。这样,生成的预测就更加准确了。如表2所示,单层U-CF-NADE比双层U-CF-NADE提供的建议更不精确。因此,相同的关系也适用于具有一层和两层的i-cf-nade。此外,Sedhain等人(2015)使用三个隐藏层的深层i-autorec进行试验,根据所得结果,深层和单层i-autorec实现分别输出0.827和0.831 rmse值。

4.2.2 Solutions for sparsity and cold-start problems

基于CF的推荐系统克服稀疏性问题的解决方案之一是使用深度学习技术将高维和稀疏用户项矩阵转换为低维和更密集的集合例如,

Unger等人(2016)利用自动编码器处理上下文感知推荐系统中的稀疏性,这是由于集成了高上下文特征造成的,在这些特征中,作者得出了从传感器提取的上下文特征与自动编码器的低维潜在表示。

推荐系统中数据稀疏问题的后果通常通过使用额外的侧信息来减轻(Singh和Gordon 2010;Maetal。2011)。然而,由于稀疏的偏好矩阵和边信息的存在,潜在因素可能不起作用。因此,深度学习技术被用来提取基于偏好矩阵和边信息的用户和项目的高级表示,然后与矩阵分解相结合,以处理稀疏性和冷启动问题(Wang等人2015a,b;列塔尔。2015年;Oord等人2013;Wang和Wang 2014;Xuetal.2017a;Zhang等人2017b;Kim等人2017)。

王等。(2015b)提出协作深度学习作为一种紧密耦合的方法,通过贝叶斯SDAE学习高级表示来处理稀疏性问题。

Li等人(2015年)通过边缘化的DAE。

Oord等人整合了基于矩阵因子分解的CF和深入学习的特征。(2013)利用CNN从音乐音频信号中提取高级特征,处理基于CF的方法中的冷启动问题。

此外,Wang和Wang(2014)提出了一个基于内容的模型和一个基于DBN的混合模型,用于在不依赖于CF的情况下处理热启动和冷启动阶段。提出的混合方法采用概率矩阵因式分解,并结合DBN学习到的特征。

Wang等人(2015a)提出关系概率SDAE,通过将提取的特征整合到矩阵分解中,从内容信息和项目之间的关系中提取特征,以处理稀疏性问题。

魏等。(2017)将TimesVd++和从内容信息中提取的功能与SDAEs集成,以处理冷启动和稀疏性问题。

申等。(2015)也利用侧边信息处理稀疏性和冷启动问题进行博客推荐。他们将文本和图像中提取的特征分别与word2vec和CNNs集成到他们提出的增强归纳矩阵完成方法中。

沈等。(2016)利用潜在因子模型将CNN提取的潜在因子整合到矩阵因子分解中,以处理稀疏性问题。

应等。(2016)利用SDAE从内容信息中提取深度特征,并将其集成到成对排序模型的贝叶斯框架中,以解决稀疏性问题。

在一些研究中,内容信息直接集成到推荐过程中,以处理一些研究中的稀疏性和冷启动问题(Strub等人2016年;Gunawardana和Meek 2008年;Kim等人2017年;Ebesu和Fang 2017年;Zhang等人2016a;Oramas等人2017年;Bellini等人2017年;联合SHE 2017年)。

斯特鲁布等。(2016)将侧边信息集成到DAE的每一层中。

Gunawardana和Meek(2008)将Boltzmann机器与项目内容信息联系起来,以处理冷启动问题。

基姆等人。(2017)利用CNN从图像中提取特征,以缓解标签识别推荐系统中的标签缺失。

此外,Ebesu和Fang(2017)建议使用深度神经网络从用户的隐式反馈和项目的文本内容信息中学习项目表示。然而,他们不考虑文本的上下文和顺序。处理冷启动问题的另一种选择是根据用户当前的浏览器活动而不是历史活动来生成预测。

谭等。(2016)建议使用RNN根据当前用户活动生成预测。

为了在当前会话中为用户处理冷启动问题,Ruocco等人(2017)利用RNN整合用户最近的会话。

此外,Tuan和Phuong(2017)通过整合项目内容信息,利用3D CNN处理基于会话的推荐系统中的稀疏问题。

查茨斯等。(2017)利用贝叶斯推理技术和RNN来处理基于会话的推荐系统中的冗余问题。

在音乐推荐领域,Vall等人(2017)提出一个基于神经网络的分类,以对稀疏数据集提出建议。

沃尔科夫等人。(2017)针对冷启动情况,建议在网络培训期间申请退出。

        其次,利用特征工程的深度学习技术,将从异构数据源提取的特征集成到推荐过程中,解决了稀疏性和冷启动问题。在各种深度学习技术中,自动编码器、CNN和DBN是最常用的。

4.2.3 Solutions for scalability problem

        为了解决可伸缩性问题,研究人员利用深度学习技术提取高维用户偏好和项目评级的低维潜在因素(Salakhuttdinov等人2007年;Truyenetal。2009年;Georgiev和Nakov 2013年;Elkahky等人2015)。

特鲁瓦等。(2009)利用Boltzmann机器提取项目和用户的潜在特征,在大规模数据集上生成预测。

埃尔卡希等。(2015)建立多视图深度神经网络,将高维特征映射为低维特征,以应对可扩展性。此外,他们还应用了一些降维技术,例如选择最相关的K特征,用K均值算法将相似的特征分组到同一个簇中,并在训练网络扩展其系统之前对用户特征进行局部敏感散列。一些研究人员利用RBM进行降维,以处理大规模数据集。

Loupe(2010)提出了一些方法,例如共享内存的并行计算、分布式计算以及修改基于RBM的CF以提高可扩展性的方法集。作者声称,在推荐质量方面,并行计算比其他计算更有效。

在推荐系统中,修改部分深度学习模型以提高可扩展性是首选的方法。杜等。(2016)沿用户和项目提出神经自回归模型,作者开发随机优化算法,以扩大自回归模型的学习过程。

4.3 Awareness and prevalence over recommendation domains

        基于深度学习的模型在推荐领域的认知和流行对于愿意从事该课题研究的研究者来说至关重要。在这一部分,我们根据实验研究的目标推荐领域对现有出版物进行分类。我们将密切相关的领域联系在一起,得到八个主要群体。图5展示了在这些推荐领域进行实验的出版物的分发。请注意,由于在不同推荐领域进行了各种实验,一份出版物可能会被分配到多个类别。

4.3.1 Movie recommendation

4.3.2 Book recommendation

4.3.3 E-commerce
4.3.4 Music recommendation

4.3.5 Social networking recommendation

4.3.6 News and article recommendation

4.3.7 Image and video recommendation

4.3.8 Other domains

4.4 Specialized recommender systems and deep learning

        专门的推荐系统可以更精确地表示用户和物品之间的关系。在本节中,我们将分析有关基于深度学习的技术的专门推荐系统。表5显示了专业推荐系统中基于深度学习的出版物的分布情况,“其他”类别由于出版物数量有限而拥有信任意识和基于组的推荐人系统。

4.4.1 Dynamic recommender systems

4.4.2 Context-aware recommender systems
4.4.3 Tag-aware recommender systems

4.4.4 Session-based recommender systems

4.4.5 Cross-domain recommender systems

4.4.6 Other techniques

5 Quantitative assessment of comprehensive literature

        在本节中,我们提供了对综合文献的定量评估,分析了出版物的出版时间、出版类型和使用的数据集。
        首先,我们在图6中展示了这些年来的出版物数量。自从萨拉赫胡迪诺夫等人进行了第一项非凡的工作以来。( 2007 ),将深度学习技术应用于推荐系统的趋势越来越明显。从那以后,该领域提出的研究数量一直在上升。作为该领域出现的一个重要标志,请注意,2016年发表了27篇研究论文,而本次调查涵盖了2017年的50多项研究。
        将深度学习和推荐系统结合在一起的研究数量的增加可能与计算机科学中深度学习的整体流行性和有效性有关。关于推荐系统领域,深度模型在从不同来源学习和在推荐参与者中提取隐藏特征方面非常成功。通过考虑大数据处理能力的进步和解释当前将深度模型应用于推荐系统的趋势,可以断言两个领域的协作在不久的将来也会继续流行。
        其次,我们根据它们的出版类型来考察这些研究。虽然arXiv3上有一些电子预印本,但我们将这些研究排除在分析之外,并获得了四种主要的出版物类型,即会议论文、期刊论文、研讨会论文以及论文和学位论文。图7显示了这些年来出版物类型的总体分布和时间变化。由于一半以上的研究是在会议上发表的,因此论文中占主导地位的出版类型就是这种类型。然而,研讨会和期刊论文也呈上升趋势,因为过去5年来这种趋势一直在延续。

        第三项评估涵盖研究中使用的数据集。我们研究了每篇论文中的实验,并在图8中以饼图的形式呈现了所利用的数据集的分布。
        尽管一些研究人员使用定制和私有数据集,但大多数实验是在公共和公共数据集上进行的。其中,44 %的数据集被归类为“其他”,并且这种类别包含仅在一项研究中使用的数据集。记住这一关键信息,我们可以观察到MovieLens, Netflix和Yelp数据集是实验中最常见的首选数据集,因为21 %的研究使用MovieLens,8 %使用Netflix,7 %使用Yelp数据集。表6中还显示了MovieLens和Netflix数据集的属性。

6 Insights and discussions

        正如我们详细讨论的那样,深度学习技术在计算机科学的许多领域中是如何盛行的,这些方法也证明了在推荐系统领域中的高效和高效性能。提高计算能力、大数据的收集和高效处理、多个数据源的集成是当今深度学习应用领域的突出原因。
在本节中,我们将讨论我们的发现和推论集合,并在整个研究过程中,根据对基于深度学习的推荐系统的总体分析,向读者展示见解。

( i)    深度学习并不专门针对一种独特的推荐方法;它们被用于各种不同目的的推荐方法中。在基于内容的过滤中,这些技术主要用于提取特征,以从异构数据源生成基于内容的用户/项目文件。然而,在CF中,它们通常被用作基于模型的方法来提取用户-项目矩阵上的潜在因素。在混合推荐系统中,利用深度学习方法从辅助信息中提取特征,并将其集成到推荐过程中。
( ii)    在所有深度学习技术中RBMs、自动编码器和NADE是潜在因素分析中最常用的技术。尽管现有的研究表明,在准确性方面,NADE领先于基于RBMs和自动编码器的推荐系统,但自动编码器在推荐系统研究中更受欢迎。相比之下,自动编码器在推荐系统领域更受欢迎,因为它们结构简单、适合特征工程、降维和缺少价值估计能力的场景。
( iii)    RNNs主要用于基于会话的推荐,通过将当前用户历史记录集成到他们的偏好中来提高准确性。此外,推荐系统更倾向于使用RNNs来考虑用户随着时间的推移不断变化的品味。
( iv)    CNNs和DBNs主要用于文本、音频和图像输入的特征工程。提取的特征用于基于内容的过滤技术或作为CF中的辅助信息。

( v)    深度学习技术被用来处理推荐系统的稀疏性和冷启动问题,方法是从辅助信息中提取特征并将它们集成到用户项目偏好中。此外,基于深度学习的方法被用于将高级和稀疏特征的维数降低为低级和密集特征。
( vi)    现存的文献表明,基于深度学习的方法比传统的推荐算法(如基于矩阵分解和最近邻的方法)提供更准确的推荐。出现这种情况的主要原因是深度学习算法提供了用户偏好的非线性表示,能够发现意想不到或不可理解的行为。
(vii)    深度学习的方法在上下文感知推荐系统中被用来建模上下文数据或者捕获用户偏好和上下文。

( viii)    深度学习技术被用于标签感知推荐系统中,以集成标签作为辅助信息,或者基于标签对用户项目偏好建模。
(ix)    基于深度学习的方法也用于推荐系统,目的是通过降低维度来处理大规模数据集。除了降维之外,现有的深度学习技术可以被采用成更可扩展的形式来处理大规模数据。
( x)    现存的研究得出结论,深度学习模式的更深形式比浅形式产生更准确的建议。此外,应用深度学习方法与基于用户和基于项目的方法结合也提供了更高精度的推荐。
( xi)    因为大多数基于深度学习的推荐方法侧重于提高评级预测或项目排名预测的准确性,用于测量统计准确性的推荐系统中通常使用的评估指标也用于基于深度学习的技术中。评估基于深度学习的推荐方法的典型方法是均方误差(MSE)、平均绝对误差(MAE)和预测精度的均方根误差(RMSE);分类精度的精度、召回率、F1测量值和接收器工作特性( ROC )曲线;以及归一化的非计数累积增益( nDCG ),用于对推荐项目列表进行排名。
( xii)   对基于深度学习的方法进行实验性详细检查时,大多数使用的评估方法与机器学习领域类似,包括k倍交叉验证和随机将输入数据拆分为序列和测试集,并保留验证集以避免过度配置。

        此外,我们希望引导读者开启研究课题,保证在推荐系统领域的深入学习的未来工作。我们列出了可能研究人员关注的不足之处。

(i)在推荐系统中,修改深度学习模型以使其更具可扩展性仍然是一个挑战。此外,在数据量增长的情况下,仍然需要对参数的指数增长进行优化的解决方案。
(ii)为了提高推荐系统的准确性和处理稀疏性问题,需要将附加信息集成到用户项目偏好中。对于电子商务,除了用户项目偏好矩阵之外,还可以利用上下文数据、标签和用户偏好的演变来生成合适的推荐。因此,可以以更复杂的方式使用深度学习方法,从许多不同的数据源中提取有用的信息,并将它们集成到推荐生成过程中。
(iii)基于深度学习的方法用于模式识别,从音频信号、视频、图像和文本中提取特征。不幸的是,只有有限的研究利用深度学习技术的能力来提取低维特征,特别是在图像、视频和音乐(歌曲)推荐中。
(iv)在推荐系统中,用户和物品的演化和共同演化是显著的时间动态。因此,深度序列网络可以用来改进动态推荐系统。

(v)由于基于深度学习的方法因其具有的表示非线性数据的能力表示而提供了更高质量的推荐;它们还可用于改进推荐系统的其他标准,如偶然性、新颖性、多样性和产生的建议的覆盖范围。
(vi)专门的推荐系统可以缓解稀疏性问题并提供更准确的推荐。然而,这方面的研究数量有限,特别是跨领域、空间感知、基于组和信任感知的推荐系统。
(vii)在推荐系统中,深度学习技术应用于数值偏好数据。由于深度学习最初用于分类问题,因此使用此类模型可能用于基于二进制偏好的推荐系统。
(viii)当应用于非私人收集的偏好时,基于深度学习的方法在生成的建议中实现了高精度。在私人收集的数据上使用深度学习技术,在推荐系统的准确性和隐私级别的冲突目标之间提供平衡是一个挑战。此外,在集中存储或分布式私有集合上使用这种技术是另一个挑战。
(ix)深度学习成功地提取了特征。然而,在基于内存的CF算法中,它还没有被用于识别活动用户的最近邻,从而进一步提高了精度。深入学习识别活跃用户的邻居以提高准确性的技术是一项挑战。

四、总结

        深度学习已经在计算机科学的所有领域变得越来越流行,例如自然语言处理、图像和视频处理、计算机视觉和数据挖掘,这是一个显著的现象,因为以前还没有这样一种通用的方法用于解决不同类型的计算问题。有了深度学习技术的这些方面,它们不仅能够很好地解决许多领域的复杂问题,而且还为这些研究领域形成了共同的词汇和共同点。深度学习方法甚至有助于这些子领域相互协作,过去由于所用技术的多样性和复杂性,这些子领域存在一些问题。
        本调查研究旨在回顾现有的基于深度学习的推荐系统方法的完整文献,以帮助新研究人员建立对该领域的全面理解。我们主要从四个主要方面对当前的文献进行分类,我们认为这有助于读者形成整体的理解。首先,我们调查了基于不同深度学习模型的文献,并根据使用的深度模型对研究进行了分类,目的是了解深度学习技术对推荐生成问题的影响。其次,我们从深度学习方法如何弥补当前推荐系统研究的挑战以及它们在实现这一目标上取得多大成功的角度来审视文献。此外,我们的目标是指导读者思考如何为现有问题提供基于深度学习的解决方案,以及什么是未来工作的保证。然后,我们评估了基于深度学习的推荐系统关注的应用领域,并提供了主要领域的分类。最后,我们分析了深度学习技术与推荐系统的目的性之间的关系,并将出版物分类为相应的推荐系统类型。我们还对出版物进行了总体分类,对文献进行了定量评估,并讨论了在该主题上获得的见解。
        只要个性化趋势继续流行,推荐系统的研究将在信息过滤中发挥重要作用。尽管深度学习在推荐系统领域的应用带来了显著和令人鼓舞的结果,但准确性和可扩展性等挑战仍有待改进,并值得未来展开研究。

猜你喜欢

转载自blog.csdn.net/qq_35771020/article/details/88759986