深度推荐系统十大分类类别 -James Le


本文回顾了有关基于深度学习的推荐系统方法的现有文献,以帮助新研究人员建立对该领域的全面理解。主要是,根据使用的深度学习技术的类型将当前文献分为10类,我认为这有助于读者构成整体理解。

为什么要推荐使用深度学习?
与传统的基于内容的协作过滤方法相比,以下是基于深度学习的推荐系统的4个关键优势:

  • 深度学习可以使用非线性激活(例如ReLU,Sigmoid,Tanh等)对数据中的非线性交互进行建模,此属性使捕获复杂而复杂的用户项交互模式成为可能。诸如矩阵分解和分解机器之类的常规方法本质上是线性模型。作为许多传统推荐器的基础的线性假设被过分简化,将极大地限制其建模表达能力。众所周知,神经网络能够通过改变激活选择和组合来以任意精度近似任何连续函数。此属性可以处理复杂的交互模式并精确反映用户的偏好。
  • 深度学习可以从输入数据中有效地了解潜在的解释因素和有用的表示形式。通常,在现实应用程序中可以找到有关项目和用户的大量描述性信息。利用这些信息可以提高我们对项目和用户的了解,从而可以得到更好的推荐者。因此,将深度神经网络应用于推荐模型中的表示学习是一种自然的选择。使用深度神经网络来辅助表示学习的优势有两个:(1)减少了手工特征设计的工作量;(2)它使推荐模型能够包含异构内容信息,例如文本,图像,音频甚至视频。
  • 深度学习对于顺序建模任务非常强大。在机器翻译,自然语言理解,语音识别等任务中,RNN和CNN扮演着至关重要的角色。它们在挖掘数据的顺序结构方面具有广泛的应用性和灵活性。顺序信号建模是挖掘用户行为和项目演变的时间动态的重要主题。例如,下一项/购物篮预测和基于会话的推荐是典型的应用。因此,深度神经网络非常适合此顺序模式挖掘任务。
  • 深度学习具有高度的灵活性。如今,有许多流行的深度学习框架,包括TensorFlow,Keras,Caffe,MXnet,DeepLearning4j,PyTorch,Theano等。这些工具以模块化方式开发,并获得社区/专业人士的积极支持。良好的模块化使开发和工程更加高效。例如,很容易将不同的神经结构组合起来以制定强大的混合模型或将一个模块替换为其他模块。因此,我们可以轻松地建立混合和复合推荐模型来同时捕获不同的特征和因素。

为了提供对该领域的鸟瞰图,我将根据使用的深度学习技术的类型对现有模型进行分类。

1>基于多层感知器的推荐
MLP是前馈神经网络,在输入层和输出层之间具有多个隐藏层。您可以将MLP解释为非线性转换的堆叠层,从而学习分层特征表示。它是一个简洁而有效的网络,可以将任何可测量的功能近似到任何所需的精度。因此,它是众多高级方法的基础,并在许多领域得到了广泛使用。
MLP可以将非线性变换添加到现有推荐系统方法中,并将其解释为神经扩展。

  • 推荐可以看作是用户偏好和项目功能之间的双向交互。例如,矩阵分解将评分矩阵分解为低维的用户/项目潜在因子。神经协作过滤是一项具有代表性的工作,它构建了一个双重神经网络来对用户和项目之间的双向交互进行建模。
  • 深度因子分解机是一种端到端模型,可无缝集成因子分解机和MLP。它可以通过深度神经网络对高阶特征交互进行建模,并通过分解机对低阶交互进行建模。

使用MLP进行特征表示非常简单且高效,尽管它可能不像自动编码器,CNN和RNN那样具有表现力。
  • 广泛和深度学习是一个很好的模型,可以解决回归和分类问题,最初是在Google Play中为应用推荐而引入的。广泛的学习组件是单层感知器,也可以将其视为广义线性模型。深度学习组件是MLP。结合这两种学习技术,推荐者可以同时记忆和概括。
  • 适用于YouTube推荐的深度神经网络将推荐任务分为两个阶段:候选者生成和候选者排名。候选生成网络从所有视频语料库中检索一个子集。排名网络根据来自候选者的最近邻居的分数生成前n个列表。
  • 协作度量学习用欧氏距离替换矩阵分解的点积,因为点积不满足距离函数的三角不等式。通过最大化用户与其不喜欢的项目之间的距离以及最小化用户与其喜欢的项目之间的距离来学习用户和项目嵌入。

