机器学习笔记 - 构建推荐系统(2) 深度推荐系统概览

一、为什么选择深度学习推荐?

        基于深度学习的推荐系统与传统的基于内容和协同过滤方法相比的 4 个主要优势:

        深度学习可以用 ReLU、Sigmoid、Tanh 等非线性激活对数据中的非线性交互进行建模……这个属性使得捕获复杂和错综复杂的用户-项目交互模式成为可能。矩阵分解和分解机等传统方法本质上是线性模型。作为许多传统推荐器的基础的这种线性假设被过度简化,将极大地限制它们的建模表达能力。众所周知,神经网络能够通过改变激活选择和组合以任意精度逼近任何连续函数。该属性使得处理复杂的交互模式并准确反映用户的偏好成为可能。

        深度学习可以有效地从输入数据中学习潜在的解释因素和有用的表示。通常,在现实世界的应用程序中可以获得大量关于项目和用户的描述性信息。利用这些信息提供了一种方法来促进我们对项目和用户的理解,从而产生更好的推荐者。因此,将深度神经网络应用于推荐模型中的表示学习是一个自然的选择。使用深度神经网络辅助表示学习的优点有两个:(1)减少了手工特征设计的工作量;(2) 它使推荐模型能够包含异构的内容信息,例如文本、图像、音频甚至视频。

        深度学习对于顺序建模任务非常强大。在机器翻译、自然语言理解、语音识别等任务中,RNN 和 CNN 发挥着关键作用。它们在挖掘数据中的顺序结构方面具有广泛的适用性和灵活性。对序列信号进行建模是挖掘用户行为和项目演化的时间动态的重要课题。例如,下一个项目/篮子预测和基于会话的推荐是典型的应用。因此,深度神经网络非常适合这种顺序模式挖掘任务。

        深度学习具有很高的灵活性。现在有很多流行的深度学习框架,包括 TensorFlow、Keras、Caffe、MXnet、DeepLearning4j、PyTorch、Theano……这些工具都是以模块化的方式开发的,并且有活跃的社区/专业支持。良好的模块化使开发和工程更加高效。例如,很容易结合不同的神经结构来制定强大的混合模型或用另一个模块替换一个模块。因此,我们可以轻松构建混合和复合推荐模型以同时捕获不同的特征和因素。

二、基于多层感知器的推荐

        MLP 是一种前馈神经网络,在输入层和输出层之间具有多个隐藏层。您可以将 MLP 解释为非线性变换的堆叠层,学习分层特征表示。它是一个简洁但有效的网络,可以将任何可测量的函数逼近到任何所需的准确度。因此,它是众多先进方法的基础,并被广泛用于许多领域。

        MLP 可以将非线性变换添加到现有的推荐系统方法中,并将它们解释为神经扩展。

        推荐可以看作是用户偏好和项目特征之间的双向交互。例如,矩阵分解将评分矩阵分解为低维用户/项目潜在因素。Neural Collaborative Filtering是一项具有代表性的工作,它构建了一个对偶神经网络来对用户和项目之间的这种双向交互进行建模。

https://arxiv.org/abs/1708.05031icon-default.png?t=M666https://arxiv.org/abs/1708.05031        深度分解机是一种端到端模型,它无缝集成了分解机和 MLP。它可以通过深度神经网络对高阶特征交互和与因式分解机的低阶交互进行建模。

https://arxiv.org/abs/1703.04247icon-default.png?t=M666https://arxiv.org/abs/1703.04247        使用 MLP 进行特征表示非常简单且高效,尽管它可能不像自动编码器、CNN 和 RNN 那样具有表现力。

  • Wide and Deep Learning是一个很好的模型,可以解决最初在 Google Play 中为应用推荐引入的回归和分类问题。广域学习组件是一个单层感知器,也可以看作是一个广义线性模型。深度学习组件是 MLP。结合这两种学习技术使推荐器能够捕捉记忆和概括。
  • YouTube 推荐的深度神经网络将推荐任务分为 2 个阶段:候选生成和候选排名。候选生成网络从所有视频语料库中检索一个子集。排名网络根据候选者的最近邻居的分数生成前 n 个列表。
  • Collaborative Metric Learning用欧几里得距离代替矩阵分解的点积,因为点积不满足距离函数的三角不等式。通过最大化用户和他们不喜欢的物品之间的距离以及最小化用户和他们喜欢的物品之间的距离来学习用户和物品嵌入。

