掌桥专利:专业的专利平台
掌桥专利
首页

一种联邦学习方法、系统、设备及存储介质

文献发布时间:2024-04-18 20:02:18


一种联邦学习方法、系统、设备及存储介质

技术领域

本申请涉及联邦学习技术领域,尤其涉及一种联邦学习方法、系统、设备及存储介质。

背景技术

联邦学习作为一种分布式的机器学习方法,允许多个客户端在不共享原始数据的情况下合作来训练模型。而在实际应用中,联邦学习的客户端在本地的数据集中可能包括敏感数据,采用敏感数据进行训练,会使得最终生成的全局模型的参数包括该敏感数据的相关信息,存在隐私泄露的风险。

为了解决上述问题,客户端可以先对数据集进行脱敏,再通过脱敏后的数据集重新进行模型训练来实现模型更新。但是,在联邦学习架构下,客户端的数量较多,且客户端的数据集中的样本量较大,因此,按照原有的模型训练方法重新训练模型的时间较长,训练成本高昂。

发明内容

本申请实施例提供了一种联邦学习方法、系统、设备及存储介质,旨在联邦学习架构下,完成数据脱敏的同时降低重新训练模型的时长和成本。

第一方面,本申请实施例可以提供一种联邦学习方法,应用于联邦学习系统;所述联邦学习系统包括服务端和多个客户端,所述多个客户端中的每个客户端包括多个模型,所述多个客户端包括第一客户端;所述方法包括:

所述第一客户端将第一数据集划分为多个数据子集;

所述第一客户端基于所述多个数据子集对所述多个模型进行训练,得到模型训练信息;所述模型训练信息包括所述多个数据子集中的每个数据子集对应的模型参数,以及与所述每个数据子集对应的模型参数相关联的标识;所述每个数据子集用于训练所述多个模型中的一个模型;所述标识为所述每个数据子集的标识;

所述服务端接收多个模型训练信息;所述多个模型训练信息中的每个模型训练信息通过所述多个客户端中的一个客户端发送;

所述服务端对所述多个模型训练信息中关联相同标识的模型参数进行聚合,得到多个第一参数聚合结果;所述多个第一参数聚合结果中的每个第一参数聚合结果通过关联一个相同标识的模型参数聚合得到;

所述服务端对所述多个第一参数聚合结果进行聚合,得到第二参数聚合结果,并向所述每个客户端发送所述第二参数聚合结果。

可选地,所述第一客户端将第一数据集划分为多个数据子集,包括:

所述第一客户端确定所述第一数据集中的多个特征的稳定性分数;

所述第一客户端基于所述多个特征的稳定性分数,对所述第一数据集中的多个样本进行划分,得到所述多个数据子集。

可选地,所述第一客户端确定所述第一数据集中的多个特征的稳定性分数,包括:

所述第一客户端基于所述多个样本,确定所述多个特征中的每个特征的第一权重;

所述第一客户端将所述多个样本分别对应的目标值随机打乱,生成多个第一随机样本;

所述第一客户端基于所述多个第一随机样本,确定所述每个特征的第二权重;

所述第一客户端基于所述第一权重和所述第二权重,确定所述每个特征的稳定性分数。

可选地,所述第一客户端基于所述多个特征的稳定性分数,对所述第一数据集中的多个样本进行划分,得到所述多个数据子集,包括:

所述第一客户端基于所述每个特征的稳定性分数确定第一特征;所述第一特征为所述多个特征中稳定性分数最高的特征;

所述第一客户端基于所述多个样本中的每个样本对应的第一特征的值,确定所述每个样本在所述多个样本中的第一位置信息;

所述第一客户端基于预先设置的数据子集数量对所述第一位置信息取余,得到所述每个样本的第一余数结果;

所述第一客户端基于所述每个样本的第一余数结果对所述每个样本进行划分,得到所述多个数据子集。

可选地,所述第一客户端确定所述第一数据集中的多个特征的稳定性分数,包括:

所述第一客户端基于联邦学习模型和所述多个样本,确定所述多个特征中的每个特征的第三权重;所述联邦学习模型由多个客户端基于各自的数据集训练得到;

所述第一客户端将所述多个样本分别对应的标签随机打乱,生成多个第二随机样本;

所述第一客户端基于所述多个第二随机样本,确定所述每个特征的第四权重;

所述第一客户端基于所述第三权重和所述第四权重,确定所述每个特征的稳定性分数。

可选地,所述第一客户端基于所述多个特征的稳定性分数,对所述第一数据集中的多个样本进行划分,得到所述多个数据子集,包括:

所述第一客户端基于所述每个客户端的数据集包括的多个特征的稳定性分数,确定第二特征;所述第二特征为所述每个客户端的数据集包括的多个特征中稳定性分数最高的特征;

当所述第一数据集包括所述第二特征,所述第一客户端基于所述多个样本中的每个样本对应的第二特征的值,确定所述每个样本在所述多个样本中的第二位置信息;

所述第一客户端基于预先设置的数据子集数量对所述第二位置信息取余,得到所述每个样本的第二余数结果;

所述第一客户端基于所述每个样本的第二余数结果对所述每个样本进行划分,得到所述多个数据子集。

