基于云‒端融合的个性化推荐服务系统

韩佳良,韩宇栋,刘譞哲,赵耀帅,冯迪*

基于云‒端融合的个性化推荐服务系统

韩佳良1,韩宇栋1,刘譞哲1,赵耀帅2,3,冯迪2,3*

(1.高可信软件技术教育部重点实验室(北京大学),北京 100871;

2.中国民航信息网络股份有限公司,北京 101318;

3.中国民用航空局 民航旅客服务智能化应用技术重点实验室,北京 101318)(∗通信作者电子邮箱fengdi@travelsky.com.cn)

主流个性化推荐服务系统通常利用部署在云端的模型进行推荐,因此需要将用户交互行为等隐私数据上传到云端,这会造成隐私泄露的隐患。为了保护用户隐私,可以在客户端处理用户敏感数据,然而,客户端存在通信瓶颈和计算资源瓶颈。针对上述挑战,设计了一个基于云‒端融合的个性化推荐服务系统。该系统将传统的云端推荐模型拆分成用户表征模型和排序模型,在云端预训练用户表征模型后,将其部署到客户端,排序模型则部署到云端;
同时,采用小规模的循环神经网络(RNN)抽取用户交互日志中的时序信息来训练用户表征,并通过Lasso算法对用户表征进行压缩,从而在降低云端和客户端之间的通信量以及客户端的计算开销的同时防止推荐准确率的下跌。基于RecSys Challenge 2015数据集进行了实验,结果表明,所设计系统的推荐准确率和GRU4REC模型相当,而压缩后的用户表征体积仅为压缩前的34.8%,计算开销较低。

个性化推荐服务系统;
云‒端融合;
用户表征模型;
隐私保护;
循环神经网络

随着基于信息流的应用程序不断增多,互联网信息的数量和种类快速增长,用户通常需要花费大量时间和精力才能找到自己偏好的内容,而这种浏览大量无关信息的过程会加重用户的信息过载负担。为了解决这个问题,个性化推荐服务系统应运而生。个性化推荐服务系统是一种信息过滤系统,它可以根据用户画像或历史行为挖掘用户的兴趣爱好,从而预测用户对推荐项目的偏好或评分,并有针对性地为用户推荐内容。

如图1所示,目前主流的个性化推荐服务系统整体上基于云端服务器,将推荐项目特征、用户特征、用户交互日志等信息输入到部署在云端的模型中进行推荐。基于云端的推荐服务系统有泛化性能好、容易部署、支持绝大多数推荐算法等优点,但存在如下缺陷:需要将用户交互行为等隐私数据上传到云端,存在隐私泄露的隐患。此外,随着以欧盟通用数据保护条例(General Data Protection Regulation, GDPR)为代表的相关法律法规的出台,上传用户数据到云端来进行个性化推荐还可能带来法律方面的风险。

图1 主流个性化推荐服务系统的结构

1992年,Goldberg等[1]提出了基于用户的协同过滤算法,其核心思想是历史行为相似的用户更倾向于购买同一商品;
2001年,Sarwar等[2]提出了基于项目的协同过滤算法,其核心思想是用户购买历史相似的商品更容易被同一个用户购买。协同过滤算法的优点是不需要利用推荐项目的内容特征,能有效利用其他相似用户的反馈信息,有推荐新内容(与用户历史记录有差异的内容)的能力,可以发现用户潜在的偏好;
但协同过滤算法存在冷启动问题、稀疏性问题和延展性问题。

另一种典型的推荐方法是基于内容的推荐,其核心思想是根据物品的特征挖掘物品的相似性,从而基于用户的历史记录推荐给用户相似的物品。基于内容的推荐算法优点在于用户之间的独立性以及推荐项目的可解释性,解决了物品冷启动问题;
但基于内容的推荐算法的缺点在于物品特征有限或难以抽取、无法挖掘用户的潜在偏好、无法解决用户冷启动等问题。

随着深度学习的兴起,研究者着力于将深度学习相关技术应用于推荐系统中,以提升推荐系统的性能。尽管如此,多数基于深度学习的方法仍然是协同过滤和(或)基于内容的推荐算法的变种和(或)混合。