2>基于自动编码器的建议
AE是试图在输出层中重建其输入数据的无监督模型。通常,瓶颈层用作输入数据的显着特征表示。几乎所有其变体(表示AE,变异AE,结缔AE和边缘化AE)都可以应用于推荐任务。
AE可以用来学习瓶颈层的低维特征表示。
  • 协作深度学习是一种分层贝叶斯模型,它将堆叠式降噪自动编码器(SDAE)集成到概率矩阵分解(PMF)中。为了无缝结合深度学习和推荐模型,本文提出了一个通用的贝叶斯深度学习框架,该框架由两个紧密相关的组件组成:感知组件(SDAE)和任务特定组件(PMF)。这使模型能够平衡辅助信息和交互历史的影响。
  • 协作深度排名是在成对框架中专门针对top-n建议而设计的。论文表明,成对模型更适合于排序列表的生成。
  • 深度协作过滤是用于通过协作过滤模型统一深度学习方法的通用框架。该框架使利用深度特征学习技术构建混合协作模型更加容易。

AE可用于直接在重建层中填充用户-项目交互矩阵的空白。
  • AutoRec将用户/项目局部向量作为输入,并旨在在输出层中对其进行重构。
  • 协作降噪自动编码器主要用于排名预测。CDAE的输入是用户部分观察到的隐式反馈,可以将其视为反映用户对商品兴趣的偏好向量。文中还提出了一种负采样技术,用于从负集合(用户尚未与之互动的项目)中采样一小部分子集,这可以在不降低排名质量的情况下大幅降低时间复杂度。
  • Multi-VAE和Multi-DAE提出了一种可变自动编码器的变体,用于带有隐式数据的推荐。该文介绍了一种用于参数估计的有原则的贝叶斯推理方法,并显示了比常用似然函数更好的结果。

3>基于卷积神经网络的推荐
CNN本质上是具有卷积层和池化操作的前馈神经网络。它可以捕获全局和局部特征,从而显着提高模型的效率和准确性。它在处理非结构化多媒体数据方面非常强大。
CNN可用于从图像中提取特征:

  • What Your Images Reveal 调查了视觉功能对兴趣点推荐的影响,并提出了视觉内容增强的POI推荐器系统。该系统采用CNN提取图像特征,它是通过探索视觉内容与潜在用户/位置因素之间的相互作用而建立在概率矩阵分解基础上的。
  • 针对图像推荐的混合表示的比较深度学习提出了一种具有CNN的图像推荐的比较深度学习模型。该网络由用于图像表示学习的2个CNN和用于用户偏好建模的MLP组成。
  • ConTagNet是一个上下文感知的标签推荐系统。图像特征是由CNN学习的。上下文表示由两层完全连接的前馈神经网络处理。将2个神经网络的输出连接起来,并馈入softmax函数,以预测候选标签的概率。

CNN可用于从文本中提取特征:
  • DeepCoNN采用2个并行的CNN来根据评论文本对用户行为和商品属性进行建模。该模型通过利用带有CNN的审阅文本的丰富语义表示,减轻了稀疏性问题并增强了模型的可解释性。它利用单词嵌入技术将审阅文本映射到低维语义空间中,并保留单词序列信息。然后,提取的评论表示将依次通过具有不同内核的卷积层,最大合并层和完全连接层。
  • 利用卷积神经网络的学习资源自动推荐技术,建立了一个电子学习资源推荐模型,该模型使用CNN从学习资源的文本信息中提取项目特征,例如学习材料的介绍和内容。

CNN可用于从音频和视频中提取特征:
  • 基于深度内容的音乐推荐使用CNN从音乐信号中提取特征。卷积内核和池化层允许在多个时间尺度上进行操作。这种基于内容的模型可以缓解音乐推荐的冷启动问题。
  • 用于视频理解的协作深度度量学习,使用基于CNN的著名模型ResNet提取音频功能。该建议是在协作度量学习框架中执行的,类似于前面提到的CML。

CNN可以应用于普通协作过滤:
  • 基于外部产品的神经协作过滤使用CNN来改善神经协作过滤。所谓的ConvNCF模型使用外部乘积而不是点乘积来建模用户项交互模式。本文将CNN应用于外部乘积的结果,从而可以捕获嵌入维之间的高阶相关性。
  • 通过卷积序列嵌入的个性化Top-N顺序推荐呈现了具有CNN的顺序推荐,其中使用了分层和垂直的CNN来建模联合级顺序模式,并跳过了序列感知推荐的行为。

基于图的CNN可以处理推荐任务中的交互:
  • 图卷积矩阵完成将推荐问题视为带有图CNN的链接预测任务。该框架使将社交网络和项目关系之类的用户/项目辅助信息轻松集成到推荐模型中变得容易。
  • 用于Web规模推荐系统的图卷积神经网络将图CNN用于Pinterest的推荐。该模型使用随机游动和图形CNN从图结构以及项目特征信息生成项目嵌入,因此非常适合大型Web推荐器。