三、基于自动编码器的推荐

        AE 是一种无监督模型,试图在输出层重建其输入数据。通常,瓶颈层用作输入数据的显着特征表示。它的几乎所有变体(表示 AE、变分 AE、连接 AE 和边缘化 AE)都可以应用于推荐任务。

        AE 可用于学习瓶颈层的低维特征表示。

  • 协作深度学习是一种分层贝叶斯模型,它将堆叠去噪自动编码器 (SDAE) 集成到概率矩阵分解 (PMF) 中。为了将深度学习和推荐模型无缝结合,本文提出了一个通用的贝叶斯深度学习框架,该框架由两个紧密相连的组件组成:感知组件(SDAE)和任务特定组件(PMF)。这使模型能够平衡辅助信息和交互历史的影响。
  • Collaborative Deep Ranking是专门为 top-n 推荐在成对框架中设计的。该论文表明,pairwise 模型更适合于排名列表的生成。
  • 深度协同过滤是一个通用框架,用于将深度学习方法与协同过滤模型统一起来。该框架使利用深度特征学习技术构建混合协作模型变得更加容易。

        AE可用于直接在重建层填充用户-项目交互矩阵的空白。

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

四、基于卷积神经网络的推荐

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

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

        CNN 可用于从文本中提取特征。

  • DeepCoNN采用 2 个并行 CNN 来对评论文本中的用户行为和项目属性进行建模。该模型通过利用带有 CNN 的评论文本的丰富语义表示来缓解稀疏性问题并增强模型的可解释性。它利用词嵌入技术将评论文本映射到低维语义空间,并保留词序列信息。提取的评论表示然后连续通过具有不同内核的卷积层、最大池化层和全连接层。
  • 基于卷积神经网络的学习资源自动推荐技术构建了电子学习资源推荐模型,利用CNNs从学习资源的介绍、学习资料内容等文本信息中提取项目特征。

        CNN 可用于从音频和视频中提取特征。

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

        CNN 可以应用于 vanilla 协同过滤。

  • 基于外积的神经协同过滤使用 CNN 来改进神经协同过滤。所谓的 ConvNCF 模型使用外积而不是点积来建模用户-项目交互模式。该论文将 CNN 应用于外积的结果,因此可以捕获嵌入维度之间的高阶相关性。
  • 通过卷积序列嵌入的个性化 Top-N 序列推荐提供了带有 CNN 的序列推荐,其中分层和垂直 CNN 用于建模联合级别的序列模式并跳过序列感知推荐的行为。

        基于图的 CNN 可以处理推荐任务中的交互。

  • Graph Convolutional Matrix Completion将推荐问题视为与图 CNN 的链接预测任务。该框架可以轻松地将用户/项目侧信息(例如社交网络和项目关系)集成到推荐模型中。
  • Web-Scale Recommender Systems 的图卷积神经网络使用图 CNN 在 Pinterest 上进行推荐。该模型使用随机游走和图 CNN 从图结构和项目特征信息生成项目嵌入,因此非常适合大规模网络推荐。

五、基于循环神经网络的推荐

        RNN 适用于对序列数据进行建模。它有循环和记忆来记住以前的计算。部署了包括 LSTM 和 GRU 在内的 RNN 变体来克服梯度消失问题。

        RNN 可以处理基于会话的推荐任务中交互的时间动态和用户行为的顺序模式。

  • GRU4Rec是基于会话的推荐模型,其中输入是会话的实际状态,采用 1-of-N 编码,其中 N 是项目数。如果相应项目在此会话中处于活动状态,则坐标将为 1,否则为 0。输出是每个项目在会话中成为下一个的可能性。
  • 网易中使用深度递归神经网络的个人推荐是针对现实世界电子商务网站的基于会话的推荐模型。它利用基本的 RNN 根据点击历史预测用户接下来会购买什么。为了最小化计算成本,它只保留有限数量的最新状态,同时将旧状态折叠成单个历史状态。这种方法有助于平衡计算成本和预测精度之间的权衡。
  • Recurrent Recommender Network是一种基于 RNN 的非参数推荐模型。它可以模拟物品的季节性演变和用户偏好随时间的变化。它使用 2 个 LSTM 网络作为构建块来对动态用户/项目状态进行建模。

        RNN 也是学习具有顺序模式的边信息的不错选择。

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