2016年,来自Google的Cheng等[3]提出了用于推荐系统的Wide & Deep Learning算法。Wide模型输入独热编码后的二值特征,从历史信息中发现推荐项目或特征之间的相关性,推荐结果往往是和历史记录中的项目直接相关的项目;
Deep模型输入连续特征和可以产生低维稠密表征的连续特征,学习新的特征组合,可以推荐历史记录中从未出现过相似的项目。联合训练Wide模型和Deep模型,就可以让推荐算法同时具有记忆能力和泛化能力。为了端到端地学习高阶和低阶的交叉特征,Guo等[4]提出了DeepFM模型。DeepFM模型用分解机(Factorization Machine, FM)模型替代Wide & Deep模型中的Wide模型,FM模型和Deep模型共享高维稀疏特征输入和低维稠密表征,FM模型自动提取二阶交叉特征,Deep模型自动提取高阶交叉特征。

主流推荐系统平台使用的用户数据往往是时序数据,而传统的基于内容的推荐算法和协同过滤算法在刻画时序数据时存在明显的缺陷:每个推荐项目相互独立,不能建模一段时间内用户对内容的连续偏好信息。2016年,Hidasi等[5]提出了GRU4REC模型,首次将循环神经网络(Recurrent Neural Network, RNN)应用于推荐系统,用于抽取用户对内容的偏好时序信息。将一段时间内的点击序列作为模型输入,每一个推荐项目被点击的预测概率作为模型输出。模型损失函数有逐点排序损失(交叉熵)、逐对排序损失(基于矩阵分解的贝叶斯个性化排序(Bayesian Personalized Ranking ,BPR)和基于正则估计的TOP1)。

近年来,研究者着力于改进GRU4REC模型,以达到更好的时序推荐性能。例如,Hidasi等[6]将图像和文本等非结构化信息作为特征,Bogina等[7]考虑到了用户在推荐项目上的停留时间,Jannach等[8]将K近邻算法和RNN模型的推荐结果进行结合,他们都实现了超过原本GRU4REC模型的推荐效果。

为了实现保护用户隐私的需求,本文将云端推荐模型中处理用户敏感数据的部分拆分成独立的模块,且该模块的输出不包含敏感的用户隐私信息。其中,敏感的隐私信息指包含用户元信息、浏览行为、点击行为、收藏行为、加购物车行为等数据。将这个独立处理用户敏感数据的模块迁移到客户端运行。将客户端的用户数据处理模块输出的结果传输到云端,与云端推荐模型协同完成推荐。

然而,这样的做法面临两点挑战:首先,由于客户端的带宽有限,客户端与云端之间不能进行大规模的数据通信;
其次,由于客户端的计算资源有限,客户端处理用户数据的过程不能太复杂,以避免造成过大的计算负载。

针对上述需求和挑战,受输入法词预测领域的DeepType[9]启发,本文设计了一个基于云‒端融合的个性化推荐服务系统,在客户端处理用户敏感数据,并与云端协同完成推荐。该系统将传统的云端推荐模型拆分成用户表征模型和排序模型,在云端预训练用户表征模型后,将其部署到客户端,排序模型则部署到云端。本文采用小规模的RNN抽取用户交互日志中的时序信息来训练用户表征,并通过Lasso算法对用户表征进行压缩,从而在推荐准确率同现有基于云的模型相当的前提下,减少云端和客户端之间的通信量,降低客户端的计算开销。

本文的主要工作包括:

1)设计了一个基于云‒端融合的个性化推荐服务系统,缓解了现有方法存在的用户隐私泄露问题。

2)在不降低推荐准确率的前提下,通过对用户表征的稀疏化压缩和减小RNN规模,降低了云端与客户端之间的通信成本和客户端模型的计算资源占用。

3)在RecSys Challenge 2015数据集对实现的系统进行了性能评估,验证了系统的有效性。

1.1 系统概览

本文将用户与基于云‒端融合的个性化推荐服务系统之间的交互分为三阶段:用户首次使用推荐服务、用户产生交互和用户请求推荐内容。其中,第一阶段对于每个用户而言只需进行一次,第二阶段在用户每次产生一定量的交互记录后便运行一次,第三阶段在用户每次请求推荐时运行一次。

在用户首次使用推荐服务时:在云端,利用公共的用户交互记录(不涉及用户隐私)预训练随机初始化的用户表征模型,得到全局的用户表征模型;
在客户端,下载全局的用户表征模型。