4>基于递归神经网络的推荐
RNN适用于建模顺序数据。它具有循环和记忆,可以记住以前的计算。部署了包括LSTM和GRU在内的各种RNN,以克服梯度消失的问题。
RNN可以处理基于会话的推荐任务中交互的时间动态和用户行为的顺序模式:
  • GRU4Rec是基于会话的推荐模型,其中输入是采用N编码为1-of的会话的实际状态,其中N是项数。如果相应的项目在此会话中处于活动状态,则坐标将为1,否则为0。输出是会话中每个项目的下一个可能性。
  • 在网易中使用深度递归神经网络的个人推荐是针对现实世界电子商务网站的基于会话的推荐模型。它利用基本的RNN,根据点击历史记录来预测用户接下来会购买什么。为了最大程度地减少计算成本,它仅保留有限数量的最新状态,而将较旧的状态折叠为单个历史状态。该方法有助于平衡计算成本和预测精度之间的权衡。
  • 循环推荐网络是一种基于RNN的非参数推荐模型。它可以对项目的季节性演变以及用户偏好随时间的变化进行建模。它使用2个LSTM网络作为构建块来对动态用户/项目状态进行建模。

RNN也是学习具有顺序模式的辅助信息的不错选择:
  • 连续时间R推荐的循环共进化潜在特征过程提出了一种共进化潜在模型,以捕获用户和项目的潜在特征的共进化性质。用户和项目之间的交互在推动用户偏好和项目状态的变化中起着重要作用。为了对历史交互进行建模,作者提出使用RNN来自动学习来自用户和项目特征的漂移,演变以及共同进化的影响的表示形式。
  • Ask GRU建议使用GRU将文本序列编码为潜在因子模型。这种混合模型解决了热启动和冷启动问题。此外,作者采用了多任务正则化器来防止过度拟合并减轻训练数据的稀疏性。主要任务是评级预测,而辅助任务是项目元数据(例如标签,流派)预测。
  • 针对数百万用户的基于嵌入的新闻推荐建议使用GRU来学习用户浏览历史的更具表现力的聚合,并使用潜在因素模型推荐新闻报道。与传统的基于单词的方法相比,结果显示出显着的改进。该系统已完全部署到在线生产服务中,每天为超过一千万的唯一用户提供服务。

5>基于受限玻尔兹曼机的推荐
RBM是由可见层和隐藏层组成的两层神经网络。它可以轻松地堆叠到深层网络。术语“ 受限制”表示在可见或隐藏层中没有层内通信。

  • 用于协作过滤的受限玻尔兹曼机器是基于RBM的第一个推荐模型。RBM的可见单位仅限于二进制值,因此,评分分数在一个热向量中表示,以适应此限制。每个用户都有一个带有共享参数的唯一RBM,并且可以通过对比散度算法来学习这些参数。这里的本质是,无论用户如何评价项目,用户都会通过给出评分来隐式告诉他们的偏好。

  • 使用RBM进行协同过滤的非IID框架在统一框架中结合了基于用户和基于项目的RBM-CF。在这种情况下,可见单位由用户和项目隐藏单位确定。
  • 基于项目类别的基于条件受限Boltzmann机器的建议书设计了一种混合RBM-CF,它结合了项目功能并基于条件RBM。这里,条件层是用二元项目类型建模的,因此会影响具有不同连接权重的隐藏层和可见层。

6>神经注意模型 - 基于建议
注意模型是可微分的神经体系结构,其基于在输入序列或输入图像上的软内容寻址来操作。它们是由人类的视觉注意力驱动的,可以从原始输入中滤除不具信息性的功能,并减少嘈杂数据的副作用。这种关注机制在计算机视觉和自然语言处理领域无处不在。
在推荐系统的上下文中,我们可以利用注意力机制来过滤嘈杂的内容并选择最具代表性的项目,同时提供良好的可解释性。

  • 注意协作过滤使用注意协作过滤模型,并在潜在因素模型内部使用2级关注机制。该模型包括项目级别和组件级别的注意:项目级别的一个选择最具代表性的项目来表征用户;组件级从多媒体辅助信息中为每个用户捕获最有用的功能。
  • 具有基于主题注意力​​的 LSTM的主题标签推荐使用基于关注的LSTM模型进行主题标签推荐。该模型利用RNN和注意力机制来捕获顺序属性并从微博帖子中识别出信息量大的单词。
  • 使用基于注意力的卷积神经网络的标签推荐使用微博中针对相同标签标签推荐的基于注意力的CNN模型,该标签被视为多标签分类问题。该模型由一个全局通道和一个本地关注通道组成:全局通道具有卷积层和最大池层以对所有单词进行编码;本地频道具有关注层,该关注层具有给定的窗口大小和阈值以选择提示性单词。

