32

RECSYS系列 | 浅谈学术界和工业界的10种深度推荐系统技术

 3 years ago
source link: http://mp.weixin.qq.com/s?__biz=MzU5MDA5Mzg2Nw%3D%3D&%3Bmid=2247484480&%3Bidx=1&%3Bsn=55b872b8946ae7862fd95d2a371eccb8
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

本文是我探索学术界和行业推荐系统的系列文章的一部分。

ruuyeqI.jpg!mobile

介绍

近年来,基于深度学习的推荐系统的研究出版物数量呈指数增长。特别是,领先的国际推荐系统会议RecSys自2016年以来就开始定期组织深度学习研讨会。例如,在 RECSYS会议上,有一整类关于深度学习的论文,促进研究并鼓励此类方法的应用。本文主要讨论深度推荐模型的优势,劣势和应用场景,并对当前的进展进行了很好的回顾。

10种深度学习推荐技术如下:

1>基于多层感知器的推荐

2>基于自动编码器的推荐

3>基于卷积神经网络的推荐

4>基于递归神经网络的推荐

5>基于受限玻尔兹曼机器的推荐

6>基于神经注意模型的推荐

7> 基于神经自回归的推荐

8>深度强化学习的推荐

9> 基于生成对抗网络的推荐

10> 基于深度混合模型的推荐

为什么要进行深度学习推荐?

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

深度学习可以使用非线性激活(例如ReLU,Sigmoid,Tanh)对数据中的非线性交互进行建模,此属性使捕获复杂而复杂的用户项交互模式成为可能。诸如矩阵分解和分解机器之类的常规方法本质上是线性模型。作为许多传统推荐器的基础的线性假设被过分简化,将极大地限制其建模表达能力。众所周知,神经网络能够通过改变激活选择和组合来以任意精度近似任何连续函数。此属性可以处理复杂的交互模式并精确反映用户的偏好。

深度学习可以从输入数据中有效地了解潜在的解释因素和有用的表示形式。通常,在现实应用程序中可以找到有关项目和用户的大量描述性信息。利用这些信息可以提高我们对项目和用户的了解,从而可以得到更好的推荐者。因此,将深度神经网络应用于推荐模型中的表示学习是一种自然的选择。

使用深度神经网络来辅助表示学习的优点有两个:(1)减少了手工特征设计的工作量;(2)它使推荐模型能够包含异构内容信息,例如文本,图像,音频甚至视频。

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

深度学习具有高度的灵活性。如今,有许多流行的深度学习框架,包括TensorFlow,Keras,Caffe,MXnet,DeepLearning4j,PyTorch,Theano等。这些工具以模块化方式开发,并得到社区/专业人士的积极支持。良好的模块化使开发和工程更加高效。例如,很容易将不同的神经结构结合起来以建立强大的混合模型或将一个模块替换为其他模块。因此,我们可以轻松构建混合和复合推荐模型,以同时捕获不同的特征和因素。

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

1>基于多层感知器的推荐

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

fMvIZfJ.png!mobile

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

1、推荐可以看作是用户偏好和项目功能之间的双向交互。例如,矩阵分解将评级矩阵分解为低维用户/项目潜在因子。 神经协作过滤 是一项具有代表性的工作,它构建了一个双重神经网络来对用户和项目之间的双向交互进行建模。

深层分解机是一种端到端模型,该模型无缝集成了分解机器和MLP。它可以通过深度神经网络对高阶特征交互进行建模,并通过分解机对低阶交互进行建模。

使用MLP进行特征表示非常简单且高效,即使它可能不像自动编码器,CNN和RNN那样具有表现力。

2、 广泛和深度学习 是一个很好的模型,可以解决回归和分类问题,这些问题最初是为在Google Play中推荐应用而引入的。广泛的学习组件是单层感知器,也可以将其视为广义线性模型。深度学习组件是MLP。结合这两种学习技术,推荐者可以同时记忆和概括。

3、 适用于YouTube推荐的深度神经网络 将推荐任务分为两个阶段:候选者生成和候选者排名。候选生成网络从所有视频语料库中检索一个子集。排名网络会根据来自候选者的最近邻居的分数来生成前n名列表。

4、 协作度量学习 用欧氏距离替换矩阵分解的点积,因为点积不满足距离函数的三角不等式。通过最大化用户与其不喜欢的项目之间的距离以及最小化用户与其喜欢的项目之间的距离来学习用户和项目的嵌入。

2>基于自动编码器的推荐

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

eIZ7Br2.png!mobile

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