在用户产生交互记录时:在客户端,请求访问内容的同时,从云端下载访问的项目对应表征,用于训练(微调)预训练过的全局的用户表征模型,得到个性化的用户表征模型,从用户表征模型的输出中提取用户表征。注意微调时使用的是本地的隐私数据,因为使用用户实时产生的行为数据有利于提高模型预测准确率,且此数据只在客户端存储和使用,隐私泄露风险低。

在用户请求推荐内容时:在客户端,上传最近更新的用户表征,接收推荐结果;
在云端,将用户表征、推荐项目表征库输入到推荐模型,得到推荐结果。

基于云‒端融合的个性化推荐服务系统的整体结构如图2所示。

图2 基于云‒端融合的个性化推荐服务系统的结构

1.2 用户表征模型

受GRU4REC[5]启发,本文采用一种RNN的变种——门控循环单元(Gated Recurrent Unit, GRU),建模一次会话过程中用户的行为特征,进而提取用户表征,作为部署在客户端的个性化的用户表征模型。因此,用户表征模型是面向推荐调整过的GRU网络,其输出为用户表征。

如图3,用户表征模型输入为一段会话中的项目(如商品)序列,在嵌入层将项目ID转化为低维稠密表征,在GRU神经元层挖掘序列信息,将最后一个项目对应的GRU输出作为用户表征输出,其含义为GRU网络预测的每一个项目是下一个项目的概率。若使用多个GRU层,那么下一层GRU的输入是上一层GRU的隐含状态。由于GRU最初不是用来建模推荐系统用户行为的,且在客户端训练GRU需要保证用户体验不受影响,本文对训练策略进行会话并行的最小批次、负样本采样、用于排序的损失函数、减小GRU规模等优化,以适应推荐任务并提高训练效率。

图3 用户表征模型的结构

1.2.1会话并行的最小批次

1.2.2负样本采样

主流推荐系统包含的推荐项目都是海量的,数据集中用户点击的项目为正样本,那么全部项目集合中的其他项目均为负样本,显然,在训练GRU时,不能对全部负样本进行打分,而是需要对负样本进行合理的采样。一个基线的取样方法是随机取样,即假设用户没有点击某个项目是因为他没有发现这个项目,但同样存在用户因为不喜欢这个项目而故意不去点击它的可能。为了减小这种违背取样假设的可能性,可以采用按项目流行度采样,即负样本采样概率与其流行度成正比。一个取巧的方法是将一次训练批次中的其他项目作为负样本,这样做的好处在于:没有单独的采样步骤,节省计算时间;
实现方便,便于矩阵加速;
同时该方法也符合基于流行度采样,因为下一个产品是同一个批次中其他项目的概率正比于它的流行度。

1.2.3用于排序的损失函数

常见的排序问题损失函数有基于点的(pointwise)、基于对的(pairwise)和基于列表的(listwise)。基于点的方法为每个项目独立打分,并保证相关项目的得分尽量高。基于对的方法需要对比正负样本的排名,并保证正样本的得分高于负样本。基于列表的方法将全部项目的得分和正确排序的列表进行对比,并保证全部正样本的得分高于负样本。由于基于列表的排序方法涉及排序,计算复杂性更高,且由于本文的推荐系统场景下只存在一个正样本,基于列表的方法会退化为基于对的方法,因此本文只实现了基于点的排序损失函数和基于对的排序损失函数。

基于点的排序损失函数为交叉熵(Cross Entropy, CE)函数:

其中:正样本为1,负样本为0。

基于对的排序损失函数:

BPR[10]:

TOP1[5]:

其中:前项表示对相关项目的相对排名的正则化近似,后项是正则化项,保证负样本的得分接近于0。

为了解决客户端上处理用户数据的过程不能占用过多计算资源的问题,本文使用1层100个隐藏单元的GRU网络作为用户表征模型。第2章中的实验结果表明,即使只使用单层GRU网络,且限制GRU隐藏状态维数远小于输入层维数,GRU仍然能够胜任挖掘用户访问历史中的时序信息、提取用户表征的任务,并达到接近包含更多层或更多隐藏单元的GRU网络的推荐准确率。

1.3 排序模型

