A Survey of Recommender Systems Based on Deep Learning (1)
A Survey of Recommender Systems Based on Deep Learning
(本文为同名paper的个人翻译版本,如有认知上的偏差,请谅解)
原文地址:https://www.researchgate.net/publication/328843931_A_Survey_of_Recommender_Systems_Based_on_Deep_Learning
此文只仅作为阅读学习笔记用。
由于最近在打KDD CUP的竞赛,刚刚接触到推荐系统的一些知识,先从Survey开始入手了解相关技术
ABSTRACT
(背景描述和文章大致结构)今年来,深度学习的高速发展在语音识别,图像分析和自然语言处理等领域得到了很好的效果,基于深度学习的推荐系统也是其应用之一,相比于传统的推荐系统,基于深度学习的推荐系统能够更好地捕捉到用户和物品间的非线性和并且更加有意义的特征,并且使得更加抽象复杂的信息在高层中得以以数据的形式进行编码。在这篇paper中,作者主要讲了三点:
- 概述了当前主流的深度学习技术及其相关术语。
- 该方法展示了基于深度学习技术在推荐系统领域的应用现状。
- 深入分析了未来基于深度学习技术的推荐系统的发展趋势及其潜力。
I. INTRODUCTION
从核心理念出发, 现代推荐系统致力于挖掘用户的浏览历史数据和偏好特征, 并通过构建相应的模型来预测和生成他们可能感兴趣的物品. 除了基于相似性或偏好的传统商品推送策略之外, 在现代应用中还能够通过协同过滤等技术发现并介绍潜在感兴趣的新商品. 目前的研究方向主要可分为三种不同的方法论框架: 基于内容的推断、协同过滤的方法以及基于深度学习的人工智能推断技术.
-
基于内容的分析 (content-based analysis):综合考虑用户的兴趣特征、行为模式以及商品的基本属性和详细信息来提供相应的推荐服务。
局限性在于其难以有效平衡数据隐私保护与推荐精准度之间的关系。 -
基于过滤的推荐系统 (filtering-based recommendation system):根据用户的使用历史数据和偏好行为来进行商品推荐,并且无需考虑用户的个人隐私信息或商品详细描述
缺点:当评分矩阵(rating matrix)非常稀疏时,基于协同过滤的方法效果会有明显的下降。此外,在某些情况下这种方法无法为未给予评分的商品提供有效的推荐服务- 混合推荐 :混合多种推荐方法
同时,在多个领域取得的卓越成就也为推荐系统的发展提供了新的机遇。基于深度学习的推荐系统(deep learning-based recommendation system DLRS)已显著超越传统方法,并实现了较高的推荐效果。然而,在深入研究其机制后发现,这种技术的核心优势在于其强大的能力——能够有效识别用户与商品之间的复杂非线性关系以及潜在的深层联系。进一步分析表明,在这一过程中,除了传统的用户评分等显性特征外,还能够通过整合商品本身的上下文信息、文本特征以及视觉数据等多维度信息来实现全面分析。
II. TERMINOLOGIES AND BACKGROUND CONCEPTS
这块主要介绍一些专业术语和背景知识
A. RECOMMENDER SYSTEM
传统的三种推荐系统:基于内容的推荐,协同过滤和混合推荐。
1)基于内容的推荐:
先对商品描述对商品进行相似度的分析,然后通过用户提供的喜好,推荐系统为其推荐相关商品。
举个栗子:当前系统要为用户推荐喜好的书籍。基于内容的推荐系统会获取到该用户已经阅读过的书籍信息,通过关键词分析技术如:TF-IDF将书籍表示成一个多维的向量信息,然后通过聚类的技术就可以展示出用户的信息偏好。
2)协同过滤:
协同过滤方法假设对相同物品进行过评分的用户很可能会有相似的偏好。协同过滤方法会给用户推荐和他类似的用户或者与他喜欢的商品类似的商品,即分为user-based 和item-based两类。
3)混合推荐:
混合推荐系统分为单片式混合推荐(monolithic hybrid recommendation)、并行式混合推荐(hybrid recommendation)和管道式混合推荐(pipeline hybrid recommendation)三类
单片式就是将多种推荐系统融合成一种算法。
并行式:根据输入,并联的混合型推荐器各自独立运行,分别生成推荐列表,再将输出的数据组合成最终的推荐集。
管道式推荐:以管道式架构连接多个推荐系统,前一个推荐系统的输出部分成为后一个推荐系统的输入部分。
B. DEEP LEARNING TECHNOLOGY
- AUTOENCODER (自编码器)
- 自动编码器模型(AE)是一种无监督学习方法
- 该模型旨在通过重建输入数据来学习特征
- 通常而言,在大多数实现中,瓶颈层(最中间层)被设计为能够有效提取和表征关键特征
- 与传统的人工神经网络相比,Autoencoder结构上采用了不同的设计思路
- 该模型通过编码和解码机制实现对原始信息的重新构建
- 利用前向传播和反向传播过程提取潜在语义结构

