一种联邦推荐梯度获取方法、装置、智能终端及存储介质
文献发布时间:2023-06-19 09:43:16
技术领域
本发明涉及联邦推荐技术领域,尤其涉及的是一种联邦推荐梯度获取方法、装置、智能终端及存储介质。
背景技术
随着人们的隐私保护意识的提高,传统的系统过滤算法等将用户数据收集到服务端再进行建模的方法由于会泄露用户隐私而不再可行。谷歌首先提出联邦学习用于解决用户隐私问题,一些研究进一步将联邦学习与推荐系统中的协同过滤算法相结合,在建模过程中保证将用户数据保留在用户本地,只上传模型参数到服务端去更新模型,即联邦推荐。
现有技术中,在联邦推荐中,通常将虚拟的用户未评分物品的梯度和用户真实评分的物品的梯度一起上传至服务端,从而保护用户的评分行为。例如,Guanyu Lin等提出的一种显示反馈联邦推荐(Federated Recommendation with Explicit Feedback,以下简称FedRec)中提出了一种混合填充方法,随机采样一部分用户的未评分物品,然后使用平均分填充和预测评分填充对这些未评分物品赋值一个虚拟评分,从而获得这些未评分物品的梯度,将用户的已评分物品梯度与未评分物品梯度一起上传至服务端,使得服务端无法根据梯度确定用户对哪些物品进行了真正的评分,从而保护用户的评分行为。
现有技术的问题在于,将虚拟的用户未评分物品的梯度和用户真实评分的物品的梯度一起上传至服务端,在保护用户的评分行为的同时引入了梯度噪声(即虚拟的用户未评分物品的梯度),从而降低了联邦推荐过程中模型的精准性,降低了推荐效果。
因此,现有技术还有待改进和发展。
发明内容
针对现有技术中将虚拟的用户未评分物品的梯度和用户真实评分的物品的梯度一起上传至服务端,在保护用户的评分行为的同时引入了梯度噪声,降低模型精准性和推荐效果的技术问题,本发明提供一种联邦推荐梯度获取方法、装置、智能终端及存储介质,可获取模型参数;获取普通对象和去噪对象;基于上述模型参数,通过各上述普通对象获取第一含噪梯度;基于上述模型参数,通过各上述去噪对象获取第二含噪梯度;基于上述第一含噪梯度与上述第二含噪梯度消除上述普通对象梯度噪声以及上述去噪梯度噪声,获取目标梯度。分别设置普通对象和去噪对象,通过普通对象获得的第一含噪梯度和去噪对象获得的第二含噪梯度消除梯度噪声,在保护用户的评分行为的同时消除梯度噪声、获取不含梯度噪声的目标梯度,从而提高联邦推荐过程中模型的精准性和推荐效果。
为了实现上述技术效果,本发明第一方面提供一种联邦推荐梯度获取方法,其中,上述方法包括:
获取模型参数;
获取普通对象和去噪对象;
基于上述模型参数,通过各上述普通对象获取第一含噪梯度,其中,上述第一含噪梯度包括各上述普通对象计算获取的普通对象梯度以及普通对象梯度噪声;
基于上述模型参数,通过各上述去噪对象获取第二含噪梯度,其中,上述第二含噪梯度包括各上述去噪对象计算获取的去噪对象梯度以及去噪梯度噪声;
基于上述第一含噪梯度与上述第二含噪梯度消除上述普通对象梯度噪声以及上述去噪梯度噪声,获取目标梯度。
可选的,上述获取普通对象和去噪对象,包括:
获取所有用于评价的对象集合;
基于预设的去噪对象阈值和上述对象集合获取去噪对象;
将上述对象集合中除上述去噪对象以外的所有对象作为普通对象。
可选的,上述基于上述模型参数,通过各上述普通对象获取第一含噪梯度,包括:
将上述模型参数发送给各上述普通对象;
分别控制各上述普通对象基于上述模型参数计算获取上述普通对象梯度以及上述普通对象梯度噪声,基于上述普通对象梯度和上述普通对象梯度噪声生成上述第一含噪梯度;
获取各上述普通对象的上述第一含噪梯度。
可选的,上述基于上述模型参数,通过各上述去噪对象获取第二含噪梯度,包括:
分别控制各上述普通对象将上述普通对象梯度噪声发送给任意一个上述去噪对象;
将上述模型参数发送给各上述去噪对象;
分别控制各上述去噪对象基于上述模型参数计算获取上述去噪对象梯度,基于接收到的所有普通对象梯度噪声获取上述去噪梯度噪声,基于上述去噪对象梯度以及上述去噪梯度噪声生成上述第二含噪梯度,其中,上述去噪梯度噪声为上述去噪对象接收的上述普通对象梯度噪声之和;
获取各上述去噪对象的上述第二含噪梯度。
可选的,上述第二含噪梯度为上述去噪对象梯度减去上述去噪梯度噪声,上述基于上述第一含噪梯度与上述第二含噪梯度消除上述普通对象梯度噪声以及上述去噪梯度噪声,获取目标梯度,包括:
基于各上述第一含噪梯度计算获取第一目标含噪梯度,其中,上述第一目标含噪梯度为各上述第一含噪梯度之和;
基于各上述第二含噪梯度计算获取第二目标含噪梯度,其中,上述第二目标含噪梯度为各上述第二含噪梯度之和;
计算获取上述第一目标含噪梯度与上述第二目标含噪梯度之差,作为上述目标梯度。
本发明第二方面提供一种联邦推荐梯度获取装置,其中,上述装置包括:
参数获取模块,用于获取模型参数;
对象获取模块,用于获取普通对象和去噪对象;
第一含噪梯度获取模块,用于基于上述模型参数,通过各上述普通对象获取第一含噪梯度,其中,上述第一含噪梯度包括各上述普通对象计算获取的普通对象梯度以及普通对象梯度噪声;
第二含噪梯度获取模块,用于基于上述模型参数,通过各上述去噪对象获取第二含噪梯度,其中,上述第二含噪梯度包括各上述去噪对象计算获取的去噪对象梯度以及去噪梯度噪声;
目标梯度获取模块,用于基于上述第一含噪梯度与上述第二含噪梯度消除上述普通对象梯度噪声以及上述去噪梯度噪声,获取目标梯度。
可选的,上述第一含噪梯度获取模块包括:
普通对象参数发送单元,用于将上述模型参数发送给各上述普通对象;
第一含噪梯度生成单元,用于分别控制各上述普通对象基于上述模型参数计算获取上述普通对象梯度以及上述普通对象梯度噪声,基于上述普通对象梯度和上述普通对象梯度噪声生成上述第一含噪梯度;
第一含噪梯度获取单元,用于获取各上述普通对象的上述第一含噪梯度。
可选的,上述第二含噪梯度获取模块包括:
普通对象控制单元,用于分别控制各上述普通对象将上述普通对象梯度噪声发送给任意一个上述去噪对象;
去噪对象参数发送单元,用于将上述模型参数发送给各上述去噪对象;
第二含噪梯度生成单元,用于分别控制各上述去噪对象基于上述模型参数计算获取上述去噪对象梯度,基于接收到的所有普通对象梯度噪声获取上述去噪梯度噪声,基于上述去噪对象梯度以及上述去噪梯度噪声生成上述第二含噪梯度,其中,上述去噪梯度噪声为上述去噪对象接收的上述普通对象梯度噪声之和;
第二含噪梯度获取单元,用于获取各上述去噪对象的上述第二含噪梯度。
本发明第三方面提供一种智能终端,包括存储器、处理器以及存储在上述存储器上并可在上述处理器上运行的程序,上述程序被上述处理器执行时实现上述任意一种联邦推荐梯度获取方法的步骤。
本发明第四方面提供一种非临时性计算机可读存储介质,其上存储有计算机程序,上述计算机程序被处理器执行时实现上述任意一种联邦推荐梯度获取方法的步骤。
由上可见,本发明方案获取模型参数;获取普通对象和去噪对象;基于上述模型参数,通过各上述普通对象获取第一含噪梯度;基于上述模型参数,通过各上述去噪对象获取第二含噪梯度;基于上述第一含噪梯度与上述第二含噪梯度消除上述普通对象梯度噪声以及上述去噪梯度噪声,获取目标梯度。由于本方案分别设置普通对象和去噪对象,通过普通对象获得的第一含噪梯度和去噪对象获得的第二含噪梯度消除梯度噪声,在保护用户的评分行为的同时消除梯度噪声、获取不含梯度噪声的目标梯度。因此相较于现有技术中仅将虚拟的用户未评分物品的梯度和用户真实评分的物品的梯度一起上传至服务端的方案,本方案可消除梯度噪声,从而提高联邦推荐过程中模型的精准性和推荐效果。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
图1是本发明实施例提供的一种联邦推荐梯度获取方法的流程示意图;
图2是本发明实施例图1中步骤S200的具体流程示意图;
图3是本发明实施例图1中步骤S300的具体流程示意图;
图4是本发明实施例图1中步骤S400的具体流程示意图;
图5是本发明实施例图1中步骤S500的具体流程示意图;
图6是本发明实施例提供的一种服务端和客户端交互示意图;
图7是本发明实施例提供的一种联邦推荐梯度获取装置的结构示意图;
图8是本发明实施例图7中第一含噪梯度获取模块730的具体结构示意图;
图9是本发明实施例图7中第二含噪梯度获取模块740的具体结构示意图;
图10是本发明实施例提供的一种智能终端的内部结构原理框图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况下,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
下面结合本发明实施例的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是本发明还可以采用其它不同于在此描述的方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施例的限制。
随着人们对隐私的逐渐重视和一些相关的隐私保护法律的发布,如何保护用户隐私的问题越发得到重视。在联邦推荐技术领域,对于用户评分行为的隐私保护也已经有相当一部分的研究,这些研究通常通过上传虚拟的未评分物品的梯度来保护用户的评分行为。如,FedRec中将随机采样一部分用户的未评分物品,然后使用平均分填充和预测评分填充对这些未评分物品赋值一个虚拟评分,从而获得这些未评分物品的梯度,将用户的已评分物品梯度与未评分物品梯度一起上传至服务端,使得服务端无法根据梯度确定用户对哪些物品进行了真正的评分,从而保护用户的评分行为。现有技术的问题在于,将虚拟的用户未评分物品的梯度和用户真实评分的物品的梯度一起上传至服务端,在保护用户的评分行为的同时引入了梯度噪声(即虚拟的用户未评分物品的梯度),从而降低了联邦推荐过程中模型的精准性,降低了推荐效果。因此,本发明基于FedRec提供了一种能保护用户评分行为且消除梯度噪声的方案,以提高联邦推荐过程中模型的精准性和推荐效果。
为了解决现有技术中存在的问题,本发明提供一种联邦推荐梯度获取方法,在本发明实施例中,在需要用户对物品进行评分时,获取模型参数;获取普通对象和去噪对象;基于上述模型参数,通过各上述普通对象获取第一含噪梯度;基于上述模型参数,通过各上述去噪对象获取第二含噪梯度;基于上述第一含噪梯度与上述第二含噪梯度消除上述普通对象梯度噪声以及上述去噪梯度噪声,获取目标梯度。如此,通过普通对象获得的第一含噪梯度和去噪对象获得的第二含噪梯度消除梯度噪声,在保护用户的评分行为的同时消除梯度噪声、获取不含梯度噪声的目标梯度。因此相较于现有技术中仅将虚拟的用户未评分物品的梯度和用户真实评分的物品的梯度一起上传至服务端的方案,本方案可在保护用户评分行为的同时消除梯度噪声,从而提高联邦推荐过程中模型的精准性和推荐效果。
如图1所示,本发明实施例提供一种联邦推荐梯度获取方法,上述方法包括如下步骤:
步骤S100,获取模型参数。
其中,上述模型参数为物品潜在特征向量,本实施例中,以V
步骤S200,获取普通对象和去噪对象。
步骤S300,基于上述模型参数,通过各上述普通对象获取第一含噪梯度,其中,上述第一含噪梯度包括各上述普通对象计算获取的普通对象梯度以及普通对象梯度噪声。
步骤S400,基于上述模型参数,通过各上述去噪对象获取第二含噪梯度,其中,上述第二含噪梯度包括各上述去噪对象计算获取的去噪对象梯度以及去噪梯度噪声。
本实施例中,由服务端执行上述联邦推荐梯度获取方法,上述普通对象和上述去噪对象为与上述服务端相关联的客户端,用户与上述客户端一一对应,且通过上述客户端对物品进行的评分计算生成物品梯度,服务端获取各个客户端上传的物品梯度最终计算获得目标梯度,即客户端对物品的真实梯度。
本实施例中,上述普通对象为普通客户端,用于对物品进行真实评分和虚拟评分,获得上述第一含噪梯度。上述去噪对象为去噪客户端,由步骤S400可知,上述去噪客户端用于对物品进行真实评分且收集上述普通客户端在评分过程中的梯度噪声,即普通对象梯度噪声。其中,上述普通对象梯度噪声与上述普通客户端对物品的虚拟评分相关。
由于本发明实施例中,服务端从普通客户端和去噪客户端获取的梯度都是包含梯度噪声的,服务端无法从中获知上述普通客户端和上述去噪客户端对应的用户对物品的具体评分情况(如某一普通客户端对应的用户对哪些物品进行了真实评分,未对哪些物品进行真实评分),因此客户端对应的用户的评分行为得到了保护。
步骤S500,基于上述第一含噪梯度与上述第二含噪梯度消除上述普通对象梯度噪声以及上述去噪梯度噪声,获取目标梯度。
具体的,各上述第一含噪梯度中包含对应普通对象的普通对象梯度噪声,各上述第二含噪梯度中包含对应去噪对象接收的一个或多个普通对象的普通对象梯度之和(即去噪梯度噪声),且一个普通对象只发送其普通对象梯度噪声给一个去噪客户端,即所有上述第一含噪梯度包括的普通对象梯度噪声之和与所有上述第二含噪梯度包括的去噪梯度噪声之和对应相等,因此基于所有上述第一含噪梯度和所有上述第二含噪梯度可以消除所有普通对象梯度噪声以及去噪梯度噪声,从而获得不含梯度噪声的目标梯度。
由上可见,本发明实施例提供的联邦推荐梯度获取方法获取模型参数;获取普通对象和去噪对象;基于上述模型参数,通过各上述普通对象获取第一含噪梯度;基于上述模型参数,通过各上述去噪对象获取第二含噪梯度;基于上述第一含噪梯度与上述第二含噪梯度消除上述普通对象梯度噪声以及上述去噪梯度噪声,获取目标梯度。如此,通过普通对象获取的第一含噪梯度以及通过去噪对象获取的第二含噪梯度都包含对应的梯度噪声,可以保护用户的评分行为;同时,获取上述第一含噪梯度和上述第二含噪梯度后可以消除对应的梯度噪声,获取不含梯度噪声的目标梯度。因此相较于现有技术中仅将虚拟的用户未评分物品的梯度和用户真实评分的物品的梯度一起上传至服务端的方案,本方案可在保护用户评分行为的同时消除梯度噪声,从而提高联邦推荐过程中模型的精准性和推荐效果。
具体的,如图2所示,本实施例中,上述步骤S200包括:
步骤S210,获取所有用于评价的对象集合。
步骤S220,基于预设的去噪对象阈值和上述对象集合获取去噪对象。
步骤S230,将上述对象集合中除上述去噪对象以外的所有对象作为普通对象。
本实施例中,上述用于评价的对象集合包括所有用于评分的用户对应的客户端,上述去噪对象为去噪客户端,上述普通对象为普通客户端。上述预设的去噪对象阈值可以为预先设定的数值,也可以根据实际需求进行调整,在此不做限定。实际使用中,服务端获知所有客户端,基于预设的去噪对象阈值随机筛选获得去噪客户端,并将其它客户端作为普通客户端。可选的,还可以有其它筛选方式,如根据各客户端对应设备条件进行排序筛选,在此不做具体限定。
具体的,如图3所示,本实施例中,上述步骤S300包括:
步骤S310,将上述模型参数发送给各上述普通对象。
步骤S320,分别控制各上述普通对象基于上述模型参数计算获取上述普通对象梯度以及上述普通对象梯度噪声,基于上述普通对象梯度和上述普通对象梯度噪声生成上述第一含噪梯度。
步骤S330,获取各上述普通对象的上述第一含噪梯度。
本实施例中,由服务端执行上述联邦推荐方法,服务端获取并初始化上述模型参数V
可选的,将上述模型参数发送给各上述普通对象后,当上述普通对象对应的用户对某物品进行了真实评分时,可以基于对应的真实评分获取物品的梯度。但对于某些物品,上述普通对象对应的用户并未进行真实评分,此时通过平均评分和预测评分获得对应物品的虚拟评分,其中,上述平均评分和预测评分的计算公式分别如下公式(1)和公式(2)所示:
其中,r′
对于物品i,在FedRec中,其梯度如下公式(3)所示:
其中,
其中,U
本实施例步骤S320中,服务端控制各上述普通客户端基于上述模型参数以及用户的真实评分数据,通过上述公式(1)、公式(2)、公式(4)以及公式(5)计算获得各上述普通客户端对应的用户u对于物品i的第一含噪梯度
本实施例中,服务端获得各上述普通对象的第一含噪梯度后,可基于如下公式(6)计算该物品的第一含噪梯度之和:
其中,
具体的,如图4所示,本实施例中,上述步骤S400包括:
步骤S410,分别控制各上述普通对象将上述普通对象梯度噪声发送给任意一个上述去噪对象。
本实施例中,上述普通对象梯度噪声即各普通客户端对应的用户对物品的虚拟评分对应的梯度。上述各普通客户端对应的用户对物品的虚拟评分可以基于上述公式(1)和公式(2)计算获得,上述虚拟评分对应的梯度可以基于上述公式(5)计算获得。具体的,对于物品i,普通客户端关联的用户u对应的普通对象梯度噪声为
其中,I′
步骤S420,将上述模型参数发送给各上述去噪对象。
步骤S430,分别控制各上述去噪对象基于上述模型参数计算获取上述去噪对象梯度,基于接收到的所有普通对象梯度噪声获取上述去噪梯度噪声,基于上述去噪对象梯度以及上述去噪梯度噪声生成上述第二含噪梯度,其中,上述去噪梯度噪声为上述去噪对象接收的上述普通对象梯度噪声之和。
步骤S440,获取各上述去噪对象的上述第二含噪梯度。
本实施例中,服务端同样将上述模型参数发送给各上述去噪对象(本实施例中即去噪客户端),上述去噪对象对应的用户对某物品进行了真实评分时,可以基于对应的真实评分获取物品对应的梯度,具体过程与上述普通对象相似。但对于用户未进行真实评分的物品,去噪对象不进行虚拟评分,因此上述去噪对象计算获取的去噪对象梯度是不包括虚拟评分产生的梯度噪声的。其中,对于物品i,去噪客户端关联的用户
同时,本实施例中,上述去噪对象还需接收上述普通对象发送的普通对象梯度噪声,由于本实施例中每个普通对象将对应的普通对象梯度噪声发送给任意一个去噪对象,所以一个去噪对象可能接收到多个普通对象梯度,各去噪对象对其接收到的普通对象梯度求和获得该去噪对象对应的去噪梯度噪声。且基于上述去噪梯度噪声和上述去噪对象梯度生成第二含噪梯度,记为
其中,A为该去噪对象对应的去噪梯度噪声,即该去噪对象接收的所有普通对象梯度噪声,可以基于下述公式(9)计算:
其中,
具体的,虽然上述去噪对象并未对未评分物品进行虚拟评分,未产生对应的梯度噪声,但上述去噪对象生成的第二含噪梯度中包括普通对象梯度噪声,因此服务端获得的仍然是含有噪声的梯度,上述去噪对象对应用户的隐私也得到了保护。
可选的,可以设置上述去噪对象阈值小于上述用于评价的对象集合的元素数目的一半,从而使得上述去噪对象的数目小于上述普通对象的数目,进一步的,在控制上述普通对象向上述去噪对象发送对应的普通对象梯度噪声时,保证每一个去噪对象至少有一个普通对象对应发送普通对象梯度噪声,从而进一步保证上述去噪对象对应用户的隐私。
具体的,如图5所示,本实施例中,上述步骤S500包括:
步骤S510,基于各上述第一含噪梯度计算获取第一目标含噪梯度,其中,上述第一目标含噪梯度为各上述第一含噪梯度之和。
步骤S520,基于各上述第二含噪梯度计算获取第二目标含噪梯度,其中,上述第二目标含噪梯度为各上述第二含噪梯度之和。
步骤S530,计算获取上述第一目标含噪梯度与上述第二目标含噪梯度之差,作为上述目标梯度。
具体的,服务端在上述步骤S440中获得了上述各去噪对象生成的第二含噪梯度
上述目标梯度可以基于如下公式(10)进行计算:
其中,B为上述目标梯度,
具体的,由上述公式(8)和公式(10)可知,在计算上述目标梯度B时,通过上述第一目标含噪梯度减去第二目标含噪梯度,相当于减去所有去噪对象对应的梯度噪声之和,然后加上所有去噪对象对应的去噪对象梯度之和。即减去了所有普通对象梯度噪声之和,最后获得的目标梯度只包括所有普通对象梯度与所有去噪对象梯度之和。可见,获得的目标梯度体现各普通对象和去噪对象对于物品的真实评分,不含梯度噪声。
可选的,在上述普通对象和上述去噪对象接收到上述物品特征向量V
其中,e
进一步的,可以基于上述
可选的,在上述去噪对象接收上述普通对象发送的普通对象梯度噪声时,还可以控制各去噪对象进一步统计向其发送普通对象梯度噪声的普通对象中对物品i进行虚拟评分的普通对象的数目,记为
可选的,在获取上述目标梯度后,上述联邦推荐梯度获取方法还包括:计算获取对物品进行真实评分的评分对象数量,基于上述目标梯度和上述评分对象数量对上述物品潜在特征向量进行更新,以在后续梯度计算中提高计算准确性。其中,上述评分对象数量为所有对该物品进行真实评分的普通对象和去噪对象的数量之和。
具体的,服务端获得物品i的目标梯度B后,计算对物品i评过分的客户端的数量
具体的,服务端可以通过如下公式(12)对物品i的潜在特征向量进行更新:
其中,等式左边的V
具体的,图6示出了本实施例提供的一种服务端和客户端交互示意图,图6中仅示出了一个普通客户端和一个去噪客户端。如图6所示,服务端向普通客户端u和去噪客户端
如图7中所示,对应于上述联邦推荐梯度获取方法,本发明实施例还提供一种联邦推荐梯度获取装置,上述联邦推荐梯度获取装置包括:
参数获取模块710,用于获取模型参数。
其中,上述模型参数为物品潜在特征向量,本实施例中,以V
对象获取模块720,用于获取普通对象和去噪对象。
第一含噪梯度获取模块730,用于基于上述模型参数,通过各上述普通对象获取第一含噪梯度,其中,上述第一含噪梯度包括各上述普通对象计算获取的普通对象梯度以及普通对象梯度噪声。
第二含噪梯度获取模块740,用于基于上述模型参数,通过各上述去噪对象获取第二含噪梯度,其中,上述第二含噪梯度包括各上述去噪对象计算获取的去噪对象梯度以及去噪梯度噪声。
本实施例中,由上述联邦推荐梯度获取装置为服务端,上述普通对象和上述去噪对象为与上述服务端相关联的客户端,用户与上述客户端一一对应,且通过上述客户端对物品进行的评分计算生成物品梯度,服务端获取各个客户端上传的物品梯度最终计算获得目标梯度,即客户端对物品的真实梯度。
本实施例中,上述普通对象为普通客户端,用于对物品进行真实评分和虚拟评分,获得上述第一含噪梯度。上述去噪对象为去噪客户端,上述去噪客户端用于对物品进行真实评分且收集上述普通客户端在评分过程中的梯度噪声,即普通对象梯度噪声。其中,上述普通对象梯度噪声与上述普通客户端对物品的虚拟评分相关。
由于本发明实施例中,服务端从普通客户端和去噪客户端获取的梯度都是包含梯度噪声的,服务端无法从中获知上述普通客户端和上述去噪客户端对应的用户对物品的具体评分情况(如某一普通客户端对应的用户对哪些物品进行了真实评分,未对哪些物品进行真实评分),因此客户端对应的用户的评分行为得到了保护。
目标梯度获取模块750,用于基于上述第一含噪梯度与上述第二含噪梯度消除上述普通对象梯度噪声以及上述去噪梯度噪声,获取目标梯度。
具体的,各上述第一含噪梯度中包含对应普通对象的普通对象梯度噪声,各上述第二含噪梯度中包含对应去噪对象接收的一个或多个普通对象的普通对象梯度之和(即去噪梯度噪声),且一个普通对象只发送其普通对象梯度噪声给一个去噪客户端,即所有上述第一含噪梯度包括的普通对象梯度噪声之和与所有上述第二含噪梯度包括的去噪梯度噪声之和对应相等,因此基于所有上述第一含噪梯度和所有上述第二含噪梯度可以消除所有普通对象梯度噪声以及去噪梯度噪声,从而获得不含梯度噪声的目标梯度。
由上可见,本发明实施例提供的联邦推荐梯度获取装置通过参数获取模块710获取模型参数;通过对象获取模块720获取普通对象和去噪对象;通过第一含噪梯度获取模块730基于上述模型参数,通过各上述普通对象获取第一含噪梯度;通过第二含噪梯度获取模块740基于上述模型参数,通过各上述去噪对象获取第二含噪梯度;通过目标梯度获取模块750基于上述第一含噪梯度与上述第二含噪梯度消除上述普通对象梯度噪声以及上述去噪梯度噪声,获取目标梯度。如此,使得第一含噪梯度以及第二含噪梯度都包含对应的梯度噪声,可以保护用户的评分行为;同时,获取上述第一含噪梯度和上述第二含噪梯度后可以消除对应的梯度噪声,获取不含梯度噪声的目标梯度。因此相较于现有技术中仅将虚拟的用户未评分物品的梯度和用户真实评分的物品的梯度一起上传至服务端的方案,本方案可在保护用户评分行为的同时消除梯度噪声,从而提高联邦推荐过程中模型的精准性和推荐效果。
可选的,上述对象获取模块720具体用于:获取所有用于评价的对象集合;基于预设的去噪对象阈值和上述对象集合获取去噪对象;将上述对象集合中除上述去噪对象以外的所有对象作为普通对象。
本实施例中,上述用于评价的对象集合包括所有用于评分的用户对应的客户端,上述去噪对象为去噪客户端,上述普通对象为普通客户端。上述预设的去噪对象阈值可以为预先设定的数值,也可以根据实际需求进行调整,在此不做限定。实际使用中,服务端获知所有客户端,基于预设的去噪对象阈值随机筛选获得去噪客户端,并将其它客户端作为普通客户端。可选的,还可以有其它筛选方式,如根据各客户端对应设备条件进行排序筛选,在此不做具体限定。
具体的,如图8所示,本实施例中,上述第一含噪梯度获取模块730包括:
普通对象参数发送单元731,用于将上述模型参数发送给各上述普通对象.
第一含噪梯度生成单元732,用于分别控制各上述普通对象基于上述模型参数计算获取上述普通对象梯度以及上述普通对象梯度噪声,基于上述普通对象梯度和上述普通对象梯度噪声生成上述第一含噪梯度。
第一含噪梯度获取单元733,用于获取各上述普通对象的上述第一含噪梯度。
本实施例中,上述联邦推荐梯度获取装置为服务端,服务端获取并初始化上述模型参数V
可选的,将上述模型参数发送给各上述普通对象后,当上述普通对象对应的用户对某物品进行了真实评分时,可以基于对应的真实评分获取物品的梯度。但对于某些物品,上述普通对象对应的用户并未进行真实评分,此时通过平均评分和预测评分获得对应物品的虚拟评分,其中,上述平均评分和预测评分的计算公式分别如下公式(13)和公式(14)所示:
其中,r′
对于物品i,在FedRec中,其梯度如下公式(15)所示:
其中,
其中,U
本实施例中,服务端控制各上述普通客户端基于上述模型参数以及用户的真实评分数据,通过上述公式(13)、公式(14)、公式(16)以及公式(17)计算获得各上述普通客户端对应的用户u对于物品i的第一含噪梯度
本实施例中,服务端获得各上述普通对象的第一含噪梯度后,可基于如下公式(18)计算该物品的第一含噪梯度之和:
其中,
具体的,如图9所示,本实施例中,上述第二含噪梯度获取模块740包括:
普通对象控制单元741,用于分别控制各上述普通对象将上述普通对象梯度噪声发送给任意一个上述去噪对象。
本实施例中,上述普通对象梯度噪声即各普通客户端对应的用户对物品的虚拟评分对应的梯度。具体的,对于物品i,普通客户端关联的用户u对应的普通对象梯度噪声为
其中,I′
去噪对象参数发送单元742,用于将上述模型参数发送给各上述去噪对象。
第二含噪梯度生成单元743,用于分别控制各上述去噪对象基于上述模型参数计算获取上述去噪对象梯度,基于接收到的所有普通对象梯度噪声获取上述去噪梯度噪声,基于上述去噪对象梯度以及上述去噪梯度噪声生成上述第二含噪梯度,其中,上述去噪梯度噪声为上述去噪对象接收的上述普通对象梯度噪声之和。
第二含噪梯度获取单元744,用于获取各上述去噪对象的上述第二含噪梯度。
本实施例中,服务端同样将上述模型参数发送给各上述去噪对象(本实施例中即去噪客户端),上述去噪对象对应的用户对某物品进行了真实评分时,可以基于对应的真实评分获取物品对应的梯度,具体过程与上述普通对象相似。但对于用户未进行真实评分的物品,去噪对象不进行虚拟评分,因此上述去噪对象计算获取的去噪对象梯度是不包括虚拟评分产生的梯度噪声的。其中,对于物品i,去噪客户端关联的用户
同时,本实施例中,上述去噪对象还需接收上述普通对象发送的普通对象梯度噪声,由于本实施例中每个普通对象将对应的普通对象梯度噪声发送给任意一个去噪对象,所以一个去噪对象可能接收到多个普通对象梯度,各去噪对象对其接收到的普通对象梯度求和获得该去噪对象对应的去噪梯度噪声。且基于上述去噪梯度噪声和上述去噪对象梯度生成第二含噪梯度,记为
其中,A为该去噪对象对应的去噪梯度噪声,即该去噪对象接收的所有普通对象梯度噪声,可以基于下述公式(21)计算:
其中,
具体的,虽然上述去噪对象并未对未评分物品进行虚拟评分,未产生对应的梯度噪声,但上述去噪对象生成的第二含噪梯度中包括普通对象梯度噪声,因此服务端获得的仍然是含有噪声的梯度,上述去噪对象对应用户的隐私也得到了保护。
可选的,可以设置上述去噪对象阈值小于上述用于评价的对象集合的元素数目的一半,从而使得上述去噪对象的数目小于上述普通对象的数目,进一步的,在控制上述普通对象向上述去噪对象发送对应的普通对象梯度噪声时,保证每一个去噪对象至少有一个普通对象对应发送普通对象梯度噪声,从而进一步保证上述去噪对象对应用户的隐私。
可选的,上述目标梯度获取模块具体用于:基于各上述第一含噪梯度计算获取第一目标含噪梯度,其中,上述第一目标含噪梯度为各上述第一含噪梯度之和;基于各上述第二含噪梯度计算获取第二目标含噪梯度,其中,上述第二目标含噪梯度为各上述第二含噪梯度之和;计算获取上述第一目标含噪梯度与上述第二目标含噪梯度之差,作为上述目标梯度。
具体的,服务端通过上述第二含噪梯度获取单元744获得了上述各去噪对象生成的第二含噪梯度
上述目标梯度可以基于如下公式(22)进行计算:
其中,B为上述目标梯度,
具体的,由上述公式(20)和公式(22)可知,在计算上述目标梯度B时,通过上述第一目标含噪梯度减去第二目标含噪梯度,相当于减去所有去噪对象对应的梯度噪声之和,然后加上所有去噪对象对应的去噪对象梯度之和。即减去了所有普通对象梯度噪声之和,最后获得的目标梯度只包括所有普通对象梯度与所有去噪对象梯度之和。可见,获得的目标梯度体现各普通对象和去噪对象对于物品的真实评分,不含梯度噪声。
可选的,在上述普通对象和上述去噪对象接收到上述物品特征向量V
其中,e
进一步的,可以基于上述
可选的,在上述去噪对象接收上述普通对象发送的普通对象梯度噪声时,还可以控制各去噪对象进一步统计向其发送普通对象梯度噪声的普通对象中对物品i进行虚拟评分的普通对象的数目,记为
可选的,在获取上述目标梯度后,上述联邦推荐梯度获取装置还可以用于:计算获取对物品进行真实评分的评分对象数量,基于上述目标梯度和上述评分对象数量对上述物品潜在特征向量进行更新,以在后续梯度计算中提高计算准确性。其中,上述评分对象数量为所有对该物品进行真实评分的普通对象和去噪对象的数量之和。
具体的,服务端获得物品i的目标梯度B后,计算对物品i评过分的客户端的数量
具体的,服务端可以通过如下公式(24)对物品i的潜在特征向量进行更新:
其中,等式左边的V
基于上述实施例,本发明还提供了一种智能终端,其原理框图可以如图10所示。上述智能终端包括通过系统总线连接的处理器、存储器、网络接口以及显示屏。其中,该智能终端的处理器用于提供计算和控制能力。该智能终端的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该智能终端的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时实现上述任意一种联邦推荐梯度获取方法的步骤。该智能终端的显示屏可以是液晶显示屏或者电子墨水显示屏。
本领域技术人员可以理解,图10中示出的原理框图,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的智能终端的限定,具体的智能终端可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种智能终端,包括有存储器、处理器以及存储在上述存储器上并可在上述处理器上运行的程序,上述程序被上述处理器执行时进行以下操作指令:
获取模型参数;
获取普通对象和去噪对象;
基于上述模型参数,通过各上述普通对象获取第一含噪梯度,其中,上述第一含噪梯度包括各上述普通对象计算获取的普通对象梯度以及普通对象梯度噪声;
基于上述模型参数,通过各上述去噪对象获取第二含噪梯度,其中,上述第二含噪梯度包括各上述去噪对象计算获取的去噪对象梯度以及去噪梯度噪声;
基于上述第一含噪梯度与上述第二含噪梯度消除上述普通对象梯度噪声以及上述去噪梯度噪声,获取目标梯度。
本发明实施例还提供一种非临时性计算机可读存储介质,其上存储有计算机程序,上述计算机程序被处理器执行时实现本发明实施例提供的任一种联邦推荐梯度获取方法所述的步骤。
应理解,上述实施例中各步骤的序号大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将上述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。对于各个公式中表现形式相同的量,如无特殊说明则表示相同的量,各个公式之间可以相互参照。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各实例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟是以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同的方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的实施例中,应该理解到,所揭露的装置/终端设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/终端设备实施例仅仅是示意性的,例如,上述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以由另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
上述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,上述计算机程序可存储于以计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,上述计算机程序包括计算机程序代码,上述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。上述计算机可读介质可以包括:能够携带上述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,上述计算机可读存储介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解;其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不是相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
- 一种联邦推荐梯度获取方法、装置、智能终端及存储介质
- 纵向联邦推荐召回方法、装置、设备及可读存储介质