本文将部署在云端的排序模型实现为用户表征和推荐项目表征的内积运算,并将内积结果排序,估计项目和用户之间的相关性,返回得分最高的若干个项目作为推荐结果。

用内积运算作为排序模型主要考虑到以下两点因素:

一是真实环境下的实时推荐系统的性能要求。推荐系统不能提前计算全部用户和全部项目之间的相关性,因为用户和项目都在不断更新和替换,而且云端服务器并没有足够的空间为每一组(用户,项目)对存储其相关性。这就要求推荐系统在很短的时间内计算用户和项目之间的相关性得分,而内积运算满足这样的需求[11]。

二是保护用户隐私的要求。提出基于云‒端融合的个性化推荐系统的动机是避免用户隐私泄露,这要求推荐系统不能上传用户ID,只能上传用户表征。进一步地,云端无法根据用户ID恢复出每个用户点击项目的历史记录,故云端不支持训练基于用户ID的推荐算法或排序算法,如协同过滤算法[1-2]、矩阵低秩分解的相关算法[4]、LambdaMART[12]等基于机器学习的排序算法,都由于用户ID的缺失而不支持云端训练。

1.4 用户表征稀疏化

由于客户端的带宽有限,客户端与云端之间不能进行大规模的数据通信,同时要避免因降低通信量导致的推荐系统准确率下降。本文通过稀疏编码(sparse encoding)的方式来保留用户表征中的主要信息,利用Lasso算法对用户表征进行稀疏化。

“哪能由着你?”赛十娘又笑出声,“还是顺着他们,少吃点儿亏。莫像河浦那个女孩儿,烈得很。越烈越吃亏。”

然后,在损失函数中加入Lasso惩罚项,限制用户表征的大小和稠密度:

为了测试基于云‒端融合的个性化推荐服务系统的性能,本文针对推荐准确率、用户表征的压缩效果、客户端模型的运行时性能这三个内容的多个指标对该系统进行评测。实验数据集为RecSys Challenge 2015,该数据集是电商网站大量用户长时间的点击流数据。

2.1 数据集和实验配置

2.1.1数据集

RecSys Challenge 2015数据集是电商网站在不同时间段(即会话)内连续发生的用户点击流时序数据,本文只用了点击流的训练数据。该数据集的域包括会话ID、项目ID、时间戳、项目类别。由于同一次会话只对应一个用户,本文将会话ID看成用户ID,即不同的会话对应不同的用户。

2.1.2数据预处理

由于任务设定为在时序数据上的推荐,本文首先过滤掉了长度为1的会话。将会话按时间排序,先用前6个月的7 966 124个会话对应的在37 386个项目上的31 636 669次点击进行训练,然后用后续的数据进行测试。本文不会把一个会话从中间分成训练集和测试集,即每个会话一定会完整地属于训练集或者完整地属于测试集。过滤掉只在测试集中出现而没有在训练集中出现的项目。在上述过滤之后,再次过滤掉长度为1的会话。这样就得到了包含15 188个会话对应的70 826次点击的测试集。

2.1.3实验配置

本文在GPU服务器环境下评测推荐准确率和用户表征压缩效果,在个人笔记本电脑的浏览器环境下评测客户端模型的运行时性能。服务器和人笔记本电脑(Hasee T97E笔记本)的配置如表1所示。上述实验环境的分配符合基于云‒端融合的个性化推荐系统在真实环境下的使用场景,因此评测实验可以反映该系统在真实环境下的性能表现。

表1 服务器与个人计算机的配置

2.2 推荐准确率

2.2.1评测指标

考虑到用户感兴趣的项目在推荐列表中的排名,可以使用MRR@20作为评测指标,即用户感兴趣的项目在推荐列表中的倒数排名的平均值。若用户感兴趣的项目排名超过20,MRR置为0。MRR比较贴合排名靠后的项目需要滚动屏幕才能看到、绝对排名比较重要的场景。

2.2.2基线模型

本文把基于云‒端融合的个性化推荐服务系统和一系列常用的基线模型进行对比:

1)POP:总是推荐训练集中最流行(即点击次数最多)的项目。

2)S‑POP:总是推荐当前会话中最流行的项目。