可选地,所述方法还包括:

所述第一客户端向所述每个客户端发送所述多个数据子集对应的划分结果;所述划分结果用于由所述每个客户端基于所述划分结果对各自的数据集中的样本进行划分,得到所述每个客户端对应的多个数据子集。

可选地,所述方法还包括:

所述第一客户端获取针对第一样本的数据脱敏请求;所述第一数据集包括所述第一样本;

所述第一客户端基于所述数据脱敏请求,从所述多个数据子集中确定第一样本所在的第一数据子集;

所述第一客户端对所述第一样本进行脱敏,得到第二数据子集;

所述第一客户端基于所述第二数据子集对所述多个模型进行训练,得到新的模型训练信息;所述新的模型训练信息包括所述第二数据子集对应的新的模型参数,以及所述第二数据子集的标识;

所述服务端接收多个新的模型训练信息;所述多个新的模型训练信息中的每个新的模型训练信息通过所述多个客户端中的一个客户端基于与所述第二数据子集的标识相同的数据子集获取,并发送至所述服务端;

所述服务端基于所述多个新的模型训练信息中所述第二数据子集的标识关联的模型参数,更新所述第二参数聚合结果,得到第三参数聚合结果,并向所述每个客户端发送第三参数聚合结果。

可选地,所述第一客户端基于所述多个数据子集对所述多个模型进行训练,得到模型训练信息之前,所述方法还包括:

所述第一客户端基于所述每个数据子集的标识和所述每个数据子集包括的样本构建映射关系;或者,所述第一客户端基于所述每个数据子集的标识、所述每个数据子集包括的样本,以及所述第一客户端的标识构建映射关系;

所述第一客户端基于所述数据脱敏请求,从所述多个数据子集中确定第一样本所在的数据子集,包括:

所述第一客户端基于所述第一样本,从构建出的映射关系中确定所述第一样本所在的所述第一数据子集。

可选地,所述第一客户端对所述第一样本进行脱敏,得到第二数据子集,包括:

所述第一客户端确定所述第一样本在所述第一数据子集中的第三位置信息;

所述第一客户端基于所述第三位置信息,从所述第一数据子集中删除所述第三位置信息下的所述第一样本,得到所述第二数据子集。

第二方面,本申请实施例可以提供一种联邦学习系统,包括:服务端和多个客户端,所述多个客户端中的每个客户端包括多个模型,所述多个客户端包括第一客户端;

所述第一客户端,用于将第一数据集划分为多个数据子集;基于所述多个数据子集对所述多个模型进行训练,得到模型训练信息;所述模型训练信息包括所述多个数据子集中的每个数据子集对应的模型参数,以及与所述每个数据子集对应的模型参数相关联的标识;所述每个数据子集用于训练所述多个模型中的一个模型;所述标识为所述每个数据子集的标识;

所述服务端,用于接收多个模型训练信息;对所述多个模型训练信息中关联相同标识的模型参数进行聚合,得到多个第一参数聚合结果;对所述多个第一参数聚合结果进行聚合,得到第二参数聚合结果,并向所述每个客户端发送所述第二参数聚合结果;所述多个模型训练信息中的每个模型训练信息通过所述多个客户端中的一个客户端发送;所述多个第一参数聚合结果中的每个第一参数聚合结果通过关联一个相同标识的模型参数聚合得到。

第三方面,本申请实施例可以提供一种联邦学习设备,所述设备包括:处理器、存储器、系统总线;

所述处理器以及所述存储器通过所述系统总线相连;

所述存储器用于存储一个或多个程序,所述一个或多个程序包括指令,所述指令当被所述处理器执行时使所述处理器执行上述的联邦学习方法中第一客户端或服务端所执行的步骤。

第四方面,本申请实施例可以提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行上述的联邦学习方法中第一客户端或服务端所执行的步骤。

从以上技术方案可以看出,本申请实施例具有以下优点:

在本申请实施例中,联邦学习系统可以包括服务端和多个客户端,多个客户端中的每个客户端包括多个模型,多个客户端包括第一客户端。基于此,第一客户端可以将第一数据集划分为多个数据子集,再基于多个数据子集对多个模型进行训练,得到模型训练信息。其中,模型训练信息可以包括多个数据子集中的每个数据子集对应的模型参数,以及与每个数据子集对应的模型参数相关联的标识;每个数据子集用于训练多个模型中的一个模型;标识为每个数据子集的标识。对应地,服务端可以接收多个模型训练信息;多个模型训练信息中的每个模型训练信息通过多个客户端中的一个客户端发送,接着,服务端对多个模型训练信息中关联相同标识的模型参数进行聚合,得到多个第一参数聚合结果;多个第一参数聚合结果中的每个第一参数聚合结果通过关联一个相同标识的模型参数聚合得到。最后,服务端对多个第一参数聚合结果进行聚合,得到第二参数聚合结果,并向每个客户端发送第二参数聚合结果。

