一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

个性化多视图联邦推荐系统的制作方法

2022-06-02 16:29:18 来源:中国专利 TAG:


1.本发明属于数据科学与大数据技术领域,具体涉及一种基于多视图学习、元学习以及联邦学习的面向隐私保护的个性化多视图联邦推荐系统。
技术背景
2.随着信息技术与互联网技术的飞速发展,人们从信息匮乏的时代步入了信息过载的时代。以电子商务平台为例,为了满足用户的各种需求,商品信息量迅速膨胀。一方面,用户经常会迷失在海量的商品信息空间中,无法快速且顺利地找到自己需要的商品;另一方面,大量商品面临着无法被精准推送给目标人群的困境,造成商家获客难、平台盈利难的双重问题。在此背景下,推荐系统应运而生。经过二十余年的积累和沉淀,推荐系统现已被广泛地应用于电子商务、社交网络、在线广告以及流媒体等诸多领域。近年来,伴随着机器学习与深度学习技术的发展,工业界和学术界对推荐系统的研究热情更加高涨,继续挖掘推荐系统中的潜在问题并做出与时代同步的改进具有明显价值。
3.推荐系统认为,用户的属性以及与物品的历史交互行为等数据暗藏了用户的偏好,物品的属性以及描述文字等数据则隐含了其所指向的特定群体。因此,通过分析上述数据,对用户和物品进行建模,推荐系统就能够实现预测用户对某种物品感兴趣程度的功能,然后根据这种感兴趣程度的高低来主动地为用户推荐物品,从而实现对用户个性与偏好的妥善捕捉,并更好地发掘长尾信息,利于获取更多细分市场的利润。推荐系统发展至今,已逐步实现了从基于内容的朴素推荐,到基于协同过滤的中阶推荐,再到基于深度学习的高阶推荐算法的跨越,将更大规模与更为精准的推荐变为可能。目前,多样化的数据融合是推荐系统的研究热点之一。诸多学者已尝试将“多视图学习”引入至推荐算法之中,相关实验亦表明有效利用多源数据能够显著地提高模型预测精度。
4.推荐系统的成功,得益于对海量用户数据的广泛采集、分析和集中存储。推荐系统在实施前述推荐行为时,不可避免地会使用到用户的一些敏感信息。这些信息可能包括用户的年龄、性别、住址等属性数据,以及浏览记录、评分记录、行程记录等交互数据。与此同时,移动互联网的崛起,使得人们得以摆脱固定终端的束缚。通过携带便携式智能手机、可穿戴设备、平板电脑等设备,人们可以随时随地在互联网上进行工作、社交、购物以及其他活动。用户数据的体量实现了指数级增长,用户数据的形式也变得更为多样。除了前述的用户属性和交互数据以外,诸如健康状况、地理位置等更为私密的数据也被移动设备实时收集,并定期发送给第三方用于数据挖掘相关的服务。诚然,此类服务能够在一定程度上提升用户体验,为用户带来便利。但是,上述信息均触及到了用户的隐私红线,一旦被滥用或泄露将给用户造成极大的困扰并带来难以估量的风险。
5.近年来,大众对个人隐私愈发重视,学界对数据伦理的讨论进入了白热化,大型公司对数据安全的保护意识日益增强。如何更好地保护用户的隐私以及加强数据的安全性,已经成为了一项全球性的命题。目前,世界各国都在加强保障数据安全和维护用户隐私的法律法规。然而,相关条例和法规的出台给人工智能中的数据交互带来了全新的挑战,即平
台与用户之间就此形成了数据壁垒,平台与第三方的数据共享也将受到严格地限制和监管。如何合法、合规地解决数据碎片与数据隔离问题,现已成为人工智能领域的研究者和从业者所面临的主要挑战。由此,美国某公司于2016年首次提出了“联邦学习”这一概念,试图破解数据孤岛和隐私保护的难题。联邦学习是一种特殊的分布式机器学习框架,它要求任何参与联邦过程的协作方的本地原始数据都不会被暴露,从而有效地保护用户隐私和数据安全。
6.现有技术或着眼于联邦推荐系统的底层设计,或聚焦于联邦推荐系统的实质应用。它们针对联邦推荐系统均做出了广泛的探索和有益的实现,但其发明技术本身仍存在着一些无法忽视的局限性。
7.具体而言,现有技术所存在的问题可归纳为以下四个方面:
8.(1)部分技术所提出的联邦推荐方法面向的是特定的场景与应用,而未能给出普适的技术框架。例如,公开号“cn113158241a”描述了一种基于横向联邦学习的岗位推荐算法。它将若干用户的简历特征与浏览过的目标岗位特征进行联合训练,最终实现保护简历隐私的同时进行岗位匹配,但它仅适用于人力资源管理这一场景。
9.(2)部分技术所提出的联邦推荐方法基于的是传统的模型与算法,而未能结合前沿的神经网络。例如,公开号“cn112287244a”提出了一种基于联邦学习的产品推荐方法。它以早期的协同过滤模型作为底层算法,进行用户与产品以及产品之间相似度的训练,并依据相似度对产品进行聚类及排序,却未更充分地挖掘用户表征。
10.(3)部分技术所提出的联邦推荐方法针对的是单一的交互型数据,而未能解决用户冷启动问题。例如,公开号“cn111339412a”给出了一种基于纵向联邦学习的推荐召回方法。它仅使用用户行为数据矩阵作为训练数据源,来生成待预测用户数据对应的物品召回集,然而新用户往往不具备历史数据,这导致了用户冷启动问题。
11.(4)部分技术所提出的联邦推荐方法训练的是共享的全局化模型,而未能适应客户端的差异性。例如,公开号“cn113626687a”实现了一种基于联邦学习的在线课程推荐系统。它根据本地数据计算梯度并发送给中央服务器,服务器完成梯度聚合并回传给本地设备进行更新,差异较大的用户之间却仍共享一套模型参数实施推荐。


技术实现要素:

12.本发明解决了以下现有技术所存在的四个问题:
13.(1)算法框架的普适性,即:现有技术所设计的算法框架难以适用于绝大多数的应用场景和领域;
14.(2)底层模型的深度性,即:现有技术所使用的底层模型尚未适度引入机器学习或深度学习模型;
15.(3)原始数据的多源性,即:现有技术所采用的原始输入未能涵括不同来源以及不同形式的数据;
16.(4)数据分布的差异性,即:现有技术所生成的全局模型从未完成在联邦客户端上的个性化微调。
17.实现本发明目的的具体技术方案是:
18.一种个性化多视图联邦推荐系统,特点是该系统包括一个中央服务器及数个用户
客户端,其中,任意一个用户客户端的内部结构均相同,任意一个用户客户端之内包含训练模块及预测模块;中央服务器内部、中央服务器与任意一个用户客户端之间、任意一个用户客户端内部都有着数据流传输;同时,这种数据流的传输是采用同步传输的方式,即各模块间的数据交换是非异步且由统一时钟信号调配;所述的训练模块和预测模块各自包含数个分别用于完成训练任务和预测任务的子模块;
19.所述中央服务器,包括更新协调模块及数据计算模块;
20.所述数据计算模块分别对来自数个用户客户端的物品梯度数据与用户梯度数据执行聚合操作,所述聚合操作在中央服务器与任意一个用户客户端之间进行;
21.所述更新协调模块协调来自任意用户客户端的单一梯度数据和来自数据计算模块的聚合梯度数据在任意用户客户端内的训练模块与中央服务器内的更新协调模块之间的传输;所述协调,这一操作在中央服务器内部完成,并通过安全聚合协议来保障数据传输过程中进入数据计算模块内部的单一梯度数据被远程安全聚合;远程安全聚合是指在安全聚合协议的控制之下对来自数个用户客户端的用户梯度数据或物品梯度数据执行加密并上传至中央服务器,中央服务器对梯度数据完成解密后再对其执行聚合;
22.所述任意用户客户端内的训练模块,包括数据分发子模块、梯度计算子模块、梯度聚合子模块、模型更新子模块、模型微调子模块、用户数据仓库及物品数据仓库;训练模块内部的子模块与数据仓库相互协作完成训练算法的执行;
23.所述用户数据仓库和物品数据仓库,分别在任意用户客户端的本地设备之中存储用户数据和物品数据;用户数据是指任意用户客户端上用户在各应用视图之内产生的历史交互行为数据集;物品数据是指推荐服务提供商经由中央服务器分发至任意用户客户端上的待推荐物品数据集;
24.所述数据分发子模块与中央服务器内的更新协调模块以及训练模块内的模型更新子模块发生交互,承担着承上启下的数据枢纽的作用;一方面,上传来自模型更新子模块的本地安全聚合后的梯度数据至中央服务器,接收来自中央服务器的物品数据集与远程安全聚合后的梯度数据;另一方面,把来自中央服务器的远程安全聚合后的梯度数据传递给模型更新子模块;本地安全聚合是指对任意用户客户端内部产生的梯度数据执行随机采样、梯度裁剪以及高斯加噪后再进行聚合;
25.所述梯度计算子模块计算训练算法中物品子模型和用户子模型依据目标函数进行迭代拟合后的梯度下降结果,缓存来自梯度聚合子模块的本地梯度下降聚合结果;
26.所述梯度聚合子模块聚合梯度计算子模块中产生的梯度下降结果,并对梯度下降结果执行随机采样、梯度裁剪以及高斯加噪,从而实现梯度下降结果的本地安全聚合;
27.所述模型更新子模块对当前轮次的模型训练进行更新,即从数据分发子模块中分别获取来自中央服务器的远程安全聚合后的物品子模型梯度和用户子模型梯度,分别利用物品子模型梯度和用户子模型梯度对物品子模型和用户子模型执行梯度下降;一旦当前的训练次数达到预设的迭代上限值或全局模型已收敛,模型更新子模块便将全局模型发送给模型微调子模块;全局模型是指模型更新子模块利用远程聚合梯度对用户子模型和物品子模型执行梯度下降之后得到的用户子模型和物品子模型;
28.所述模型微调子模块调用本地的用户数据和物品数据,对全局用户子模型和全局物品子模型分别进行有限轮次的本地训练迭代,使全局模型更加符合任意用户自身本地数
据的数据分布,从而完成全局模型在任意用户客户端上的个性化微调;
29.个性化微调后的全局模型的模型参数分别存储于用户数据仓库和物品数据仓库之中,并通过训练模块和预测模块之间的数据管道被进一步传送至与训练模块相邻的预测模块中的用户模型仓库和物品模型仓库之中;
30.所述任意用户客户端内的预测模块,包括语义计算子模块、交互计算子模块、概率聚合子模块、概率排序子模块、推荐输出子模块、用户模型仓库及物品模型仓库;预测模块内的子模块与模型仓库相互协作完成预测算法的执行;
31.所述用户模型仓库和物品模型仓库,分别在任意客户端的本地设备之中存储用户模型和物品模型;
32.所述用户模型是指任意用户客户端利用本地的用户数据,经由训练算法进行用户模型训练后,获得的一组关于用户数据的深度语义匹配模型的神经网络参数;
33.所述物品模型是指任意用户客户端利用本地的物品数据,经由训练算法进行物品模型训练后,获得的一组关于物品数据的深度语义匹配模型的神经网络参数;
34.所述语义计算子模块分别利用用户模型与物品模型,通过深度语义匹配网络的前向传播过程,获得用户模型对应的用户语义向量和物品模型对应的物品语义向量;
35.所述交互计算子模块计算任一用户语义向量与物品语义向量之间发生潜在交互的后验概率值;
36.所述概率聚合子模块对交互计算子模块输出的数个后验概率值执行聚合,获得任一待推荐物品在当前用户客户端上发生交互的后验概率值;
37.所述概率排序子模块将概率聚合子模块输出的若干个待推荐物品在当前用户客户端上发生交互的后验概率值,按照降序或升序进行排序;
38.所述推荐输出子模块输出概率排序中任一概率所对应的待推荐物品,获得推荐物品序列,完成个性化多视图联邦推荐。
39.所述训练算法具体包括:
40.a)数据分发阶段
41.将某一待推荐应用后台系统所提供的待推荐物品数据集i由中央服务器s分发至各个用户客户端;
42.b)梯度计算阶段
43.在任意一个用户客户端视图i内,将依据第i个视图的私有用户数据以及本地共享的物品数据集i来计算用户子模型和物品子模型的梯度;
44.c)梯度聚合阶段
45.用户子模型和物品子模型的梯度先分别在本地进行聚合,本地聚合完毕后的本地用户子模型梯度和本地物品子模型梯度再被分别加密传输至中央服务器s完成全局聚合;
46.d)模型更新阶段
47.中央服务器s将全局聚合完毕后的全局用户子模型梯度和全局物品子模型梯度回传给各个用户客户端进行用户子模型和物品子模型的更新;
48.e)模型微调阶段
49.当全局模型训练收敛或达到设定的最大迭代次数后,用户客户端上的子模型将随机采样自身的私有数据,在本地再次进行有限批次的训练,最终得到经过多方、多视图联邦
训练且个性化适应与微调的推荐模型。
50.所述预测算法具体包括:
51.a)语义计算阶段
52.用户客户端利用物品子模型提供的参数,通过深度语义匹配模型的前向传播过程,预先计算出所有的e个待推荐物品的语义向量;
53.b)交互计算阶段
54.用户客户端利用用户子模型提供的参数,通过深度语义匹配模型的前向传播过程,依次计算出任一用户视图的语义向量;然后,计算出任一用户视图的语义向量与任一待推荐物品的语义向量发生潜在交互的后验概率值
55.c)概率聚合阶段
56.对若干个发生潜在交互的后验概率值进行本地安全聚合,得到任一待推荐物品在该用户客户端上发生交互的后验概率值
57.d)概率排序阶段
58.对若干个后验概率值进行降序或升序排列;
59.e)推荐输出阶段
60.取出前k个概率值所对应的待推荐物品序列,这一待推荐物品序列即是为该用户客户端所推荐的物品序列。
61.本发明与现有技术相比,主要具有以下有益效果:
62.(1)本发明的算法框架适用于绝大多数的联邦推荐应用场景。工业界大都使用基于内容的推荐算法作为最基本的算法,因为其具有较好的可解释性。具体而言,推荐系统的本质是相似度的计算,基于内容的推荐算法会首先分别构造商品与用户的画像,然后根据二者相似度计算结果进行排序,从而产生推荐。本发明正是基于内容的推荐算法所设计并实现的,因此对于任何基于内容的推荐系统,均可使用本发明所提供的系统算法框架来实现推荐,同时有效地保护用户隐私。
63.(2)本发明的底层模型引入了深度神经网络来处理海量特征。随着用户侧与商品侧两侧数据体量的爆发式增长,工业界已有将深度神经网络模型接入至其推荐业务中的成功案例。深度神经网络能够处理海量数据,并可通过各类变换对数据中的复杂关系进行较好地拟合,即对商品与用户的特征进行深层次地挖掘。本发明中设置了若干个基于深度语义匹配模型的双塔模型,实现了对用户侧与商品侧两侧大体量数据的快速地处理,以及通过各类变换对两侧数据中的复杂关系进行较好地拟合。
64.(3)本发明的原始输入涵括了不同来源以及不同形式的数据。以用户侧为例,便携设备正变得愈发智能、互联和互通,用户通过使用这些设备及其搭载的若干应用程序,将诸如个体属性、评分信息、浏览记录以及健康状况等若干不同视图的数据存储于设备本地。对于推荐系统而言,若能够安全、有效且综合地利用起这些多源视图数据,势必能给推荐系统的推荐精准度带来相当程度的提升与增益。本发明安全、有效且综合地利用了移动便携设备中若干应用程序内产生的若干视图数据。特别地,本发明中多视图的设定,在一定程度上缓解了推荐冷启动的难题,即使某一用户在某一视图内为全新用户(即从未有过任何历史交互数据),依旧能从联合其他视图与全局推荐模型中获益。在本发明的预实验中,以
movielens-100k(电影推荐)作为训练与测试数据集,仅使用多用户、单视图的单源数据的全局联邦推荐精度最大值为0.8445,而本发明使用多用户、多视图数据的全局联邦推荐精度最佳值为0.8986,提升了5个百分点,增益显著。
65.(4)本发明的全局模型完成了在联邦客户端上的个性化微调。联邦学习与推荐系统的结合尚处于探索阶段,现有技术大都使用经典的联邦平均算法来完成联邦学习过程。联邦平均算法以简单且可行的方式将各用户自身训练的权重进行整合,从而获得一个公用的融合模型。然而,当各客户端上的数据为非独立同分布时,该全局模型往往无法满足各客户端的需求,即应对各客户端进行个性化定制。本发明将元学习中经典的reptile算法移植到了多视图联邦推荐的训练阶段中,以简单且可行的方式实现了对联邦全局模型在用户客户端上的迭代微调。在本发明的预实验中,以产生全局最佳值0.8986的用户客户端为观察对象,实施联邦训练后的微调步骤后,推荐精度最佳值为0.9107,提升了1.2个百分点,与集中式训练的0.9202接近,效果明显。
附图说明
66.图1为多用户与多视图的应用场景示意图;
67.图2为本发明的结构示意图;
68.图3为本发明的底层模型示意图;
69.图4为本发明的训练算法示意图;
70.图5为本发明的预测算法示意图。
具体实施方式
71.以下结合附图及实施例对本发明作详细描述。
72.参阅图1,设有若干个用户客户端,它们在地理上是分散的,并通过互联网接入的方式实现通信。在任意一个用户客户端内,存在着一个或多个视图,在视图内产生的数据存储于客户端本地设备之中。对应于现实世界,一个常见的应用场景是:用户客户端为用户的便携式移动设备(例如,智能手机、平板电脑、智能手表等),运行在该设备上的若干个应用程序即为若干个视图,用户在应用程序内进行交互产生的众多数据(例如,属性字段、浏览记录、评分评价等)即为用户在视图内产生的数据。理论上,这些若干视图的数据能够更加综合地反映该用户的兴趣偏好,并通过其他视图数据之间的互补性来弥补用户在当前视图内信息缺失,进而有效缓解推荐系统普遍面临的“冷启动”问题。因此,在对海量用户进行物品推荐时,本发明所述的个性化多视图联邦推荐系统,综合地利用了多视图学习、联邦学习以及元学习三大计算机技术,以有效且安全的方式达成多用户与多视图之间的协作,从而实现更为精准的物品推荐。
73.参阅图2,为本发明系统结构图,展示了本发明系统的模块组件与数据流动。本发明系统由中央服务器与若干个用户客户端构成(简单起见,图2中仅示意一个用户客户端),其中任意用户客户端内包含训练模块与预测模块,中央服务器内部、中央服务器与任意一个用户客户端之间、任意一个用户客户端内部都有着数据流传输。同时,这种数据流的传输是采用同步传输的方式,即各模块间的数据交换是非异步且由统一时钟信号调配。此外,训练模块和预测模块的内部都各自包含有数个分别用于完成训练任务和预测任务的子模块
以及数据或模型仓库。
74.中央服务器由更新协调模块与数据计算模块构成。数据计算模块分别对来自数个用户客户端的物品梯度数据与用户梯度数据执行聚合操作,这一聚合操作在中央服务器与任意一个客户端之间进行。更新协调模块协调来自任意用户客户端的单一梯度数据和来自数据计算模块的聚合梯度数据在任意用户客户端内的训练模块与中央服务器内的更新协调模块之间的传输,这一协调操作是在中央服务器内部完成的,并通过安全聚合协议来保障数据传输与汇集的过程中进入数据计算模块内部的单一梯度数据被远程安全聚合。所谓远程安全聚合,是指在安全聚合协议的控制之下对来自数个用户客户端的用户梯度数据或物品梯度数据执行加密并上传至中央服务器,中央服务器对梯度数据完成解密后再对其执行聚合。
75.任意一个用户客户端的内部结构均是相同的,整体上可划分为训练模块与预测模块这两个主要的功能模块,这两个主模块各自包含数个用于分别完成训练任务与预测任务的子模块。训练模块由数据分发子模块、梯度计算子模块、梯度聚合子模块、模型更新子模块、模型微调子模块一共五个子模块构成,它们对应于后续“训练算法”中所述的五个处理阶段。训练模块内包含两个数据仓库,分别在任意用户端的本地设备上存储用户数据和物品数据;用户数据是指任意用户客户端上用户在各应用视图之内产生的历史交互行为数据集;物品数据是指推荐服务提供商经由中央服务器分发至任意用户客户端上的待推荐物品数据集。预测模块由语义计算子模块、交互计算子模块、概率聚合子模块、概率排序子模块、推荐输出子模块一共五个子模块构成,它们对应于后续“预测算法”中所述的五个处理阶段。预测模块内包含两个模型仓库,分别在任意客户端的本地设备上存储用户模型和物品模型;用户模型是指任意用户客户端利用本地的用户数据,经由训练算法进行用户模型训练后,获得的一组关于用户数据的深度语义匹配模型的神经网络参数;物品模型是指任意用户客户端利用本地的物品数据,经由训练算法进行物品模型训练后,获得的一组关于物品数据的深度语义匹配模型的神经网络参数。
76.更为具体地,在任意客户端的训练模块内部,数据分发子模块与中央服务器内的更新协调模块以及训练模块内的模型更新子模块两者发生交互,承担着承上启下的数据枢纽的作用:一方面,上传来自模型更新子模块的本地安全聚合后的梯度数据至中央服务器,接收来自中央服务器的物品数据集与远程安全聚合后的梯度数据;另一方面把来自中央服务器的远程安全聚合后的梯度数据传递给模型更新子模块。所谓本地安全聚合,是指对任意用户客户端内部产生的梯度数据执行随机采样、梯度裁剪以及高斯加噪后再进行聚合。梯度计算子模块计算训练算法中物品子模型和用户子模型依据目标函数进行迭代拟合后的梯度下降结果,缓存来自梯度聚合子模块的本地梯度下降聚合结果。梯度聚合子模块聚合梯度计算子模块中产生的梯度下降结果,并对梯度下降结果执行随机采样、梯度裁剪以及高斯加噪,从而实现梯度下降结果的本地安全聚合。模型更新子模块对当前轮次的模型训练进行更新,即从数据分发子模块中分别获取来自中央服务器的远程安全聚合后的物品子模型梯度和用户子模型梯度,分别利用物品子模型梯度和用户子模型梯度对物品子模型和用户子模型执行梯度下降。一旦当前的训练次数达到预设的迭代上限或全局模型已收敛,模型更新子模块便将全局的用户子模型和物品子模型发送给模型微调子模块。所谓全局模型,是指利用远程聚合梯度对用户子模型和物品子模型执行梯度下降之后得到的用户
子模型和物品子模型;所谓全局,是指该新模型的产生综合使用了来自数个用户客户端的梯度信息。模型微调子模块将再次调用本地的用户数据和物品数据,对全局的用户子模型和物品子模型分别进行有限轮次的本地训练迭代,使全局模型更加符合任意用户自身本地数据的分布,从而完成全局模型在任意用户客户端上的个性化微调。微调后的模型参数将分别存储于训练模块内的用户数据仓库和物品数据仓库,并通过训练模块和预测模块之间的数据管道进一步传送至预测模块中的用户模型仓库和物品模型仓库之中。预测模块内部的语义计算子模块将分别利用用户模型与物品模型,通过深度语义匹配网络的前向传播过程,计算出用户模型对应的用户语义向量和物品模型对应的物品语义向量。两类语义向量将一同进入交互计算子模块中,获得任一用户语义向量与物品语义向量之间发生潜在交互的后验概率值。进一步地,这些概率值将在概率聚合子模块中得到聚合,获得任一待推荐物品在当前用户客户端上发生交互的后验概率值。接着,把若干个待推荐物品在当前用户客户端上发生交互的概率按照降序或升序进行排序。最后,输出概率排序中任一概率所对应的待推荐物品,获得当前用户客户端上的推荐物品序列,完成个性化多视图联邦推荐。
77.本发明系统主要包括两大任务的顺序执行:一是训练任务,即:本发明系统在切实保护用户隐私的前提下,以联合多个用户客户端及客户端内的多个应用视图的方式来完成推荐系统中用户模型与物品模型的生成;二是预测任务,即:本发明系统在给定待推荐物品集合的前提下,依据用户特征、物品特征以及对应的用户模型、物品模型来完成针对某一特定用户的推荐列表的生成。
78.接下来,将着重介绍本发明的技术方案中的三个重要组成部分。第一是本发明所采用的基本模型与基本方法,主要介绍:本发明中所使用的现有深度模型和参数聚合方法;第二是本发明所设计并实现的训练算法,主要描述:如何联合多个客户端及客户端内多个视图以安全且有效的方式来完成推荐系统中用户模型与物品模型的生成;第三是本发明所设计并实现的预测算法,主要说明:如何依据用户特征、物品特征以及用户模型、物品模型来完成推荐系统中针对某一用户待推荐物品列表的排序。
79.一、基本模型与基本方法
80.(1)深度语义匹配模型
81.深度语义匹配模型(deep structured semantic models,缩写为dssm)最初是为搜索引擎而设计的,它可以通过多层神经网络从用户的查询词和候选文档中提取语义向量,然后利用余弦相似度来衡量查询词与候选文档在同一语义空间中的相关性。在本发明的技术方案中,采用dssm作为底层的基本模型,并将其扩展为了联邦场景下的多视图dssm。简而言之,dssm模型是一个通过把搜索关键词和文档注入到低维空间并计算两者相似度的具有多层神经网络结构的隐含语义模型,通过最大化给出训练数据中搜索关键词点击过的文档的条件概率来训练学习。dssm模型的原始论文请查阅:https://dl.acm.org/doi/abs/10.1145/2505515.2505665。
82.参阅图3,在本发明的推荐系统设计中,把搜索引擎所常用的dssm模型移植到了推荐算法中,并将其扩展为联邦推荐场景下的多视图dssm,从而将其作为了本发明系统的底层模型。如图所示,可以将dssm模型视为一种“双塔”结构,其中左塔代表用户的查询,右塔则代表待匹配的文档。本发明对用户查询和候选文档进行了改造,即:dssm的用户查询在本发明中相当于用户客户端中第i个视图ui的用户特征(用户数据),而候选文档在本发明中
则相当于待推荐的物品集合i(物品数据)。dssm模型的本质是一种两路输入、单路输出的多层神经网络,它能够将任意查询或文档语料转换为对应的语义向量,从而通过计算查询语义向量和文档语义向量之间的余弦相似度来判断它们之间是否存在相关性。这与推荐系统的目标是不谋而合的,即需要衡量某一用户与某一物品之间的相关程度,从而形成偏好性并给出推荐。参阅图4,本发明系统的任意用户客户端中都存在数个dssm模型,它们的双塔对应着某一用户视图和固定的物品数据,而本发明系统的训练算法的目标则是最大化它们的塔尖所输出的余弦相似度。
83.更为具体地,若令x为查询词和候选文档的原始特征向量,y为它们的语义向量,li(i=2,3,

n-1)为位于dssm模型中间的隐藏层,wi为第i个权重矩阵,bi为第i个偏置项,f为dssm模型的映射函数;注意,dssm模型设定为n层,则第1层为输入层,第2~(n-1)层为隐藏层,第n层为输出层。那么,可以定义dssm的前向传播过程为:
84.l1=w1x,
85.li=f(wil
i-1
bi)(i∈{2,3,

,n-1}),
86.y=f(wnl
n-1
bn).
87.而查询词q与候选文档d之间的语义相关度r可通过下式来衡量:
[0088][0089]
其中,yq和yd分别是指查询词q与某一候选文档d的语义向量,cosine(yq,yd)表示对向量yq和向量yd进行余弦相似度的计算,y
qt
表示对向量yq进行转置,||yq||表示取向量yq的模长,‖yd‖表示取向量yd的模长。
[0090]
假设一个查询与查询后点击的文档是正相关的,并且dssm的参数(即权重矩阵w)会基于此假设进行优化,即最大化在某一查询下某一文档被点击的条件似然估计。因此,需要获得在某一查询下某一文档被点击的后验概率,这可以通过计算查询与文档之间的语义相关性并施以softmax函数得到:
[0091][0092]
其中,r(q,d)是指向量q和向量d之间的语义相关度,exp(γr(q,d

))是指以自然常数e为底的γr(q,d

)指数,γ是指平滑系数,r(q,d

)是指向量q和向量d