3)Item‑KNN[13]:推荐和当前会话中最后一个项目最相似的项目。相似度定义为两个项目出现在不同会话中的余弦相似度,即两个项目共同出现的会话数除以单独出现的会话数的乘积的平方根,且加入了正则化项。

4)BPR‑MF[10]:BPR‑MF通过随机梯度下降优化基于对的(pairwise)排序损失函数。由于新的会话尚未预先计算特征向量,矩阵分解算法不能直接用于基于会话的推荐场景。可以把当前会话中已经点击的项目特征向量的平均值作为用户特征向量,来让该算法重新适用。

5)GRU4REC[5]:GRU4REC将RNN应用于推荐系统,用于抽取用户对内容的偏好时序信息。模型输入一段时间内的点击序列,输出每一个推荐项目被点击的预测概率。模型损失函数有逐点排序损失(交叉熵)和逐对排序损失(基于矩阵分解的BPR和基于正则估计的TOP1)。

如表2,基于RNN的GRU4REC模型的推荐准确率显著高于其他方法,原因是RNN可以提取到用户历史行为数据中的时序信息,基于更多的信息量对未来行为进行推测。

2.2.3超参数设置

用户表征GRU网络的结构和超参数大部分参照了GRU4REC模型[5]中给出的最优组合:GRU层前面没有嵌入层,GRU为1层,GRU单元数为100,GRU层后没有前馈神经网络层;
批量大小(batch size)为50,优化算法为adagrad,学习率为0.01,momentum为0,dropout率为0.5,输出层激活函数为tanh。

2.2.4实验结果分析

如表3,在测试集上分别对3种损失函数的推荐准确率进行测试,其中:w/o表示without,即未进行Lasso处理的模型;
w/表示with,即有Lasso处理的模型。可以发现,对于未进行Lasso处理的模型,采用TOP1损失函数的准确率最高;
对于进行Lasso处理的模型,采用交叉熵损失函数的准确率最高。Lasso的加入对推荐算法的准确率影响很小,甚至对于交叉熵和BPR而言还会让MRR@20小幅提升,这可能是Lasso带来了一定程度的正则化效果,避免了模型过拟合。

表3 本文模型的推荐准确率

将本文模型和基线模型中推荐效果最好的以TOP1为损失函数的GRU4REC模型对比,结果如表4。可以看出,Lasso算法的加入对基于GRU的推荐模型的准确率影响较小,对于交叉熵损失函数甚至达到了和未进行Lasso处理的模型相当的准确率。

表4 本文模型和GRU4REC的准确率

综上所述,基于云‒端融合的个性化推荐系统可以达到和最优基线模型相当的推荐准确率。

2.3 用户表征压缩效果

2.3.1评测指标

为了衡量Lasso对用户表征的稀疏化效果,本文定义稠密度作为评测指标:

为了衡量稀疏编码对用户表征的压缩效果,本文定义压缩率作为评测指标:

2.3.2实验结果分析

如表5,在测试集上分别对3种损失函数的用户表征的压缩效果进行测试。可以看出,对于进行Lasso处理的模型,采用交叉熵损失函数的稀疏化效果和压缩效果最好。同时,Lasso的加入会产生很好的用户表征稀疏化效果和压缩效果,对于交叉熵和BPR损失函数而言,用户表征中值为0的维度的比例都超过了75%,用户表征的体积压缩都在65%左右。

综上所述,基于云‒端融合的个性化推荐系统可以产生很好的用户表征稀疏化效果和压缩效果,从而大幅降低客户端和云端之间的通信成本。

表5 测试集上的用户表征压缩效果

2.4 客户端模型的运行时性能

2.4.1评测指标

为了从多角度评测客户端模型运行时性能和刻画用户体验,选取如下评测指标:CPU占用率、CPU内存占用、GPU内存占用和单次用户表征更新时间。

2.4.2实验结果分析

客户端的用户表征模型每收集一个批次(50条)用户交互记录,就对模型进行一次微调,并根据个性化的用户表征模型更新稀疏化的用户表征。将客户端的用户表征模型部署在个人笔记本电脑的浏览器上,评测用户表征更新时的系统性能,实验结果如表6所示。

从表6可以发现,CPU占用率并没有达到在服务器上训练模型时的100%,而只有62%,这可能是由于TensorFlow.js对浏览器上训练模型的CPU占用率的某种限制,也可能是Chrome浏览器对单个网页的CPU占用率的某种限制。