六、基于受限玻尔兹曼机的推荐

        RBM 是一个由可见层和隐藏层组成的两层神经网络。它可以很容易地堆叠到一个深度网络。术语Restricted表示在可见层或隐藏层中没有层内通信。

  • 用于协同过滤的受限玻尔兹曼机是第一个基于 RBM 的推荐模型。RBM 的可见单位仅限于二进制值,因此,评分分数以单热向量表示以适应此限制。每个用户都有一个具有共享参数的唯一 RBM,并且可以通过对比发散算法来学习这些参数。这里的本质是用户通过给出评分来暗示他们的偏好,无论他们如何评价项目。
  • 用于 RBM 协同过滤的非 IID 框架将基于用户和基于项目的 RBM-CF 结合在一个统一的框架中。在这种情况下,可见单元由用户和项目隐藏单元共同决定。
  • Item Category Aware Conditional Restricted Boltzmann Machine Based Recommendation 设计了一种混合 RBM-CF,它结合了项目特征并基于条件 RBM。在这里,条件层使用二元项目类型建模,从而影响具有不同连接权重的隐藏层和可见层。

七、基于神经注意模型的推荐

        注意力模型是基于对输入序列或输入图像的软内容寻址进行操作的可微分神经架构。它们受到人类视觉注意力的驱动,可以从原始输入中过滤掉无信息的特征,并减少噪声数据的副作用。这种注意力机制在计算机视觉和自然语言处理领域无处不在。

        在推荐系统的上下文中,我们可以利用注意力机制过滤掉嘈杂的内容并选择最具代表性的项目,同时提供良好的可解释性。

  • Attentive Collaborative Filtering在潜在因子模型中使用具有 2 级注意力机制的注意力协同过滤模型。该模型由项目级和组件级注意力组成:其中项目级选择最具代表性的项目来表征用户;组件级的为每个用户捕获最丰富的信息特征,形成多媒体辅助信息。
  • Hashtag Recommendation with Topical Attention-Based LSTM使用基于注意力的 LSTM 模型进行标签推荐。该模型利用 RNN 和注意力机制来捕获序列属性并识别微博帖子中的信息词。
  • Hashtag Recommendation Using Attention-Based Convolutional Neural Network使用基于注意力的 CNN 模型对微博中相同的 hashtag 推荐,将其视为多标签分类问题。该模型由一个全局通道和一个局部注意力通道组成:其中全局通道具有卷积和最大池化层来编码所有单词;本地通道有一个注意层,具有给定的窗口大小和阈值来选择信息词。

八、基于神经自回归 的推荐

        神经自回归分布估计 (NADE) 是建立在自回归模型和前馈神经网络之上的无监督神经网络。它是用于建模数据分布和密度的易于处理且有效的估计器,可以被认为是受限玻尔兹曼机的理想替代方案。

是唯一一篇提出基于 NADE 的协同过滤模型 (CF-NADE) 的论文,该模型可以对用户评分的分布进行建模。

九、基于深度强化学习的推荐

        强化学习 (RL) 在试错范式上运行,由 5 个组件(代理、环境、状态、动作和奖励)组成。深度神经网络和强化学习相结合,形成了深度强化学习,在游戏和自动驾驶汽车等多个领域实现了人类水平的表现。深度神经网络使代理能够从原始数据中获取知识并获得有效的表示,而无需手工制作的特征和域启发式。

        传统上,大多数推荐模型认为推荐过程是静态的,这使得捕捉用户的时间意图并及时响应具有挑战性。近年来,深度强化学习一直在将其用于个性化推荐。

  • 通过成对深度强化学习的负反馈推荐提出了一种称为 DEERS 的方法,用于在顺序交互设置中同时具有负反馈和正反馈的推荐。
  • Page-wise Recommendations 的深度强化学习探索了一个名为 DeepPage 的框架,该框架可以根据用户的实时操作自适应地优化项目页面。
  • DRN:A Deep Reinforcement Learning Framework for News Recommendation 是一种新闻推荐系统,它利用深度强化学习来检测新闻内容和用户偏好的动态变化,结合用户的返回模式,增加推荐的多样性。

十、基于对抗网络 的推荐

        对抗网络是一种生成神经网络,由鉴别器和生成器组成。这两个神经网络通过在极小极大游戏框架中相互竞争来同时训练。

十一、基于深度混合模型的推荐

        借助深度神经网络的良好灵活性,可以集成许多神经构建块来形式化更强大和更具表现力的模型。最近的研究趋势表明,混合模型应该针对特定任务进行合理和仔细的设计。

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

猜你喜欢

转载自blog.csdn.net/bashendixie5/article/details/125747041
今日推荐