可见,在联邦学习的局部训练过程中,第一客户端将第一数据集划分为多个数据子集,并以此分别对多个模型进行训练得到模型训练信息,能够实现分组训练的效果。接着,在联邦学习的全局训练过程中,服务端继续沿用分组训练的思想,先对多个模型训练信息中关联相同标识的模型参数进行聚合,也就是对多个客户端所划分出的具有相同标识的数据子集所对应的模型参数进行聚合,得到多个第一参数聚合结果。而后,服务端再对多个第一参数聚合结果进行聚合,得到第二参数聚合结果,并向每个客户端发送第二参数聚合结果。这样,当某客户端需要进行数据脱敏时,可以先对需要脱敏的样本所在的数据子集进行脱敏,而后,多个客户端可以依据分组训练的思想,仅通过与脱敏后的样本所在的数据子集具有相同标识的数据子集来训练模型,以更新相同标识所关联的模型参数,再进一步更新全局的模型参数。如此一来,多个客户端无需利用数据集中的所有样本来更新模型参数,因此,相比于相关技术,本方案进行数据脱敏后可以采用较少的样本量重新训练模型,从而大大降低训练规模,显著降低训练时长和降低训练成本。

附图说明

图1为本申请实施例提供的一种联邦学习系统的结构示意图;

图2为本申请实施例提供的一种联邦学习方法的流程图;

图3为本申请实施例提供的一种针对数据脱敏场景的联邦学习方法的流程图;

图4为本申请实施例提供的另一种联邦学习系统的结构示意图。

具体实施方式

正如前文所述,客户端可以先对数据集进行脱敏,再通过脱敏后的数据集重新进行模型训练来实现模型更新。但是,在联邦学习架构下,客户端的数量较多,且客户端的数据集中的样本量较大,因此,按照原有的模型训练方法重新训练模型的时间较长,训练成本高昂。

为了解决上述问题,本申请实施例提供了一种联邦学习方法,应用于联邦学习系统,该联邦学习系统可以包括服务端和多个客户端,多个客户端中的每个客户端包括多个模型,多个客户端包括第一客户端。基于此,上述联邦学习方法可以包括:第一客户端可以将第一数据集划分为多个数据子集,再基于多个数据子集对多个模型进行训练,得到模型训练信息。其中,模型训练信息可以包括多个数据子集中的每个数据子集对应的模型参数,以及与每个数据子集对应的模型参数相关联的标识;每个数据子集用于训练多个模型中的一个模型;标识为每个数据子集的标识。对应地,服务端可以接收多个模型训练信息;多个模型训练信息中的每个模型训练信息通过多个客户端中的一个客户端发送,接着,服务端对多个模型训练信息中关联相同标识的模型参数进行聚合,得到多个第一参数聚合结果;多个第一参数聚合结果中的每个第一参数聚合结果通过关联一个相同标识的模型参数聚合得到。最后,服务端对多个第一参数聚合结果进行聚合,得到第二参数聚合结果,并向每个客户端发送第二参数聚合结果。

可见,在联邦学习的局部训练过程中,第一客户端将第一数据集划分为多个数据子集,并以此分别对多个模型进行训练得到模型训练信息,能够实现分组训练的效果。接着,在联邦学习的全局训练过程中,服务端继续沿用分组训练的思想,先对多个模型训练信息中关联相同标识的模型参数进行聚合,也就是对多个客户端所划分出的具有相同标识的数据子集所对应的模型参数进行聚合,得到多个第一参数聚合结果。而后,服务端再对多个第一参数聚合结果进行聚合,得到第二参数聚合结果,并向每个客户端发送第二参数聚合结果。这样,当某客户端需要进行数据脱敏时,可以先对需要脱敏的样本所在的数据子集进行脱敏,而后,多个客户端可以依据分组训练的思想,仅通过与脱敏后的样本所在的数据子集具有相同标识的数据子集来训练模型,以更新相同标识所关联的模型参数,再进一步更新全局的模型参数。如此一来,多个客户端无需利用数据集中的所有样本来更新模型参数,因此,相比于相关技术,本方案进行数据脱敏后可以采用较少的样本量重新训练模型,从而大大降低训练规模,显著降低训练时长和降低训练成本。

需要说明的是,在本申请实施例提供的联邦学习方法中,客户端可以体现为终端设备或服务器等数据处理设备。其中,终端设备可以为智能手机、计算机、个人数字助理(Personal Digital Assistant,PDA)、平板电脑等设备。服务端可以客户端可以体现为服务器。其中,服务器可以为独立服务器、集群服务器或云服务器。

为了便于理解本申请实施例提供的技术方案,下面可以先结合图1对本申请实施例提供的联邦学习系统进行示例性介绍。其中,图1为本申请实施例提供的一种联邦学习系统的示意图。

结合图1所示,在本申请实施例提供的联邦学习系统中,多个客户端以客户端1和客户端2为例,且客户端1和客户端2均可以包括多个模型。首先,客户端1和客户端2将各自的数据集划分为多个数据子集,图1以数据子集1和数据子集2为例进行示例性说明。其中,客户端1的数据子集1和客户端2的数据子集1可以具有相同的标识;客户端1的数据子集2和客户端2的数据子集2亦可具有相同的标识。在图1中,服务器可以先分别向客户端1和客户端2下发第t-1次迭代训练得到的第一参数聚合结果

