神经网络解决推荐系统问题(综述:A Survey and New Perspectives )

神经网络解决推荐系统问题(综述:A Survey and New Perspectives )_第1张图片

--------随着网络信息数量的不断增加、复杂性和动态性的不断提高,推荐系统已经成为克服此类信息过载的一个有效的关键解决方案,它能够以个性化的方式来发现产品和服务,为用户提供向导。 过去几年深度学习在许多领域取得了巨大成功,首当其冲就是计算机视觉和语音识别。深度学习在处理复杂任务上能得到最好效果的能力,应用在推荐系统上也是毋庸置疑的,毕竟与传统的推荐模型相比,深度学习可以更好地理解用户的需求、项目的特点以及它们之间的历史互动。

目标:分析用户行为,预测用户兴趣,给用户做推荐。

Recommender System
1.三种推荐任务:

  • 评分预测(rating prediction):高分代表用户对项目更感兴趣,此时推荐系统为一个回归问题。填充用户-物品矩阵中缺少的项目的分数,如经典的协同过滤,矩阵分类,logistic 回归;
  • 排名预测(ranking prediction):此时推荐问题为排序问题。产生推荐物品中的topN推荐,point-wise,pair-wise,list-wise;
  • 分类(Classication task):推荐问题被定义为二分类或者多分类问题。即把待选项分类为正确的类别(如0,1表示用户点击过,做01的二分类)再推荐。

2.三种传统推荐模型:

  • 协同过滤(collaborative €filtering):利用用户物品的交互历史来做推荐的,有显式反馈(用户先前的评分)和隐式反馈(浏览历史,并不能确切的说明用户是否喜欢);
  • 基于内容的推荐系统(content based recommender system):利用其他的辅助信息(如文本,视频,基础信息,地理信息);
  • 基于混合的推荐系统( hybrid recommender system):利用多种手段与方式综合评判。

传统模型回顾
在整理这篇综述前,先简单回顾一下之前的传统模型:
自YouTube的经典架构以来(如下图),一般都分成了:

  • 召回阶段:先初步从millions的数据中得到一些候选。主要会用些成本低、易实现、速度快的模型(如协同过滤)的模型。
  • 排序阶段: 会用更全面的数据、更精细的特征、更复杂的模型进行精挑细选,似乎用List Wise会比较多一些。

基于用户/物品的协同过滤:简单的计算用户/物品之间的余弦相似度,基于相似度和现有评分矩阵填充缺失值。
–优点

  • 可解释性强(与用户历史行为的相似物品)
  • 只要有一次交互,就能迅速得到其他物品的推荐

–缺点

  • 这是一种基于统计的方法,直接计算,没有任何学习的过程
  • 仅仅使用局部数据计算相似度、进行推荐
  • 当用户或物品维度很大时,计算和内存压力都很大

–怎么选?

  • 用户和物品谁的数量小就用哪种。如果item数量少,就用基于item的协同过滤,这样会使相似度矩阵维度小。

基于隐向量的协同过滤
首先什么是隐式?

  • 显式反馈:一般是用户的主动打分,分数会是明确的数值
  • 隐式反馈:只是用户的行为,如浏览、点击等,数据会是0,1

矩阵分解MF:将高维稀疏评分矩阵分解成两个小矩阵的乘积(一个矩阵代表用户的隐向量,一个矩阵代表物品的隐向量),再ALS求解。一般会离线训练好之后存起来,线上直接取出算内积,排序的结果。
–优点

  • 简单
  • 不占内存(比起相似度矩阵,两个隐向量存储空间很少)
  • 速度快(得到能代表兴趣的隐向量之后,线上直接内积)

–缺点

  • 不能解决冷启动(新用户无法得到隐向量)
  • 用户产生新行为不能及时更新(必须线下重新算)
  • 推荐结果可解释性较差(隐向量无法解释)
  • 只对评分矩阵做处理,无其他特征

基于深度学习
DNN的优点是学习特征间潜在关系,也让这个领域蓬勃发展。

Deep Learning Techniques
基本上深度学习的相关技术都是可以直接上手就用的。
~多层感知机(MLP)
~ Autoencoder(AE)
~ 卷积神经网络(CNN)
~ 循环神经网络(RNN)
~ 深度语义相似度模型(Deep Semantic Similarity Model,DSSM):特别是Deep Structured Semantic Model,用于学习公共连续语义空间中的语义表示并度量其语义的深层神经网络。
~ 受限的玻尔兹曼机(RBM):
~ 神经自回归分布(Neural Autoregressive Distribution Estimation, NADE):无监督神经网络,建立在自回归模型和前馈神经网络之上。
~ 生成对抗网络(GAN)