(图片摘自原Survey)
在网络训练过程中,在每一轮训练中输入一个样本后,在输出层会生成一个新的信号值。网络学习的目标是为了使输出信号与输入信号之间尽可能保持较高的相似度水平。这种相似性通常被量化为重建误差来衡量。自动编码器有许多不同的变种形式包括去噪自动编码器、边缘化去噪自动编码器、稀疏自动编码器以及堆叠式去噪自动编码器(SDAE)、收缩式自动编码器和变异自动编码器(VAE)等多种类型。在大多数情况下自编码器模型都可以有效地应用于推荐系统中以提升推荐效果
RESTRICTED BOLTZMANN MACHINE (受限玻尔兹曼机)
受限玻尔兹曼机(RBM)是由可见层和隐藏层构成的一个两层人工神经网络体系。作为最早的人工神经网络之一,在深度学习领域具有重要地位,并通过识别内部隐特征来解决复杂的建模问题。该体系去除了同层间直接联系以提高学习效率。其局限性在于无法直接处理非结构化数据并影响模型泛化能力。该模型的主要优势在于可以通过逐级叠加实现深层表示而不必单独训练每一层次参数

(图片摘自原Survey)
可见层和隐藏层之间的联合概率分布定义为:
概率值P(v,h)等于\frac{1}{Z}乘以指数函数e^{-(a^\top v + b^\top h + h^\top Wv)}。
其中a代表可见层中的偏置参数,b代表隐藏层中的偏置参数,Z是归一化所需的函数,W表示可见层与隐藏层之间的权值矩阵。
该模型旨在通过最大似然估计最大化联合概率:
\arg\max \sum_{v\in V}\log P(v,h)
相较于其他如稀疏自编码器等的模型而言,在效率上RBM表现出色。然而,在解决相关问题时若采用常规的采样手段会导致迭代次数过高从而效率低下。Hinton提出的对比散度化方法(Contrastive Divergence)作为一种快速逆向算法成功解决了这一挑战。通过叠加多个单层限制性波尔兹曼机模型能够构建出一个深层架构,并运用系统性优化策略逐步精进网络性能。
RECURRENT NEURAL NETWORK(循环神经网络)
循环神经网络(Recurrent Neural Network, RNN)主要应用于序列数据建模任务。相较于传统的人工神经网络架构,在结构上和功能上存在显著的不同之处:RNN通过引入循环机制和内部状态记忆功能,在信息处理过程中能够有效保持对过去输入数据的记忆。这些模型已经广泛应用于多个领域包括但不限于机器翻译、语音识别以及文本标签生成等技术方向。

RNN结构
在每个时间段里,RNN都会接收一个输入信号与输出信号,而前一个时间段的状态也会成为当前时间段输入的重要组成部分,这也是其最显著的特点。
与传统的多层感知器相比,CNN 采用独特的池化操作机制,不仅降低了模型复杂度,还能有效减少计算资源消耗,从而实现了更强的平移不变性或空间位置无关性特性

