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

基于梯度混洗的信息推荐方法及相关设备

2023-07-07 09:05:04 来源:中国专利 TAG:


1.本发明涉及信息推荐技术领域,尤其涉及的是一种基于梯度混洗的信息推荐方法、系统、智能终端及计算机可读存储介质。


背景技术:

2.在社会和科技的发展过程中,人们对于信息的需求量越来越大,然而随着互联网的迅速兴起,海量信息的出现使用户无法精确地获取想得到的内容,因此智能推荐针对每个人的需求,制定个性化的推荐方法解决了这一难题,现有技术存在的问题在于,传统推荐算法中需要使用用户大量的历史信息,并且直接将收集到的历史信息上传到第三方服务器进行训练,不利于保护用户信息数据的隐私。
3.因此,现有技术还有待改进和发展。


技术实现要素:

4.本发明的主要目的在于提供一种基于梯度混洗的信息推荐方法及相关设备,旨在解决传统推荐算法只使用历史信息进行建模,例如搜索、浏览等等这类普遍的信息不利于提高推荐算法的精确度,并且直接收集用户的历史信息上传到第三方服务器进行训练,不利于保护用户信息数据的隐私。
5.为了实现所述目的,本发明第一方面提供一种基于梯度混洗的信息推荐方法,其中,所述基于梯度混洗的信息推荐方法包括:
6.获取目标对象的历史评分项目的参数,其中,所述历史评分项目为所述目标对象已使用并评分的项目;
7.获取多个待推荐项目,根据所述历史评分项目的参数、多个所述待推荐项目和已训练的信息推荐模型获取各所述待推荐项目对应的推荐分数,其中,所述已训练的信息推荐模型在训练过程中各个训练客户端基于预设的梯度混洗方式对训练梯度参数进行梯度混洗,并上传至中心服务器进行训练,所述训练梯度参数为根据训练历史评分项目的参数、训练待推荐项目和所述信息推荐模型计算获得的预测评分的梯度向量,所述训练历史评分项目的参数和所述训练待推荐项目与所述历史评分项目的参数和所述待推荐项目分别一一对应;
8.根据各所述待推荐项目对应的推荐分数从多个所述待推荐项目中选择获取目标推荐项目,并向所述目标对象推送所述目标推荐项目。
9.可选的,所述信息推荐模型根据如下步骤进行训练:
10.各所述训练客户端根据所述训练历史评分项目的参数、所述训练待推荐项目和所述信息推荐模型,计算获取所述训练待推荐项目对应的预测评分,并根据所述预测评分获得所述训练梯度参数;
11.各所述训练客户端将所述训练梯度参数发送给第三方服务器,以触发所述第三方服务器对所述训练梯度参数进行混洗获得混洗训练梯度参数;
12.各所述训练客户端触发所述第三方服务器将各所述混洗训练梯度参数上传至所述中心服务器,以触发所述中心服务器根据接收到的所述混洗训练梯度参数构建中心训练数据以训练所述信息推荐模型。
13.可选的,所述各所述训练客户端根据所述训练历史评分项目的参数、所述训练待推荐项目和所述信息推荐模型,计算获取所述训练待推荐项目对应的预测评分,并根据所述预测评分获得所述训练梯度参数,包括:
14.获取各所述训练客户端对应的训练邻居客户端,其中,所述训练邻居客户端与所述训练客户端有关联关系;
15.根据所述训练邻居客户端的参数和所述训练历史评分项目的参数进行聚合运算,获得各所述训练客户端的隐向量,其中,所述训练历史评分项目的参数为所述训练历史评分项目的隐向量,所述训练邻居客户端的参数为所述训练邻居客户端的隐向量;
16.根据各所述训练客户端的隐向量和所述训练历史评分项目的参数进行内积运算,获得所述训练待推荐项目对应的预测评分;
17.根据所述预测评分和预设的第一公式,获得所述预测评分的训练梯度参数。
18.可选的,所述各所述训练客户端将所述训练梯度参数发送给第三方服务器,以触发所述第三方服务器对所述训练梯度参数进行混洗,获得混洗训练梯度参数,包括:
19.各所述训练客户端触发所述中心服务器生成公钥和私钥,并触发所述中心服务器将所述公钥广播给各所述训练客户端;
20.各所述训练客户端根据所述公钥对各自对应的所述训练梯度参数进行加密,获得训练梯度加密参数,并将各所述训练梯度加密参数发送给所述第三方服务器;
21.各所述训练客户端触发所述第三方服务器对所有所述训练梯度加密参数进行混洗获得混洗训练梯度加密参数,并触发所述第三方服务器将所有所述混洗训练梯度加密参数发送给所述中心服务器;
22.各所述训练客户端触发所述中心服务器根据所述私钥对所有所述混洗训练梯度加密参数进行解密获得所述混洗训练梯度参数。
23.可选的,所述各所述客户端触发所述第三方服务器将各所述混洗训练梯度参数上传至所述中心服务器,以触发所述中心服务器根据接收到的所述混洗训练梯度参数构建中心训练数据以训练所述信息推荐模型的具体过程:
24.各所述训练客户端触发所述中心服务器将所有所述混洗训练梯度参数进行聚合获得全局梯度参数;
25.各所述训练客户端触发所述中心服务器根据所述全局梯度参数更新全局向量表,其中,所述全局向量表包括所有所述训练客户端的隐向量和所有所述训练历史评分项目的隐向量;
26.各所述训练客户端从所述中心服务器下载所述全局向量表,并根据更新后的所述训练客户端的隐向量和所述训练历史评分项目的隐向量,获得所述训练待推荐项目对应的预测评分;
27.根据所述预测评分和所述训练评分,对所述信息推荐模型的模型参数进行调整,并继续执行将所述训练历史评分项目的参数和所述训练待推荐项目输入所述信息推荐模型的步骤,直至满足预设训练条件,以得到已训练的信息推荐模型。
28.可选的,所述预设训练条件为当所述预测评分的精准度连续五轮训练没有提高时结束模型训练。
29.可选的,所述待推荐项目包括商品链接、广告或视频。
30.本发明第二方面提供一种基于梯度混洗的信息推荐系统,所述基于梯度混洗的信息推荐系统包括:
31.参数获取模块,用于获取目标对象的历史评分项目的参数,其中,所述历史评分项目为所述目标对象已使用并评分的项目;
32.推荐分数获取模块,用于获取多个待推荐项目,根据所述历史评分项目的参数、多个所述待推荐项目和已训练的信息推荐模型获取各所述待推荐项目对应的推荐分数,其中,所述已训练的信息推荐模型在训练过程中各个训练客户端基于预设的梯度混洗方式对训练梯度参数进行梯度混洗,并上传至中心服务器进行训练,所述训练梯度参数为根据训练历史评分项目的参数、训练待推荐项目和所述信息推荐模型计算获得的预测评分的梯度向量,所述训练历史评分项目的参数和所述训练待推荐项目与所述历史评分项目的参数和所述待推荐项目分别一一对应;
33.推荐模块,用于根据各所述待推荐项目对应的推荐分数从多个所述待推荐项目中选择获取目标推荐项目,并向所述目标对象推送所述目标推荐项目。
34.本发明第三方面提供一种智能终端,所述智能终端包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的基于梯度混洗的信息推荐程序,所述基于梯度混洗的信息推荐程序被所述处理器执行时实现所述任意一种基于梯度混洗的信息推荐方法的步骤。
35.本发明第四方面提供一种计算机可读存储介质,所述计算机可读存储介质上存储有基于梯度混洗的信息推荐程序,所述基于梯度混洗的信息推荐程序被处理器执行时实现所述任意一种基于梯度混洗的信息推荐方法的步骤。
36.由上可见,本发明中,获取目标对象的历史评分项目的参数,其中,所述历史评分项目为所述目标对象已使用并评分的项目;获取多个待推荐项目,根据所述历史评分项目的参数、多个所述待推荐项目和已训练的信息推荐模型获取各所述待推荐项目对应的推荐分数,其中,所述已训练的信息推荐模型在训练过程中各个训练客户端基于预设的梯度混洗方式对训练梯度参数进行梯度混洗,并上传至中心服务器进行训练,所述训练梯度参数为根据训练历史评分项目的参数、训练待推荐项目和所述信息推荐模型计算获得的预测评分的梯度向量,所述训练历史评分项目的参数和所述训练待推荐项目与所述历史评分项目的参数和所述待推荐项目分别一一对应;根据各所述待推荐项目对应的推荐分数从多个所述待推荐项目中选择获取目标推荐项目,并向所述目标对象推送所述目标推荐项目。
37.与现有技术相比,本发明提供一种基于梯度混洗的信息推荐方法,获取目标对象的历史评分项目的参数和多个待推荐项目,根据所述历史评分项目的参数、多个所述待推荐项目和已训练的信息推荐模型获取各所述待推荐项目对应的推荐分数,根据所述推荐分数从多个待推荐项目中向所述目标对象推送所述目标推荐项目,在所述信息推荐模型的训练过程中根据训练客户端的邻居客户端隐向量参数和训练历史评分项目的参数,获得训练客户端的隐向量,进而获得训练待推荐项目的预测评分,为了保护训练客户端的信息,将训练梯度参数进行混洗,所述训练梯度参数为所述预测评分对应的梯度向量,中心服务器将
混洗后的训练梯度参数聚合并更新全局向量表以训练所述信息推荐模型,有利于提高信息推荐的准确性的同时,由于对训练客户端的训练梯度参数进行混洗,打乱了训练梯度参数与各所述训练客户端的对应关系,使得中心服务器无法直接获取训练客户端的信息数据,有利于提高训练过程中用户数据的安全性,从而保护用户数据的隐私。
附图说明
38.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
39.图1是本发明实施例提供的一种基于梯度混洗的信息推荐方法示意图;
40.图2是本发明实施例图1中步骤s200的具体流程示意图;
41.图3是本发明实施例图2中步骤s202的具体流程示意图;
42.图4是本发明实施例图2中步骤s203的具体流程示意图;
43.图5是本发明实施例提供的一种基于联邦图神经网络的信息保护推荐方法流程示意图;
44.图6是本发明实施例提供的一种基于联邦图神经网络的信息保护推荐算法流程示意图;
45.图7是本发明实施例提供的基于梯度混洗的信息推荐系统的结构示意图;
46.图8是本发明实施例提供的一种智能终端的内部结构原理框图。
具体实施方式
47.以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况下,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。
48.应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
49.还应当理解,在本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
50.还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
51.如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当