CPU内存占用为1 030.6 MB,而64-bit Chrome对单个网页的内存限制为1.4~4 GB(取决于Chrome内核版本和配置文件),故客户端模型的内存占用没有超过浏览器对单个进程的内存限制。StackOverFlow建议前端开发者控制单个网页内存到1.2 GB以下,故客户端模型的内存占用没有超过单个网页占用内存的建议值。

GPU内存占用为661 MiB,相当于8.14%的GPU占用率,这对于用户来说是可以接受的。但对于没有独立显卡或独立显卡显存低于661 MiB的个人笔记本电脑,无法使用GPU加速模型训练,这会增加用户表征更新所需时间。

一次用户表征更新所需时间仅53 s,这一方面是由于本文减小了GRU网络的规模,另一方面是由于单个客户端用户交互记录相对较少。此外,在一个更新周期内的其他时间,系统不会训练用户表征模型,而只收集用户交互记录,直到凑满1个更新批次,在此期间,客户端模型的CPU/GPU占用大幅下降,几乎不消耗系统资源。

表6 模型运行时性能的评测指标

综上所述,基于云‒端融合的个性化推荐系统的客户端模型在更新用户表征时,占用的计算资源在用户可接受的范围之内,且更新用户表征消耗的时间很短,不会对用户体验造成显著影响。

本文设计了一个基于云‒端融合的个性化推荐服务系统,并基于TensorFlow.js和TensorFlow面向浏览器平台进行了实现。客户端利用用户隐私数据微调用户表征模型,然后将提取出的用户表征上传到云端。云端根据用户表征和项目表征之间的相关性进行排序,将推荐结果返回到客户端。本文采用1层100个隐藏单元的GRU网络训练用户表征,并通过Lasso算法对其进行稀疏编码,得到压缩的用户表征,从而降低了云端和客户端之间的通信成本和客户端的计算开销。

本文基于RecSys Challenge 2015数据集进行实验,从推荐准确率、用户表征压缩效果、客户端模型运行时性能三个方面对实现的系统进行了性能评估。实验结果表明,推荐准确率(Recall@20=0.618,MRR@20=0.266)与最佳基线模型相当,压缩后的用户表征体积仅为压缩前的34.8%。客户端负载方面,客户端的用户表征模型单次表征更新时间为53 s,在用户表征更新期间,CPU占用率为62.0%,内存占用为1 030.6 MB,显存占用为661 MiB,占用设备的计算资源在用户可以接受的范围之内。

未来可能的工作方向包括:

1)本文以基于RNN的推荐模型为例实现云‒端融合,但云‒端融合的思想和对于通信成本、资源占用等挑战的解决方案是通用的。未来可以考虑在不同已有推荐系统中实现云‒端融合,形成面向推荐系统的云‒端融合通用解决方案。

2)考虑到在真实环境下实时推荐系统的性能和保护用户隐私的要求,本文在云端的推荐排序模型只是对用户表征和项目表征进行简单的内积操作并排序。由于不能获取用户ID的限制,基于云‒端融合的个性化推荐系统可能从根本上无法在云端部署基于机器学习的排序模型。未来可以考虑设计基于联邦学习[14-15]等分布式机器学习系统的个性化推荐系统。

3)本文通过显式减小RNN规模的方式来降低客户端模型的计算资源占用,未来可以考虑尝试成熟的模型压缩算法[16-18]和训练加速算法[19]。

4)本文采用将用户表征上传到云端的方式完成推荐,然而,攻击者可能通过用户表征推测出用户的身份和兴趣,增加了隐私泄露的风险。一种可行的解决方案是将推荐项目的集合下载到客户端,只在客户端完成推荐,然而推荐项目集合的大小远大于用户可以承受的通信开销和存储开销。未来可以考虑通过过滤算法[1-2]缩小推荐项目集合,将候选集下载到客户端,与用户表征协同完成排序和推荐,进一步降低隐私泄露风险。

[1] GOLDBERG D, NICHOLS D, OKI B M, et al. Using collaborative filtering to weave an information tapestry[J]. Communications of the ACM, 1992, 35(12):
61-70.