YouTube的工业级推荐系统架构
发自与2016年的文章,它将整个推荐流程分为两个阶段:1 候选集生成(召回) 2候选集排序(排序)。且这两步都用深度学习建模,能很好的解决YouTube视频推荐会面临三大问题:规模大;视频更新频繁;噪音(数据补全,不规范)。

  • 两阶段的好处是,可以更好的从海量数据中先为用户找到几十个可能感兴趣的小范围,同时可以融合多种召回策略召回。
  • 召回使用用户历史记录MLP。排序整合更多的信息MLP。
    神经网络解决推荐系统问题(综述:A Survey and New Perspectives )_第2张图片

Integration Model
传统推荐模型(FM,MF,CF) + 深度学习方法 = 单一使用部分或者联合多部分(并行连接,串行连接,混合连接)

~松耦合模型(Loosely Coupled Model):组合的模型之间参数分开学习。
~紧耦合模型(Tightly CoupledModel):组合的模型之间参数一起优化。

~数据集:Movielens,Netflix,Amazon,Yelp和 CiteUlike
~评估标准:
1.评分预测:RMSE,MAE;
2.排名预测:Recall,,Precision,NDCG,AUC;
3.分类任务:Precision,Recall,F1-score。

DEEP LEARNING BASED RECOMMENDER SYSTEM
1.MLP相关
神经网络解决推荐系统问题(综述:A Survey and New Perspectives )_第3张图片

  • 探寻用户和物品之间潜在因素的NCF(a)。内积限制了表达,用神经网络来完成特征的交互。
  • 和a又再嵌入了内容信息(用户的偏好和物品特征)后的多视角跨域变体CCCFNet(Cross-domain Content-boosted Collaborative Filtering neural Network,b)
    神经网络解决推荐系统问题(综述:A Survey and New Perspectives )_第4张图片
  • Wide & Deep Learning(c)同时直接获得历史特征和经过MLP后的抽象特征。wide部分是线性模型,学习特征间的简单交互,“记忆用户行为”,但是需要人工的特征工程( LR:简单,并行,可解释性强(权重大越重要),但是它只是线性模型,依赖人工特征设计)。deep是神经网络,可以学习到不可见特征之间的复杂交互,不用手动特征工程。通过结合这两部分,联合训练,可以同时有“记忆”和“泛化”能力。
  • Deep Factorization Machine(d)在WD的基础上将左边的一块换成了传统的FM捕获特征间的交互,对高阶进行建模。
    Attentive Collaborative Filtering

DeepFM
既然LR能和DNN结合,那么让FM也和DNN结合,这就是DeepFM模型。直接把Wide&Deep的左边LR换成了FM,可以多一个二阶自动交叉的FM特点。

2.AE相关
神经网络解决推荐系统问题(综述:A Survey and New Perspectives )_第5张图片

  • AutoRec(a)有基于用户和基于物品两种重构方式。
  • Collaborative Filtering Neural network(CFN,b),在自动编码机基础之上引入了噪音和采用了边信息(Side Information)【是指利用已有的信息Y对信息X进行编码,使得信息X的编码长度更短。】后,使模型更稳定和鲁棒。
    神经网络解决推荐系统问题(综述:A Survey and New Perspectives )_第6张图片
  • Autoencoder-based Collaborative Filtering(ACF,c)和自动编码机也类似,只是输入向量不再只基于可观测到的向量R,而是将用户的物品评分分解(如c图中的1-5分,1号物品为1分,2号为4分)之后再输入。
  • Collaborative Denoising Auto-Encoder(CDAE,d)主要用于排序预测,它的输入也是用户可观测的隐式向量R经过噪声处理后的向量,然后加入一个偏好向量,按照用户的喜好它的输入值为1或者0。
    神经网络解决推荐系统问题(综述:A Survey and New Perspectives )_第7张图片
  • Graphical model of collaborative deep learning (a)紧耦合了一个感知组件(深度神经网络)和特定任务组件组件。
  • collaborative deep ranking (b)使用了多层的结构。

3.CNN相关
神经网络解决推荐系统问题(综述:A Survey and New Perspectives )_第8张图片

  • Attention based CNN(a)由一个局部注意力机制和一个卷积池化层组成。
  • Personalized CNN Tag Recommendation(b)先得到图片的特征,再加入用户信息做个性化推荐。
    神经网络解决推荐系统问题(综述:A Survey and New Perspectives )_第9张图片
  • Deep Cooperative Neural Network (DeepCoNN,c)分别对用户和物品的评论文本进行建模,运用FM来捕捉交互。利用评论文本丰富的语义表示,可以舒缓稀疏性问题,增强模型的可解释性。
  • ConvMF(d)结合了CNN和PMF模型。