1、 协作深度学习 是一种分层贝叶斯模型,它将堆叠式去噪自动编码器(SDAE)集成到概率矩阵分解(PMF)中。为了无缝结合深度学习和推荐模型,本文提出了一个通用的贝叶斯深度学习框架,该框架由两个紧密相关的组件组成:感知组件(SDAE)和任务特定组件(PMF)。这使模型能够平衡辅助信息和交互历史的影响。

2、 协作深度排名 是在成对框架中专门针对top-n建议而设计的。该论文表明,成对模型更适合于排序列表的生成。

3、 深度协作过滤 是用于通过协作过滤模型统一深度学习方法的通用框架。该框架使利用深度特征学习技术构建混合协作模型更加容易。

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

4、 AutoRec 将用户/项目局部向量作为输入,并旨在在输出层中对其进行重构。

5、 协作降噪自动编码器 主要用于排名预测。CDAE的输入是用户部分观察到的隐式反馈,可以将其视为反映用户对商品兴趣的偏好向量。本文还提出了一种负采样技术,用于从负集合(用户尚未与之互动的项目)中采样一小部分子集,这可以在不降低排名质量的前提下大大降低时间复杂度。

6、 Multi-VAE和Multi-DAE 提出了一种可变自动编码器的变体,用于带有隐式数据的推荐。本文介绍了一种用于参数估计的有原则的贝叶斯推理方法,并显示出比常用似然函数更好的结果。

3>基于卷积神经网络的推荐

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

RzAVfu7.png!mobile

CNN可用于从图像中提取特征。

您的图像显示内容调查了视觉功能对兴趣点推荐的影响,并提出了视觉内容增强的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,以克服梯度消失的问题。

JZJfAf.png!mobile

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

GRU4Rec是基于会话的推荐模型,其中输入是采用N编码为1-of的会话的实际状态,其中N是项数。如果相应的项目在此会话中处于活动状态,则坐标将为1,否则为0。输出是每个项目在会话中成为下一个项目的可能性。

深度 递归神经网络的个性化 推荐 是针对现实世界电子商务网站的基于会话的推荐模型。它利用基本的RNN来根据点击历史预测用户接下来会购买什么。为了最大程度地减少计算成本,它仅保留有限数量的最新状态,而将较旧的状态折叠为单个历史状态。这种方法有助于在计算成本和预测准确性之间进行权衡。

循环推荐网络是一种基于RNN的非参数推荐模型。它可以建模项目的季节性演变以及用户偏好随时间的变化。它使用2个LSTM网络作为构建块来对动态用户/项目状态进行建模。

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

基于循环共进化潜在特征过程 连续时间R 推荐 提出了一种共进化潜在模型,以捕获用户和项目的潜在特征的共进化性质。用户与项目之间的交互在推动用户偏好和项目状态的变化中起着重要作用。为了对历史互动进行建模,作者提出使用RNN来自动学习用户和商品特征的漂移,演变以及共同进化所产生的影响的表示形式。

Ask GRU建议使用GRU将文本序列编码为潜在因子模型。这种混合模型解决了热启动和冷启动问题。此外,作者采用了多任务正则化器来防止过度拟合并减轻训练数据的稀疏性。主要任务是评级预测,而辅助任务是项目元数据(例如标签,流派)预测。

针对数百万用户的基于嵌入的新闻推荐建议使用GRU来学习用户浏览历史的更具表现力的聚合,并使用潜在因素模型推荐新闻报道。与传统的基于单词的方法相比,结果显示出显着的改进。该系统已完全部署到在线生产服务中,每天为超过1000万唯一用户提供服务。

5>基于受限玻尔兹曼机器的推荐

RBM是由可见层和隐藏层组成的两层神经网络。可以轻松将其堆叠到深层网络。术语“ 受限制”表示在可见或隐藏层中不存在层内通信。

ruya2eJ.png!mobile

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

使用RBM进行协作过滤的非IID框架 在统一框架中结合了基于用户和基于项目的RBM-CF。在这种情况下,可见单位由用户和项目隐藏单位确定。

基于项目类别的基于条件受限玻尔兹曼机器的建议书设计了一种混合RBM-CF,它结合了项目特征并基于条件RBM。在此,条件层使用二进制项类型建模,从而以不同的连接权重影响隐藏层和可见层。

6>基于神经注意力机制的推荐

注意模型是可微分的神经体系结构,其基于在输入序列或输入图像上的软内容寻址来操作。它们是由人类的视觉注意力驱动的,可以从原始输入中滤除不具信息性的功能,并减少嘈杂数据的副作用。这种关注机制在计算机视觉和自然语言处理领域无处不在。

UnmUzii.png!mobile

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

注意力协作过滤使用潜在协作模型内部具有2级注意力机制的注意力协作过滤模型。该模型包括项目级别和组件级别的关注:其中项目级别的一个选择最具代表性的项目来表征用户;组件级则通过多媒体辅助信息为每个用户捕获最有用的功能。