[2] SARWAR B, KARYPIS G, KONSTAN J, et al. Item-based collaborative filtering recommendation algorithms[C]// Proceedings of the 10th International Conference on World Wide Web. New York:
ACM, 2001:
285-295.

[3] CHENG H T, KOC L, HARMSEN J, et al. Wide & deep learning for recommender systems[C]// Proceedings of the 1st Workshop on Deep Learning for Recommender Systems. New York:
ACM, 2016:
7-10.

[4] GUO H, TANG R, YE Y, et al. DeepFM:
a factorization-machine based neural network for CTR prediction[C]// Proceedings of the 26th International Joint Conference on Artificial Intelligence. California:
ijcai.org, 2017:
1725-1731.

[5] HIDASI B, KARATZOGLOU A, BALTRUNAS L, et al. Session-based recommendations with recurrent neural networks[EB/OL]. (2016-03-29)[2021-09-08].https://arxiv.org/pdf/1511.06939.pdf.

[6] HIDASI B, QUADRANA M, KARATZOGLOU A, et al. Parallel recurrent neural network architectures for feature-rich session-based recommendations[C]// Proceedings of the 10th ACM Conference on Recommender Systems. New York:
ACM, 2016:
241-248.

[7] BOGINA V, KUFLIK T. Incorporating dwell time in session-based recommendations with recurrent neural networks[C]// Proceedings of the 1st Workshop on Temporal Reasoning in Recommender Systems co-located with 11th International Conference on Recommender Systems. Aachen:
CEUR-WS.org, 2017:
57-59.

[8] JANNACH D, LUDEWIG M. When recurrent neural networks meet the neighborhood for session-based recommendation[C]// Proceedings of the 11th ACM Conference on Recommender Systems. New York:
ACM, 2017:
306-310.

[9] XU M W, QIAN F, MEI Q Z, et al. DeepType:
on-device deep learning for input personalization service with minimal privacy concern[J]. Proceedings of the ACM on Interactive, Mobile, Wearable and Ubiquitous Technologies, 2018, 2(4):
No.197.

[10] RENDLE S, FREUDENTHALER C, GANTNER Z, et al. BPR:
Bayesian personalized ranking from implicit feedback[C]// Proceedings of the 25th Conference on Uncertainty in Artificial Intelligence. Arlington, VA:
AUAI Press, 2009:
452-461.

[11] OKURA S, TAGAMI Y, ONO S, et al. Embedding-based news recommendation for millions of users[C]// Proceedings of the 23rd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. New York:
ACM, 2017:
1933-1942.

[12] BURGES C J C. From RankNet to LambdaRank to LambdaMART:
an overview:
MSR-TR-2010-82[R/OL]. (2010-06)[2021-09-08].https://www.microsoft.com/en-us/research/wp-content/uploads/2016/02/MSR-TR-2010-82.pdf.

[13] DAVIDSON J, LIEBALD B, LIU J N, et al. The YouTube video recommendation system[C]// Proceedings of the 4th ACM Conference on Recommender Systems. New York:
ACM, 2010:
293-296.

[14] McMAHAN B, MOORE E, RAMAGE D, et al. Communication-efficient learning of deep networks from decentralized data[C]// Proceedings of the 20th International Conference on Artificial Intelligence and Statistics. New York:
JMLR.org, 2017:
1273-1282.

[15] BONAWITZ K, EICHNER H, GRIESKAMP W, et al. Towards federated learning at scale:
system design[C/OL]// Proceedings of the 2nd Machine Learning and Systems. [2021-11-01].https://proceedings.mlsys.org/paper/2019/file/bd686fd640be98efaae0091fa301e613-Paper.pdf.

[16] HAN S, MAO H Z, DALLY W J. Deep compression:
compressing deep neural network with pruning, trained quantization and Huffman coding[EB/OL]. (2016-02-15)[2021-09-12].https://arxiv.org/pdf/1510.00149.pdf.

[17] HINTON G, VINYALS O, DEAN J. Distilling the knowledge in a neural network[EB/OL]. (2015-03-09)[2021-10-16].https://arxiv.org/pdf/1503.02531.pdf.

[18] ZHU M H, GUPTA S. To prune, or not to prune:
exploring the efficacy of pruning for model compression[EB/OL]. (2018-02-13)[2021-10-08].https://openreview.net/pdf?id=Sy1iIDkPM.