之间的语义相关度,q是指某一查询向量,d是指某一文档向量,d
*
是指所有候选文档(包括被点击的正例与未被点击的负例,这些若干正例和负例被统称为若干文档d

),是指当向量q出现的前提下向量d与之匹配的条件概率。
[0093]
对应到本发明适用的多视图联邦推荐场景中,可将每个分布式节点(称为“联邦客户端”)上的多视图数据集表示为dn=(u1,i),

,(ui,i),

,(un,i)。其中,所有的用户视图数据集由n个不同的视图ui(i=1,2,

n)生成,待推荐的物品数据集从服务器端下载,例如向用户提供推荐服务的移动应用公司的后端服务平台。本发明通过使用dssm这样的深度模型,从而分别从每个应用视图级别的用户数据集和物品数据集i中提取相应的语义向量。本发明技术方案所提供的训练算法的目标是要为每个用户视图
找到一个非线性映射f(
·
),使得在相同的语义空间之中,所有用户视图数据集u和物品数据集i之间的映射的相似性总和在每个客户端上实现最大化。
[0094]
具体而言,在任意联邦客户端上进行联邦推荐训练的目标(损失)函数定义如下:
[0095][0096]
其中,r(yi,yi,j)是向量yi和向量y
i,j
之间的语义相关度,exp(γr(yi,y
i,j
)/是以自然常数e为底的γr(yi,y
i,j
)指数,γ是指平滑系数,r(yi,fi(x

,wi))是向量yi和向量fi(x

,wi)之间的语义相关度,f(x

,wi)是将向量x

映射至向量wi的空间,wi为dssm传播过程中的第i个权重矩阵,exp(γr(yi,fi(x

,wi)))是以自然常数e为底的γr(yi,fi(x

,wi))指数,s表示(用户~物品)对的正样本(指用户与物品发生了隐式或显式地交互,例如“点击”为隐式,“评分”或“评论”为显式)的数量,λ表示训练神经网络的参数集合,而i是样本j中视图ui的下标,i是待推荐的物品数据集的样本,x

是用户数据集的样本,y则是非线性映射f(x,y)的投影结果,argmax指寻找到实现函数值达到最大的变量值集合。
[0097]
(2)本地与远程安全聚合
[0098]
在联邦学习的技术框架之下,本发明得以在不暴露本地原始数据的前提下联合多个参与方来共同训练一个全局共享的联邦模型。具体而言,在进行联邦学习训练的过程中,子模型在各参与方于自身本地的迭代更新,或者子模型在中央服务器完成全局模型的聚合更新,都是依赖于梯度这样的中间结果参数进行传递和计算的。然而,就算是单纯地传送这样的中间结果也是有潜在的风险的。一方面,在传统的联邦学习设定中,联邦客户端或中央服务器可能会偏离预设的联邦学习协议。例如,向诚实的用户发送错误消息,或者与其他用户分享视图信息等;另一方面,在本发明的联邦多视图学习设定中,某些用户视图可能是不诚实或完全恶意的。例如,恶意视图作为一个应用程序,它可能会监控其他友好视图的网络流量或子模型的变化,而对自身的本地物品模型进行空更新从而推断出其他友好视图的数据更新,甚至反演出原始数据。因此,本发明提出了以下两种安全聚合的思路和方法,以更好地保护用户隐私,保障数据安全:
[0099]

本地安全聚合方法
[0100]
主要用在参与联邦推荐训练的用户客户端(即用户的移动设备)上,完成两项工作:一是安全地聚合若干个用户视图的若干个物品子模型梯度或用户子模型梯度;二是安全地聚合若干个后验概率,每个概率代表根据用户视图ui一件物品与一位用户的兴趣相匹配的程度。具体来说,在对梯度或后验概率这样的数值型数据进行聚合前,利用了差分隐私保护技术,为这些梯度或后验概率逐一添加高斯噪声,从而保护原始的梯度与概率值。以物品子模型的梯度为例,本地安全聚合的主要步骤包括:
[0101]
步骤1:随机子采样。对于每个用户客户端上的n个视图,在进行每一轮联邦训练时,进行随机采样得到视图子集b(|b|《n),其中|b|指子集b的大小。
[0102]
步骤2:梯度裁剪。根据每一个梯度的l2范数进行裁剪。例如,将物品子模型梯度变换为其中c是裁剪阈值,表
示选取1和两者之中的最大值。
[0103]
步骤3:高斯加噪。采用高斯机制,向梯度更新之和加入随机高斯噪声得到加噪后的子模型梯度使用的计算公式为:其中σ是步骤2中进行梯度裁剪前后的标准差,表示随机生成实数0和实数σ2c2范围之内的噪声,|b|指视图子集b的大小。
[0104]

远程安全聚合方法
[0105]
主要用在参与联邦推荐训练的中央服务器上,完成两项工作:一是安全地聚合来自若干个用户客户端的若干个用户子模型梯度二是安全地聚合来自若干用户客户端的若干个物品子模型梯度在中央服务器一端的参数聚合方法已被广泛地研究,并在传统且一般化的联邦学习框架中实现应用。其中,最为经典的方法是由bonawitz等人在2017年的ccs会议上提出的一种安全聚合协议(secure aggregation protocol,sap),而本发明亦使用该协议来实现远程安全聚合。该协议旨在实现聚合服务器只能看到聚合完成之后的梯度,而无法知晓每个用户私有的真实梯度值。该协议适用于大规模移动终端(例如手机)通过一个中央服务器,共同计算各自输入之和的情形,但前提是不向服务器或任意终端泄露某个特定终端的输入,因此也十分符合本发明所需的应用场景。该协议主要利用了秘密共享、密钥协商、认证加密以及数字签名这四种密码学方法。特别地,由于该协议的相关步骤与推导较为繁琐,故这里仅作简单的说明,更多细节请查阅原始论文:https://doi.org/10.1145/3133956.3133982。
[0106]
二、本发明的训练算法
[0107]
参阅图4,设所有的m个用户客户端均是老用户(换言之,他们在自身本地设备上的若干个视图应用中已产生了诸多有用的行为数据。注意,即使某些用户在某些视图内是新用户,即没有任何交互数据,他们也能够因联合其他视图而获益),并且任一用户客户端内所有的n个视图之间已达成协作与实现相互隔离。某一推荐系统的待推荐物品数据集i已由可靠的中央服务器s分发至各个用户客户端。在任意一个用户客户端视图i内,将依据第i个视图的私有用户数据以及本地共享的物品数据集i来计算用户子模型和物品子模型的梯度,这些本地梯度会在本地聚合后被加密传输至中央服务器d完成全局聚合,然后再把聚合后的全局梯度回传给各用户客户端进行模型更新。当全局模型训练收敛或达到设定的最大迭代次数后,用户客户端上的子模型将随机采样本地私有数据,在本地再进行有限批次的训练,最终得到经过多方多视图联邦训练且个性化微调的推荐模型。
[0108]
具体而言,本发明的训练算法的步骤如下所述:
[0109]
【本发明的用户客户端】
[0110]
步骤1:系统输入:客户端内视图总数n,第i个视图的用户数据集ui,用户与物品的交互数据y,待推荐物品数据集i,本地数据集d={(xi,y),i∈{1,2,

,n}}(其中,xi=(ui,i)),联邦训练的总轮数t,联邦训练的学习率η,元学习微调迭代次数p,视图数据内随机采样的子集总数h,元学习微调的学习率∈。
[0111]
步骤2:初始化n个用户子模型:初始化物品子模型:w
i0
。其
中,w表示子模型参数。
[0112]
步骤3:判断是否执行第k轮联邦训练(k初始置为1),若k大于t或模型已收敛,则跳转步骤19,否则执行步骤4。
[0113]
步骤4:判断是否进入第i个视图(i初始置为1),若i大于n,则跳转步骤9,否则执行步骤5。
[0114]
步骤5:计算第i个视图在训练第k轮后的用户子模型梯度使用的计算公式为:其中l指“基本模型”部分中的损失函数。
[0115]
步骤6:计算第i个视图在训练第k轮后的物品子模型梯度使用的计算公式为:
[0116]
步骤7:存储第i个视图在经过步骤5~6后获得的两个梯度和
[0117]
步骤8:执行i=i 1,重复步骤4。
[0118]
步骤9:本地聚合执行若干次步骤4~8后得到的若干个物品子模型梯度获得使用的计算公式为:
[0119]
步骤10:远程聚合自身物品子模型梯度以及来自其他联邦客户端的获得使用的计算公式为:
[0120]
步骤11:判断是否进入第i个视图(i初始置为1),若i大于n,则跳转步骤14,否则执行步骤12。
[0121]
步骤12:远程聚合自身第i个视图的用户子模型梯度以及来自其他联邦客户端的获得使用的计算公式为:
[0122]
步骤13:执行i=i 1,重复步骤11。
[0123]
步骤14:更新物品子模型,获得第k 1轮的新的物品子模型参数使用的计算公式为:
[0124]
步骤15:判断是否进入第i个视图(i初始置为1),若i大于n,则跳转步骤18,否则执行步骤16。
[0125]
步骤16:更新第i个视图的用户子模型,获得第i个视图在第k 1轮的新的用户子模型参数使用的计算公式为:
[0126]
步骤17:执行i=i 1,重复步骤15。
[0127]
步骤18:执行k=k 1,重复步骤3。
[0128]
步骤19:判断是否执行第p轮元学习微调迭代(p初始置为1),若p大于p,则跳转步骤35,否则执行步骤20。其中,当p=1时,
[0129]
步骤20:判断是否进入第j个视图(j初始置为1),若j大于n,则跳转步骤32,否则
执行步骤21。
[0130]
步骤21:对第j个视图内的数据进行随机采样,获得h个子集{s1,s2,

,sh},其中每个子集内包含第j个视图内的h个随机数据。
[0131]
步骤22:判断是否执行第h轮元学习迭代更新(h初始置为1),若h大于h,则跳转步骤27,否则执行步骤23。
[0132]
步骤23:计算第j个视图在迭代第h轮后的用户子模型梯度使用的计算公式为:其中,在当前执行的为第p轮元迭代时,w
ih
初始化为w
it p
,初始化为xj=(sh,i),y为sh中的交互数据。
[0133]
步骤24:计算第j个视图在迭代第h轮后的物品子模型梯度使用的计算公式为:
[0134]
步骤25:存储第j个视图在经过步骤23~24后获得的两个梯度和
[0135]
步骤26:执行h=h 1,重复步骤22。
[0136]
步骤27:本地聚合执行若干次步骤22~26后得到的若干个物品子模型梯度获得(gi)j,使用的计算公式为:(gi)j=本地安全聚合
[0137]
步骤28:同样地,本地聚合若干个用户子模型梯度获得使用的计算公式为:
[0138]
步骤29:更新第j个视图在迭代h轮后的物品子模型,获得第j个视图在第p轮的新的物品子模型参数使用的计算公式为:
[0139]
步骤30:同样地,更新第j个视图在迭代h轮后的用户子模型,获得第j个视图在第p轮的新的用户子模型参数使用的计算公式为:使用的计算公式为:
[0140]
步骤31:执行j=j 1,重复步骤20。
[0141]
步骤32:更新物品子模型,获得执行第p轮本地微调迭代后的新的物品子模型参数w
it p 1
,使用的计算公式为:
[0142]
步骤33:更新第j个视图的用户子模型,获得第j个视图在执行第p轮本地微调迭代后的新的用户子模型参数使用的计算公式为:使用的计算公式为:
[0143]
步骤34:执行p=p 1,重复步骤19。
[0144]
步骤35:系统输出:n个用户子模型:物品子模型:w
it p

[0145]
【本发明的中央服务器】
[0146]
步骤1:系统输入:参与联邦推荐过程的用户客户端总数m,联邦训练的总轮数t,任意客户端在训练第k轮后上传的模型梯度
[0147]
步骤2:判断是否处理第k轮训练后各客户端上传的模型梯度(k初始置为1),若k大于t,则跳转步骤6,否则执行步骤3。
[0148]
步骤3:本地聚合若干个客户端的物品或用户子模型梯度获得使用的公式为:
[0149]
步骤4:执行k=k 1,将安全聚合后的全局模型梯度回传至各个用户客户端。
[0150]
步骤5:判断模型是否已收敛,判断方法是若模型的损失函数不再下降并趋于稳定则可认为模型收敛。若模型未收敛,则重复步骤2;若模型收敛,则向各个用户客户端发出收敛信号,执行步骤6。
[0151]
步骤6:已超过最大训练轮数或模型已收敛,终止系统程序。
[0152]
三、本发明的预测算法
[0153]
参阅图5,设个性化多视图联邦推荐的训练阶段已顺利结束,各用户客户端已顺利获取到部署于本地的推荐模型。推荐模型由一个物品子模型和若干各用户子模型共同组成,它们将一同参与本地的预测阶段。首先,用户客户端将通过dssm模型的前向传播过程,计算出所有的e个待推荐物品的语义向量;接着,用户客户端将依次计算出任一视图的语义向量,以及任一视图与任一待推荐物品发生交互的后验概率值然后,对这些概率值进行本地安全聚合,得到任一待推荐物品在该用户客户端上发生交互的后验概率值最后,对这些概率值进行降序(从大到小)排列,输出排列中前k个概率值所对应的待推荐物品序列,得到即将为该用户客户端所推荐的物品列表。
[0154]
具体而言,本发明的预测算法的步骤如下所述:
[0155]
【本发明的用户客户端】
[0156]
步骤1:系统输入:客户端内视图总数n,待推荐物品总数e,推荐物品数量k,用户子模型集物品子模型w
it p
,第i个视图的用户特征,第j个物品的物品特征其中是第i个视图的用户子模型。
[0157]
步骤2:判断是否处理第j个待推荐物品(j初始置为1),若j大于e,则跳转步骤5,否则执行步骤3。
[0158]
步骤3:计算第j个待推荐物品的语义向量其中使用的前向传播计算过程为:{l1=w1x,li=f(wil
i-1
bi)(i∈{2,3,

,n-1}),y=f(wnl
n-1
bn)},具体释义见“基本模型”部分。
[0159]
步骤4:执行j=j 1,重复步骤2。
[0160]
步骤5:判断是否处理第j个待推荐物品(j初始置为1),若j大于e,则跳转步骤
13,否则执行步骤6。
[0161]
步骤6:判断是否进入第i个视图(i初始置为1),若i大于n,则跳转步骤10,否则执行步骤7。
[0162]
步骤7:计算第i个用户视图的语义向量其中使用的前向传播计算过程同步骤3中所述。
[0163]
步骤8:计算在给定第i个视图的用户特征的前提下,第j个物品的物品特征与之发生交互的后验概率值使用的计算公式为:
[0164][0165]
步骤9:执行i=i 1,重复步骤6。
[0166]
步骤10:本地聚合执行若干次步骤6~9后得到的若干个后验概率值获得使用的计算公式为:使用的计算公式为:
[0167]
步骤11:存储第j个待推荐物品在客户端u上发生交互的后验概率值
[0168]
步骤12:执行j=j 1,重复步骤5。
[0169]
步骤13:对执行若干次步骤5~12得到的若干个后验概率值步骤13:对执行若干次步骤5~12得到的若干个后验概率值按照降序(从大到小)进行排列。
[0170]
步骤15:系统输出:排列中前k个概率值所对应的待推荐物品序列,获得将为该用户客户端所推荐的物品列表。
[0171]
实施例
[0172]
设有一个提供流媒体的应用程序a,一个提供影评书评的应用程序b,一个提供互动社交的应用程序c,它们均被安装于n个用户的智能手机上,并已产生了与用户交互的历史数据。应用程序a试图进一步提升现有的电影推荐算法的准确度以及智能程度,故与应用程序b和应用程序c达成了视图协作;同时以本发明提供的技术方案为实施基础,搭建起一个个性化的联合三方视图的联邦电影推荐系统。这三个联邦训练的参与方分别可提供的数据为:应用程序a视图可提供待推荐电影字段以及用户点击过和观看过的电影的记录,应用程序b视图可提供用户对某些电影的评分和评价,应用程序c可提供用户的年龄、性别、位置、职业、爱好、教育程度等一系列个人信息。
[0173]
本发明的具体实施方式主要包括以下三个步骤:第一,应用程序a、应用程序b以及应用程序c分别在各自的视图内完成训练标签和特征的预处理,其中特征包括用户特征与物品特征。针对本实施例中的推荐服务提供方而言,应用程序a需要进行训练标签的预处理,例如:将任何发生显式或隐式交互的《用户,电影》记录对标记为1,而未发生交互的记录对标记为0;同时,应用程序a需要进行用户特征的预处理,例如:通过对用户与电影之间的点击矩阵或评分矩阵施以奇异值分解得到用户特征向量;此外,应用程序a还需要进行物品特征的预处理,例如:使用n-gram模型将数据库中待推荐电影的标题和所属类型编码为若
干比特的物品特征向量。针对本实施例中的联邦推荐训练的参与方而言,例如应用程序c,需要进行用户特征的预处理,比如:将年龄特征标准化至0~1区间,将性别特征设置为0或1,将职业特征构造为独热编码的向量。这些标签和特征在预处理完毕后,将被存储于各个应用程序相互隔离的视图内。后续训练与预测阶段需要进入视图并索取数据时,可事先构造前述提及的可信执行环境并在该环境内操作。第二、启动中央服务器(可由政府机构或可靠的第三方扮演),下载待推荐电影数据集i至n个用户的智能手机上,每个用户设备以应用程序a、应用程序b和应用程序c的本地视图数据为用户数据,使用本发明的个性化多视图联邦推荐系统的训练算法,开始联邦电影推荐训练。第三、完成训练,关闭中央服务器,每个用户设备上部署经前序训练获得的电影推荐模型i
*
,并以应用程序a、应用程序b和应用程序c的本地视图数据为基础数据,使用本发明的个性化多视图联邦推荐系统的预测算法,输出前k个该用户最可能感兴趣的待推荐电影,并展示在应用程序a软件的页面上,推荐结束。
[0174]
需要进一步说明的是,在某一用户设备上,使用本发明获得的电影推荐模型i
*
是经过了t轮全局联邦训练和p轮本地微调迭代后的模型。它在用户数据不出本地的前提下,联合利用了n个用户的3个视图(应用程序a、应用程序b和应用程序c)的丰富数据,因此它适用于三方中的任一方,即可在应用程序a、应用程序b和应用程序c视图内被共享使用。此外,这里仅举了应用程序a试图搭建联邦电影推荐系统这一例子,实际上应用程序b或应用程序c亦可搭建自身所需的推荐系统。例如,应用程序b预先提供待推荐的书籍物品数据,并将书籍物品子模型分发至各台参与联邦训练的用户设备上,仿照前述的训练与预测算法即可获得联邦书籍推荐系统。这是可行的,因为用户的对电影和书籍的品味存在一定的相似性,而这种相似性可通过电影特征和书籍特征经由dssm模型输出的语义向量的相似度计算来度量。
[0175]
特别地,在具体实施本发明技术方案时,应当注意控制单一用户客户端内参与联邦推荐训练的视图数量和质量,因为相关研究表明过多的视图反而会加重通信开销,且不会对推荐精度有更高的提升。另外,在工程实践中,待推荐物品的语义向量计算可在推荐服务提供商的后台事先离线进行,待计算完成后直接由中央服务器分发至各客户端。这样既可以极大地减少用户端设备的计算开销,还可以更好地满足推荐服务提供商对于实时地或间歇地更新待推荐物品数据集的需求。此外,为了保障具体实施本发明技术方案时能够产生有利效果,参与联邦推荐训练的若干视图应当对最终的训练目标起到正向作用,以相互协作的方式来完成全局模型的训练和共享,实现互利共赢;换言之,参与某一次联邦推荐训练的若干视图数据中不应当包含过多的冗余信息、错误信息以及噪声信息等,因为相关研究表明过多的无效数据往往会对模型训练产生负面影响。最后,为了进一步防范某些用户视图出现不诚实甚至完全恶意的情况,在具体实施本发明技术方案时,应当考虑设立视图级别的相互隔离,即在任意用户客户端运行本发明系统之前构建可行执行环境,在设备搭建的操作系统中开辟出一块安全区域,从而避免非诚实或恶意视图肆意访问到其他友好视图的私有数据。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献