联邦学习方法、装置、电子设备及存储介质与流程
未命名
09-24
阅读:95
评论:0
1.本技术涉及联邦学习技术领域,尤其涉及一种联邦学习方法、装置、电子设备及存储介质。
背景技术:
2.联邦学习本质上是一种分布式机器学习技术或机器学习框架;联邦学习的目标是在保证数据隐私安全及合法合规的基础上,实现多个参与方共同建模,提升机器学习模型的效果。现有的联邦框架更多考虑的是各参与方的数据安全问题,保护不同参与方的数据安全,但并没有考虑到各参与方之间建模能力的差异,从而使得通过联邦学习得到的机器学习模型的效果不理想。
技术实现要素:
3.本技术所要解决的技术问题在于,提供一种联邦学习方法、装置、电子设备及存储介质,能够生成与多个数据端相匹配的模型文件,多个数据端基于各自的模型文件进行联邦学习,能够提高建模效果,进而提高对象意图预测模型的预测准确性。
4.为了解决上述技术问题,一方面,本技术提供了一种联邦学习方法,包括:获取多个数据端发送的数据分布信息;所述多个数据端包括目标数据端以及辅助数据端;所述目标数据端存储与目标对象的意图预测相关联的第一对象数据以及意图标签;所述辅助数据端存储与所述目标对象的意图预测相关联的第二对象数据;每个数据端的数据分布信息基于对所述每个数据端的对象数据的特征分布数据进行加密得到;基于所述多个数据端各自对应的数据分布信息,生成与所述多个数据端各自对应的模型文件;向所述多个数据端分别发送各自对应的模型文件;以使得所述目标数据端基于对应的模型文件、所述第一对象数据以及所述意图标签,所述辅助数据端基于对应的模型文件以及所述第二对象数据进行联邦学习,生成与所述多个数据端各自对应的对象意图预测模型。另一方面,本技术提供了另一种联邦学习方法,包括:对本地数据端的第一对象数据的特征分布数据进行加密,得到本地数据端对应的数据分布信息;将所述本地数据端对应的数据分布信息发送给主控端;所述主控端用于基于所述本地数据端发送的数据分布信息生成所述本地数据端对应的模型文件,以及基于辅助数据端发送的数据分布信息生成所述辅助数据端对应的模型文件;获取所述主控端发送的与所述本地数据端对应的模型文件;基于所述本地数据端对应的模型文件、所述本地数据端的第一对象数、所述本地数据端的意图标签、所述辅助数据端对应的模型文件以及所述辅助数据端的第二对象数据进行联邦学习,生成所述本地数据端对应的对象意图预测模型;所述第一对象数据以及所
述第二对象数据均为与目标对象的意图预测相关联的对象数据。
5.另一方面,本技术提供了一种联邦学习装置,包括:分布信息获取模块,用于获取多个数据端发送的数据分布信息;所述多个数据端包括目标数据端以及辅助数据端;所述目标数据端存储与目标对象的意图预测相关联的第一对象数据以及意图标签;所述辅助数据端存储与所述目标对象的意图预测相关联的第二对象数据;每个数据端的数据分布信息基于对所述每个数据端的对象数据的特征分布数据进行加密得到;模型文件生成模块,用于基于所述多个数据端各自对应的数据分布信息,生成与所述多个数据端各自对应的模型文件;模型文件发送模块,用于向所述多个数据端分别发送各自对应的模型文件;以使得所述目标数据端基于对应的模型文件、所述第一对象数据以及所述意图标签,所述辅助数据端基于对应的模型文件以及所述第二对象数据进行联邦学习,生成与所述多个数据端各自对应的对象意图预测模型。
6.另一方面,本技术提供了另一种联邦学习装置,包括:分布信息加密模块,用于对本地数据端的第一对象数据的特征分布数据进行加密,得到本地数据端对应的数据分布信息;分布信息发送模块,用于将所述本地数据端对应的数据分布信息发送给主控端;所述主控端用于基于所述本地数据端发送的数据分布信息生成所述本地数据端对应的模型文件,以及基于辅助数据端发送的数据分布信息生成所述辅助数据端对应的模型文件;模型文件获取模块,用于获取所述主控端发送的与所述本地数据端对应的模型文件;模型生成模块,用于基于所述本地数据端对应的模型文件、所述本地数据端的第一对象数、所述本地数据端的意图标签、所述辅助数据端对应的模型文件以及所述辅助数据端的第二对象数据进行联邦学习,生成所述本地数据端对应的对象意图预测模型;所述第一对象数据以及所述第二对象数据均为与目标对象的意图预测相关联的对象数据。
7.另一方面,本技术提供了一种电子设备,所述设备包括处理器和存储器,所述存储器中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由所述处理器加载并执行以实现如上述的联邦学习方法。
8.另一方面,本技术提供了一种计算机存储介质,所述存储介质中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由处理器加载并执行如上述的联邦学习方法。
9.实施本技术实施例,具有如下有益效果:本技术基于多个数据端各自的对象数据的数据分布信息,分别生成与多个数据端相匹配的模型文件,使得多个数据端基于各自对应的模型文件以及各自包括的对象数据进行联邦学习,生成对象意图预测模型;即每个数据端的模型文件是与该数据端的对象数据的数据分布信息相匹配的,从而使得在联邦学习过程中,充分利用各数据端的对象数据,实现针对不同数据端的数据特性进行建模,提高建模效果,进而提高对象意图预测模型的预测准确性。进一步地,获取的数据分布信息是通过对所述每个数据端的对象数据的特征分布数据进行加密得到,从而主控端不会存储各数据端的相关数据,保证各数据端的数据安
全。
附图说明
10.为了更清楚地说明本技术实施例或现有技术中的技术方案和优点,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。
11.图1是本技术实施例提供的实施环境示意图;图2是本技术实施例提供的一种联邦学习方法流程图;图3是本技术实施例提供的各数据端进行安全求交示意图;图4是本技术实施例提供的数据融合示意图;图5是本技术实施例提供的一种模型文件生成方法流程图;图6是本技术实施例提供的另一种联邦学习方法流程图;图7是本技术实施例提供的对象意图预测模型的生成方法流程图;图8是本技术实施例提供的目标损失信息确定方法流程图;图9是本技术实施例提供的一种联邦学习装置示意图;图10是本技术实施例提供的另一种联邦学习装置示意图;图11是本技术实施例提供的一种电子设备结构示意图;图12是本技术实施例提供的另一种电子设备结构示意图。
具体实施方式
12.为使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术作进一步地详细描述。显然,所描述的实施例仅仅是本技术的一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本技术保护的范围。
13.需要说明的是,本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或服务器不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
14.需要说明的是,本公开所涉及的对象数据(包括但不限于对象设备信息、对象信息等),均为经对象授权或者经过各方充分授权的信息和数据。
15.请参阅图1,其示出了本技术实施例提供的实施环境示意图,该实施环境可包括:主控端110以及多个数据端120,其中主控端110与多个数据端120可通过网络进行数据通信,多个数据端120之间也可通过网络进行相互通信。
16.具体地,不同数据端120包括目标对象在不同维度的对象数据,每个数据端120可对相应对象数据的特征分布数据进行加密,得到每个数据端对应的数据分布信息。主控端
110可获取多个数据端发送的数据分布信息,基于多个数据端120的对象数据的数据分布信息,为多个数据端120分别生成相应的模型文件;多个数据端120可基于各自对应的模型文件以及包括的对象数据进行联邦学习,得到与多个数据端120各自对应的对象意图预测模型。
17.多个数据端120可以基于浏览器/服务器模式(browser/server,b/s)或数据端/服务器模式(client/server,c/s)与主控端110进行通信。数据端120可以包括:智能手机、平板电脑、笔记本电脑、数字助理、智能可穿戴设备、车载终端等类型的实体设备,也可以包括运行于实体设备中的软体,例如应用程序等。本技术实施例中的数据端120上运行的操作系统可以包括但不限于安卓系统、ios系统、linux、windows等。
18.主控端110以及多个数据端120可以通过有线或者无线建立通信连接,主控端110可以包括一个独立运行的服务器,或者分布式服务器,或者由多个服务器组成的服务器集群,其中服务器可以是云端服务器。
19.为了解决现有技术中联邦学习并没有考虑到各参与方之间建模能力的差异,从而使得通过联邦学习的建模效果不理想的技术问题,本技术实施例提供了一种联邦学习方法,其执行主体可以为上述的主控端,具体请参阅图2,该方法可包括:s210. 获取多个数据端发送的数据分布信息;所述多个数据端包括目标数据端以及辅助数据端;所述目标数据端存储与目标对象的意图预测相关联的第一对象数据以及意图标签;所述辅助数据端存储与所述目标对象的意图预测相关联的第二对象数据;每个数据端的数据分布信息基于对所述每个数据端的对象数据的特征分布数据进行加密得到。
20.本实施例中,主控端可存储目标数据源以及数据标签,基于目标数据源以及数据标签可进行模型训练以得到适用于目标领域的目标模型。主控端可接收目标数据端发送的联邦学习请求,联邦学习请求中可标识待训练模型适用的目标领域;主控端可基于目标领域确定与目标领域相匹配的辅助数据源,存储辅助数据源的数据端即为辅助数据端。从而在联邦学习过程中,可基于目标数据端存储的目标数据源以及辅助数据端存储的辅助数据源进行联合模型训练,得到适用于目标领域的目标模型。
21.具体地,目标数据端可以为存储意图标签的数据端,目标数据端的第一对象数据与辅助数据端的第二对象数据可以包括通过不同数据获取渠道获取的目标对象在相同维度或者不同维度的对象数据,这里不同数据获取渠道可包括电商应用程序渠道,搜索引擎数据渠道,多媒体资源浏览渠道等。不同数据获取渠道所获取到的对象数据的数据分布可能不同。例如,第一对象数据通过电商应用程序渠道获取,第二对象数据通过搜索引擎数据渠道,多媒体资源浏览渠道获取。本实施例中,不同数据端可包括目标对象在不同维度的对象数据,例如数据端1包括目标对象在维度a的对象数据,数据端2包括目标对象在维度b的对象数据,数据端3包括目标对象在维度c的对象数据
……
;不同数据端还可包括目标对象在相同维度的对象数据,例如数据端1、数据端1、数据端3
……
均可包括目标对象在维度d的对象数据。具体地,维度a可以是指画像特征维度,从而数据端1可包括目标对象的画像特征数据,维度b可以是指操作特征维度,从而数据端2可包括目标对象的操作特征数据,维度c可以是指偏好特征维度,从而数据端3可包括目标对象的偏好特征数据,维度d可以为对象标识维度,从而数据端1、数据端2以及数据端3均可包括目标对象的对象标识。
22.不同数据端可包括不同对象的对象数据,通过对多个数据端的对象数据进行安全
求交之后可确定目标对象,即多个数据端均可包括目标对象的对象数据,目标对象为多个数据端的共有对象;安全求交又称隐私集合求交,使得各数据端通过计算得到集合的交集数据,而不泄露任何交集以外的数据信息。具体可根据多个数据端和唯一标识字段,找到多个数据端的对象数据中的共有数据,例如上述的对象标识可作为唯一标识字段,多个数据端通过对象标识进行安全求交之后,可得到多个数据端的共有数据集合,共有数据集合中可包括目标对象的对象标识;每个数据端均可获取共有数据集中的数据,进而可基于共有数据集中的数据确定参与联邦学习的目标对象,进而基于目标对象的对象数据进行联邦学习。请参阅图3,其示出了各数据端进行安全求交示意图,各数据端可基于各自所拥有的对象数据进行安全求交,得到相应的共有数据集合。
23.本实施例中,主控端不存储原始的对象数据,为了便于主控端为各数据端进行模型定制,主控端需要了解各数据端对象数据的特征分布数据,直接向主控端发送对象数据的特征分布数据可能会暴露数据端原始的对象数据,从而为了保护数据隐私,各数据端可对各自包括的对象数据的特征分布数据进行加密,具体可采用同态加密或者混淆等加密方式,以得到数据分布信息,然后将数据分布信息发送给主控端。本实施例中的特征分布数据可包括iv值以及pearson系数等,其中iv即信息价值(information value),也称信息量,iv值就是用来衡量变量预测能力的,iv值越大,表示该变量的预测能力越强;pearson:皮尔逊相关系数(pearson correlation coefficient),用于度量两个变量x和y之间的相关(线性相关),其值介于-1与1之间。
24.s220. 基于所述多个数据端各自对应的数据分布信息,生成与所述多个数据端各自对应的模型文件。
25.不同的数据分布信息可对应不同的模型结构,从而主控端在接收到各数据端发送的数据分布信息的情况下,可基于各数据端的数据分布信息,分别制定适配相应数据分布信息的模型,相同的数据分布信息可对应相同的模型结构,不同的数据分布信息可对应不同的模型结构;主控端可基于各数据端对应的模型结构生成与各数据端对应的模型文件;各数据端的模型文件可用于指导各数据端构建与其数据分布信息相适配的模型结构的预设模型。多个数据端的数据分布信息可以相同,也可以不同;在一个具体实施例中,多个数据端的数据分布信息各不相同。主控端可针对不同数据源进行模型定制,达到各数据端的数据更好的利用以及各数据端的模型之间更好的收敛的效果。
26.具体地,数据端1包括目标对象的画像特征数据,数据端2包括目标对象的操作特征数据,画像特征数据的特征分布数据与操作特征数据的特征分布数据可能不同,相应的数据分布信息也不同,进而数据端1与数据端2分别对应的模型结构也不同。
27.s230. 向所述多个数据端分别发送各自对应的模型文件;以使得所述目标数据端基于对应的模型文件、所述第一对象数据以及所述意图标签,所述辅助数据端基于对应的模型文件以及所述第二对象数据进行联邦学习,生成与所述多个数据端各自对应的对象意图预测模型。
28.主控端可向多个数据端分别发送相应的模型文件,启动各数据端的模型训练任务;各数据端可基于相应的模型文件构建相应的预设模型,并基于预设模型以及自身包括的对象数据进行联邦学习,得到多个数据端各自对应的对象意图预测模型。
29.本实施例中的对象意图预测模型能够基于待预测对象的对象数据,预测待预测对
象的意图信息,每个数据端均可基于各自对应的对象意图预测模型对待预测对象进行预测,得到相应的意图预测结果。
30.本技术基于多个数据端各自的对象数据的数据分布信息,分别生成与多个数据端相匹配的模型文件,使得多个数据端基于各自对应的模型文件以及各自包括的对象数据进行联邦学习,生成对象意图预测模型;即每个数据端的模型文件是与该数据端的对象数据的数据分布信息相匹配的,从而使得在联邦学习过程中,充分利用各数据端的对象数据,实现针对不同数据端的数据特性进行建模,提高建模效果,进而提高对象意图预测模型的预测准确性。进一步地,获取的数据分布信息是通过对所述每个数据端的对象数据的特征分布数据进行加密得到,从而主控端不会存储各数据端的相关数据,保证各数据端的数据安全。
31.在一具体的应用场景中,客户需要构建对象意图预测模型,除客户自己收集到的对象数据外,客户还想通过其他数据源的数来提升模型效果,则可以采用上述本技术提供的方法训练,以得到性能较好的对象意图预测模型。
32.本实施例中,主控端可基于各数据端的数据分布信息生成与各数据端分别对应的模型文件,各数据端可基于各自的模型文件构建预设模型;进一步地,主控端还可基于各数据端的数据分布信息生成融合模型文件,将融合模型文件发送给数据融合端,通过数据融合端能够实现对多个数据端的预设模型的输出数据进行融合。具体地,本实施例的联邦学习方法还可以包括:基于所述多个数据端各自对应的数据分布信息,生成融合模型文件;向数据融合端发送所述融合模型文件,以使得所述数据融合端:基于所述融合模型文件生成融合模型;在接收到多个预设模型的输出数据的情况下,基于所述融合模型对所述多个预设模型的输出数据进行融合,得到融合输出数据;所述多个预设模型基于所述多个数据端各自对应的模型文件生成;所述多个预设模型的输出数据服从独立同分布;基于所述融合输出数据以及所述意图标签,确定目标损失信息;将所述目标损失信息发送给所述多个数据端,以使得所述多个数据端基于所述目标损失信息,基于所述各自对应的目标损失信息对各自对应的预设模型进行更新,得到所述多个对象意图预测模型。进一步地,数据融合端还可基于目标损失信息对融合模型的参数进行更新。
33.基于多个数据端各自对应的数据分布信息,生成融合模型文件能够使得生成的融合模型的模型结构与各数据端的数据分布信息相适配。数据融合端可以为多个数据端中的任一数据端,数据融合端也可以为独立于多个数据端之外的终端;在数据融合端为多个数据端中的任一数据端的情况下,能够减少一个数据端与数据融合端之间的交互,提高数据处理效率;在数据融合端为独立于多个数据端之外的终端的情况下,能够避免数据融合端受到数据端的影响。
34.数据融合端在接收到主控端基于多个数据端各自对应的数据分布信息所生成的融合模型文件的情况下,可基于融合模型文件生成融合模型。在每一轮训练过程中,各数据端可将本轮训练过程中预设模型的输出数据发送给数据融合端,以使得数据融合端对本轮训练中各数据端的预设模型的输出数据进行融合,得到相应的融合输出数据;需要说明的是,主控端为各数据端所定制的模型文件能够使得多个数据端构建的预设模型的输出数据服从独立同分布,从而数据融合端在对独立同分布的输出数据进行融合时,能够进一步提
高数据融合效果。数据融合端可基于融合输出数据以及意图标签确定目标损失信息,然后将目标损失信息发送给多个数据端,多个数据端可基于目标损失信息对自身的预设模型进行更新,得到本轮训练对应的已训练模型;在重复多轮训练之后,即可得到每个数据端分别对应的对象意图预测模型。本实施例中数据融合端的意图标签即为目标数据端存储的意图标签;在数据融合端即为目标数据端的情况下,可直接使用意图标签;在数据融合端不是目标数据端的情况下,目标数据端可将数据融合端发送给数据融合端;数据融合端与目标数据端是相关联的数据端,相关联可以是指网络互连,也可以是指数据融合端作为目标数据端的后台处理设备。
35.请参阅图4,其示出了数据融合示意图,基于各数据端的预设模型可得到相应的输出数据,数据端可包括数据端1,
……
数据端n,其中数据端1可以为存储意图标签的目标数据端,数据端2,
……
数据端n为没有存储意图标签的辅助数据端。具体地,数据端1对应输出数据1,
……
数据端n对应输出数据n,将输出数据1,
……
输出数据n发送给数据融合端,数据融合端可对输出数据1,
……
输出数据n进行数据融合,得到融合输出数据。数据融合端可基于融合输出数据以及意图标签确定目标损失信息,再将目标损失信息发送给各数据端,以使得多个数据端可基于目标损失信息对自身的预设模型进行更新,得到已训练模型。
36.本技术中,通过构建融合模型,能够在联邦学习过程中对各数据端的预设模型的输出数据进行融合,实现多个数据端的共同建模;进一步地,融合模型文件基于多个数据端各自对应的数据分布信息生成,从而使得生成的融合模型的模型结构与各数据端的数据分布信息相适配,进而提高融合模型的数据融合效果;另外,各数据端的预设模型的输出数据服从独立同分布,能够实现融合模型对多个预设模型的输出数据进行更好的融合,提高数据融合效果。
37.本实施例中,用于进行联邦学习的第一对象数据以及第二对象数据可包括目标领域的对象数据以及非目标领域的对象数据,且目标领域的对象数据与非目标领域的对象数据不属于同一分布。从而在基于目标领域的对象数据与非目标领域的对象数据进行联邦学习所得到的对象意图预测模型适用于目标领域,而不适用于非目标领域,即使得经过联邦学习得到的对象意图预测模型在目标领域的预测效果较好,在非目标领域的预测效果较差。从而能够避免对象意图预测模型的迁移,保证模型安全。相应地,为了使得训练得到的对象意图预测模型不具备能够进行领域迁移能力,需要在构建模型文件时将这一能力考虑在内;具体地,本实施例中的目标对象的对象数据包括所述目标对象在目标领域的对象数据,请参阅图5,其示出了一种模型文件生成方法,该方法可包括:s510. 基于所述多个数据端各自对应的数据分布信息,生成融合模型结构文件。
38.基于多个数据端各自对应的数据分布信息,生成融合模型结构文件能够使得生成的融合模型的模型结构与各数据端的数据分布信息相适配。
39.s520. 生成分类损失文件;所述分类损失文件包括与所述目标领域对应的第一损失函数,以及与非目标领域对应的第二损失函数;所述对象意图预测模型的训练目标为使得所述第一损失函数的损失信息朝着最小化的方向趋近,以及使得所述第二损失函数的损失信息朝着最大化的方向趋近。
40.本实施例中的第一损失函数与第二损失函数的函数公式可以相同,但在基于损失函数的损失信息进行模型训练时,两者的训练方向不同,第一损失函数的损失信息朝着最
小化的方向趋近,第二损失函数的损失信息朝着最大化的方向趋近。第一损失函数与第二损失函数的函数公式可以不同,第一损失函数可以为与目标领域相适配的损失函数,第二损失函数可以为与非目标领域相适配的损失函数,第一损失函数的损失信息朝着最小化的方向趋近,第二损失函数的损失信息朝着最大化的方向趋近,从而使得损失函数的构建与领域相适配,进而提高损失函数的损失信息表征能力。
41.s530. 基于所述融合模型结构文件以及所述分类损失文件,生成所述融合模型文件。
42.本实施例中,例如目标领域可以为电商转化预测领域,非目标领域可以为多媒体资源推荐领域,虽然在这两个领域中都可能涉及到对待预测对象进行对象意图预测,但电商转化预测领域中的对象数据与多媒体资源推荐领域中的对象数据的数据分布不同,从而使得针对电商转化预测领域的对象意图预测模型不能被应用到多媒体资源推荐领域中。
43.通过设置模型的分类损失文件,即对输入预设模型的数据增加一个分类损失,如果输入预设模型的数据属于目标领域,就让模型朝着损失减少的方向更新,如果输入预设模型的数据属于非目标领域,就让模型朝着损失增大的方向更新,达到模型在目标领域表现好,而在非目标领域表现不好,从而使得训练好的对象意图预测模型不能够泛化到非目标领域,保证了模型安全。
44.在主控端生成了包括融合模型结构文件以及分类损失文件的融合模型文件的情况下,主控端可将融合模型结构文件以及分类损失文件发送给相应的数据融合端,以使得数据融合端基于融合模型结构文件以及分类损失文件构建融合模型并进行相应的损失信息计算。具体地,所述向所述多个数据端分别发送各自对应的模型文件,包括:向所述多个数据端分别发送各自对应的模型文件;以使得所述每个数据端:基于接收的所述模型结构文件构建预设模型;将所述目标领域的对象数据输入所述预设模型,得到第一输出数据;接收所述数据融合端基于所述第一输出数据返回的第一损失信息;将所述非目标领域的对象数据输入所述预设模型,得到第二输出数据;接收所述数据融合端基于所述第二输出数据返回的第二损失信息;基于所述第一损失信息以及所述第二损失信息对所述预设模型进行参数更新,得到所述对象意图预测模型。
45.每个数据端在接收到模型文件的情况下,可基于模型结构文件构建预设模型,然后分别基于目标领域的对象数据以及非目标领域的对象数据对预设模型进行模型训练。
46.在基于目标领域的对象数据对预设模型进行模型训练时,目标领域的对象数据具体可以为上述目标对象在目标领域的对象数据,具体可包括目标对象在多个维度的对象数据,以及目标对象对应的标签数据;在每轮训练过程中,数据端可将自身包括的对象数据输入预设模型,得到相应的第一输出数据,接收数据融合端基于第一输出数据返回的第一损失信息。需要说明的是,在同一轮训练过程中,不同数据端采用的是相同的目标对象的对象数据进行训练的,从而各数据端的预设模型的输出数据是针对相同的目标对象的,这样数据融合端融合所得到的第一融合输出数据也是针对相同的目标对象的,每轮训练均可对应第一融合输出数据;例如,在同一轮训练过程中,数据端1将目标对象a在维度a的对象数据输入数据端1的预设模型中,得到第一输出数据d1,数据端2将目标对象a在维度b的对象数据输入数据端2的预设模型中,得到第一输出数据d2,数据端3将目标对象a在维度c的对象数据输入数据端3的预设模型中,得到第一输出数据d3,数据融合端对第一输出数据d1,第
一输出数据d2,第一输出数据d3进行数据融合,得到第一融合输出数据r1。
47.本实施例中多个数据端所采用的非目标领域的对象数据可以是相同的,因为非目标领域的对象数据是主控端为了训练分类损失所确定的,非目标领域的对象数据可以是其他对象的在非目标领域的对象数据,其他对象可以包括目标对象中的一个或者多个对象,其他对象也可以为与目标对象完全不同的对象,本实施例不做具体限定。非目标领域的对象数据可以是由主控端直接发送给各数据端的,也可以是主控端向各数据端发送数据获取链接,从而各数据端可基于数据获取链接获取相应的非目标领域的对象数据。
48.在另一个示例中,对于非目标领域的对象数据,目标数据端可以包括非意图标签以及其他对象的第三对象数据,辅助数据端可包括其他对象的第四对象数据,第三对象数据以及第四对象数据可以包括通过不同数据获取渠道获取的其他对象在相同维度或者不同维度的对象数据,这里不同数据获取渠道可包括电商应用程序渠道,搜索引擎数据渠道,多媒体资源浏览渠道等。
49.在基于非目标领域的对象数据对预设模型进行模型训练时,非目标领域的对象数据可包括其他对象在非目标领域的对象数据,具体可包括其他对象在至少一个维度的对象数据以及其他对象对应的标签数据,这里至少一个维度可以与上述目标对象对应的维度相同或者不同。在每轮训练过程中,数据端可将非目标对象的对象数据输入预设模型,得到相应的第二输出数据,接收数据融合端基于第二输出数据返回的第二损失信息。需要说明的是,在同一轮训练过程中,不同数据端采用的是相同的其他对象的对象数据进行训练的,从而各数据端的预设模型的输出数据是针对相同的其他对象的,这样数据融合端融合所得到的第二融合输出数据也是针对相同的其他对象的;例如,在同一轮训练过程中,数据端1将其他对象b的对象数据输入数据端1的预设模型中,得到第二输出数据d4,数据端2将其他对象b的对象数据输入数据端2的预设模型中,得到第二输出数据d5,数据端3将其他对象b的对象数据输入数据端3的预设模型中,得到第二输出数据d6,数据融合端对第二输出数据d4,第二输出数据d5,第二输出数据d6进行数据融合,得到第二融合输出数据r2。
50.在基于第一损失信息以及第二损失信息对预设模型进行参数更新时,可以是现基于第一损失信息对预设模型进行参数更新,然后再基于第二损失信息对预设模型进行参数更新;也可以是先基于第二损失信息对预设模型进行参数更新,然后再基于第一损失信息对预设模型进行参数更新。进一步地,在现基于第一损失信息对预设模型进行参数更新,然后再基于第二损失信息对预设模型进行参数更新的情况下,基于第一损失信息对预设模型进行参数更新,得到已更新模型,然后将非目标领域的对象数据输入已更新模型,得到相应的第二输出数据,基于第二输出数据、第二融合输出数据以及第二损失函数确定第二损失信息,基于第二损失信息对已更新模型再次进行参数更新,得到对象意图预测模型;对于先基于第二损失信息对预设模型进行参数更新,然后再基于第一损失信息对预设模型进行参数更新的过程与上述类似,在此不再赘述。
51.从而每个数据端在具体联邦学习过程中,可基于分类损失进行模型训练,以得到相应的对象意图预测模型,基于目标领域的对象数据进行的模型训练过程,与基于非目标领域的对象数据进行模型训练的过程互不干扰,训练得到的对象意图预测模型在目标领域表现好,而在非目标领域表现不好,从而使得训练好的对象意图预测模型不能够泛化到非目标领域,保证了模型安全。
52.在进行联邦学习过程中,主控端需要实时观测模型训练效果,如当前模型的损失函数,然而损失函数(交叉熵损失,均方差损失等)的明文展示,将会造成部分端数据泄露的风险;从而可对损失函数进行加密之后发送给主控端,具体地,主控端可接收数据融合端发送的损失加密信息;所述损失加密信息基于数据融合端对所述目标损失信息进行加密得到;基于所述损失加密信息确定所述多个对象意图预测模型的训练进度信息。
53.主控端除了需要获知当前模型的损失函数之外,还需要获取当前模型的模型指标,模型指标可包括准确度,auc(area under curve)等,数据端可对当前模型的模型指标进行加密之后得到指标加密信息,并将指标加密信息发送给主控端,以使得主控端能够基于指标加密信息获知指标相关数据。
54.主控端在获取到损失加密信息或指标加密信息的情况下,可确定当前训练进度信息,以及当前模型是否达到了预设的训练结束条件;通过数据端对损失信息进行加密,以使得主控端不能获取到损失信息的明文,从而避免数据泄露的风险。
55.进一步地,对损失信息以及模型指标进行加密时,可采用同态加密的加密方式,同态加密允许对密文进行特定形式的代数运算得到仍然是加密的结果,将其解密所得到的结果与对明文进行同样的运算结果一样,从而不影响主控端的判断。
56.本实施例还提供了另一种联邦学习方法,该方法的执行主体为数据端,具体地,请参阅图6,可包括:s610. 对本地数据端的第一对象数据的特征分布数据进行加密,得到本地数据端对应的数据分布信息。
57.本实施例中,目标数据端可以为存储意图标签的数据端,目标数据端的第一对象数据与辅助数据端的第二对象数据可以包括通过不同数据获取渠道获取的目标对象在相同维度或者不同维度的对象数据,这里不同数据获取渠道可包括电商应用程序渠道,搜索引擎数据渠道,多媒体资源浏览渠道等。不同数据获取渠道所获取到的对象数据的数据分布可能不同。例如,第一对象数据通过电商应用程序渠道获取,第二对象数据通过搜索引擎数据渠道,多媒体资源浏览渠道获取。
58.本地数据端为参与联邦学习的多个数据端中的任一数据端;本实施例中,不同数据端可包括目标对象在不同维度的对象数据,例如数据端1包括目标对象在维度a的对象数据,数据端2包括目标对象在维度b的对象数据,数据端3包括目标对象在维度c的对象数据
……
;不同数据端还可包括目标对象在相同维度的对象数据,例如数据端1、数据端2、数据端3
……
均可包括目标对象在维度d的对象数据。具体地,维度a可以是指画像特征维度,从而数据端1可包括目标对象的画像特征数据,维度b可以是指操作特征维度,从而数据端2可包括目标对象的操作特征数据,维度c可以是指偏好特征维度,从而数据端3可包括目标对象的偏好特征数据,维度d可以为对象标识维度,从而数据端1、数据端2以及数据端3均可包括目标对象的对象标识。
59.不同数据端可包括不同对象的对象数据,通过对多个数据端的对象数据进行安全求交之后可确定目标对象,即多个数据端均可包括目标对象的对象数据,目标对象为多个数据端的共有对象;安全求交又称隐私集合求交,使得各数据端通过计算得到集合的交集数据,而不泄露任何交集以外的数据信息。具体可根据多个数据端和唯一标识字段,找到多个数据端的对象数据中的共有数据,例如上述的对象标识可作为唯一标识字段,多个数据
端通过对象标识进行安全求交之后,可得到多个数据端的共有数据集合,共有数据集合中可包括目标对象的对象标识;每个数据端均可获取共有数据集中的数据,进而可基于共有数据集中的数据确定参与联邦学习的目标对象,进而基于目标对象的对象数据进行联邦学习。请参阅图3,其示出了各数据端进行安全求交示意图,各数据端可基于各自所拥有的对象数据进行安全求交,得到相应的共有数据集合。
60.本实施例中,主控端不存储原始的对象数据,为了便于主控端为各数据端进行模型定制,主控端需要了解各数据端对象数据的特征分布数据,直接向主控端发送对象数据的特征分布数据可能会暴露数据端原始的对象数据,从而为了保护数据隐私,各数据端可对各自包括的对象数据的特征分布数据进行加密,具体可采用同态加密或者混淆等加密方式,以得到数据分布信息,然后将数据分布信息发送给主控端。本实施例中的特征分布数据可包括iv值以及pearson系数等,其中iv即信息价值(information value),也称信息量,iv值就是用来衡量变量预测能力的,iv值越大,表示该变量的预测能力越强;pearson:皮尔逊相关系数(pearson correlation coefficient),用于度量两个变量x和y之间的相关(线性相关),其值介于-1与1之间。
61.s620. 将所述本地数据端对应的数据分布信息发送给主控端;所述主控端用于基于所述本地数据端发送的数据分布信息生成所述本地数据端对应的模型文件,以及基于辅助数据端发送的数据分布信息生成所述辅助数据端对应的模型文件。
62.不同的数据分布信息可对应不同的模型结构,从而主控端在接收到各数据端发送的数据分布信息的情况下,可基于各数据端的数据分布信息,分别制定适配相应数据分布信息的模型,相同的数据分布信息可对应相同的模型结构,不同的数据分布信息可对应不同的模型结构;主控端可基于各数据端对应的模型结构生成与各数据端对应的模型文件;各数据端的模型文件可用于指导各数据端构建与其数据分布信息相适配的模型结构的预设模型。多个数据端的数据分布信息可以相同,也可以不同;在一个具体实施例中,多个数据端的数据分布信息各不相同。主控端可针对不同数据源进行模型定制,达到各数据端的数据更好的利用以及各数据端的模型之间更好的收敛的效果。
63.具体地,数据端1包括目标对象的画像特征数据,数据端2包括目标对象的操作特征数据,画像特征数据的特征分布数据与操作特征数据的特征分布数据可能不同,相应的数据分布信息也不同,进而数据端1与数据端2分别对应的模型结构也不同。
64.s630. 获取所述主控端发送的与所述本地数据端对应的模型文件。
65.主控端可向多个数据端分别发送相应的模型文件,启动各数据端的模型训练任务。
66.s640. 基于所述本地数据端对应的模型文件、所述本地数据端的第一对象数、所述本地数据端的意图标签、所述辅助数据端对应的模型文件以及所述辅助数据端的第二对象数据进行联邦学习,生成所述本地数据端对应的对象意图预测模型;所述第一对象数据以及所述第二对象数据均为与目标对象的意图预测相关联的对象数据。
67.各数据端可基于相应的模型文件构建相应的预设模型,并基于预设模型以及自身包括的对象数据进行联邦学习,得到多个数据端各自对应的对象意图预测模型。
68.本实施例中的对象意图预测模型能够基于待预测对象的对象数据,预测待预测对象的意图信息,待预测对象的对象数据可包括上述多个维度的对象数据,每个数据端均可
基于各自对应的对象意图预测模型对待预测对象进行预测,得到相应的意图预测结果。
69.本技术基于多个数据端各自的对象数据的数据分布信息,分别生成与多个数据端相匹配的模型文件,使得多个数据端基于各自对应的模型文件以及各自包括的对象数据进行联邦学习,生成对象意图预测模型;即每个数据端的模型文件是与该数据端的对象数据的数据分布信息相匹配的,从而使得在联邦学习过程中,充分利用各数据端的对象数据,实现针对不同数据端的数据特性进行建模,提高建模效果,进而提高对象意图预测模型的预测准确性。进一步地,获取的数据分布信息是通过对所述每个数据端的对象数据的特征分布数据进行加密得到,从而主控端不会存储各数据端的相关数据,保证各数据端的数据安全。
70.请参阅图7,其示出了对象意图预测模型的生成方法,该方法可包括:s710. 基于所述本地数据端对应的模型文件构建所述本地数据端对应的预设模型。
71.模型文件中包括建立预设模型所需的预设模型参数,从而数据端可基于模型文件中的预设模型参数构建对应的预设模型。
72.s720. 将所述本地数据端的第一对象数据输入所述预设模型,得到所述本地数据端对应的目标输出数据。
73.s730. 将所述本地数据端对应的目标输出数据发送给数据融合端,以使得所述数据融合端基于融合模型对所述本地数据端以及所述辅助数据端各自对应的目标输出数据进行融合,得到融合输出数据;基于所述融合输出数据以及所述意图标签,确定目标损失信息;所述融合模型基于所述主控端发送给所述数据融合端的融合模型文件生成;所述融合模型文件基于所述本地数据端以及所述辅助数据端各自对应的数据分布信息生成;所述本地数据端以及所述辅助数据端各自对应的目标输出数据服从独立同分布。
74.主控端基于多个数据端各自对应的数据分布信息,生成融合模型文件能够使得生成的融合模型的模型结构与各数据端的数据分布信息相适配。数据融合端可以为多个数据端中的任一数据端,数据融合端也可以为独立于多个数据端之外的终端;在数据融合端为多个数据端中的任一数据端的情况下,能够减少一个数据端与数据融合端之间的交互,提高数据处理效率;在数据融合端为独立于多个数据端之外的终端的情况下,能够避免数据融合端受到数据端的影响。
75.数据融合端在接收到主控端基于多个数据端各自对应的数据分布信息所生成的融合模型文件的情况下,可基于融合模型文件生成融合模型。在每一轮训练过程中,各数据端可将本轮训练过程中预设模型的输出数据发送给数据融合端,以使得数据融合端对本轮训练中各数据端的预设模型的输出数据进行融合,得到相应的融合输出数据;需要说明的是,主控端为各数据端所定制的模型文件能够使得多个数据端构建的预设模型的输出数据服从独立同分布,从而数据融合端在对独立同分布的输出数据进行融合时,能够进一步提高数据融合效果。请参阅图4,其示出了数据融合示意图,基于各数据端的预设模型可得到相应的输出数据,数据融合端可将多个预设模型的输出数据作为融合模型的输入,经过融合模型对多个预设模型的输出数据进行融合之后,可得到融合输出数据。
76.s740. 基于所述数据融合端发送的目标损失信息对所述预设模型进行更新,得到所述本地数据端对应的对象意图预测模型。
77.数据融合端可基于融合输出数据以及本轮训练对应的训练标签确定相应的目标损失信息,将目标损失信息发送给各数据端,各数据端基于目标损失信息对自身的预设模型进行更新,得到本轮训练对应的已训练模型;在重复多轮训练之后,即可得到每个数据端分别对应的对象意图预测模型。
78.本技术中,通过构建融合模型,能够在联邦学习过程中对各数据端的预设模型的输出数据进行融合,实现多个数据端的共同建模;进一步地,融合模型文件基于多个数据端各自对应的数据分布信息生成,从而使得生成的融合模型的模型结构与各数据端的数据分布信息相适配,进而提高融合模型的数据融合效果;另外,各数据端的预设模型的输出数据服从独立同分布,能够实现融合模型对多个预设模型的输出数据进行更好的融合,提高数据融合效果。
79.本实施例中,用于进行联邦学习的数据可包括目标领域的对象数据以及非目标领域的对象数据,且目标领域的对象数据与非目标领域的对象数据不属于同一分布。从而在基于目标领域的对象数据与非目标领域的对象数据进行联邦学习所得到的对象意图预测模型适用于目标领域,而不适用于非目标领域,即使得经过联邦学习得到的对象意图预测模型在目标领域的预测效果较好,在非目标领域的预测效果较差。从而能够避免对象意图预测模型的迁移,保证模型安全。相应地,为了使得训练得到的对象意图预测模型不具备能够进行领域迁移能力,需要在构建模型文件时将这一能力考虑在内;具体地,本实施例中的目标对象的对象数据包括所述目标对象在目标领域的对象数据,所述本地数据端的对象数据包括目标对象在目标领域的对象数据;所述数据融合端为所述本地数据端;本实施例的联邦学习方法还可包括:获取所述融合模型文件;所述融合模型文件包括融合模型结构文件以及分类损失文件;所述融合模型结构文件基于所述本地数据端以及所述辅助数据端各自对应的数据分布信息生成;所述分类损失文件包括与所述目标领域对应的第一损失函数,以及与非目标领域对应的第二损失函数;所述对象意图预测模型的训练目标为使得所述第一损失函数的损失信息朝着最小化的方向趋近,以及使得所述第二损失函数的损失信息朝着最大化的方向趋近。
80.本实施例中的第一损失函数与第二损失函数的函数公式可以相同,但在基于损失函数的损失信息进行模型训练时,两者的训练方向不同,第一损失函数的损失信息朝着最小化的方向趋近,第二损失函数的损失信息朝着最大化的方向趋近。第一损失函数与第二损失函数的函数公式可以不同,第一损失函数可以为与目标领域相适配的损失函数,第二损失函数可以为与非目标领域相适配的损失函数,第一损失函数的损失信息朝着最小化的方向趋近,第二损失函数的损失信息朝着最大化的方向趋近,从而使得损失函数的构建与领域相适配,进而提高损失函数的损失信息表征能力。
81.本实施例中,例如目标领域可以为电商转化预测领域,非目标领域可以为多媒体资源推荐领域,虽然在这两个领域中都可能涉及到对待预测对象进行对象意图预测,但电商转化预测领域中的对象数据与多媒体资源推荐领域中的对象数据的数据分布不同,从而使得针对电商转化预测领域的对象意图预测模型不能被应用到多媒体资源推荐领域中。
82.通过设置模型的分类损失文件,即对输入预设模型的数据增加一个分类损失,如果输入预设模型的数据属于目标领域,就让模型朝着损失减少的方向更新,如果输入预设
模型的数据属于非目标领域,就让模型朝着损失增大的方向更新,达到模型在目标领域表现好,而在非目标领域表现不好,从而使得训练好的对象意图预测模型不能够泛化到非目标领域,保证了模型安全。
83.进一步地,所述将所述本地数据端的对象数据输入所述预设模型,得到所述本地数据端对应的目标输出数据,包括:将所述目标领域的对象数据输入所述预设模型,得到第一输出数据;将所述非目标领域的对象数据输入所述预设模型,得到第二输出数据;基于所述第一输出数据以及所述第二输出数据确定所述目标输出数据。
84.本实施例中多个数据端所采用的非目标领域的对象数据可以是相同的,因为非目标领域的对象数据是主控端为了训练分类损失所确定的,非目标领域的对象数据可以是其他对象的在非目标领域的对象数据,其他对象可以包括目标对象中的一个或者多个对象,其他对象也可以为与目标对象完全不同的对象;多个数据端所采用的非目标领域的对象数据可以是不相同的,本实施例不做具体限定。非目标领域的对象数据可以是由主控端直接发送给各数据端的,也可以是主控端向各数据端发送数据获取链接,从而各数据端可基于数据获取链接获取相应的非目标领域的对象数据。
85.即目标输出数据具体包括两方面的输出数据,一方面是目标领域的对象数据对应的第一输出数据,另一方面是非目标领域的对象数据对应的第二输出数据,这两个方面的输出数据可以依次发送给数据融合端,并基于数据融合端的融合模型对各数据端的第一输出数据进行融合,以及基于融合模型对各数据端的第二输出数据进行融合。
86.相应地,请参阅图8,其示出了目标损失信息确定方法,目标损失信息同样也可包括两个方面,该方法可包括:s810. 接收所述数据融合端基于所述第一输出数据返回的第一损失信息。
87.在基于目标领域的对象数据对预设模型进行模型训练时,目标领域的对象数据具体可以为上述目标对象在目标领域的对象数据,具体可包括目标对象在多个维度的对象数据,以及目标对象对应的标签数据;在每轮训练过程中,数据端可将自身包括的对象数据输入预设模型,得到相应的第一输出数据,接收数据融合端基于第一输出数据返回的第一损失信息。需要说明的是,在同一轮训练过程中,不同数据端采用的是相同的目标对象的对象数据进行训练的,从而各数据端的预设模型的输出数据是针对相同的目标对象的,这样数据融合端融合所得到的第一融合输出数据也是针对相同的目标对象的,每轮训练均可对应第一融合输出数据;例如,在同一轮训练过程中,数据端1将目标对象a在维度a的对象数据输入数据端1的预设模型中,得到第一输出数据d1,数据端2将目标对象a在维度b的对象数据输入数据端2的预设模型中,得到第一输出数据d2,数据端3将目标对象a在维度c的对象数据输入数据端3的预设模型中,得到第一输出数据d3,数据融合端对第一输出数据d1,第一输出数据d2,第一输出数据d3进行数据融合,得到第一融合输出数据r1。
88.s820. 接收所述数据融合端基于所述第二输出数据返回的第二损失信息。
89.在基于非目标领域的对象数据对预设模型进行模型训练时,非目标领域的对象数据可包括其他对象在非目标领域的对象数据,具体可包括其他对象在至少一个维度的对象数据以及其他对象对应的标签数据,这里至少一个维度可以与上述目标对象对应的维度相同或者不同。在每轮训练过程中,数据端可将非目标对象的对象数据输入预设模型,得到相
应的第二输出数据,接收数据融合端基于第二输出数据返回的第二融合输出数据,然后根据第二融合输出数据、其他对象对应的标签数据以及第二损失函数确定第二损失信息。需要说明的是,在同一轮训练过程中,不同数据端采用的是相同的其他对象的对象数据进行训练的,从而各数据端的预设模型的输出数据是针对相同的其他对象的,这样数据融合端融合所得到的第二融合输出数据也是针对相同的其他对象的;例如,在同一轮训练过程中,数据端1将其他对象b的对象数据输入数据端1的预设模型中,得到第二输出数据d4,数据端2将其他对象b的对象数据输入数据端2的预设模型中,得到第二输出数据d5,数据端3将其他对象b的对象数据输入数据端3的预设模型中,得到第二输出数据d6,数据融合端对第二输出数据d4,第二输出数据d5,第二输出数据d6进行数据融合,得到第二融合输出数据r2。
90.s830. 基于所述第一损失信息以及所述第二损失信息确定所述目标损失信息。
91.在目标损失信息包括第一损失信息以及第二损失信息的情况下,可分别基于第一损失信息以及第二损失信息对预设模型进行更新,在基于第一损失信息以及第二损失信息对预设模型进行参数更新时,可以是现基于第一损失信息对预设模型进行参数更新,然后再基于第二损失信息对预设模型进行参数更新;也可以是先基于第二损失信息对预设模型进行参数更新,然后再基于第一损失信息对预设模型进行参数更新。进一步地,在现基于第一损失信息对预设模型进行参数更新,然后再基于第二损失信息对预设模型进行参数更新的情况下,基于第一损失信息对预设模型进行参数更新,得到已更新模型,然后将非目标领域的对象数据输入已更新模型,得到相应的第二输出数据,基于第二输出数据、第二融合输出数据以及第二损失函数确定第二损失信息,基于第二损失信息对已更新模型再次进行参数更新,得到对象意图预测模型;对于先基于第二损失信息对预设模型进行参数更新,然后再基于第一损失信息对预设模型进行参数更新的过程与上述类似,在此不再赘述。
92.从而每个数据端在具体联邦学习过程中,可基于分类损失进行模型训练,以得到相应的对象意图预测模型,基于目标领域的对象数据进行的模型训练过程,与基于非目标领域的对象数据进行模型训练的过程互不干扰,训练得到的对象意图预测模型在目标领域表现好,而在非目标领域表现不好,从而使得训练好的对象意图预测模型不能够泛化到非目标领域,保证了模型安全。
93.本实施例中,所述基于所述模型文件以及所述本地对象数据,生成对象意图预测模型之后,所述方法还包括:对所述对象意图预测模型的模型参数进行加密处理,得到加密后的对象意图预测模型。
94.数据端通过对各自的对象意图预测模型的模型参数进行加密,使得其他调用方不能够看到模型内部的结构和权重,从而保证了模型安全。
95.在进行联邦学习过程中,主控端需要实时观测模型训练效果,如当前模型的损失函数,然而损失函数(交叉熵损失,均方差损失等)的明文展示,将会造成部分端数据泄露的风险;从而数据端可对损失函数进行加密之后发送给主控端。主控端除了需要获知当前模型的损失函数之外,还需要获取当前模型的模型指标,模型指标可包括准确度,auc(area under curve)等,数据端可对当前模型的模型指标进行加密之后得到指标加密信息,并将指标加密信息发送给主控端,以使得主控端能够基于指标加密信息获知指标相关数据。
96.主控端在获取到损失加密信息或指标加密信息的情况下,可确定当前训练进度信
息,以及当前模型是否达到了预设的训练结束条件;通过数据端对损失信息进行加密,以使得主控端不能获取到损失信息的明文,从而避免数据泄露的风险。
97.进一步地,对损失信息以及模型指标进行加密时,可采用同态加密的加密方式,同态加密允许对密文进行特定形式的代数运算得到仍然是加密的结果,将其解密所得到的结果与对明文进行同样的运算结果一样,从而不影响主控端的判断。
98.本技术本为了解决联邦框架下多方建模能力有限的问题,帮助多方在异构、非独立同不下更好的建模,充分利用各方数据,达到更好的建模效果,同时在保护数据安全的基础上进一步保护模型安全,具体从三个角度对传统的联邦框架进行改造:(1)不同数据拥有方具有非独立同分布的数据,主控端主要针对不同数据源进行模型定制,最终达到各端数据更好的利用以及各端模型之间更好的收敛;(2)在训练过程中,避免数据方数据泄漏,要对模型主控端进行损失和指标上的安全保护,对损失函数和指标进行同态加密(它允许对密文进行特定形式的代数运算得到仍然是加密的结果,将其解密所得到的结果与对明文进行同样的运算结果一样);(3)模型安全,不可迁移,训完的模型只能当下场景使用,由于各端模型是基于各方数据构建的,各端模型属于各方的资产,不应该被其他方拿过去使用以及模型主控方使用。因此模型主控方一个很重要的作用是保证模型安全。模型安全包括两部分:一部分是模型文件本身的安全,一部分是模型不能被该场景以外的场景所使用。对于第一部分,一般采用对模型文件进行加密的方式,让其他方不能看到模型内部的结构和权重。同时,对于第二部分,需要避免模型可迁移,具体可以通过主控端设计损失目标,如增加一个损失目标让模型不能泛化到其他领域。同时,可以通过模型水印技术,向模型植入水印,一旦模型被窃取,可以通过验证水印来证明版权所有权,从而达到保护模型的作用。
99.本实施例上述任一方法均可基于实际实施情况进行组合,并具备相应的有益效果,在此不再赘述。
100.请参阅图9,其示出了一种联邦学习装置,包括:分布信息获取模块910,用于获取多个数据端发送的数据分布信息;所述多个数据端包括目标数据端以及辅助数据端;所述目标数据端存储与目标对象的意图预测相关联的第一对象数据以及意图标签;所述辅助数据端存储与所述目标对象的意图预测相关联的第二对象数据;每个数据端的数据分布信息基于对所述每个数据端的对象数据的特征分布数据进行加密得到;模型文件生成模块920,用于基于所述多个数据端各自对应的数据分布信息,生成与所述多个数据端各自对应的模型文件;模型文件发送模块930,用于向所述多个数据端分别发送各自对应的模型文件;以使得所述目标数据端基于对应的模型文件、所述第一对象数据以及所述意图标签,所述辅助数据端基于对应的模型文件以及所述第二对象数据进行联邦学习,生成与所述多个数据端各自对应的对象意图预测模型。
101.进一步地,所述装置还包括:第一生成模块,用于基于所述多个数据端各自对应的数据分布信息,生成融合模型文件;第一发送模块,用于向数据融合端发送所述融合模型文件,以使得所述数据融合端:
基于所述融合模型文件生成融合模型;在接收到多个预设模型的输出数据的情况下,基于所述融合模型对所述多个预设模型的输出数据进行融合,得到融合输出数据;所述多个预设模型基于所述多个数据端各自对应的模型文件生成;所述多个预设模型的输出数据服从独立同分布;基于所述融合输出数据以及所述意图标签,确定目标损失信息;将所述目标损失信息发送给所述多个数据端,以使得所述多个数据端基于所述目标损失信息,基于所述各自对应的目标损失信息对各自对应的预设模型进行更新,得到所述多个对象意图预测模型。
102.进一步地,所述第一对象数据以及所述第二对象数据均包括所述目标对象在目标领域的对象数据;第一生成模块包括:第二生成模块,用于基于所述多个数据端各自对应的数据分布信息,生成融合模型结构文件;第三生成模块,用于生成分类损失文件;所述分类损失文件包括与所述目标领域对应的第一损失函数,以及与非目标领域对应的第二损失函数;所述对象意图预测模型的训练目标为使得所述第一损失函数的损失信息朝着最小化的方向趋近,以及使得所述第二损失函数的损失信息朝着最大化的方向趋近;第四生成模块,用于基于所述融合模型结构文件以及所述分类损失文件,生成所述融合模型文件。
103.进一步地,所述模型文件发送模块930还用于向所述多个数据端分别发送所述分类损失文件以及各自对应的模型结构文件;以使得所述每个数据端:基于接收的所述模型结构文件构建预设模型;将所述目标领域的对象数据输入所述预设模型,得到第一输出数据;接收所述数据融合端基于所述第一输出数据返回的第一损失信息;将所述非目标领域的对象数据输入所述预设模型,得到第二输出数据;接收所述数据融合端基于所述第二输出数据返回的第二损失信息;基于所述第一损失信息以及所述第二损失信息对所述预设模型进行参数更新,得到所述对象意图预测模型。
104.进一步地,所述装置还包括:第一接收模块,用于接收所述数据融合端发送的损失加密信息;所述损失加密信息基于对所述目标损失信息进行加密得到;进度信息确定模块,用于基于所述损失加密信息确定所述多个对象意图预测模型的训练进度信息。
105.请参阅图10,其示出了一种联邦学习装置,包括:分布信息加密模块1010,用于对本地数据端的第一对象数据的特征分布数据进行加密,得到本地数据端对应的数据分布信息;分布信息发送模块1020,用于将所述本地数据端对应的数据分布信息发送给主控端;所述主控端用于基于所述本地数据端发送的数据分布信息生成所述本地数据端对应的模型文件,以及基于辅助数据端发送的数据分布信息生成所述辅助数据端对应的模型文件;
模型文件获取模块1030,用于获取所述主控端发送的与所述本地数据端对应的模型文件;模型生成模块1040,用于基于所述本地数据端对应的模型文件、所述本地数据端的第一对象数、所述本地数据端的意图标签、所述辅助数据端对应的模型文件以及所述辅助数据端的第二对象数据进行联邦学习,生成所述本地数据端对应的对象意图预测模型;所述第一对象数据以及所述第二对象数据均为与目标对象的意图预测相关联的对象数据。
106.进一步地,模型生成模块1040包括:构建模块,用于基于所述本地数据端对应的模型文件构建所述本地数据端对应的预设模型;第一输入模块,用于将所述本地数据端的第一对象数据输入所述预设模型,得到所述本地数据端对应的目标输出数据;第二发送模块,用于将所述本地数据端对应的目标输出数据发送给数据融合端,以使得所述数据融合端基于融合模型对所述本地数据端以及所述辅助数据端各自对应的目标输出数据进行融合,得到融合输出数据;基于所述融合输出数据以及所述意图标签,确定目标损失信息;所述融合模型基于所述主控端发送给所述数据融合端的融合模型文件生成;所述融合模型文件基于所述本地数据端以及所述辅助数据端各自对应的数据分布信息生成;所述本地数据端以及所述辅助数据端各自对应的目标输出数据服从独立同分布;第一确定模块,用于基于所述数据融合端发送的目标损失信息对所述预设模型进行更新,得到所述本地数据端对应的对象意图预测模型。
107.进一步地,所述数据融合端为所述本地数据端;所述第一对象数据以及所述第二对象数据均包括所述目标对象在目标领域的对象数据;所述装置还包括:第一获取模块,用于获取所述融合模型文件;所述融合模型文件包括融合模型结构文件以及分类损失文件;所述融合模型结构文件基于所述本地数据端以及所述辅助数据端各自对应的数据分布信息生成;所述分类损失文件包括与所述目标领域对应的第一损失函数,以及与非目标领域对应的第二损失函数;所述对象意图预测模型的训练目标为使得所述第一损失函数的损失信息朝着最小化的方向趋近,以及使得所述第二损失函数的损失信息朝着最大化的方向趋近。
108.进一步地,第一输入模块包括:第二输入模块,用于将所述目标领域的对象数据输入所述预设模型,得到第一输出数据;第三输入模块,用于将所述非目标领域的对象数据输入所述预设模型,得到第二输出数据;第二确定模块,用于基于所述第一输出数据以及所述第二输出数据确定所述目标输出数据;所述装置包括:第二接收模块,用于接收所述数据融合端基于所述第一输出数据返回的第一损失信息;第三接收模块,用于接收所述数据融合端基于所述第二输出数据返回的第二损失
信息;第三确定模块,用于基于所述第一损失信息以及所述第二损失信息确定所述目标损失信息。
109.进一步地,所述装置还包括:参数加密模块,用于对所述对象意图预测模型的模型参数进行加密处理,得到加密后的对象意图预测模型。
110.上述实施例中提供的装置可执行本技术任意实施例所提供方法,具备执行该方法相应的功能模块和有益效果。未在上述实施例中详尽描述的技术细节,可参见本技术任意实施例所提供的方法。
111.本实施例还提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由处理器加载并执行如本实施例上述任一方法。
112.根据本技术的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述任一方法。
113.图11是根据一示例性实施例示出的一种用于联邦学习的电子设备的框图,该电子设备可以是终端,其内部结构图可以如图11所示。该电子设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该电子设备的处理器用于提供计算和控制能力。该电子设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该电子设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种联邦学习方法。该电子设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该电子设备的输入装置可以是显示屏上覆盖的触摸层,也可以是电子设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。图12是根据一示例性实施例示出的一种用于联邦学习的电子设备的框图,该电子设备可以是服务器,其内部结构图可以如图12所示。该电子设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该电子设备的处理器用于提供计算和控制能力。该电子设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该电子设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种联邦学习方法。本领域技术人员可以理解,图11和图12中示出的结构,仅仅是与本公开方案相关的部分结构的框图,并不构成对本公开方案所应用于其上的电子设备的限定,具体的电子设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
114.本说明书提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤和顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的系统或中断产品执行时,可以
按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。
115.本实施例中所示出的结构,仅仅是与本技术方案相关的部分结构,并不构成对本技术方案所应用于其上的设备的限定,具体的设备可以包括比示出的更多或更少的部件,或者组合某些部件,或者具有不同的部件的布置。应当理解到,本实施例中所揭露的方法、装置等,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分仅仅为一种逻辑功能的划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元模块的间接耦合或通信连接。
116.基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
117.本领域技术人员还可以进一步意识到,结合本说明书所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但这种实现不应认为超出本技术的范围。
118.以上所述,以上实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围。
技术特征:
1.一种联邦学习方法,其特征在于,包括:获取多个数据端发送的数据分布信息;所述多个数据端包括目标数据端以及辅助数据端;所述目标数据端存储与目标对象的意图预测相关联的第一对象数据以及意图标签;所述辅助数据端存储与所述目标对象的意图预测相关联的第二对象数据;每个数据端的数据分布信息基于对所述每个数据端的对象数据的特征分布数据进行加密得到;基于所述多个数据端各自对应的数据分布信息,生成与所述多个数据端各自对应的模型文件;向所述多个数据端分别发送各自对应的模型文件;以使得所述目标数据端基于对应的模型文件、所述第一对象数据以及所述意图标签,所述辅助数据端基于对应的模型文件以及所述第二对象数据进行联邦学习,生成所述多个数据端各自对应的对象意图预测模型。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:基于所述多个数据端各自对应的数据分布信息,生成融合模型文件;向数据融合端发送所述融合模型文件,以使得所述数据融合端:基于所述融合模型文件生成融合模型;在接收到多个预设模型的输出数据的情况下,基于所述融合模型对所述多个预设模型的输出数据进行融合,得到融合输出数据;所述多个预设模型基于所述多个数据端各自对应的模型文件生成;所述多个预设模型的输出数据服从独立同分布;基于所述融合输出数据以及所述意图标签,确定目标损失信息;将所述目标损失信息发送给所述多个数据端,以使得所述多个数据端基于所述目标损失信息对各自对应的预设模型进行更新,得到所述多个数据端各自对应的对象意图预测模型。3.根据权利要求2所述的方法,其特征在于,所述第一对象数据以及所述第二对象数据均包括所述目标对象在目标领域的对象数据;所述基于所述多个数据端各自对应的数据分布信息,生成融合模型文件,包括:基于所述多个数据端各自对应的数据分布信息,生成融合模型结构文件;生成分类损失文件;所述分类损失文件包括与所述目标领域对应的第一损失函数,以及与非目标领域对应的第二损失函数;所述对象意图预测模型的训练目标为使得所述第一损失函数的损失信息朝着最小化的方向趋近,以及使得所述第二损失函数的损失信息朝着最大化的方向趋近;基于所述融合模型结构文件以及所述分类损失文件,生成所述融合模型文件。4.根据权利要求3所述的方法,其特征在于,所述向所述多个数据端分别发送各自对应的模型文件,包括:向所述多个数据端分别发送各自对应的模型文件;以使得所述每个数据端:基于接收的所述模型结构文件构建预设模型;将所述目标领域的对象数据输入所述预设模型,得到第一输出数据;接收所述数据融合端基于所述第一输出数据返回的第一损失信息;将所述非目标领域的对象数据输入所述预设模型,得到第二输出数据;接收所述数据融合端基于所述第二输出数据返回的第二损失信息;基于所述第一损失信息以及所述第二损失信息对所述预设模型进行参数更新,得到所
述对象意图预测模型。5.根据权利要求2所述的方法,其特征在于,所述方法还包括:接收所述数据融合端发送的损失加密信息;所述损失加密信息基于对所述目标损失信息进行加密得到;基于所述损失加密信息确定所述多个数据端各自对应的对象意图预测模型的训练进度信息。6.一种联邦学习方法,其特征在于,包括:对本地数据端的第一对象数据的特征分布数据进行加密,得到本地数据端对应的数据分布信息;将所述本地数据端对应的数据分布信息发送给主控端;所述主控端用于基于所述本地数据端发送的数据分布信息生成所述本地数据端对应的模型文件,以及基于辅助数据端发送的数据分布信息生成所述辅助数据端对应的模型文件;获取所述主控端发送的与所述本地数据端对应的模型文件;基于所述本地数据端对应的模型文件、所述本地数据端的第一对象数、所述本地数据端的意图标签、所述辅助数据端对应的模型文件以及所述辅助数据端的第二对象数据进行联邦学习,生成所述本地数据端对应的对象意图预测模型;所述第一对象数据以及所述第二对象数据均为与目标对象的意图预测相关联的对象数据。7.根据权利要求6所述的方法,其特征在于,所述基于所述本地数据端对应的模型文件、所述本地数据端的第一对象数、所述本地数据端的意图标签、所述辅助数据端对应的模型文件以及所述辅助数据端的第二对象数据进行联邦学习,生成所述本地数据端对应的对象意图预测模型包括:基于所述本地数据端对应的模型文件构建所述本地数据端对应的预设模型;将所述本地数据端的第一对象数据输入所述预设模型,得到所述本地数据端对应的目标输出数据;将所述本地数据端对应的目标输出数据发送给数据融合端,以使得所述数据融合端基于融合模型对所述本地数据端以及所述辅助数据端各自对应的目标输出数据进行融合,得到融合输出数据;基于所述融合输出数据以及所述意图标签,确定目标损失信息;所述融合模型基于所述主控端发送给所述数据融合端的融合模型文件生成;所述融合模型文件基于所述本地数据端以及所述辅助数据端各自对应的数据分布信息生成;所述本地数据端以及所述辅助数据端各自对应的目标输出数据服从独立同分布;基于所述数据融合端发送的目标损失信息对所述预设模型进行更新,得到所述本地数据端对应的对象意图预测模型。8.根据权利要求7所述的方法,其特征在于,所述数据融合端为所述本地数据端;所述第一对象数据以及所述第二对象数据均包括所述目标对象在目标领域的对象数据;所述方法还包括:获取所述融合模型文件;所述融合模型文件包括融合模型结构文件以及分类损失文件;所述融合模型结构文件基于所述本地数据端以及所述辅助数据端各自对应的数据分布信息生成;所述分类损失文件包括与所述目标领域对应的第一损失函数,以及与非目标领域对应的第二损失函数;所述对象意图预测模型的训练目标为使得所述第一损失函数的损
失信息朝着最小化的方向趋近,以及使得所述第二损失函数的损失信息朝着最大化的方向趋近。9.根据权利要求8所述的方法,其特征在于,所述将所述本地数据端的第一对象数据输入所述预设模型,得到所述本地数据端对应的目标输出数据,包括:将所述目标领域的对象数据输入所述预设模型,得到第一输出数据;将所述非目标领域的对象数据输入所述预设模型,得到第二输出数据;基于所述第一输出数据以及所述第二输出数据确定所述目标输出数据;所述基于所述融合输出数据确定目标损失信息,包括:接收所述数据融合端基于所述第一输出数据返回的第一损失信息;接收所述数据融合端基于所述第二输出数据返回的第二损失信息;基于所述第一损失信息以及所述第二损失信息确定所述目标损失信息。10.根据权利要求6所述的方法,其特征在于,所述基于所述本地数据端对应的模型文件、所述本地数据端的第一对象数、所述本地数据端的意图标签、所述辅助数据端对应的模型文件以及所述辅助数据端的第二对象数据进行联邦学习,生成所述本地数据端对应的对象意图预测模型之后,所述方法还包括:对所述对象意图预测模型的模型参数进行加密处理,得到加密后的对象意图预测模型。11.一种联邦学习装置,其特征在于,包括:分布信息获取模块,用于获取多个数据端发送的数据分布信息;所述多个数据端包括目标数据端以及辅助数据端;所述目标数据端存储与目标对象的意图预测相关联的第一对象数据以及意图标签;所述辅助数据端存储与所述目标对象的意图预测相关联的第二对象数据;每个数据端的数据分布信息基于对所述每个数据端的对象数据的特征分布数据进行加密得到;模型文件生成模块,用于基于所述多个数据端各自对应的数据分布信息,生成与所述多个数据端各自对应的模型文件;模型文件发送模块,用于向所述多个数据端分别发送各自对应的模型文件;以使得所述目标数据端基于对应的模型文件、所述第一对象数据以及所述意图标签,所述辅助数据端基于对应的模型文件以及所述第二对象数据进行联邦学习,生成所述多个数据端各自对应的对象意图预测模型。12.一种联邦学习装置,其特征在于,包括:分布信息加密模块,用于对本地数据端的第一对象数据的特征分布数据进行加密,得到本地数据端对应的数据分布信息;分布信息发送模块,用于将所述本地数据端对应的数据分布信息发送给主控端;所述主控端用于基于所述本地数据端发送的数据分布信息生成所述本地数据端对应的模型文件,以及基于辅助数据端发送的数据分布信息生成所述辅助数据端对应的模型文件;模型文件获取模块,用于获取所述主控端发送的与所述本地数据端对应的模型文件;模型生成模块,用于基于所述本地数据端对应的模型文件、所述本地数据端的第一对象数、所述本地数据端的意图标签、所述辅助数据端对应的模型文件以及所述辅助数据端的第二对象数据进行联邦学习,生成所述本地数据端对应的对象意图预测模型;所述第一
对象数据以及所述第二对象数据均为与目标对象的意图预测相关联的对象数据。13.一种电子设备,其特征在于,所述设备包括处理器和存储器,所述存储器中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由所述处理器加载并执行以实现如权利要求1至10任一项所述的联邦学习方法。14.一种计算机存储介质,其特征在于,所述存储介质中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由处理器加载并执行如权利要求1至10任一项所述的联邦学习方法。
技术总结
本申请涉及联邦学习技术领域,尤其涉及一种联邦学习方法、装置、电子设备及存储介质,所述方法包括:获取多个数据端发送的数据分布信息;每个数据端的数据分布信息基于对所述每个数据端的对象数据的特征分布数据进行加密得到;基于所述多个数据端各自对应的数据分布信息,生成与所述多个数据端各自对应的模型文件;向所述多个数据端分别发送各自对应的模型文件;以使得目标数据端基于对应的模型文件、第一对象数据以及意图标签,辅助数据端基于对应的模型文件以及第二对象数据进行联邦学习,生成与所述多个数据端各自对应的对象意图预测模型。本申请能够提高建模效果,进而提高对象意图预测模型的预测准确性。象意图预测模型的预测准确性。象意图预测模型的预测准确性。
技术研发人员:林炳怀 王丽园
受保护的技术使用者:腾讯科技(深圳)有限公司
技术研发日:2023.08.24
技术公布日:2023/9/22
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
航空商城 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/
上一篇:相对运动水力发电动力设备的制作方法 下一篇:一种便于穿戴且舒适的颈托的制作方法