[19] CHEN T, SUN Y Z, SHI Y, et al. On sampling strategies for neural network-based collaborative filtering[C]// Proceedings of the 23rd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. New York:
ACM, 2017:
767-776.

Personalized recommendation service system based on cloud-client-convergence

HAN Jialiang1, HAN Yudong1, LIU Xuanzhe1, ZHAO Yaoshuai2,3, FENG Di2,3*

(1(),100871,;
2,101318,;
3,,101318,)

Mainstream personalized recommendation systems usually use models deployed in the cloud to perform recommendation, so the private data such as user interaction behaviors need to be uploaded to the cloud, which may cause potential risks of user privacy leakage. In order to protect user privacy, user-sensitive data can be processed on the client, however, there are communication bottleneck and computation resource bottleneck in clients. Aiming at the above challenges, a personalized recommendation service system based on cloud-client-convergence was proposed. In this system, the cloud-based recommendation model was divided into a user representation model and a sorting model. After being pre-trained on the cloud, the user representation model was deployed to the client, while the sorting model was deployed to the cloud. A small-scale Recurrent Neural Network (RNN) was used to model the user behavior characteristics by extracting temporal information from user interaction logs, and the Lasso (Least absolute shrinkage and selection operator) algorithm was used to compress user representations, thereby preventing a drop in recommendation accuracy while reducing the communication overhead between the cloud and the client as well as the computation overhead of the client. Experiments were conducted on RecSys Challenge 2015 dataset, and the results show that the recommendation accuracy of the proposed system is comparable to that of the GRU4REC model, while the volume of the compressed user representations is only 34.8% of that before compression, with a lower computational overhead.

personalized recommendation service system; cloud-client-convergence; user representation model; privacy-preserving; Recurrent Neural Network (RNN)

This work is partially supported by PKU-Baidu Fund (2020BD007).

HAN Jialiang, born in 1997, Ph. D. candidate. His research interests include distributed machine learning, federated learning, recommender system.

HAN Yudong, born in 2000, Ph. D. candidate. His research interests include distributed machine learning, Web system.

LIU Xuanzhe, born in 1980, Ph. D., associate professor. His research interests include service computing, system software.

ZHAO Yaoshuai, born in 1977, M. S., senior engineer. His research interests include big data, artificial intelligence.

FENG Di, born in 1981, M. S., engineer. Her research interests include civil aviation passenger behavior analysis, data analysis.

TP311

A

1001-9081(2022)11-3506-07

10.11772/j.issn.1001-9081.2021111992

2021⁃11⁃23;

2022⁃01⁃12;

2022⁃01⁃17。

北大百度基金资助项目(2020BD007)。

韩佳良(1997—),男,北京人,博士研究生,CCF会员,主要研究方向:分布式机器学习、联邦学习、推荐系统;
韩宇栋(2000—),男,山东东营人,博士研究生,主要研究方向:分布式机器学习、Web系统;
刘譞哲(1980—),男,甘肃兰州人,副教授,博士,CCF会员,主要研究方向:服务计算、系统软件;
赵耀帅(1977—),男,山东嘉祥人,高级工程师,硕士,主要研究方向:大数据、人工智能;
冯迪(1981—),女,湖北潜江人,工程师,硕士,主要研究方向:民航旅客行为分析、数据分析。

猜你喜欢 排序云端客户端 你的手机安装了多少个客户端新作文(高中版)(2022年5期)2022-11-22——稳就业、惠民生,“数”读十年成绩单">“人民网+客户端”推出数据新闻
——稳就业、惠民生,“数”读十年成绩单人民周刊(2022年17期)2022-10-21四海心连·云端汇聚华人时刊(2022年5期)2022-06-05作者简介名家名作(2021年4期)2021-05-12在云端永生奥秘(2020年6期)2020-06-30云端之城现代装饰(2020年5期)2020-05-30恐怖排序科普童话·学霸日记(2020年1期)2020-05-08节日排序小天使·一年级语数英综合(2019年2期)2019-01-10媒体客户端的发展策略与推广模式中国记者(2016年2期)2016-05-25在云端人力资源(2015年7期)2015-08-06

推荐访问:个性化 融合 推荐