浅议推荐系统
摘 要:随着大数据时代的到来,数据量呈现指数级增长趋势。如何从海量的数据中挖掘有用的信息并将其推荐给用户是一个难题。推荐系统就是为解决这一难题而生。传统的推荐系统包括基于内容的推荐、协同过滤的推荐和混合推荐[1]。但传统推荐系统往往不仅面临数据稀疏的问题还面临着冷启动的问题,为缓解该问题,深度学习技术被应用其中,产生了自编码器、卷积神经网络、循环神经网络等深度学习模型,有效提升了传统推荐系统的效果并缓解了上述问题。
关键词:推荐系统;深度学习;大数据
An Overview of Cross-Modal Retrieval Research
Abstract: With the advent of the big data era, the amount of data presents an exponential growth trend. How to mine useful information from massive data and recommend it to users is a difficult problem. The recommendation system is born to solve this problem. Traditional recommendation systems include content-based recommendation, collaborative filtering recommendation and hybrid recommendation. However, the traditional recommendation system often faces not only the problem of data sparseness but also the problem of cold start. In order to alleviate this problem, deep learning technology is applied to it, and deep learning models such as autoencoder, convolutional neural network, and recurrent neural network are produced. Effectively improve the effect of the traditional recommendation system and alleviate the above problems
Key word: Recommendation system, Deep learning, Big data
0 引言
近年来,大数据的发展越来越快,数据量呈现指数式增长,越来越庞大的数据量对互联网技术带来了巨大挑战[2]。同时,由于5G等新技术的推动,全球数据总量将持续保持爆炸式增长状态。据IDCGlobalDataSphere显示,截止到2021年底,全球数据总量已经庞大到达到了84.5ZB,有学者认为,全球的数据总量甚至会在2026年突破221.2ZB[3]。且辛冬波(2022)等人的研究认为,全球数据总量的增长将遵循新摩尔定律[4]。全球数据量不断庞大,但数据的价值密度却很低,由此便产生了“信息过载”问题。面对“信息过载”这个难题,一个值得研究的问题是如何从庞大的数据中提取出有用的数据和信息。答案就是推荐系统。
推荐系统是指通过分析用户和物品等的特征,从海量数据中提取出有用信息,为用户个性化地推荐其感兴趣的内容。最终,推荐系统以个性化列表的形式将推荐结果呈现在用户面前。目前,推荐系统应用广泛,在电商平台、搜索引擎、社交网络、新闻推送等领域均有广泛应用。
除了基于内容的推荐算法外,传统推荐算法还包括协同过滤和混合推荐算法两大类[5]。其中,应用最广泛的是协同过滤,一种矩阵分解法。构造用户-项目矩阵和用户-用户矩阵是协同过滤的核心,构造完成后就可以计算用户之间的相似度,得到相似度信息后就可以对用户进行推荐。同时,该算法多次在各类比赛中获奖。但是协同过滤算法却存在数据矩阵稀疏(用户往往只对少量项目有评分)和冷启动(新用户或项目往往评分缺失)问题。对于基于内容的推荐算法,其核心在于根据用户已经选择的项目来为其推荐类似项目,因此面临着特征提取的难度。同时,随着互联网的发展,数据越来越朝着多源异构的方向发展,数据不再仅仅是简单的二维表格,还存在文本、图片、视频等各种非结构化数据。面对纷繁复杂、多元异构的数据,混合推荐算法给出了比较好的解决方案,它将多元异构的数据作为辅助信息,因此,它不仅能解决数据稀疏问题,还能有效缓解冷启动问题。但由于这种辅助信息的巨大规模和非均匀分布等复杂特点,其仍然存在一定缺陷。
近年来,随着人工智能第三次浪潮的到来,深度学习获得了巨大成功。同时,深度学习的到来也让推荐系统如虎添翼。在基于深度学习的推荐算法中,用户和项目之间的隐藏特征往往能够被神经网络所学习,而该隐藏特征通常在推荐中比显式特征更为重要,由此提升推荐的效果;将数据的表示进行统一也是深度学习的重要特点之一,它能够帮助有效统一多源异构的数据。由于基于深度学习的上述特征,在推荐系统中,数据稀疏性问题和冷启动问题将得到有效缓解。应用在推荐系统中的深度学习算法主要包括深度信念网络、自编码器、受限玻尔兹曼机、循环神经网络和卷积神经网络[6]。
下文将依次介绍传统的推荐算法和基于深度学习的推荐算法,最后阐述其研究趋势。
1传统的推荐系统
20世纪末期,推荐系统在协同过滤算法的提出下成为了一门独立的学科。推荐系统本质上是对人的行为的模拟,推荐的过程将数据使用推荐算法处理,再将处理结果返回给用户。如下为其定义[7]:
定义1推荐系统:将用户用P集合表示,将用户对象用C集合表示。解决实际问题时,P、C规模很大。f表示p对c的感兴趣程度,即f:P×C→R,其中R是一个由非负实数组成的序列,推荐对象c′→C就是让函数f满足最大的推荐结果。如下式所示:
\(c'_p\)是用户p最喜爱的对象。因此,推荐系统的目标就是在用户对该物品感兴趣之前就做出判断,为用户推荐该物品。
推荐算法是推荐系统的灵魂,传统的推荐算法包括基于内容的推荐、协同过滤的推荐和混合推荐。
1.1基于内容的推荐
基本思路为:根据用户的历史浏览信息,偏好记录等为用户建立其喜爱物品的物品画像,对于某一待推荐物品对象,计算该物品于用户所喜爱的物品的相似度,相似度越高,则说明越值得推荐。因此,该算法的核心在于相似度的计算,以下介绍一种最为常见的相似度计算方法,余弦相似度:
余弦相似度是一种常用的计算方式,计算公式如下:
其中:\(w_p\)表示用户偏好内容矩阵的特征向量;\(w_c\)表示推荐内容的关键词向量权重;计算结果u表示效用值,该值越高则表示越相似。
此外,还有皮尔逊相关系数、Jaccard相似度等其他相似度计算方式。
同时,在基于内容推荐的基础上,一些研究者针对其特点和相关应用场景进行了改进:如曾春(2003)提出一种基于内容过滤的个性化搜索算法[8],其利用文档的概率分布来代替真实文档,改进相似度计算公式,在表达用户兴趣是,她使用了概率模型和矢量空间模型,并发现概率模型的效果更优。
然而,基于内容的推荐系统存在一定缺陷[9]:(1)由于推荐算法根据用户的历史数据进行推荐,因此难以像用户推荐潜在新领域的内容;(2)在构建用户的物品画像时,构建物品特征的过程往往非常困难,因为用户喜爱的物品可能是多源异构的,并且可能存在潜在重要特征难以挖掘。
1.2协同过滤的推荐
协同过滤算法的应用广泛性可以说当居推荐系统首位。该算法由Goldberg等人于1992年首次提出[10],在第一次提出该算法时是在Tapestry系统上的使用。目前,主要有两大协同过滤算法,一是基于用户的协同过滤,二是基于项目的协同过滤[11]。对于前者,我们认为若用户相似则评分相似。对于某两个用户,则根据评分相似性衡量用户相似性,相似度高的用户我们认为其评分相似;对于后者,项目相似则评分相似,使用评分计算项目相似性,计算完成之后,我们为用户推荐相似项目即可[12]。
在相似度计算方式中,这里沿用1.1中的计算方式,使用余弦相似度、Jaccard相似度和皮尔逊相关系数等进行衡量。
但基于协同过滤的推荐算法依然无法挣脱稀疏性和冷启动的束缚。对于矩阵稀疏问题,矩阵填充和矩阵降维是两大可行的解决方案[13]。在矩阵填充技术中,包括BP神经网络算法[14]、朴素贝叶斯分类算法[15];在矩阵降维技术中,主成分分析(PCA)和奇异值分解最为常用[16]。对于冷启动问题,主要解决方法包括基于内容和协作式过滤的方法、基于辅助数据的方法和基于用户参与的方法等[17]。
同时,学术界对协同过滤算法的改进研究也乐此不疲[18],例如:孙小华(2006)提出讲协同过滤与奇异值分解和最近邻方法进行结合实现推荐系统[19];黄创光(2010)在协同过滤中使用不确定近邻技术[20];周军锋(2004)尝试将条件概率的计算进行修正,以此为基础实现对协同过滤算法的优化[21];李涛(2007)使用了用户聚类技术[22];同时还有内存传播式协同过滤算法[23]、解决稀疏性问题的Pear_After_SVD算法和解决冷启动问题的众数法与信息熵法[29]。
1.3混合推荐
由于单一的推荐算法各有其缺陷和不足指出,混合推荐则考虑取众算法之所长[30]。近年来的一个经典工作HFT[31]结合了协同过滤算法和主题模型LDA,相比单纯的隐含因子模型,该工作的推荐准确率有了显著提升。同时,张敏(2017)使用了层叠降噪自动编码器,与隐含因子模型相结合,将文本和评分进行综合考虑来提升准确性,实验表明该算法准确性更高,运行速度更快[32];郭艳红(2008)提出的基于内容预测与协同过滤的混合推荐算法能够在保证精度的同时,较好地解决了推荐系统的冷启动问题。
由此可见,结合多种算法的混合推荐算法确能提高准确性。
2基于深度学习的推荐系统
目前,深度学习技术已经取得了突破性进展和巨大成功[33]。深度学习技术能够提取低层次的数据特征生成更高层次的特征,避免进行人工耗时的复杂特征工程。同样,深度学习在推荐系统领域依然有大用武之地,为解决传统推荐系统的缺陷提供了有效方法。基于深度学习技术的推荐系统架构由三部分组成,他们按顺序分别为输入层、模型层和输出层。在输入层中,输入相关数据即可,再由模型层利用深度学习模型学习特征,最后在输出层根据学习到的特征将推荐列表进行输出推荐。系统框架如图1所示:
图1.基于深度学习的推荐系统框架
不难看出,在该架构中,最重要的部分是模型层,使用何种深度学习模型是该推荐系统最为重要的部分。通过调研,在推荐系统中的常用模型为:循环神经网络、深度信念网络、卷积神经网络、多层感知机、自编码器和受限玻尔兹曼机。它们分别于三大传统算法结合,能够有效改善传统算法的性能。
2.1深度学习与内容推荐结合
在传统的基于内容的推荐系统中,推荐结果与提取出的特征依赖性较强,如何从用户信息和项目信息中提取出有效特征是一个难题。而采用深度学习算法则能非常好地解决这个问题,因为深度学习算法能够根据数据的特征自动生成数据的抽象隐含特征,然后根据抽象隐含特征输出结果,它巧妙地避免了人工提取特征这个步骤,因此在推荐系统中广泛应用。
2.1.1 多层感知机
多层感知机作为一种能够很好地优化目标函数的网络,在推荐系统领域应用广泛。
Wide&Deep模型是一个经典模型,它由Google提出,分为Wide和Deep两大部分[34]。Wide模型是一个简单的单层线性模型,直接学习数据的交叉特征,主要实现模型的记忆能力。学习公式为:
其中:\(W^T_{wide}\)、b是模型学习的参数;x为输入原始数据;\(\phi(x)\)为输入交叉特征。
Deep模型是一个多层神经网络,将稀疏数据转换为稠密向量,输入网络中学习特征的深层表示,主要实现模型的泛化能力。每一层的激活公式如下:
其中: f 表示激活函数; l 表示第 l 层; \(W^{(l)}_{deep}\)、\(b^{(l)}\)表示权重参数以及偏置参数。
由于两个模型的无安全独立性,因此可以通过并行操作提高模型的训练效率。预测公式如下:
其中:\(\sigma\)表示sigmoid激活函数;\(\hat{r}_{ui}\)为预测的评价标签;\(a^{(l_f)}\)为最后一层激活函数的输出;bias是常量。
下图2为Wide&Deep模型的基础结构:
图2.Wide&Deep模型结构
DeepFM模型[35]是一种端到端的集成学习模型,能够学习不同维度的交叉特征,包含了因子分解机和MLP两个模型。其中FM和MLP模型分别学习低维和高位的交互信息,对比Wide&Deep模型,该模型能够克服需要人工特征工程的缺陷,模型架构如下图3所示:
图3.DeepFM模型架构
除此之外,一些研究者还提出了其他模型,例如FM支撑神经网络模型、基于产品的神经网络模型和xDeepMF模型等。
2.1.2基于卷积神经网络的应用
任胜兰(2022)等人提出基于注意力机制交互卷积神经网络的推荐方法[36]。该方法包括特征表示模块、交互注意力模块和预测模块,架构图如图4所示:
图4.基于CNN的推荐模型架构
该模型首先将数据集中的用户信息和商品信息进行分离,然后通过两个交互的CNN网络,利用嵌入层和卷积层学习语义信息和局部特征;然后应用注意力池化层分别学习用户和商品的自适应特征表示,并输入交互注意力模块,得到用户倾向性和商品吸引力得分;最后结合前两个模块的结果,在预测模块中计算用户对特定商品的评价预测。
另外,徐宝胜(2020)提出基于注意力机制的社交Hashtag推荐算法,针对微博用户进行推荐[37],该模型针对图像与文本信息的结合进行Hashtag推荐,有效挖掘了图像信息和图文结合信息与Hashtag之间的相关性;针对图像推荐问题,许永波(2019)还提出了一种用户偏好的美学图像推荐方法,该方法使用卷积神经网络提取图像的深层特征,经过SVMrank后得到图像排序得分,与手工标注的图像美学因素联合计算图像的美学特征从而得到每学得分,据此进行推荐[38];在音乐推荐领域,叶展鹏(2018)提出基于CNN自动标注用户偏好的音乐推荐算法,该算法基于word2vec技术使用音乐向量模型描述音乐之间的相似性,用卷积神经网络自动提取特征,较好地解决了人工标注量大和冷启动问题[39]。
2.1.3基于循环神经网络的应用
与基于注意力的卷积神经网络类似,注意力机制也被广泛应用于循环神经网络进行推荐。针对传统音乐推荐过程中存在的分类准确率低、周期长等问题,贾宁(2019)使用LSTM模型进行音乐推荐[40],这是一种结合注意力机制和长短期记忆的神经网络,它包括音乐推荐模型和音乐主题模型。音乐主题模型是音频码本和主题模型的融合,能够在特定情境下对音乐主题进行判别;音乐推荐模型使用的技术为低级描述符和频谱图,它在构建手工特征后,联合RNN网络特征获得用户情感并进行推荐。设计流程如图5所示:
图5.基于注意力LSTM的模型设计流程
该模型获取数据的方式为网络爬虫,对于爬取到的数据集,首先对数据集中的音乐特征进行提取,然后根据提取特征构建LSTM模型,在构建过程中,系统会不停地进行爬虫以补充相关信息,在模型的作用下完成情感分类。此时分类标准比较粗糙,对于该次分类结果,需要再进一步导入主题模型进行更加细粒度的分类,最后输出推荐结果。在特征提取时,该模型将语音信号转换为语音特征向量,该向量包括韵律特征、谱特征和音质特征三大类。其中,韵律特征包括基频、能量、时长、音高、共振峰等;谱特征由声道激发;音质特征主要包括喉化音、呼吸声音、词边界、音素、明亮度等。
该模型包括两个LSTM层,分别为注意力层和输出层。架构如图6所示:
图6.基于注意力LSTM的模型架构
LSTM的主要思路为:在每个神经元之间存在有输入门、输出门以及忘记门[41]。设计相应的误差函数进行权重反馈,记忆单位的清除与否由忘记门决定。计算公式如下:
其中,\(W_f\),\(W_i\),\(W_\tilde{c}\) ,\(W_o\)和\(b_f\),\(b_i\),\(b_\tilde{c}\),\(b_o\)分别为权重参数和偏置, \(x_t\)是输入序列, \(h_{t-1}\) 是隐藏层状 态,\(f_t\)是忘记门。输入输出门\(i_t\) 、\(o_t\)由\(x_t\)和\(h_{t-1}\)进行计算。 \(f_t\)与\(C_{t-1}\)联合能够确定信息是否丢失。
在注意力层中,对于输入向量\(x_i\),根据以下公式计算\(\alpha_i\),\(f(x_i)\)是评分函数。
最后将输入序列的权重之和\(attentive\_x=\sum_{i}a_ix_i\)输出。将62维情感特征进行归一化映射即可得到悲伤、喜悦、愤怒和平静四种情绪类别。
在情感分类的基础上,在音乐主题分类中,使用K-means聚类和隐含迪利克雷分布即得到推荐模型。
除此之外,牛耀强(2020)还提出使用异质注意力的方法,该方法依然结合了循环神经网络,设计出一种文本推荐算法[42],将文本数据和关系网络两种异质数据进行融合,并引入编码器-解码器框架,有效提高了文本推荐的精确度;袁涛(2020)提出CW-RNN模型,在序列建模中发挥了较大作用[43],他使用历史交互序列,预测下次即将交互的物品,将过往最优的序列推荐算法的准确率提升了平均6.215%。
2.1.4基于深度信念网络的应用
在传统的内容音乐推荐系统中,往往认为特征提取和推荐相互独立,这就会一定程度上导致推荐的准确率和性能的降低。田杰(2021)等人提出基于深度信念网络DBN的音乐推荐系统[44],该系统通过深度信念网络模型得到音乐之间的向量关系,然后计算皮尔逊相关系数得到音乐之间的相似度,形成相似度排名以此完成音乐推荐过程。
具体来说,该模型将音乐的MP3格式转换为模型的输入格式,使用梅尔倒谱系数(MFCC)进行数据处理。在对MP3格式进行转换时,首先将这些不同类别的音乐用编码表示,分别时0到9,然后分别读取每首歌曲,通过MFCC提取原始特征得到一个新的向量。MFCC参数提取包括预加重、分帧、加窗、快速傅里叶变换、三角带通滤波器和离散余弦变换(DCT)计算,其计算流程如下图7所示:
图7.MFCC参数计算流程
另外,王兆凯(2016)等人提出基于深度信念网络的个性化信息推荐,该算法在预处理阶段使用模糊聚类的方式以达到跨类推荐的目的,并根据用户浏览记录通过网络计算高分信息,结合用户兴趣,使用潜在狄里克雷分配模型对高分信息进行权值调整以提高推荐的准确率[45]。
2.2深度学习在协同过滤中的应用
在协同过滤算法中,通常使用项目评分矩阵或用户评分矩阵来构建隐含特征,并利用隐含特征进行推荐。但由于数据稀疏和数据规模大的问题,人工特征的构建往往会非常困难。使用深度学习算法能够将用户评分向量或者项目评分向量作为输入,让模型自动学习评分向量的隐含特征,再根据由模型学习到的隐含特征进行推荐,有效解决了上述数据稀疏和数据规模大的问题。以下为目前已有的深度学习算法在协同过滤中的应用。
2.2.1 RBM
在推荐系统中,深度学习的应用由Salakhutdinov(2007)等人首次提出,他们提出了一种基于受限玻尔兹曼机(RBM)的协同过滤推荐模型[46]。具体来讲,玻尔兹曼机是一种生成式随机神经网络,它包括可见单元和隐藏单元两个部分,他们的状态均为0或1,0表示抑制状态,1表示激活状态。玻尔兹曼机能够学习数据中的隐藏规则,无监督学习能力强。受限玻尔兹曼机则是在RBM的基础上抹去同层变量之间的链接,希望能够使用这种方式提高学习效率。RBM的架构如图8所示,可见层和隐的节点是全连接的,但同层的节点之间互不连接。
图8.RBM模型架构
在Salakhutdinov等人提出的模型中,评分数据通过定长的0-1向量进行表示,并考虑稀疏性问题采取使用不与任何隐层单元连接的Missing单元表示未评分的项目。同时,使用0-1向量r来表示电影的评分与否,以此提出一种条件受限玻尔兹曼机模型,该模型结构图如下:
图9.基于RBM的协同过滤模型架构
在可见单元状态一定时,条件概率计算公式如下:
其中,K为用户,F为隐变量,\(\{\omega ^k_{ij} \}\)为权值,\(\{b_{j} \}\)为隐偏置,\(\{b ^k_{i} \}\)为显偏置。
由于使用RBM的协同过滤也存在一定问题,分别为两层连接的权重参数的规模非常大并且训练时间非常长,因此在实际应用中受到了很大限制。为缓解训练时间长的问题,何洁月(2016)等人提出了在受限玻尔兹曼机中使用社交关系的食值条件,并在大数据背景下使用基于Spark的并行化方案,有效提高了模型训练速度[47]。
2.2.2 自编码器
另一种常用于协同过滤的深度学习模型为自编码器。其基本思想为:对用户矩阵或项目矩阵的数据进行重构,学习用户或项目的隐藏特征,并基于该特征预测用户感兴趣的物品进行推荐。在自编码器中,通常存在输入层x、隐藏层h和输出层y,自编码器需要尽可能使输入x与y尽可能接近。为了防止模型学习恒等函数,通常使用均方误差和交叉熵来进行误差衡量,通过最小化误差来得到一个好的模型,模型架构图如下:
图10.自编码器模型架构
自编码器应用于推荐系统时,通常给定一个用户评分向量\(R_i\),最小化重构误差就是训练的目标函数,得到模型参数后,即可带入公式计算:
其中,g和f是两种激励函数,\(W_i\)和\(W'_i\)是权值矩阵,\(\mu\)和b是偏置向量。
在算法改进上,王东(2019)等人提出使用物品融合的自编码器[48]。提取特征时,该算法将固有信息作为输入,输入完成后通过多层降维得到低维表示。在模型的构建过程中,使用得到的低维特征作为一部分,将其融入矩阵分解中的另一部分物品的隐含向量,于此同时,用户特征也需要上述过程,最终有效缓解了冷启动问题。该实验表明,该算法的预测命中率相比传统算法显著提高;除此之外,周洋(2017)等人提出了栈式降噪自编码器[49],这种改进的特别之处在于使用了主成分分析对项目属性进行降维处理,再根据降维处理后的数据计算属性相似度,并结合隐性编码计算的相似度作为最终结果从而产生推荐列表,一定程度上解决了评分矩阵稀疏的问题;郑诚(2021)等人将注意力机制与自编码器进行结合,提出联合注意力和自编码器的协同过滤算法[50]。该算法将用户评分数据分别送入使用自编码器的协同过滤模型和使用注意力机制的协同过滤模型,最终推荐结果即为两个模型的融合,实验表明结果有所改善。
2.2.3 循环神经网络
循环神经网络模型式针对序列数据建模而提出,因此能够用于推荐系统中用户行为的序列模式进行建模,它能够将用户行为之间的相互依赖关系进行有效表示。在使用循环神经网络的协同过滤算法中,基本思想为:利用循环身形网络建模用户历史序列行为对当前时刻用户行为的影响,从而实现用户的项目推荐和行为预测。一个基于循环神经网络的推荐系统的基本框架如下图。该模型将用户的行为序列S作为输入,使用学习到的隐向量和激励函数输出用户在某时刻选择某项目的概率,从而达到推荐的目的。基于循环神经网络的协同过滤推荐常见应用为基于会话的推荐。
图11.基于循环神经网络的推荐系统架构
基于会话推荐的基本思路为:使用当前会话中的历史行为记录来想办法预测下一步的点击概率,这种算法最大的特点就是只有一个会话的数据被考虑。王鸿伟(2020)等人提出刻画长短期用户兴趣的基于会话的推荐系统[51],其采用循环记忆网络RMN为模型,该模型在两个连续会话中的结构如下:
图12.基于会话的推荐系统的会话关系
在第s个会话中,一个用户在RMN中具有一个兴趣记忆模块\(P_s\)和一系列的隐状态\(h_s^i\)。兴趣记忆模块记录用户的长期兴趣,隐状态表示用户在各个会话内的交互行为的数量。RMN由用户兴趣记忆模块、会话初始化单元、会话内记忆读取单元、GRU单元和会话间记忆写入单元组成。在算法中,损失函数选择TOP-1排序损失,利用随机梯度下降算法来进行损失函数的优化。
闫昭(2021)等人提出基于整体序列建模的会话推荐模型[52],综合考虑各项目内容对会话表示的重要性,生成过呢各位有效的会话表示,一定程度上使得推荐结果更接近全局最优解;并且,南宁(2021)等人提出基于多图神经网络的会话感知推荐模型[53],使用多图神经网络连同注意力机制,充分利用其他会话中的协同信息,提高了模型的各项指标;任俊伟(2021)等人还提出基于会话的多粒度图神经网络推荐模型,使用图神经网络和注意力机制并结合GRU学习会话序列的物品时序信息,以此给出推荐列表。
2.2.4 深度信念网络(DBN)
深度信念网络是通过无监督逐层贪婪学习方式对原始样本数据进行特征学习、预测分类和图像处理等[54]。深度信念网络模型是一种由多层非线性神经单元构成的生成模型,由一个可见层和若干个隐含层组成。经典的DBN模型是一个概率模型,它由两部分组成,其一为多层受限玻尔兹曼机(RBM),其二为反向传播(BP)网络。它的学习阶段包括无监督阶段和有监督阶段两个阶段。模型的基本结构和特征学习过程如下图所示:
图13.DBN模型架构
在无监督学习阶段,DBN通过非监督贪婪逐层训练方式,自下而上地训练每一层RBM,将前一个RBM的输出作为后一个RBM的输入,每一层参数都是对上一层参数的加权学习,最终获得各层RBM的参数集合。在这个过程中,能够最大程度地保留特征信息。在有监督学习的过程中,该模型使用BP算法调整权重。BP网络将输出数据与目标数据做期望值对比,把误差自上而下地反馈到全局网格中进行权值调整。
张悦(2021)提出基于改进的深度信念网络的协同过滤算法[55],使用融合相似用户层的SRBM-DBN模型对传统DBN模型进行改进。该研究将深度神经网络模型中第一个RBM模型命名为SRBM模型,并将SRBM模型的输入层单元用实型数值的评分数据表示。在协同过滤算法应用中,该模型认为相似用户的评分状态对提取目标用户的偏好特征有影响。因此,该研究将相似用户层加入SRBM-DBN模型,通过相似用户的评分标准更精确的估计目标用户的兴趣,提高模型准确率并缓解数据稀疏性问题。
2.3深度学习与混合推荐的结合
简单反馈数据是传统协同过滤的唯一使用数据,这种方式面临着较大的数据稀疏问题。然而,混合推荐方法能够有效地融合用户画像、项目信息等非简单数据,这样稀疏性问题能够得到有效缓解。那么如何将深度学习应用在混合推荐中呢?答案为:将内容推荐与协同过滤相融合,将用户和项目的特征和推荐过程均统一到一个深度学习的框架中,然后利用模型进行训练,根据训练结果进行推荐。在混合推荐中,使用最为广泛的为自编码器。
以电影推荐为例,于悦(2019)提出使用降噪自编码器算法构建用户长期兴趣模型,因为一般来说人们对电影的评价往往处于长期的稳定状态[56]。普通自编码器的输入输出内容相同,当训练样本和测试样本不同分布时,效果不佳;降噪自编码器是在普通自编码器的基础上,人为地向原始数据集中加入噪声,以此保持自编码器的鲁棒性。降噪自编码器的原理图如下所示:
图14.降噪自编码器原理图
原始输入x按照一定的概率分布将输入向量的元素值随机置0,得到包含噪声扰动的特征向量\(\bar{x}\)。然后依次使用线性映射的方式以及构造非线性激活函数完成对\(\bar{x}\)的编码,如下为编码公式:
公式中\(W_l\in R^{n\times k}\)是编码过程中线性映射的权值矩阵,n为输入层的特征数,\(b_l\in R^{l\times n}\)是编码过程中的偏移量,f为编码激活函数,此处取sigmoid函数;y为稠密隐含特征向量,维度为k(k<n)。
最后对隐特征向量解码,得到输入数据x的重构z,维度与x相同。解码通编码过程类似:
z与x的重构误差表示为:
降噪自编码器的目标则是最小化重构误差,使得输出与输入尽可能地接近。
除自编码器以外,还有许多研究者提出了其他效果较好的模型。冯楚滢(2019)等人提出协同深度学习[57],该算法针对用户评分较少时由于数据稀疏性使推荐性能显著降低的问题,使用深度学习模型提高推荐的准确性;钟裔灵(2022)等人提出了栈式降噪自编码器,利用栈式降噪自编码器能够对数据进行重构从而获得隐表示[58]。
总的来说,基于深度学习的推荐系统利用深度学习方法学习数据的隐表示,从而实现推荐,不同的模型之间也各有优劣,针对不同的推荐场景,应该选择最适合的深度学习算法。
3推荐系统研究趋势展望
大数据的发展越来越迅速,推荐系统的发展越来越收到重视,推荐系统的应用场景也不断拓展。目前已有的推荐系统经典算法主要为基于内容的推荐、协同过滤的推荐和混合推荐。同时,在上述传统推荐算法基础上,结合人工智能的深度学习技术,已有许多研究者提出了将深度学习技术与传统推荐算法结合的效果更好的模型。在未来,推荐系统领域的发展也将主要围绕深度学习领域进行展开,我认为有以下五个方面值得关注:
(1)深度学习与现有方法的结合
目前,将深度学习与传统推荐算法进行结合已经取得了较大成功,已经有许多成熟有效的模型被广泛认同。探索更广泛和更深入的结合方式将依然是未来推荐算法的发展主流。
(2)多领域信息融合
目前的推荐算法大多针对某一特定领域进行分析和推荐。然而,通常情况下人的兴趣往往会受到多个领域不同知识的影响而有所变化。如何使用深度学习技术融合多领域的知识和信息分析用户的行为模式和兴趣点是一个值得研究的方向。
(3)注意力机制的结合
已有许多研究者在使用深度学习框架构建推荐系统时将注意力机制进行融合,并且取得了不错的效果。同时,注意力机制在计算机视觉,图像处理等领域也已取得巨大成功,如何让注意力机制在推荐系统中发挥更大的作用是一个值得研究的方向。
(4)深度学习技术创新
目前已有的深度学习技术大多来源于计算机视觉,语音识别等领域。而在推荐系统中,文本、图像、音频、视频等数据的融合分析依然是一个让人头疼的问题。探索更有利于推荐系统的融合推荐的深度学习模型也值得研究。
(5)推荐系统的可解释性和评价指标
虽然许多有效可行的算法已经为推荐系统的发展带来了巨大成功,但在展示推荐结果的同时,如何让用户信服该推荐结果的合理性仍然有待研究。探索推荐系统的可解释性和更好的评价指标也是一个值得研究的方向。
参考文献
[1]蒲彬.基于社交信号的个性化新闻推荐系统的设计与实现[D].中国科学院大学,2015.
[2]陈江美,张文德.基于位置社交网络的兴趣点推荐系统研究综述[J].计算机科学与探索.2022,16(7):1462-1478.
[3]范胜华.大数据时代网络舆情监管机制研究[D].华中师范大学,2019.
[4]辛冬播,李廷军.大数据时代数据总量增长的新摩尔定律辨析——吉姆·格雷是否真的提出过新摩尔定律?[J].软件导刊.2022,21(09):236-240.
[5]刘欣.基于深度学习的评论主题分析推荐算法研究[D].华南理工大学,2019.
[6]基于深度学习的推荐系统算法研究_张杰[J].
[7]推荐系统综述[J].
[8]曾春,邢春晓,周立柱.基于内容过滤的个性化搜索算法[J].软件学报.2003,14(5):999-1004.
[9]推荐系统研究进展_朱扬勇[J].
[10]协同过滤推荐算法综述_马宏伟[J].
[11]基于混合规则的图书推荐模型设计与研究_杨东风[J].
[12]原福永,高慧敏,李惠清,等.融合占有度和频繁度的协同过滤推荐算法[J].小型微型计算机系统.2015,36(9):1958-1962.
[13]基于核方法的User-Based协同过滤推荐算法[J].
[14]张锋,常会友.使用BP神经网络缓解协同过滤推荐算法的稀疏性问题[J].计算机研究与发展.2006,43(4):667-672.
[15]何丽,李熙伟.基于朴素贝叶斯与协同过滤的分布式推荐模型研究[J].北方工业大学学报.2017,29(5):87-93.
[16]王红霞,温绍洁.基于聚类和奇异值分解的协同过滤推荐算法[J].计算机应用研究.2020,37(S2):369-371.
[17]史海燕,倪云瑞.推荐系统冷启动问题研究进展[J].图书馆学研究.2021(12):2-10.
[18]韩翼.协作学习环境下学习推荐算法的研究[D].内蒙古科技大学,2015.
[19]孙小华,陈洪,Fan-ShengKong,等.在协同过滤中结合奇异值分解与最近邻方法[J].计算机应用研究.2006,23(9):206-208.
[20]不确定近邻的协同过滤推荐算法[J].
[21] 郭景峰,周军锋,汤显. 一种优化的协同过滤推荐算法[J].
[22] 李涛,王建东,叶飞跃,等. 一种基于用户聚类的协同过滤推荐算法[J]. 系统工程与电子技术.2007, 29(7): 1178-1182.
[23] S P C F :一种基于内存的传播式协同过滤推荐算法[J].
[24] 孙小华. 协同过滤系统的稀疏性与冷启动问题研究[D]. 浙江大学, 2005.
[25] 宗春梅,张月琴,赵青杉,等. 可视化支持下CNN在个性化推荐算法中的应用[J]. 计算机系统应用.2020, 29(6): 204-210.
[26] Hidden Factors and Hidden Topics: Understanding Rating Dimensions with Review Text[J].
[27] 张敏,丁弼原,马为之,等. 基于深度学习加强的混合推荐方法[J]. 清华大学学报(自然科学版).2017, 57(10): 1014-1021.
[28] 李丹,高茜. 基于深度学习推荐系统的研究与展望[J]. 齐鲁工业大学学报. 2020, 34(6): 29-38.
[29] 基于深度学习的内容推荐算法研究综述_刘华玲[J].
[30] 基于DeepFM模型的科技资源推荐应用研究_罗朗[J].
[31] 任胜兰,郭慧娟,黄文豪,等. 基于注意力机制交互卷积神经网络的推荐方法[J]. 计算机科学.2022, 49(10): 126-131.
[32] 徐宝胜. 基于注意力机制的社交Hashtag推荐算法研究与实现[D]. 西北大学, 2020.
[33] 许永波,苏士美,樊隆庆. 一种用户偏好的美学图像推荐方法[J]. 计算机应用研究. 2019, 36(12): 3853-3856.
[34] 叶展鹏. 基于CNN自动标注用户偏好的音乐推荐算法[D]. 华南理工大学, 2018.
[35] 基于注意力L S T M的音乐主题推荐模型[J].
[36] 基于D e e p S p e e c h与多层L S T M的儿童朗读语音评价模型[J].
[37] 牛耀强,孟昱煜,牛全福. 基于异质注意力循环神经网络的文本推荐[J]. 计算机工程. 2020, 46(10): 52-59.
[38] 一种基于C W - R N N的多时间尺度序列建模推荐算法[J].
[39] 田杰,胡秋霞,司佳豪. 基于深度信念网络DBN的音乐推荐系统设计[J]. 电子设计工程. 2021, 29(23): 162-165, 170.
[40] 王兆凯,李亚星,冯旭鹏,等. 基于深度信念网络的个性化信息推荐[J]. 计算机工程. 2016, 42(10): 201-206.
[41] Restricted Boltzmann machines for collaborative filtering[J].
[42] 何洁月,马贝. 利用社交关系的实值条件受限玻尔兹曼机协同过滤推荐算法[J]. 计算机学报.2016, 39(01): 183-195.
[43] 王东,薛峰,刘凯,等. 基于物品融合自编码器的协同过滤推荐算法[J]. 计算机应用. 2019, 39(z1): 84-87.
[44] 周洋,陈家琪. 基于栈式降噪自编码器的协同过滤算法[J]. 计算机应用研究. 2017, 34(8): 23362339.
[45] 郑诚,王建. 联合注意力和自编码器的协同过滤推荐[J]. 计算机工程与应用. 2021, 57(10): 139145.
[46] 刻画长短期用户兴趣的基于会话的推荐系统_王鸿伟[J].
[47] 闫昭,项欣光. 基于整体序列建模的会话推荐模型[J]. 南京理工大学学报(自然科学版). 2021, 45(1): 27-36.
[48] 南宁,杨程屹,武志昊. 基于多图神经网络的会话感知推荐模型[J]. 计算机应用. 2021, 41(2): 330-336.
[49] Khatami A, Khosravi A, Nguyen T, et al Medical image analysis using wavelet transform and deep belief networks[J]. Expert Systems with Applications. 2017, 86: 190-198.
[50] 张悦. 基于改进的深度信念网络的协同过滤算法研究[D]. 山东师范大学, 2021.
[51] 于悦. 基于自编码器混合推荐算法的研究[D]. 中北大学, 2019.
[52] 冯楚滢,司徒国强,倪玮隆. 协同深度学习推荐算法研究[J]. 计算机系统应用. 2019, 28(1): 169-175.
[53] 钟裔灵,朵琳. 基于栈式降噪自编码器的深度推荐[J]. 电视技术. 2022, 46(7): 60-64.