首页 理论教育 深度学习技术在信息推荐系统中的应用

深度学习技术在信息推荐系统中的应用

时间:2023-10-31 理论教育 版权反馈
【摘要】:深度学习整合了海量多源异构数据,提取目标数据中的深层隐表示,提高整个系统的分类、识别或预测的精确性。在没有人工干预的条件下,深度学习技术自动地提取数据中多种潜在语义特征,获得数据的非线性表示,节省了人力和物力成本。深度学习模型的种类繁多,常用的有自编码器、受限玻尔兹曼机、深度信念网络、卷积神经网络和循环神经网络。时至今日,卷积神经网络和深度学习已经成为了越来越多的科研人员工作和研究的重点。

深度学习技术在信息推荐系统中的应用

深度学习是机器学习的一个崭新的研究方向,它通过多层网络堆叠形成深度学习模型,经过数次迭代训练和优化损失函数来调节模型的参数,直至获得最优模型。深度学习整合了海量多源异构数据,提取目标数据中的深层隐表示,提高整个系统的分类、识别或预测的精确性。和手动提取特征的学习方法相比,深度学习强调了网络模型的层次深度、特征学习以及特征变换的重要性。在没有人工干预的条件下,深度学习技术自动地提取数据中多种潜在语义特征,获得数据的非线性表示,节省了人力和物力成本。深度学习模型的种类繁多,常用的有自编码器、受限玻尔兹曼机、深度信念网络、卷积神经网络和循环神经网络。

(1)自编码器

1986年,Rumelhart等人提出了一种人工神经网络,称为自编码器[25]。一个基础的自编码器如图2-4所示,包括一个编码过程和一个解码过程,输入向量通过隐藏层进行编码获得中间向量,然后再通过解码过程将中间向量重构输出。

自编码器使用均方误差和交叉熵两种方式进行误差重构,设法使输入数据和输出数据尽可能接近。自编码器可以作为特征检测机(Feature Detectors),也可以作为生成数据模型(Generative Model)。比如,自编码器用于人脸识别,训练生成新的图片。自编码器通过多种不同的方式对神经网络增加约束,增加训练数据任务的复杂性。具体的两种增加约束的方式如下:

图2-4 自编码器结构

①限制隐藏层中神经元的个数或增加训练数据中的噪声,实现对输入数据的降维;

②增加自编码器的限制条件学习得到一个恒等函数,获得数据的高效表示。

自编码器有多种变形形式,比较经典的自编码器有稀疏自编码器和降噪自编码器[26]。自编码器和推荐系统结合可以用于评分预测、文本推荐等场景中,学习用户和项目相关信息数据中的潜在隐向量,然后基于隐向量产生推荐列表。但是由于自编码器的结构简单,对于关系复杂的数据结构来说,无法充分挖掘到数据中的深层特征,所以还需要使用其他神经网络训练和学习数据。

(2)受限玻尔兹曼机

1986年,Hinton等[27]提出了一种随机式生成神经网络的概念,称为玻尔兹曼机(Boltzmann Machine,BM)。BM可以挖掘无标记数据的深层特征表示,但是由于玻尔兹曼机训练过程十分耗时,Smolensky等[28]提出了受限玻尔兹曼机(Restricted Boltzmann Machine,RBM),在BM的基础上去除了同层神经元之间的交互,保留了邻层神经元之间随机连接的特点,极大地减少了网络层之间的冗余性,提高了学习效率

RBM的结构如图2-5所示,V表示显层(Visible Layer),H表示隐层(Hidden Layer),显层和隐层中神经元的个数分别为:nv,nn;显层和隐层神经元特征向量表示分别为:v=(v1,v2,…,vnv)T和h=(h1,h2,…,hnh)T;显层和隐层中添加的偏移向量分别为:a=(a1,a2,…,anv)T和b=(b1,b2,…,bnh)T;层与层之间的权值矩阵为:W=(wi,j)∈ℜnh×nv,i为隐层中的神经元的位置,j为显层中的神经元的位置。起初,与推荐系统结合的神经网络模型就是RBM,通常用于用户的评分预测。具体地,使用RBM挖掘用户对项目评分数据的潜在特征表示,基于特征表示实现其他项目的评分预测。但是由于用户对项目的评分数据有限,RBM无法学习到隐藏的用户偏好,达不到预期的推荐效果。

图2-5 受限玻尔兹曼机(RBM)网络结构

(3)深度信念网络

2006年,Geoffrey Hinton提出了一种由多个RBM层层叠加的网络,称为深度信念网络(Deep Belief Network,DBN)[29]。DBN的本质是通过对目标数据进行训练和学习,进而获得重构向量,根据重构向量的特征表示实现分类、识别或预测的任务。