7> 基于神经自回归的推荐
神经自回归分布估计(NADE)是建立在自回归模型和前馈神经网络之上的无监督神经网络。它是用于对数据分布和密度进行建模的易处理且高效的估计器,可以认为它是受限玻尔兹曼机的理想替代方案。
根据我的评论,一种用于协作过滤的神经自回归方法是提出基于NADE的协作过滤模型(CF-NADE)的唯一论文,该模型可以对用户评分的分布进行建模。

8> 基于深度强化学习的推荐
强化学习(RL)以试错法为基础,由5个组成部分(主体,环境,状态,行为和奖励)组成。深度神经网络和强化学习相结合,构成了深度强化学习,它在游戏和自动驾驶等多个领域都达到了人类水平的表现。深度神经网络使代理能够从原始数据中获取知识并获得有效的表示形式,而无需手工制作的功能和域启发式算法。
传统上,大多数推荐模型都认为推荐过程是静态的,因此很难捕获用户的时间意图并及时做出响应。近年来,深度强化学习已将其用于个性化推荐。

  • 通过成对深度强化学习通过负反馈进行推荐的建议提出了一种称为DEERS的建议,用于在顺序交互设置中同时具有负反馈和正反馈。
  • 针对页面建议的深度强化学习探索了一种名为DeepPage的框架,该框架可以根据用户的实时操作来自适应地优化项目页面。
  • DRN:新闻推荐的深度强化学习框架是一种新闻推荐系统,它使用深度强化学习来检测新闻内容和用户喜好的动态变化,合并用户的回返模式并增加推荐的多样性。

9>对抗性网络 - 基推荐
对抗网络是一个生成神经网络,由鉴别器和生成器组成。通过在minimax游戏框架中相互竞争来同时训练这两个神经网络。

  • IRGAN-用于统一生成性和区分性信息检索模型的Minimax游戏是将GAN应用于信息检索区域的第一个模型。具体来说,作者展示了3种信息检索任务的功能,包括Web搜索,项目推荐和问题解答。
  • 推荐的对抗性个性化排名提出了一种对抗性个性化排名方法,该方法通过对抗性训练来增强贝叶斯个性化排名。它在原始BPR目标和对手之间扮演一个minimax游戏,该游戏会增加噪音或排列以最大化BPR损失。
  • 用于个性化引用建议的基于生成对抗网络的异构书目网络表示形式针对异构书目网络使用基于GAN的表示学习方法,可以有效地解决个性化引用建议任务。
  • 具有对抗训练的神经内存流推荐网络让GAN为基于内存网络的流推荐器生成否定样本。

10> 基于深度混合模型的推荐
借助深度神经网络的良好灵活性,可以集成许多神经构建模块,以形式化更强大和更具表达力的模型。最近的研究趋势表明,应针对特定任务合理,谨慎地设计混合模型。

  • 基于知识的协作嵌入将CNN与自动编码器结合在一起,以提取图像中的特征。它利用不同的嵌入技术来利用结构内容,文本内容和视觉内容。
  • 使用深度神经网络的对话中的报价推荐是RNN和CNN的混合模型,用于推荐报价,这需要根据查询文本或对话生成报价的排名列表。它应用CNN从推文中学习重要的本地语义并将其映射到分布向量。然后,LSTM处理这些向量,以计算目标引号与给定推文对话的相关性。
  • 个性化关键帧建议将CNN和RNN集成在一起,以在视频中提供个性化关键帧建议,其中CNN用于从关键帧图像中学习特征表示,而RNN用于处理文本特征。
  • 用于情境感知引用推荐的神经引用网络将CNN和RNN集成在用于引用推荐的编码器-解码器框架中。CNN是从引用上下文捕获长期依赖关系的编码器,而RNN是在给定所有先前单词以及CNN获得的表示的情况下,学习被引用论文标题中某个单词的概率的解码器。
  • 协作递归自动编码器利用集成RNN和对自动编码器进行降噪的方法来克服诸如缺乏鲁棒性和缺乏对文本信息序列进行建模的能力之类的限制。本文设计了称为鲁棒递归网络的RNN的泛化,并提出了称为CRAE的分层贝叶斯推荐模型。该模型由编码和解码部分组成,并使用带有RNN的前馈神经层来捕获项目内容的顺序信息。
  • 使用递归神经网络进行动态强化学习的有指导的强化学习推荐结合了具有RNN的有监督的深度强化学习以推荐治疗。该框架可以从指标信号和评估信号中学习处方策略。

结论
深度学习在自然语言处理,图像和视频处理,计算机视觉和数据挖掘等许多领域都越来越流行,这是一个了不起的现象,因为还没有一种通用的方法来解决不同种类的问题。之前的计算问题。借助深度学习技术的这些方面,它们不仅具有解决许多领域中复杂问题的能力,而且还为这些研究领域形成了共同的词汇和共同点。深度学习方法甚至可以帮助这些子领域相互协作,而在过去,由于所使用技术的多样性和复杂性,这在过去有些问题。