ACMJ.Comput.Cult.Herit.,Vol.1,No.1,Article35.Publication date:July 2017.
1、引言
推荐系统:用来预测使用者对于他们还没有见到或了解的事物的喜好。由于网络信息的复杂性和动态性,推荐系统成为解决信息过载问题的有效途径。
深度学习:是通过组合低层的特征,形成更加抽象的高层表示属性或特征,以发现数据的分布式特征表示。目前已应用于语音识别、图像处理、自然语言处理等诸多方面。同时,目前的研究已经证明其可以用于检索和推荐任务中
将深度学习应用于推荐系统中,由于其最先进的性能和高质量的建议,正在得到发展。与传统的推荐模式相比,深度学习可以更好地理解用户的需求,项目的特点以及它们之间的历史交互。
传统的推荐方法:
- 协同过滤:数据稀疏、冷启动问题。浅层模型无法学习到用户和项目的深层次特征。
- 基于内容的推荐方法:需要有效的特征提取。浅层模型依赖于人工设计特征,有效性和可扩展性有限。
- 混合推荐方法:辅助信息往往具有多模态、数据异构、大规模、数据稀疏和分布不均匀等复杂特征,融合多源异构数据的混合推荐方法研究依然面临着严峻的挑战。
深度学习:
(1)深度学习可通过学习一种深层次非线性网络结构,表征用户和项目相关的海量数据,具有强大的从样本中学习数据集本质特征的能力,能够获取用户和项目的深层次特征表示。
(2)深度学习通过从多源异构数据中进行自动特征学习,从而将不同数据映射到一个相同的隐空间,能够获得数据的统一表征。
除了传统的推荐方法,也催生了大量新的推荐方法,例如:
- 基于社交网络的推荐方法、情境感知的推荐方法等;
- 推荐的对象也更加多样,不仅仅针对单个用户,还可以针对一群用户,产生了组推荐;
随着移动互联网的发展,位置社交网络的推荐系统也受到越来越多的关注。因此可以发现,推荐系统在推荐内容、推荐方法、推荐对象等各个方面都朝着越来越多元的方向发展.
2、 深度学习技术
MLP:多层感知机
AE:自编码网络
CNN:卷积神经网络
RNN:循环神经网络
DSSM:深层语义相似性模型
RBM:基于受限的玻尔兹曼机
NADE:神经自回归分布估计
GAN:生成式对抗网络
2.1、基于多层感知机(Multilayers Perception)的推荐系统
多层感知机是简明且有效的模型。它广泛应用于很多领域,尤其是工业界。多层前馈网络能够让任意的可测函数接近任意的期望精度。它也是很多高级模型的基础。
(a)神经协同过滤;(b)CCCFNet;(c)宽度&深度学习;(d)DeepFM。
2.2、 自编码器 AE
其通过对用户或项目相关的信息(包括评分数据和文本、图像等信息)进行重构学习到用户或项目的隐表示,然后基于这种隐表示预测用户对项目的偏好.应用场景主要包括评分预测、文本推荐、图像推荐等。
2.3、 卷积神经网络 CNN
卷积运算:得到D1-D6的6个数据
池化:先对D1-D6分组([D1,D2]、[D3,D4]、[D5,D6]),选出小组中最大的值(D2,D4,D6)
放入卷积神经网络中的数据,即输入数据(自变量X,因变量是标签Y)
自变量:手写图中每个数字图都是28*28,共784个点,每个点代表灰度,0是黑色,255是白色。x1,x2…x784就是输入数据。
标签:就是图上的数字到底是几(0-9)
把上面的数据带入到CNN中,就开始正向传播。
正向传播:卷积–池化–BP网络全连接(输入数据->卷积1–>池化1->卷积2–>池化2->…->卷积n->池化n->BP网络->输出数据)
(1)如何卷积
- 将表1的数据还原成28*28的矩阵
卷积神经网络在推荐系统中应用较为广泛,主要被用于从图像、文本、音频等内容中提取项目的隐藏特征,从而获取项目的低维向量表示,并结合用户隐表示为用户产生推荐。当前的应用场景主要包括图像推荐、音乐推荐、文本推荐等。
2.4、 循环神经网络 RNN
更好的处理序列的信息
循环神经网络在推荐系统中的应用主要是用来建模数据之间的序列影响,从而帮助获取更有效的用户和项目隐表示。主要包括两个方面:首先是被应用于建模推荐系统中用户行为的序列模式,其次是在获取用户和项目隐表示的过程中,循环神经网络被应用于建模用户和项目相关的文本信息中词语之间序列影响。当前的应用场景主要包括评分预测、图像推荐、文本推荐、基于位置社交网络中的兴趣点推荐等。
2.5、 基于深度语义相似性模型(Deep Semantic Similarity Model)的推荐系统
深度语义相似性模型(DSSM)是一种广泛应用于信息检索领域的深度神经网络。它非常适用于排行榜(top-n)推荐。基础型 DSSM 由 MLP 组成,更高级的神经层比如卷积层和最大池化(max-pooling )层可以被很容易地添加进去。
(a)基于深度语义相似性的个性化推荐;(b)多视角深度神经网络。
2.6、 受限玻尔兹曼机 RBM
下面可视层X(输入层),上面隐含层Y(通过一个公式,把可视层的数据算成隐含数据)
y1=x1*w11+x2*w21+x3*w31+x4*w41+b1(偏置)
回求x x1'=y1*w11+y2*w12+y3*w13+a1(偏置)
再求y y1'=x1'*w11+x2'*w21+x3'*w31+x4'*w41+b1
反向传播 再进行正向运算,看x与x’的差值是否为0,是则结束,否则再反向传播,循环,直到x和x’近乎相等为止。
通过对用户的评分数据进行重构学习到用户的隐表示,从而实现对未知评分的预测.应用场景主要是用户评分预测。
2.7、新兴方法:NADE 和 GAN
NADE 提出了一种易于处理的方法,以对源数据的真实分布进行近似计算,并且可以在几个试验性数据集中产生最一流的推荐精度(与其它基于深度学习的推荐模型相比)。生成对抗网络(GAN)能够将判别模型和生成模型相融合,并且充分利用二者的优点。
(a)基于神经自回归的推荐系统;(b)IRGAN。
2.8、 深度信念网络 DBN
通过概率大小学习的神经网络
输出层 OUT1=f(IN1*w11+IN2*w21+IN3*w31+IN4*w41+b1)
隐含层3
隐含层2–可视层3
隐含层1–可视层2
可视层1(输入数据)
然后做反向传播,重新正向算,求E,再反向,直到E很小为止。
深度信念网络当前在推荐系统中应用较少。由于DBN在建模一维数据上比较有效,因此被应用于提取音乐的特征表示,从而进行音乐推荐。当前的应用场景仅限于音乐推荐。
2.9、用于推荐系统的深度复合网络(Deep composite models)
现有的深度复合模型。
(a)CNN 和 RNN 的引用推荐;(b)比较性深度学习模型;(c)NRT;(d)带有 CNN 的深度语义相似性模型(DSSM)
3、 基于深度学习的推荐系统
基本框架:
输入层:
- 用户的显式反馈(评分、喜欢/不喜欢);隐式反馈数据(浏览、点击等行为数据)
- 用户画像(性别、年龄、喜好等);项目内容(文本、图像等描述或内容)数据
- 用户生成内容(社会化关系、标注、评论等辅助数据)
输出层:
- 通过利用学习到的用户和项目隐表示,通过内积、Softmax、相似度计算等方法产生项目的推荐列表。
3.1 深度学习在基于内容的推荐系统中的应用
基于多层感知机的方法
基于卷积神经网络的方法
基于循环神经网络的方法
基于深度信念网络的方法
3.2 深度学习在协同过滤中的应用
基于受限玻尔兹曼机的协同过滤方法
基于自编码器的协同过滤方法
基于分布式表示技术的协同过滤方法
基于循环神经网络的协同过滤方法
基于生成对抗网络的协同过滤方法
基于其他深度学习模型的协同过滤方法
3.3 深度学习在混合推荐系统中的应用
基于自编码器的混合推荐方法
基于其它深度学习模型的混合推荐方法
3.4 深度学习在社交网络的推荐系统中的应用
基于深度学习的社交网络社会化关系影响建模
基于深度学习的位置社交网络序列模式建模
3.5 深度学习在情境感知的推荐系统中的应用、
3.6 应用比较
4、 基于深度学习的推荐系统研究的趋势展望