DBN结构如图2-6所示,RBM1的隐藏层的输出向量为RBM2的隐藏层的输入向量,同样地,RBM2的隐藏层的输出向量为RBM3的隐藏层的输入向量。整个网络对目标数据自底向上进行训练,并将每次的训练结果通过损失函数计算其与标准数据的距离,随后对整个网络进行参数调整。当网络参数达到最优时,网络训练完成。DBN善于处理一维数据,所以仅用于音乐推荐。具体地,通过DBN学习一维音乐数据的深层特征表示并重构信息向量,然后基于重构信息为用户推荐感兴趣的音乐列表。

图2-6 深度信念网络(DBN)结构

(4)卷积神经网络

在20世纪60年代,一些科学家在一次偶然中发现了一种类似于细胞神经网络的网络结构用于提取目标数据中的特征,这种网络被称为卷积神经网络(Convolutional Neural Network,CNN)[30]

时至今日,卷积神经网络和深度学习已经成为了越来越多的科研人员工作和研究的重点。CNN由数量不等的卷积层、池化层和连接层组成。CNN处理数据的过程如下:首先,卷积层通过一个或多个大小固定的卷积核对输入数据进行处理,重构向量表示。然后通过池化层改变输入数据中权重参数的数量以降低计算复杂度,当图像进行缩放、移位、旋转等操作时,使卷积神经网络更具有稳健性。

卷积神经网络是一种多层网络的结构,每一层执行的功能可以是卷积、池化或全连接,卷积神经网络详细功能情况如表2-3所示。卷积神经网络被广泛地应用于推荐系统中,尤其是图像推荐和文本推荐领域。卷积神经网络从文本信息和图像信息中提取局部和全局表示,学习和挖掘用户和项目相关内容数据中的潜在深层特征,然后结合辅助信息的隐层表示为用户提供准确性高的推荐列表。(www.xing528.com)

表2-3 卷积神经网络详细功能介绍

(5)循环神经网络

1990年,PaulWerbos提出了一种用于处理时序信息的重复链条式神经网络,称为循环神经网络(Recurrent Neural Networks,RNN)[31]。RNN凭借其巧妙的循环链式结构高效地学习序列数据中的非线性特征,提高分类、预测或识别任务的精准性。

RNN结构如图2-7所示,图中右侧为左侧的展开形式,每个神经元之间的箭头代表一次变换,箭头上附带着权值。右侧的展开图详细说明了隐层神经元之间如何连接和如何赋予的权值。图中神经元o表示了网络结构的输出向量,y表示了验证数据给出的准确值,L表示了网络中的损失函数,由图中可见,网络的“损失”是随着网络结构的推进而不断积累得到的。

公式(2-4)表示了在t时刻的损失函数为:

其中,Ø为激活函数,b为偏置。

公式(2-5)为模型的输出:

图2-7 循环神经网络(RNN)结构

公式(2-6)表示了最终模型的预测输出为:

其中,σ为激活函数,通常使用Softmax函数。

RNN和推荐系统结合常常用于评分系统的预测、图像的推荐、文本的推荐等,使用RNN学习和挖掘用户行为序列中的潜在隐层表示,或学习用户或项目相关文本信息序列的隐层表示,基于隐表示产生推荐列表。

(6)长短期记忆网络

1997年,Hochreiter和Schmidhuber提出了RNN的改进网络,长短期记忆网络(Long Short-term Memory,LSTM)[32]。LSTM对网络生成内容具有长期记忆功能,可以有效地缓解梯度消失的问题。和RNN的结构相比,LSTM同样拥有连续的细胞模块,但细胞模块的内部结构却有所不同。

此外,LSTM结构中最巧妙的部分在于“门”的设计,“门”的结构具有筛选信息的功能。“门”中通过使用激活函数将神经网络层输出向量控制在0到1之间,不同的数值代表了每个部分通过结构中信息量的大小。0代表“不许任何量通过”,1代表“允许任意量通过”。图2-8为LSTM的结构示意图,上一个隐藏层的输出和当前状态的输入作为输入数据,当输入数据经过遗忘门时,输入数据与上一个节点的输出数据进行矩阵乘法操作,丢弃冗余数据内容,得到遗忘门生成数据;当输入数据经过选择门时,输入数据中的部分内容被选择添加到网络结构中,得到选择门生成数据。将遗忘门生成数据和选择门生成数据通过矩阵加法操作,得到下一个节点的输入数据;当输入数据经过输出门时,得到当前状态的输出数据。下一个节点的输入数据通过tanh激活函数,再与输入数据进行矩阵乘法操作,获得下一个节点的输入数据。LSTM通过三个上述的门结构来实现特征的筛选和保留,所以LSTM更擅长处理需要长期记忆的任务。

图2-8 长短期记忆网络(LSTM)的结构示意图

在推荐系统中,LSTM常用于具有长序列信息的数据推荐任务中,例如:短视频软件就是使用LSTM从用户浏览过的视频信息、点赞过的视频信息或分享过的视频信息中挖掘视频潜在特征表示,剖析用户喜好推荐相关感兴趣的短视频。具体地,基于LSTM的推荐系统使用深度学习技术对内容信息的时间序列和文本顺序进行建模,学习输入数据内序列影响的隐层表示,基于隐层表示产生推荐列表。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