4.RNN相关
神经网络解决推荐系统问题(综述:A Survey and New Perspectives )_第10张图片

  • Session-based recommendation with RNN(a)的输入是用1-of-N进行编码,其中N是物品的数量,如果物品处于活跃状态(近期被用户所重视),那么就置1,否则为0,然后利用RNN预测下一次状态的可能性。
  • Improved session-based recommendation with RNN(b)是基于a的基础上加入了点击的序列预处理和dropout正则化等优化操作。

神经网络解决推荐系统问题(综述:A Survey and New Perspectives )_第11张图片

  • Recurrent recommender network(c)可以对物品随时间季节变化和用户偏好变化来进行处理,它分别对item和user用LSTM进行处理,同时还会参考一些其他的辅助内容。
  • Attention based RNN for tag recommendation(d)结合LSTM和Attention机制用交叉熵进行再处理。

5.Deep Semantic Similarity Model(DSSM)相关
DSSM是通过神经网络(一般是MLP)把不同的部分映射到一个公共的低维空间,再用余弦函数来计算相似度。
神经网络解决推荐系统问题(综述:A Survey and New Perspectives )_第12张图片

  • Deep semantic similarity based personalized recommendation(基于深度语义相似度的个性化推荐,DSPR,a)把用户的x_u和物品的x_i映射到了同一个低维空间,再用sin函数计算用户和物品的相似度。
  • Multi-View Deep Neural Network(MV-DNN,b)把用户作为枢轴视图( pivot view),每个域(假设我们有Z个域)作为辅助视图。于是对于Z用户域对就有Z个相似度得分,而用户在一个域内有相似的品味,那么在其他的域内也有相似的品味就可以通过计算来得到最后的结果。

6.RBM相关
神经网络解决推荐系统问题(综述:A Survey and New Perspectives )_第13张图片

  • RBM-CF(a)通过1-5评分中的[0 0 0 1 0]表示评分为4的输入处理,每个用户都有一个RBM。
  • Conditional RBM-CF with implicit feedback(b)加入了用户的隐式反馈(评分了就是1).
    神经网络解决推荐系统问题(综述:A Survey and New Perspectives )_第14张图片
  • Combination of user-based and item-based RBM-CF(c)则是在之前的基础上再次结合了基于user和基于item的框架。
  • Hybrid RBM-CF(d)则是把物品的特征也融入到RBM中的协同过滤方法。

7.NADE和GAN相关
神经网络解决推荐系统问题(综述:A Survey and New Perspectives )_第15张图片

  • 基于Neural Autoregressive Distribution Estimator(NADE)的Neural autoregressive based recommender system(a)借助AE的稳定性,图中的m1(评分为4),m2(评分为2),m3(评分为3),m4(评分为5)通过链式法则来进行评估。
  • IRGAN(b)是第一个引入了GAN的模型,然后改装分为生成式检索和判别式检索去minmax。

8 .复合模型相关
神经网络解决推荐系统问题(综述:A Survey and New Perspectives )_第16张图片

  • Quote recommendation with CNN and RNN(a)用CNN从图片中提取特征,LSTM学习文本特征。
  • Comparative deep learning model(b)用两个CNN处理图片,用全连接层网络处理用户偏好,然后用交叉熵最大化两张图片(用户喜欢的正例和用户不喜欢负例)的差别。
    神经网络解决推荐系统问题(综述:A Survey and New Perspectives )_第17张图片
  • NRT(c)结合MLP和RNN,利用用户的Tips(偏好提示)来调整结果。
  • DSSM with CNN(d)结合DSSM和CNN对用户推荐文档t,结构上添加了卷积和最大池化。

FUTURE RESEARCH
1.继续理解用户和物品:利用大量的辅助信息,如点击,文本上下文,足迹,关系图(二部图),树(阿里兴趣树)等。
2.继续复合模型。
3.时间动态。
4.结合其他领域与平台交叉推荐。
5.多任务学习。
6.注意力机制。
7.大数据处理。
8.多评价尺度:不以准确率为王,回归推荐系统的其他目标----多样性,新颖性,惊喜性,覆盖度,信赖度,隐私性,可解释性等等。

论文原文:《Deep Learning based Recommender System: A Survey and New Perspectives》

你可能感兴趣的:(推荐系统)