CNN结构 大多是情况下CNN都被用来做特征提取。
DEEP BELIEF NETWORK (Deep Belief Network, DBN) 代表了一种深层的概率有向图模型。该模型由多层节点构成,在建模过程中各层节点间并未设置内部连接关系;而相邻两层之间的节点则采用完全连接策略进行交互。其中最底层直接对应于观测数据;其余各层均由潜在变量构成。值得注意的是其架构可被看作是多个受限玻尔兹曼机级联搭建而成;前一层RBM的隐含单元组则作为后一层RBM的操作单元;在学习过程中每个子网络均能基于前一子网络输出独立地完成参数更新;相较于传统神经网络模型而言这一特性使得DBNs在学习流程上更为便捷。

DBN结构
一般这种网络都是用来做特征提取用的。
III. DEEP LEARNING-BASED RECOMMENDER SYSTEM
A. DEEP LEARNING IN CONTENT-BASED RECOMMENDER SYSTEMS
基于内容的推荐系统主要依赖于项目与用户的各种辅助信息。能够整合多种类型的辅助信息,包括文本、图像以及视频等多种形式的信息。通过深度学习,在这些推荐系统中能够有效地提取用户与项目之间的复杂关系,并将这些高阶抽象表示转化为数字形式。此外,在分析过程中,这些系统还能够从上下文、文本以及视觉等多种角度深入挖掘数据之间的错综复杂的关系。
B. DEEP LEARNING IN COLLABORATIVE FILTERING RECOMMENDER SYSTEMS
协作过滤(Collaborative filtering, CF)是一种在推荐系统中被广泛应用的有效方法。传统的基于CF的方法采用了一个用户与项目之间的矩阵表示,并通过用户的偏好信息进行编码处理。在实际应用场景中,评分矩阵通常呈现出高度稀疏的特点,在这种情况下传统基于CF的方法表现出了显著的局限性。为了改善这一现状,在此基础上的研究者们提出了多种改进型的协同过滤方法以解决数据稀疏性问题以及cold start问题等挑战。然而由于用户的个性化需求与项目的复杂性之间的差异所导致的相关知识库往往难以满足精准推荐的需求;此外由于用户的个性化需求与项目的复杂性之间的差异所导致的相关知识库往往难以满足精准推荐的需求;此外随着深度学习技术的发展人们开始探索利用其强大的特征提取能力来提升协同过滤系统的性能并取得了显著成果;近年来研究者们提出了基于深度学习模型的新颖协同过滤方法
1) AUTOENCODER-BASED COLLABORATIVE FILTERING METHOD
利用自动编码器实现协同过滤(ACF)的方法是首个采用自动编码器进行协同推荐的模型。该方法主要采用整数评级对原始观测数据进行处理而不是直接使用原始数据。Sedhain 等人 开发出了基于自动编码器的推荐系统。开发出了基于autoencoder的协同过滤推荐方法(AutoRec),该模型以用户的评分信息或条目评分矩阵R为输入,在编码和解码过程中生成预测评分,并通过最小化重构误差来优化模型参数。例如,在1到5分的整数评价值域内,则每个 r_{ui} 将被划分为5个子向量。