以客户端1的数据子集1中存在需要进行脱敏数据为例,通过上述的模型训练过程,在进行数据脱敏时,客户端1可以先对自身的数据子集1进行脱敏处理,再利用脱敏处理后的数据子集1进行模型训练得到

需要说明的是,

为了使本技术领域的人员更好地理解本发明方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

图2为本申请实施例提供的一种联邦学习方法的流程图。结合图2所示,本申请实施例提供的联邦学习方法,可以应用于上述的联邦学习系统。该联邦学习系统可以包括服务端和多个客户端,多个客户端中的每个客户端包括多个模型,多个客户端包括第一客户端。对应于此,该联邦学习方法可以包括:

S201:第一客户端将第一数据集划分为多个数据子集。

这里,第一数据集,是指第一客户端包括的数据集。对于多个客户端,各个客户端包括的数据集可以是相同的,也可以是不同的,本申请实施例对此不做限定。

在本申请实施例中,对于第一客户端将第一数据集划分为多个数据子集的实施方式,也就是S201,此处可不做具体限定,为了便于理解,下面结合一种可能的实施方式进行说明。

在一种可能的实施方式中,S201具体可以包括步骤21-步骤22:

步骤21:第一客户端确定第一数据集中的多个特征的稳定性分数。

步骤22:第一客户端基于多个特征的稳定性分数,对第一数据集中的多个样本进行划分,得到多个数据子集。

结合步骤21-步骤22的内容可知,本申请实施例提供的数据集的分组策略可以计算联邦学习场景下各个特征的稳定性分数,从而基于各个特征的稳定性分数对第一数据集中的样本进行分组。为了便于理解,本申请实施例可以结合横向联邦学习和纵向联邦学习两种场景分别进行说明。

作为一种示例,上述联邦学习系统为横向联邦学习系统;在横向联邦学习系统中,多个客户端各自的数据集包括不同的样本,但样本具有相同的特征。

基于此,在本申请实施例中,第一客户端确定第一数据集中的多个特征的稳定性分数的过程,也就是步骤21,可以包括:第一客户端基于多个样本,确定多个特征中的每个特征的第一权重;第一客户端将多个样本分别对应的目标值随机打乱,生成多个第一随机样本;第一客户端基于多个第一随机样本,确定每个特征的第二权重;第一客户端基于第一权重和第二权重,确定每个特征的稳定性分数。

具体来说,第一客户端可以将第一数据集中的多个样本输入用于计算特征权重的模型,从而通过该模型,得到每个特征的第一权重。在实际应用中,该用于计算特征权重的模型,例如为树模型。接着,第一客户端将多个样本分别对应的目标值随机打乱,生成null数据作为多个第一随机样本,并继续将多个第一随机样本输入上述模型,从而通过该模型,得到每个特征的第二权重。而后,第一客户端即可通过下式(1),并基于第一权重和第二权重,得到每个特征的稳定性分数:

其中,Stability(f

需要说明的是,为了提高数据安全性,在通过上式(1)计算每个特征的稳定性分数时,可以采用安全聚合算法进行求和。本申请实施例不限定安全聚合算法,可以采用现有的或者未来出现的任一种能够进行求和的安全聚合算法进行实施。

进一步地,在本申请实施例中,第一客户端对第一数据集中的多个样本进行划分,得到多个数据子集的过程,也就是步骤22,可以包括:第一客户端基于每个特征的稳定性分数确定第一特征;第一特征为多个特征中稳定性分数最高的特征;第一客户端基于多个样本中的每个样本对应的第一特征的值,确定每个样本在多个样本中的第一位置信息;第一客户端基于预先设置的数据子集数量对第一位置信息取余,得到每个样本的第一余数结果;第一客户端基于每个样本的第一余数结果对每个样本进行划分,得到多个数据子集。

前面提到,在横向联邦学习系统中,多个客户端各自的数据集包括不同的样本,但样本具有相同的特征。因此,第一客户端可以先从多个特征中确定稳定性分数最高的特征为第一特征,再针对每个样本对应的第一特征的值确定每个样本在多个样本中的第一位置信息。而后,第一客户端可以基于预先设置的数据子集数量对每个样本的第一位置信息取余,得到每个样本的第一余数结果,并基于第一余数结果对每个样本进行划分,从而得到多个数据子集。举例来说,若预先设置的数据子集的数量为5,则在依次排布的10个样本中,样本1和样本6被5整除的余数均为1,因此样本1和样本6可以被划分到一个数据子集中;样本2和样本7被5整除的余数均为2,因此样本2和样本7可以被划分到一个数据子集中;样本3和样本8被5整除的余数均为3,因此样本3和样本8可以被划分到一个数据子集中;样本4和样本9被5整除的余数均为4,因此样本4和样本9可以被划分到一个数据子集中;样本5和样本10被5整除的余数均为0,因此样本5和样本10可以被划分到一个数据子集中。

作为另一种示例,上述联邦学习系统为纵向联邦学习系统;在纵向联邦学习系统中,多个客户端各自的数据集包括不同的特征,但特征对应于相同的样本。另外,纵向联邦学习系统中仅有一个客户端的数据集包括多个样本分别对应的标签,下面以第一客户端为例进行说明。进一步地,在进行数据分组之前,多个客户端可以分别进行样本对齐来筛选出多个客户端的数据集共同包括的样本。本申请实施例不限定样本对齐算法,可以采用现有的或者未来出现的任一种能够筛选出多个客户端的数据集共同包括的样本的样本对齐算法进行实施。

基于此,在本申请实施例中,第一客户端确定第一数据集中的多个特征的稳定性分数的过程,也就是步骤21,可以包括:第一客户端基于联邦学习模型和多个样本,确定多个特征中的每个特征的第三权重;联邦学习模型由多个客户端基于各自的数据集训练得到;第一客户端将多个样本分别对应的标签随机打乱,生成多个第二随机样本;第一客户端基于多个第二随机样本,确定每个特征的第四权重;第一客户端基于第三权重和第四权重,确定每个特征的稳定性分数。

具体来说,多个客户端可以分别将各自的数据集中的样本输入用于计算特征权重的联邦学习模型,通过联合训练确定各自的数据集中的每个特征的第三权重。在实际应用中,该用于计算特征权重的联邦学习模型,例如为安全树模型。接着,第一客户端将多个样本分别对应的标签随机打乱,生成null数据作为多个第二随机样本,并继续将多个第二随机样本输入上述联邦学习模型,从而通过该联邦学习模型,得到每个特征的第四权重。而后,第一客户端即可通过下式(2),并基于第三权重和第四权重,得到每个特征的稳定性分数:

其中,Stability(f

前面提到,在纵向联邦学习系统中,多个客户端各自的数据集包括不同的特征,但特征对应于相同的样本。另外,第一客户端的数据集还包括多个样本分别对应的标签。因此,多个客户端可以通过安全多方计算的方式对各自的数据集所包括的多个特征的稳定性分数进行比较,从而从多个特征中确定稳定性分数最高的特征为第二特征。进一步地,对于第二特征,其所在的数据集对应的客户端,可以基于第二特征进行数据集划分,并将划分情况共享给其他客户端,以使多个客户端均完成数据集划分。为了便于理解,下面针对第二客户端在不同的数据集中的情况分别进行说明。

作为一种可能的实现方式,第一客户端对第一数据集中的多个样本进行划分,得到多个数据子集的过程,也就是步骤22,可以包括:第一客户端基于每个客户端的数据集包括的多个特征的稳定性分数,确定第二特征;第二特征为每个客户端的数据集包括的多个特征中稳定性分数最高的特征;当第一数据集包括第二特征,第一客户端基于多个样本中的每个样本对应的第二特征的值,确定每个样本在多个样本中的第二位置信息;第一客户端基于预先设置的数据子集数量对第二位置信息取余,得到每个样本的第二余数结果;第一客户端基于每个样本的第二余数结果对每个样本进行划分,得到多个数据子集。针对根据第二余数结果进行样本划分的过程,举例来说,若预先设置的数据子集的数量为5,则在依次排布的10个样本中,样本1和样本6被5整除的余数均为1,因此样本1和样本6可以被划分到一个数据子集中;样本2和样本7被5整除的余数均为2,因此样本2和样本7可以被划分到一个数据子集中;样本3和样本8被5整除的余数均为3,因此样本3和样本8可以被划分到一个数据子集中;样本4和样本9被5整除的余数均为4,因此样本4和样本9可以被划分到一个数据子集中;样本5和样本10被5整除的余数均为0,因此样本5和样本10可以被划分到一个数据子集中。

可见,在上述实现方式中,第二特征为第一数据集所包括的特征,因此,可以先由第一客户端基于第二特征对第一数据集进行划分,再将划分结果共享给其他客户端。具体来说,第一客户端向每个客户端发送多个数据子集的划分结果;该划分结果用于由每个客户端基于划分结果对各自的数据集中的样本进行划分,得到每个客户端对应的多个数据子集。其中,上述划分结果可以体现为各个数据子集所包括的样本的情况。如此一来,第一客户端通过分享划分结果,即可使其他具有不同特征的客户端依据该划分结果完成数据集的划分。

作为另一种可能的实现方式,上述步骤22可以包括:第一客户端基于每个客户端的数据集包括的多个特征的稳定性分数,确定第二特征和第二客户端;第二特征为每个客户端的数据集包括的多个特征中稳定性分数最高的特征,且第二客户端的第二数据集包括第二特征;第二客户端基于第二数据集包括的多个样本中每个样本对应的第二特征的值,确定每个样本在第二数据集包括的多个样本中的第二位置信息;第二客户端基于预先设置的数据子集数量对第二位置信息取余,得到每个样本的第二余数结果;第二客户端基于每个样本的第二余数结果对每个样本进行划分,得到多个数据子集;第二客户端将多个数据子集对应的划分结果发送至第一客户端;第一客户端基于划分结果对第一数据集中的多个样本进行划分,得到多个数据子集。

可见,在上述实现方式中,第二特征为第二客户端所包括的特征,因此,可以先由第二客户端基于第二特征对第二数据集进行划分,再将划分结果分享至包括第一客户端的其他客户端,以便第一客户端基于划分结果完成对第一数据集的划分。

S202:第一客户端基于多个数据子集对多个模型进行训练,得到模型训练信息。

其中,模型训练信息可以包括多个数据子集中的每个数据子集对应的模型参数,以及与每个数据子集对应的模型参数相关联的标识。每个数据子集用于训练多个模型中的一个模型。上述标识为每个数据子集的标识。

需要说明的是,本申请实施例不限定模型训练方法,可以采用现有的或者未来出现的任一种能够对模型进行训练的算法进行实施。

S203:服务端接收多个模型训练信息。

其中,多个模型训练信息中的每个模型训练信息通过多个客户端中的一个客户端发送。

S204:服务端对多个模型训练信息中关联相同标识的模型参数进行聚合,得到多个第一参数聚合结果。

这里,多个第一参数聚合结果中的每个第一参数聚合结果通过关联一个相同标识的模型参数聚合得到。举例来说,多个客户端中的每个客户端对应的数据子集的标识可以体现为标识1、标识2、标识3和标识4,对应地,每个数据子集对应的模型参数所关联的标识也为标识1、标识2、标识3和标识4。因此,多个第一参数聚合结果可以体现为关联标识1的多个模型参数进行聚合得到的结果、关联标识2的多个模型参数进行聚合得到的结果、关联标识3的多个模型参数进行聚合得到的结果,以及关联标识4的多个模型参数进行聚合得到的结果。

S205:服务端对多个第一参数聚合结果进行聚合,得到第二参数聚合结果,并向每个客户端发送第二参数聚合结果。

仍以上述4个标识为例,第二参数聚合结果可以体现为对关联标识1的多个模型参数所对应的第一参数聚合结果、关联标识2的多个模型参数所对应的第一参数聚合结果、关联标识3的多个模型参数所对应的第一参数聚合结果,以及关联标识4的多个模型参数所对应的第一参数聚合结果进行聚合所得到的结果。

基于上述步骤S201-步骤S205的相关内容可知,在本申请实施例中,联邦学习系统可以包括服务端和多个客户端,多个客户端中的每个客户端包括多个模型,多个客户端包括第一客户端。基于此,第一客户端可以将第一数据集划分为多个数据子集,再基于多个数据子集对多个模型进行训练,得到模型训练信息。其中,模型训练信息可以包括多个数据子集中的每个数据子集对应的模型参数,以及与每个数据子集对应的模型参数相关联的标识;每个数据子集用于训练多个模型中的一个模型;标识为每个数据子集的标识。对应地,服务端可以接收多个模型训练信息;多个模型训练信息中的每个模型训练信息通过多个客户端中的一个客户端发送,接着,服务端对多个模型训练信息中关联相同标识的模型参数进行聚合,得到多个第一参数聚合结果;多个第一参数聚合结果中的每个第一参数聚合结果通过关联一个相同标识的模型参数聚合得到。最后,服务端对多个第一参数聚合结果进行聚合,得到第二参数聚合结果,并向每个客户端发送第二参数聚合结果。可见,在联邦学习的局部训练过程中,第一客户端将第一数据集划分为多个数据子集,并以此分别对多个模型进行训练得到模型训练信息,能够实现分组训练的效果。接着,在联邦学习的全局训练过程中,服务端继续沿用分组训练的思想,先对多个模型训练信息中关联相同标识的模型参数进行聚合,也就是对多个客户端所划分出的具有相同标识的数据子集所对应的模型参数进行聚合,得到多个第一参数聚合结果。而后,服务端再对多个第一参数聚合结果进行聚合,得到第二参数聚合结果,并向每个客户端发送第二参数聚合结果。

进一步来说,当某客户端需要进行数据脱敏时,可以先对需要脱敏的样本所在的数据子集进行脱敏,而后,多个客户端可以依据分组训练的思想,仅通过与脱敏后的样本所在的数据子集具有相同标识的数据子集来训练模型,以更新相同标识所关联的模型参数,再进一步更新全局的模型参数。如此一来,多个客户端无需利用数据集中的所有样本来更新模型参数,因此,相比于相关技术,本方案进行数据脱敏后可以采用较少的样本量重新训练模型,从而大大降低训练规模,显著降低训练时长和降低训练成本。基于此,本申请实施例可以提供一种针对数据脱敏场景的联邦学习方法,下面分别结合附图和实施例进行说明。

图3为本申请实施例提供的一种针对数据脱敏场景的联邦学习方法的流程图。结合图3所示,该方法可以包括:

S301:第一客户端获取针对第一样本的数据脱敏请求。

其中,第一数据集包括第一样本。在实际应用中,数据脱敏请求可以包括第一样本关联的标识,该第一样本关联的标识包括客户端的标识和数据子集的标识,因此,第一客户端即可基于其中客户端的标识获取该数据脱敏请求。

S302:第一客户端基于数据脱敏请求,从多个数据子集中确定第一样本所在的第一数据子集。

前面提到,第一样本关联的标识包括客户端的标识和数据子集的标识,因此,第一客户端即可基于其中数据子集的标识从多个数据子集中确定第一数据子集。

另外,在上述实施例提供的模型训练阶段中,为了便于后续数据脱敏阶段重新训练模型时能够快速确定需要脱敏的样本所在的数据子集,在第一客户端对多个模型进行训练而得到模型训练信息之前,即上述步骤S201之前,第一客户端还可以先基于每个数据子集的标识和每个数据子集包括的样本构建映射关系;或者,第一客户基于每个数据子集的标识、每个数据子集包括的样本,以及第一客户端的标识构建映射关系。对于横向联邦学习系统和纵向联邦学习系统,其映射关系的构建并不相同,下面分情况进行说明。

作为一种可能的实施方式,在横向联邦学习系统中,每个客户端i包括的数据集可以表示为D

M

其中,M

作为另一种可能的实施方式,在纵向联邦学习系统中,每个客户端i包括的数据集可以表示为D

M

其中,M

基于上述构建出的映射关系,在本申请实施例中,上述从多个数据子集中确定第一样本所在的数据子集的过程,也就是步骤S302,可以包括:第一客户端基于第一样本,从构建出的映射关系中确定第一样本所在的第一数据子集。如此,当本申请实施例应用于横向联邦学习系统中时,可基于第一样本,从上式(3)所对应的映射关系中确定第一数据子集;当本申请实施例应用于纵向联邦系统中时,可基于第一样本,从上式(4)所对应的映射关系中确定第一数据子集。

S303:第一客户端对第一样本进行脱敏,得到第二数据子集。

在本申请实施例中,对第一样本进行脱敏的过程,也就是步骤S303,可不具体限定。例如,在第一数据子集中对第一样本进行替换或删除,以完成脱敏。为了便于理解,下面结合一种可能的实施方式进行说明。

作为一种可能的实施方式,上述步骤S303可以包括:第一客户端确定第一样本在第一数据子集中的第三位置信息;第一客户端基于第三位置信息,从第一数据子集中删除第三位置信息下的第一样本,得到第二数据子集。具体来说,上述从第一数据子集中删除第三位置信息下的第一样本的过程,可以如下式(5)所示:

D

其中,D

S304:第一客户端基于第二数据子集对多个模型进行训练,得到新的模型训练信息。

其中,新的模型训练信息包括第二数据子集对应的新的模型参数,以及第二数据子集的标识。也就是说,当对第一数据子集中的第一样本进行脱敏得到第二数据子集后,第一客户端即可依据第二数据子集对多个模型进行训练,得到新的模型训练信息,而无需采用第一数据集整体对多个模型进行训练,从而可以以较少的样本量重新训练模型,在完成数据脱敏的同时降低重新训练模型的时长和成本。

S305:服务端接收多个新的模型训练信息。

其中,多个新的模型训练信息中的每个新的模型训练信息通过多个客户端中的一个客户端基于与第二数据子集的标识相同的数据子集获取,并发送至服务端。也就是说,多个客户端均可采用与第二数据子集的标识相同的数据子集在本地各自训练多个模型,从而完成联邦学习框架下局部的模型训练过程。这里,多个客户端均无需采用各自的数据集整体进行训练,因此可以显著减少训练模型所需的样本量,降低模型重新训练的时长和成本。

S306:服务端基于多个新的模型训练信息中第二数据子集的标识关联的模型参数,更新第二参数聚合结果,得到第三参数聚合结果,并向每个客户端发送第三参数聚合结果。

由于前面对第二数据子集的标识关联的模型参数进行了更新,因此,服务器即可基于第二数据子集的标识关联的模型参数进一步更新第二参数聚合结果,得到第三参数聚合结果,并向每个客户端发送第三参数聚合结果,从而完成全局模型的更新。具体来说,上述第三参数聚合结果的获取方式,也就是步骤S306,可以包括:服务端对多个新的模型训练信息中第二数据子集的标识关联的模型参数进行聚合,得到第四参数聚合结果;服务端基于第四参数聚合结果,更新多个第一参数聚合结果中通过对第二数据子集的标识关联的模型参数聚合得到的第一参数聚合结果,得到第五参数聚合结果;服务端基于第五参数聚合结果更新第二参数聚合结果,得到第三参数聚合结果。如此一来,服务端即可基于相同标识关联的模型参数,再进一步更新全局的模型参数,因此,相比于相关技术,本方案进行数据脱敏后可以采用较少的样本量重新训练模型,从而大大降低训练规模,显著降低训练时长和降低训练成本。

基于上述实施例提供的联邦学习方法,本申请实施例还提供了一种联邦学习系统。下面分别结合实施例和附图,对该联邦学习系统进行描述。

图4为本申请实施例提供的另一种联邦学习系统的结构示意图。结合图4所示,本申请实施例提供的联邦学习系统,可以包括:服务端和多个客户端,所述多个客户端中的每个客户端包括多个模型,所述多个客户端包括第一客户端;

所述第一客户端,用于将第一数据集划分为多个数据子集;基于所述多个数据子集对所述多个模型进行训练,得到模型训练信息;所述模型训练信息包括所述多个数据子集中的每个数据子集对应的模型参数,以及与所述每个数据子集对应的模型参数相关联的标识;所述每个数据子集用于训练所述多个模型中的一个模型;所述标识为所述每个数据子集的标识;

所述服务端,用于接收多个模型训练信息;对所述多个模型训练信息中关联相同标识的模型参数进行聚合,得到多个第一参数聚合结果;对所述多个第一参数聚合结果进行聚合,得到第二参数聚合结果,并向所述每个客户端发送所述第二参数聚合结果;所述多个模型训练信息中的每个模型训练信息通过所述多个客户端中的一个客户端发送;所述多个第一参数聚合结果中的每个第一参数聚合结果通过关联一个相同标识的模型参数聚合得到。

在一种可能的实施方式中,所述第一客户端,具体用于:确定所述第一数据集中的多个特征的稳定性分数;基于所述多个特征的稳定性分数,对所述第一数据集中的多个样本进行划分,得到所述多个数据子集。

在一种可能的实施方式中,所述第一客户端,具体用于:基于所述多个样本,确定所述多个特征中的每个特征的第一权重;将所述多个样本分别对应的目标值随机打乱,生成多个第一随机样本;基于所述多个第一随机样本,确定所述每个特征的第二权重;基于所述第一权重和所述第二权重,确定所述每个特征的稳定性分数。

在一种可能的实施方式中,所述第一客户端,具体用于:基于所述每个特征的稳定性分数确定第一特征;所述第一特征为所述多个特征中稳定性分数最高的特征;基于所述多个样本中的每个样本对应的第一特征的值,确定所述每个样本在所述多个样本中的第一位置信息;基于预先设置的数据子集数量对所述第一位置信息取余,得到所述每个样本的第一余数结果;基于所述每个样本的第一余数结果对所述每个样本进行划分,得到所述多个数据子集。

在一种可能的实施方式中,所述第一客户端,具体用于:基于联邦学习模型和所述多个样本,确定所述多个特征中的每个特征的第三权重;所述联邦学习模型由多个客户端基于各自的数据集训练得到;将所述多个样本分别对应的标签随机打乱,生成多个第二随机样本;基于所述多个第二随机样本,确定所述每个特征的第四权重;基于所述第三权重和所述第四权重,确定所述每个特征的稳定性分数。

在一种可能的实施方式中,所述第一客户端,具体用于:基于所述每个客户端的数据集包括的多个特征的稳定性分数,确定第二特征;所述第二特征为所述每个客户端的数据集包括的多个特征中稳定性分数最高的特征;当所述第一数据集包括所述第二特征,基于所述多个样本中的每个样本对应的第二特征的值,确定所述每个样本在所述多个样本中的第二位置信息;基于预先设置的数据子集数量对所述第二位置信息取余,得到所述每个样本的第二余数结果;基于所述每个样本的第二余数结果对所述每个样本进行划分,得到所述多个数据子集。

在一种可能的实施方式中,所述第一客户端,还用于:向所述每个客户端发送所述多个数据子集对应的划分结果;所述划分结果用于由所述每个客户端基于所述划分结果对各自的数据集中的样本进行划分,得到所述每个客户端对应的多个数据子集。

在一种可能的实施方式中,所述第一客户端,还用于:获取针对第一样本的数据脱敏请求;所述第一数据集包括所述第一样本;基于所述数据脱敏请求,从所述多个数据子集中确定第一样本所在的第一数据子集;对所述第一样本进行脱敏,得到第二数据子集;基于所述第二数据子集对所述多个模型进行训练,得到新的模型训练信息;所述新的模型训练信息包括所述第二数据子集对应的新的模型参数,以及所述第二数据子集的标识;

所述服务端,还用于:接收多个新的模型训练信息;所述多个新的模型训练信息中的每个新的模型训练信息通过所述多个客户端中的一个客户端基于与所述第二数据子集的标识相同的数据子集获取,并发送至所述服务端;基于所述多个新的模型训练信息中所述第二数据子集的标识关联的模型参数,更新所述第二参数聚合结果,得到第三参数聚合结果,并向所述每个客户端发送第三参数聚合结果。

在一种可能的实施方式中,所述第一客户端,还用于:基于所述每个数据子集的标识和所述每个数据子集包括的样本构建映射关系;或者,所述第一客户端基于所述每个数据子集的标识、所述每个数据子集包括的样本,以及所述第一客户端的标识构建映射关系;

所述第一客户端,具体用于:所述第一客户端基于所述第一样本,从构建出的映射关系中确定所述第一样本所在的所述第一数据子集。

在一种可能的实施方式中,所述第一客户端,具体用于:确定所述第一样本在所述第一数据子集中的第三位置信息;基于所述第三位置信息,从所述第一数据子集中删除所述第三位置信息下的所述第一样本,得到所述第二数据子集。

进一步地,本申请实施例还提供了一种联邦学习设备,包括:处理器、存储器、系统总线;

所述处理器以及所述存储器通过所述系统总线相连;

所述存储器用于存储一个或多个程序,所述一个或多个程序包括指令,所述指令当被所述处理器执行时使所述处理器执行上述联邦学习方法中第一客户端或服务端所执行的步骤。

进一步地,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行上述联邦学习方法中第一客户端或服务端所执行的步骤。

通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到上述实施例方法中的全部或部分步骤可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者诸如媒体网关等网络通信设备,等等)执行本申请各个实施例或者实施例的某些部分所述的方法。

需要说明的是,本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

技术分类

06120116581140