时”或“一旦”或“响应于确定”或“响应于分类到”。类似的,短语“如果确定”或“如果分类到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦分类到[所描述的条件或事件]”或“响应于分类到[所描述条件或事件]”。
[0052]
下面结合本发明实施例的附图,对本发明实施例中的技术方案进行清楚、完整地
描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
[0053]
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是本发明还可以采用其它不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施例的限制。
[0054]
随着互联网的迅速兴起,用户能获取的信息量越来越大,却愈发无法精准地获取想得到的内容,信息推荐算法的出现能根据用户的兴趣针对性的推荐项目,比同一项目非定向推送的效果更加显著,但传统推荐算法中只使用历史信息进行建模,例如搜索、浏览等等这类普遍的信息不利于提高推荐算法的精确度,并且由于用户行为数据总量庞大,在数据处理方面为精准推荐带来了挑战,需要进一步提高推荐方法的准确度,并且直接收集用户的历史信息上传到第三方服务器进行训练,另一方面,用户如果授权将敏感信息完全提供给平台用于训练信息推荐模型,而平台方可能存在信息滥用等行为,在平台与用户交互时,可能会被潜在的恶意用户窃取个人信息,造成信息泄露,在跨平台交互时,平台间的信息共享也并非完全可靠,存在严重的信息泄露风险。为了更好地平衡隐私保护和推荐性能,不利于保护用户信息数据的隐私。
[0055]
为了解决所述多个问题中的至少一个问题,本发明中,获取目标对象的历史评分项目的参数,其中,所述历史评分项目为所述目标对象已使用并评分的项目;获取多个待推荐项目,根据所述历史评分项目的参数、多个所述待推荐项目和已训练的信息推荐模型获取各所述待推荐项目对应的推荐分数,其中,所述已训练的信息推荐模型在训练过程中各个训练客户端基于预设的梯度混洗方式对训练梯度参数进行梯度混洗,并上传至中心服务器进行训练,所述训练梯度参数为根据训练历史评分项目的参数、训练待推荐项目和所述信息推荐模型计算获得的预测评分的梯度向量,所述训练历史评分项目的参数和所述训练待推荐项目与所述历史评分项目的参数和所述待推荐项目分别一一对应;根据各所述待推荐项目对应的推荐分数从多个所述待推荐项目中选择获取目标推荐项目,并向所述目标对象推送所述目标推荐项目。
[0056]
与现有技术相比,本发明提供一种基于梯度混洗的信息推荐方法,获取目标对象的历史评分项目的参数和多个待推荐项目,根据所述历史评分项目的参数、多个所述待推荐项目和已训练的信息推荐模型获取各所述待推荐项目对应的推荐分数,根据所述推荐分数从多个待推荐项目中向所述目标对象推送所述目标推荐项目,在所述信息推荐模型的训练过程中根据训练客户端的邻居客户端隐向量参数和训练历史评分项目的参数,获得训练客户端的隐向量,进而获得训练待推荐项目的预测评分,为了保护训练客户端的信息,将训练梯度参数进行混洗,所述训练梯度参数为所述预测评分对应的梯度向量,中心服务器将混洗后的训练梯度参数聚合并更新全局向量表以训练所述信息推荐模型,有利于提高信息推荐的准确性的同时,由于对训练客户端的训练梯度参数进行混洗,打乱了训练梯度参数与各所述训练客户端的对应关系,使得中心服务器无法直接获取训练客户端的信息数据,有利于提高训练过程中用户数据的安全性,从而保护用户信息数据的隐私。
[0057]
示例性方法
[0058]
如图1所示,本发明实施例提供一种基于梯度混洗的信息推荐方法,具体的,所述
方法包括如下步骤:
[0059]
步骤s100,获取目标对象的历史评分项目的参数,其中,所述历史评分项目为所述目标对象已使用并评分的项目。
[0060]
本实施例中,目标对象通过各自客户端中已训练好的信息推荐模型,根据历史评分项目的参数和预设的待推荐项目,获得各所述待推荐项目对应的推荐分数,因此获取目标对象的历史评分项目的参数是获得推荐分数的第一步。一种应用场景下,待推荐项目包括商品链接、广告或视频,在另一种应用场景下也可以对公众号、网络页面、应用软件等等进行信息推荐,在此不作具体限定。
[0061]
根据目标对象的历史行为对已使用过的项目根据喜好程度进行打分,获得已使用过的项目的静态评分,例如目标对象对已使用过的项目a打分为五颗星即非常满意,对已使用过的项目b打分为一颗星即非常不满,将已使用并评分的项目a和b作为历史评分项目,进而获取历史评分项目的参数。
[0062]
步骤s200,获取多个待推荐项目,根据所述历史评分项目的参数、多个所述待推荐项目和已训练的信息推荐模型获取各所述待推荐项目对应的推荐分数,其中,所述已训练的信息推荐模型在训练过程中各个训练客户端基于预设的梯度混洗方式对训练梯度参数进行梯度混洗,并上传至中心服务器进行训练,所述训练梯度参数为根据训练历史评分项目的参数、训练待推荐项目和所述信息推荐模型计算获得的预测评分的梯度向量,所述训练历史评分项目的参数和所述训练待推荐项目与所述历史评分项目的参数和所述待推荐项目分别一一对应。
[0063]
本实施例中,通过将所述待推荐项目和所述历史评分项目的参数输入所述已训练的信息推荐模型中获取各所述待推荐项目对应的推荐分数,其中,所述待推荐项目是预设的多个所述目标对象未使用过且未评分的项目。
[0064]
在所述信息推荐模型训练的过程中,采取多个训练客户端参与模型训练,在本实施例中,将各所述训练客户端的训练历史评分项目的参数和训练待推荐项目输入未训练好的信息推荐模型,各所述训练客户端需要基于预设的梯度混洗方式对训练梯度参数进行梯度混洗,并将所述训练梯度参数上传至中心服务器,触发所述中心服务器根据所述训练梯度参数更新全局向量表进行训练,其中,所述训练梯度参数为根据训练历史评分项目的参数、训练待推荐项目和所述信息推荐模型计算获得的预测评分的梯度向量,在所述信息推荐模型训练过程中出现的训练客户端、训练历史评分项目的参数和训练待推荐项目,与在所述信息推荐模型使用过程中出现的目标对象、历史评分项目的参数和待推荐项目分别呈现一一对应的关系。
[0065]
步骤s300,根据各所述待推荐项目对应的推荐分数从多个所述待推荐项目中选择获取目标推荐项目,并向所述目标对象推送所述目标推荐项目。
[0066]
本实施例中,根据步骤s100和s200获得的各所述待推荐项目对应的推荐分数,从多个待推荐项目中选择目标推荐项目,将所述目标推荐项目推送给所述目标对象,其中,所述目标推荐项目为推荐分数最高的一个项目或推荐分数较高的几个项目,在此不作具体限定。
[0067]
本实施例中,所述信息推荐模型根据如下步骤进行训练,具体的,如图2所示,所述步骤s200包括:
[0068]
步骤s201,各所述训练客户端根据所述训练历史评分项目的参数、所述训练待推荐项目和所述信息推荐模型,计算获取所述训练待推荐项目对应的预测评分,并根据所述预测评分获得所述训练梯度参数。
[0069]
本实施例中,获取所述训练待推荐项目对应的预测评分需要通过以下四个步骤。
[0070]
第一步,获取各所述训练客户端对应的训练邻居客户端,其中,所述训练邻居客户端与所述训练客户端有关联关系。
[0071]
传统信息推荐算法中只使用历史信息进行建模,例如搜索、浏览等等这类普遍的信息,而本实施例中利用图神经网络对用户的历史行为进行建模,引入了邻居用户的概念,克服传统信息推荐技术中无法利用高阶信息的缺点。在本实施例中,训练邻居客户端指的就是训练邻居用户的客户端,需要先获取各所述训练客户端对应的训练邻居客户端,一种应用场景下,训练邻居客户端为所述训练客户端的好友或关注的对象,如整个系统中不存在社交关系,邻居用户指的是和目标对象购买过相同物品的用户,例如用户1买过项目a和b,用户2买过项目a和c,用户1和用户2都购买过相同物品a,则用户1和用户2互为邻居用户。
[0072]
第二步,根据所述训练邻居客户端的参数和所述训练历史评分项目的参数进行聚合运算,获得各所述训练客户端的隐向量,其中,所述训练历史评分项目的参数为所述训练历史评分项目的隐向量,所述训练邻居客户端的参数为所述训练邻居客户端的隐向量。
[0073]
本实施例中,根据图神经网络为所述训练邻居客户端分配一个随机向量,训练邻居客户端被分配到的随机向量称作该训练邻居客户端的隐向量。
[0074]
假设训练客户端u对历史项目的评分分数为r
ui
,集合为训练客户端u的所有训练邻居客户端集合记录用户u进行过评分的所有项目,通过图神经网络根据所述训练邻居客户端的隐向量ev、所述训练历史评分项目的隐向量ei做聚合算法,获得各所述训练客户端的隐向量eu,如公式(1)所示:
[0075][0076]
其中,aggregate代表聚合操作,hu代表每一轮训练进行聚合的结果,update代表用聚合后的hu更新获得eu。
[0077]
需要说明的是,本实施例中提供一个图神经网络的通用框架,并没有具体限定所采取的图神经网络模型的种类,在一种应用场景下可以使用图卷积网络、图注意力网络、门控图神经网络等等,在不同的学习任务中根据实际需求选择合适的图神经网络。
[0078]
第四步,根据各所述训练客户端的隐向量和所述训练历史评分项目的隐向量进行内积运算,获得所述训练待推荐项目对应的预测评分。
[0079]
本实施例中,根据所述训练客户端的隐向量eu和所述训练历史评分项目的隐向量ii的内积来对评分r
ui
进行建模,如公式(2)所示:
[0080][0081]
其中,为所述训练待推荐项目对应的预测评分,为eu的转置。
[0082]
进一步的,本技术根据获得的所述训练待推荐项目对应的预测评分,并计算所述预测评分的均方根误差值,以衡量所述预测评分的精准度,在信息推荐模型的训练过程中,
当连续多轮训练后所述预测评分的精准度不再提高时(例如连续五轮训练)结束模型训练,得到训练好的信息推荐模型。
[0083]
本实施例中,根据获得的所述训练待推荐项目对应的预测评分和预设的第一公式,获得所述预测评分的训练梯度参数,其中,所述训练梯度参数为所述预测评分的梯度向量,如公式(3)所示:
[0084][0085]
其中,θ代表学习的参数,该参数包括所述训练客户端的隐向量、所述历史评分项目的隐向量和所述信息推荐模型中的模型参数,其中表示训练历史评分项目的项目个数。
[0086]
步骤s202,各所述训练客户端将所述训练梯度参数发送给第三方服务器,以触发所述第三方服务器对所述训练梯度参数进行混洗获得混洗训练梯度参数。
[0087]
本实施例中,所述训练梯度参数为所述预测评分的梯度向量。传统的信息推荐方法在训练模型的过程中,通常使训练客户端将各所述训练客户端的梯度向量上传给中心服务器来聚合,从而协同所有所述训练客户端联合学习参数,然而在各所述训练客户端的梯度向量中包含了所述训练客户端大量的隐私信息,如果不对原始梯度向量进行保护,外部设备仍然可能根据原始梯度向量推断出训练客户端的原始数据,因此不利于保护用户信息数据的隐私。
[0088]
对此本实施例提出的改进方案是基于联邦学习框架在训练客户端将梯度向量发送给中心服务器之前,先发送给第三方服务器进行混洗,而针对于所述第三方服务器可能会窃听用户隐私的问题提出了解决方案:将梯度向量发送至所述第三方服务器进行混洗之前先对所述梯度向量进行加密,具体的,如图3所示,所述步骤s202包括:
[0089]
步骤s2021,各所述训练客户端触发所述中心服务器生成公钥和私钥,并触发所述中心服务器将所述公钥广播给各所述训练客户端。
[0090]
本实施例中,各所述训练客户端触发所述中心服务器生成一对密钥,密钥中包括一个公钥和一个私钥用于各所述训练客户端将训练数据上传至所述中心服务器的加密和解密。
[0091]
步骤s2022,各所述训练客户端根据所述公钥对各自对应的所述训练梯度参数进行加密,获得训练梯度加密参数,并将各所述训练梯度加密参数发送给所述第三方服务器。
[0092]
本实施例中,引入的第三方服务器为混洗器,各所述训练客户端利用加密函数enc(
·
;pk)对所述训练梯度参数进行加密,获得训练梯度加密参数如公式(4)所示:
[0093][0094]
需要注意的是,本实施例中利用的加密函数也只是其中一种应用场景,并没有限制采用何种非对称加密算法,在实际应用的过程中可以根据实际需求选取相应的非对称加密算法。
[0095]
步骤s2023,各所述训练客户端触发所述第三方服务器对所有所述训练梯度加密参数进行混洗获得混洗训练梯度加密参数,并触发所述第三方服务器将所有所述混洗训练
梯度加密参数发送给所述中心服务器。
[0096]
主流的联邦学习框架大多利用差分隐私或同态加密技术来进一步保护用户信息数据的隐私。然而,同态加密的计算开销过大,而且会大幅增加训练客户端的存储负担。此外,即使对梯度使用差分隐私保护,也只能保护训练客户端对历史评分项目的具体评分而难以保护训练客户端历史评分过的项目集合,甚至降低信息推荐模型的精准度。
[0097]
对此,本实施例中为了解决这一问题提出对所述训练梯度参数进行加密,再加密之后再进行混洗所述第三方服务器对接收到的训练梯度加密参数执行元素级的重排列(即所有训练梯度加密参数,分别按每个维度为一组,同组的所有元素进行随机顺序重新排列)例如梯度向量是d维的列向量,那么把n个梯度向量横向排列在一起得到d
×
n的矩阵,则元素级的重排列是分别对矩阵的每一行进行重新排列。
[0098]
本实施例中,通过混洗所述训练梯度加密参数,获得混洗训练梯度加密参数增加了训练梯度加密参数的匿名性,在密文的保护下扰动原始梯度和训练客户端的对应关系,保护了训练梯度参数中包含的信息,从而达到保护用户信息数据隐私的目的。
[0099]
步骤s2024,各所述训练客户端触发所述中心服务器根据所述私钥对所有所述混洗训练梯度加密参数进行解密获得所述混洗训练梯度参数。
[0100]
本实施例中,所述中心服务器利用解密函数dec(
·
;sk)对所述混洗训练梯度加密参数进行解密,获得所述混洗训练梯度参数,如公式(5)所示:
[0101][0102]
其中,所述为混洗训练梯度加密参数。
[0103]
步骤s203,各所述训练客户端触发所述第三方服务器将各所述混洗训练梯度参数上传至所述中心服务器,以触发所述中心服务器根据接收到的所述混洗训练梯度参数构建中心训练数据以训练所述信息推荐模型。
[0104]
具体的,如图4所示,所述步骤s203包括:
[0105]
步骤s2031,各所述训练客户端触发所述中心服务器将所有所述混洗训练梯度参数进行聚合获得全局梯度参数。
[0106]
本实施例中,由于第三方服务器的混洗过程并不会干扰对梯度向量的聚合,在中心服务器上聚合混洗后的梯度向量和直接聚合原始梯度向量是等价的,只是扰动了原始梯度向量和训练客户端之间的对应关系从而有利于保护用户信息数据的隐私,聚合操作如公式(6)所示:
[0107][0108]
其中,为混洗后所述预测评分的梯度向量,s为在当前训练轮次中参与训练的用户的集合,g为中心服务器聚合后的全局梯度向量。
[0109]
每一轮的联邦训练中,服务器随机抽取c=|s|个用户所对应的客户端来参与训练,然后用梯度下降法来更新所有可训练的参数,其中,所述可训练的参数包括:训练客户端的隐向量、训练历史评分项目的隐向量和所述信息推荐模型的模型参数。
[0110]
步骤s2032,各所述训练客户端触发所述中心服务器根据所述全局梯度参数更新
全局向量表,其中,所述全局向量表包括所有所述训练客户端的隐向量和所有所述训练历史评分项目的隐向量。
[0111]
本实施例中,中心服务器聚混合训练梯度参数(即局部梯度向量)获得全局梯度参数(即全局梯度向量),并更新全局向量表用以进行下一轮的模型训练。
[0112]
步骤s2033,各所述训练客户端从所述中心服务器下载所述全局向量表,并根据更新后的所述训练客户端的隐向量和所述训练历史评分项目的隐向量,获得所述训练待推荐项目对应的预测评分。
[0113]
本实施例中,各所述训练客户端从中心服务器下载更新后的全局向量表,并根据更新后的所述训练客户端的隐向量和所述训练历史评分项目的隐向量,利用所述公式(2)获得新一轮的预测评分,再计算新一轮预测评分的精确度,若精确度没有提高,连续多轮保持相同数值则模型训练完成,若相较于上一轮预测评分的精确度提高,则进入下一轮的训练。
[0114]
步骤s2034,根据所述预测评分和所述训练评分,对所述信息推荐模型的模型参数进行调整,并继续执行将所述训练历史评分项目的参数和所述训练待推荐项目输入所述信息推荐模型的步骤,直至满足预设训练条件,以得到已训练的信息推荐模型。
[0115]
本实施例中,每一轮训练获得的预测评分和所述训练评分进行对比,在模型训练的过程中所得预测评分应当与训练评分越来越接近,根据所述预测评分和所述训练评分对所述信息推荐模型的模型参数进行调整,在一种应用场景下通过精确度对预测评分进行衡量,在另一种应用场景下可以计算预测评分和训练评分的损失值,根据该损失值以对模型参数进行调整,直到得到训练完成的信息推荐模型。
[0116]
本发明实施例提供的一种基于联邦图神经网络的信息保护推荐方法,具体的,如图5所示:
[0117]
在信息推荐模型训练的过程中,获取训练客户端的训练邻居客户端,将训练邻居客户端的隐向量ev和训练历史评分项目的隐向量ei输入图神经网络中,获得训练客户端的隐向量eu,根据所述训练客户端的隐向量获得预测评分,根据所述预测评分获取预测评分的梯度向量,对所述梯度向量及模型参数的梯度进行加密,将加密后的数据上传至混洗器进行混洗,将混洗后的数据上传至中心服务器,在中心服务器上聚合混合后的数据并更新所述信息推荐模型中的模型参数和全局向量表,其中,所述全局向量表包括训练客户端的隐向量eu和训练历史评分项目的隐向量ei,根据更新后的eu和ei进行下一轮的训练,预测新的评分。
[0118]
本发明实施例还提供一种基于联邦图神经网络的信息保护推荐算法,具体的代码,如图6所示:
[0119]
输入参数c,η,pk,sk,其中,为记录用户u进行过评分的所有项目的集合,为训练客户端u的所有训练邻居客户端v的集合,c为中心服务器随机抽取c个训练客户端,pk为加密函数,sk为解密函数,η为学习率,以更新所述信息推荐模型中需要学习的参数θ。
[0120]
由上可见,本发明中,获取目标对象的历史评分项目的参数,其中,所述历史评分项目为所述目标对象已使用并评分的项目;获取多个待推荐项目,根据所述历史评分项目的参数、多个所述待推荐项目和已训练的信息推荐模型获取各所述待推荐项目对应的推荐
分数,其中,所述已训练的信息推荐模型在训练过程中各个训练客户端基于预设的梯度混洗方式对训练梯度参数进行梯度混洗,并上传至中心服务器进行训练,所述训练梯度参数为根据训练历史评分项目的参数、训练待推荐项目和所述信息推荐模型计算获得的预测评分的梯度向量,所述训练历史评分项目的参数和所述训练待推荐项目与所述历史评分项目的参数和所述待推荐项目分别一一对应;根据各所述待推荐项目对应的推荐分数从多个所述待推荐项目中选择获取目标推荐项目,并向所述目标对象推送所述目标推荐项目。
[0121]
与现有技术相比,本发明提供一种基于梯度混洗的信息推荐方法,获取目标对象的历史评分项目的参数和多个待推荐项目,根据所述历史评分项目的参数、多个所述待推荐项目和已训练的信息推荐模型获取各所述待推荐项目对应的推荐分数,根据所述推荐分数从多个待推荐项目中向所述目标对象推送所述目标推荐项目,在所述信息推荐模型的训练过程中根据训练客户端的邻居客户端隐向量参数和训练历史评分项目的参数,获得训练客户端的隐向量,进而获得训练待推荐项目的预测评分,为了保护训练客户端的信息,将训练梯度参数进行混洗,所述训练梯度参数为所述预测评分对应的梯度向量,中心服务器将混洗后的训练梯度参数聚合并更新全局向量表以训练所述信息推荐模型,有利于提高信息推荐的准确性的同时,由于对训练客户端的训练梯度参数进行混洗,打乱了训练梯度参数与各所述训练客户端的对应关系,使得中心服务器无法直接获取训练客户端的信息数据,有利于提高训练过程中用户数据的安全性,从而保护用户信息数据的隐私。
[0122]
示例性设备
[0123]
本发明实施例还提供一种基于梯度混洗的信息推荐系统,如图7所示,所述基于梯度混洗的信息推荐系统包括:
[0124]
参数获取模块410,用于获取目标对象的历史评分项目的参数,其中,所述历史评分项目为所述目标对象已使用并评分的项目;
[0125]
推荐分数获取模块420,用于获取多个待推荐项目,根据所述历史评分项目的参数、多个所述待推荐项目和已训练的信息推荐模型获取各所述待推荐项目对应的推荐分数,其中,所述已训练的信息推荐模型在训练过程中各个训练客户端基于预设的梯度混洗方式对训练梯度参数进行梯度混洗,并上传至中心服务器进行训练,所述训练梯度参数为根据训练历史评分项目的参数、训练待推荐项目和所述信息推荐模型计算获得的预测评分的梯度向量,所述训练历史评分项目的参数和所述训练待推荐项目与所述历史评分项目的参数和所述待推荐项目分别一一对应;
[0126]
推荐模块430,用于根据各所述待推荐项目对应的推荐分数从多个所述待推荐项目中选择获取目标推荐项目,并向所述目标对象推送所述目标推荐项目。
[0127]
需要说明的是,所述基于梯度混洗的信息推荐系统的各个模块的划分方式并不唯一,在此也不作为具体限定。
[0128]
基于所述实施例,本发明还提供了一种智能终端,其原理框图可以如图8所示。所述智能终端包括处理器及存储器。该智能终端的存储器包括基于梯度混洗的信息推荐程序,存储器为基于梯度混洗的信息推荐程序的运行提供环境。该基于梯度混洗的信息推荐程序被处理器执行时实现所述任意一种基于梯度混洗的信息推荐方法的步骤。需要说明的是,所述智能终端还可以包括其它功能模块或单元,在此不作具体限定。
[0129]
本领域技术人员可以理解,图8中示出的原理框图,仅仅是与本发明相关的部分结
构的框图,并不构成对本发明所应用于其上的智能终端的限定,具体地智能终端可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0130]
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有基于梯度混洗的信息推荐程序,所述基于梯度混洗的信息推荐程序被处理器执行时实现本发明实施例提供的任意一种基于梯度混洗的信息推荐方法的步骤。
[0131]
应理解,所述实施例中各步骤的序号大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
[0132]
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以所述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将所述功能分配由不同的功能单元、模块完成,即将所述系统的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,所述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。所述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0133]
在所述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
[0134]
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各实例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟是以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
[0135]
在本发明所提供的实施例中,应该理解到,所揭露的系统/智能终端和方法,可以通过其它的方式实现。例如,以上所描述的系统/智能终端实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以由另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
[0136]
所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本发明实现所述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述计算机程序可存储于一种计算机可读存储介质中,该计算机程序在被处理器执行时,可实现所述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读存储介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减。
[0137]
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解;其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改
或者替换,并不是相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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