该研究采用了自编码器结构来呈现一个基于AE(自动编码器)的协同过滤模型实例。在该模型中,默认评分范围设定为1至5分,并采用矩阵分解技术作为基础模型架构。实验结果表明,在测试集上该推荐系统的表现优于传统协同过滤算法。然而,在实际应用中存在一些局限性:首先, 该系统无法处理非整数评分数据;其次, 在对部分观测向量进行分解时会引入额外的数据稀疏性, 这会导致推荐效果出现明显下降.
协作式去噪自动编码器(Collaborative Denoising Auto-Encoder CDAE) 主要用于排名预测。CDAE 的输入是用户的部分观察到的隐式反馈。如果用户喜欢这部电影,则输入值为 1,否则为 0。它也可以被看作是一个反映用户对项目兴趣的偏好向量。
CDAE最初使用SGD对所有反馈进行参数更新。然而,原作者认为,在现实世界的应用中考虑到所有的评级是不切实际的,所以他们提出了一种负采样技术,从负集中抽取一小部分子集(用户没有交互过的商品),这样可以在不降低排名质量的前提下,大幅降低时间复杂度。
2) 一种基于受限玻尔茨曼机的协同过滤方法
受限玻尔茨曼机(RBM)是一种由可见层和隐藏层组成的两层人工神经网络。作为早期的人工神经网络模型之一,在揭示数据潜在表示机制方面表现出显著能力,并通过移除同层间联系的方式显著提高了计算效率。Salakhutdinov等学者开发了一种基于受限玻尔兹曼机的推荐系统。研究者进一步提出了一种条件型受限玻尔兹曼机模型来表征隐式反馈信息特征。在RBM模型中,默认可见单元采用二元分布设定,在此基础之上进行评分采用独热编码形式进行表征。

每个 RBM 拥有与之对应的可见单元数量一致。然而每个 RBM 仅在与该用户互动过的电影上具有可见性。因此如果该用户的评分数据较为有限 那么每个 RBM 之间的连接数量也会相应减少。每个 RBM 对应唯一的训练样本 然而所有的权重参数和偏置值是被统一管理。因此如果两位用户都对同一部电影打过分 那么他们各自的两个 RBMs 必须共享相同的权重配置 即该影片对应的 softmax 可见层与隐层之间的连接权值保持一致。对于不同用户体验过的内容 其隐藏层中的二进制状态则会呈现出完全不同的特征。
3) RECURRENT NEURAL NETWORK-BASED COLLABORATIVE FILTERING METHOD
递归神经网络(RNNN)特别适合建模顺序数据。与前馈神经网络不同,在RNN中存在循环连接和内存机制,能够有效维持序列信息。为了缓解梯度消失问题,在实际应用中常采用长短期记忆单元(LSTM)和门控循环单元(GRU)等变体结构来提升模型性能。基于RNN的协同过滤算法的核心思想是利用神经网络模型捕捉用户的历史行为序列对当前行为的影响,并以此为基础为用户提供个性化推荐服务。下图展示了基于递归神经网络协同过滤方法的基本框架图。假设输入为 { I1, I2, …, It } ,则输出 Ot = σ(g(W·ht−1 + V·It)) ,其中 g 代表激活函数 Ot 表示时间 t 时选择特定项目的概率,默认由时间 t 对应的历史隐藏向量 ht−1 来决定。近年来研究表明,在处理基于会话的推荐问题上,递归神经网络表现出显著的有效性

4) 基于协同过滤的生成对抗网络方法
C. DEEP LEARNING-BASED HYBRID RECOMMENDER SYSTEMS

给定user-item评分矩阵R的基础上
最小化问题 arg min_{U,V} 定义了一个包含多个项的目标函数 G(𝑹, UTV) + 𝜶(‖U‖²_F + ‖V‖²_F) + 𝜷𝜸(S^{(u)}, 𝑿, 𝑼) + 𝜸𝜸(S^{(i)}, 𝒀, 𝑽),其中 𝝈 ( ∙ , ∙ , ∙ ) 是将用户或物品方面的辅助信息与潜在因子结合在一起的函数;G(∙, ∙) 是将评分矩阵 R 分解为两个潜在因子矩阵 U 和 V 的误差函数;𝜶 是正则化系数;而 β 和 γ 则是平衡不同项的重要参数。值得注意的是,在方程(2)中最后两项是基于 SDAE 模型设计出来的,在提取潜在因子矩阵的同时也整合了额外的信息来源。
D. COMBINATION OF DEEP LEARNING AND SOCIAL NETWORK-BASED RECOMMENDER SYSTEMS
E. CONTEXT-AWARE RECOMMENDER SYSTEMS BASED ON DEEP LEARNING