具有基于主题注意力的 LSTM的主题标签推荐使用基于关注的LSTM模型进行主题标签推荐。该模型利用RNN和注意力机制来捕获顺序属性并从微博帖子中识别出信息量大的单词。

使用基于注意力的卷积神经网络的标签推荐使用针对微博中相同标签标签推荐的基于注意力的CNN模型,这被视为多标签分类问题。该模型由一个全局通道和一个局部注意通道组成:全局通道具有卷积层和最大池层以对所有单词进行编码;本地频道具有关注层,该关注层具有给定的窗口大小和阈值以选择信息量大的单词。

7> 基于神经自回归的推荐

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

zMzyqem.png!mobile

根据我的了解,一种用于协作过滤的神经自回归方法是提出基于NADE的协作过滤模型(CF-NADE)的唯一论文,该模型可以对用户评分的分布进行建模。

7> 基于深度强化学习的推荐

强化学习(RL)以试错法为基础,由5个组成部分(主体,环境,状态,行为和奖励)组成。深度神经网络与强化学习相结合,构成了深度强化学习,它在游戏和自动驾驶等多个领域都达到了人类水平的表现。深度神经网络使代理能够从原始数据中获取知识并获得有效的表示形式,而无需手工制作的功能和域启发式方法。

ne6zIfu.png!mobile

传统上,大多数推荐模型都认为推荐过程是静态的,因此很难捕获用户的时间意图并及时做出响应。近年来,深度强化学习已将其用于个性化推荐中。

通过成对深度强化学习获得负面反馈的建议提出了一种称为DEERS的建议,用于在顺序交互设置中同时具有负面和正面反馈的推荐。

针对页面建议的深度强化学习探索了一种名为DeepPage的框架,该框架可以根据用户的实时操作来自适应地优化项目页面。

DRN:新闻推荐的深度强化学习框架是一种新闻推荐系统,它使用深度强化学习来检测新闻内容和用户喜好的动态变化,合并用户的回返模式,并增加推荐的多样性。

9> 基于生成对抗网络的推荐

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

aE3MJfA.png!mobile

IRGAN —用于统一生成性和判别性信息检索模型的Minimax游戏是将GAN应用于信息检索领域的第一个模型。具体来说,作者展示了3种信息检索任务的功能,包括Web搜索,项目推荐和问题解答。

推荐的对抗性个性化排名提出了一种对抗性个性化排名方法,该方法通过对抗性训练来增强贝叶斯个性化排名。它在原始BPR目标和对手之间玩一个minimax游戏,该游戏会增加噪音或排列以最大化BPR损失。

用于个性化引用建议的基于生成对抗网络的异构书目网络表示形式可为异构书目网络使用基于GAN的表示学习方法,该方法可以有效解决个性化引用建议任务。

具有对抗训练的神经内存流推荐网络使GAN为基于内存网络的流推荐器生成否定样本。

10> 基于深度混合模型的推荐

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

iM3IreY.png!mobile

基于知识的协作嵌入将CNN与自动编码器结合在一起,以提取图像中的特征。它利用不同的嵌入技术来利用结构内容,文本内容和视觉内容。

使用深度神经网络的对话中的报价推荐是RNN和CNN的混合模型,用于推荐报价,这需要根据查询文本或对话生成报价的排名列表。它应用CNN从推文中学习重要的本地语义并将其映射到分布向量。然后,LSTM处理这些向量,以计算目标引号与给定推文对话的相关性。

个性化关键帧推荐将CNN和RNN集成在一起,以在视频内进行个性化关键帧推荐,其中CNN用于从关键帧图像中学习特征表示,而RNN用于处理文本特征。

用于上下文感知引用建议的神经引用网络将CNN和RNN集成在用于引用建议的编码器-解码器框架中。CNN是从引用上下文捕获长期依赖关系的编码器,而RNN是在给定所有先前单词以及CNN获得的表示的情况下,学习被引用论文标题中某个单词的概率的解码器。

协作递归自动编码器利用集成RNN和对自动编码器进行降噪的方法来克服诸如缺乏鲁棒性和缺乏对文本信息序列进行建模的能力之类的限制。本文设计了称为鲁棒递归网络的RNN的泛化,并提出了称为CRAE的分层贝叶斯推荐模型。该模型由编码和解码部分组成,并使用带有RNN的前馈神经层来捕获项目内容的顺序信息。

使用递归神经网络进行动态强化学习的有指导的强化学习推荐将有监督的深度强化学习与RNN结合在一起,用于推荐治疗。该框架可以从指标信号和评估信号中学习处方策略。

结论

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

BBRN3mq.png!mobile


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK