一种联邦学习模型的训练方法、装置及电子设备制造方法及图纸

技术编号:31456175 阅读:14 留言:0更新日期:2021-12-18 11:22
本申请公开了一种联邦学习模型的训练方法、装置及电子设备,应用于服务端,该方法包括:确定第一训练集合,并构成第二训练集合;基于第一训练集合,进行横向联邦学习,以得到第一分裂值;基于第二训练集合,进行纵向联邦学习,以得到第二分裂值;根据第一分裂值和第二分裂值,确定训练节点对应的目标分裂方式,并通知客户端基于目标分裂方式进行节点分裂,并获取更新的训练节点;确定更新的训练节点满足停止训练条件,停止训练并生成目标联邦学习模型。由此,本申请通过将横向和纵向分裂方式进行混合,自动地选择匹配的学习方式的倾向性,无须关心数据分布方式,避免了数据丢弃造成的浪费,提升了联邦学习模型的性能,提高了数据利用率。利用率。利用率。

【技术实现步骤摘要】
一种联邦学习模型的训练方法、装置及电子设备


[0001]本申请涉及数据处理
,尤其涉及一种联邦学习模型的训练方法、装置及电子设备。

技术介绍

[0002]联邦学习,一种新兴的人工智能基础技术,其设计目标是在保障大数据交换时的信息安全、保护终端数据和个人数据隐私、保证合法合规的前提下,在多参与方或多计算结点之间开展高效率的机器学习。其中,联邦学习可使用的机器学习算法不局限于神经网络,还包括随机森林等重要算法。联邦学习有望成为下一代人工智能协同算法和协作网络的基础。
[0003]根据数据特点,联邦学习主要分为横向联邦学习和纵向联邦学习。其中,横向联邦学习要求数据是同构的;纵向联邦学习要求数据是异构的。但合作进行联邦学习的多方数据,很难完全保证异构或同构,因此,在基于联邦学习进行模型训练时,只能丢弃部分同构或者异构的数据,这样一来,势必造成数据的浪费。进一步地,当丢弃的数据较多时,导致基于联邦学习训练得到的模型的性能较差、数据利用率极低。

技术实现思路

[0004]本申请旨在至少在一定程度上解决相关技术中的技术问题之一。
[0005]为此,本申请的第一个目的在于提出一种联邦学习模型的训练方法,用于解决现有联邦学习模型的训练方法过程中存在的因丢弃数据导致的数据利用率低、模型训练效果不佳,训练得到的模型的性能较差的技术问题。
[0006]本专利技术的第二个目的在于提出另一种联邦学习模型的训练方法。
[0007]本专利技术的第三个目的在于提出一种联邦学习模型的训练装置。/>[0008]本专利技术的第四个目的在于提出另一种联邦学习模型的训练装置。
[0009]本专利技术的第五个目的在于提出一种电子设备。
[0010]本专利技术的第六个目的在于提出一种计算机可读存储介质。
[0011]为了实现上述目的,本申请第一方面实施例提供了一种联邦学习模型的训练方法,应用于服务端,所述方法包括以下步骤:获取各个客户端的所有数据实例,将各个所述客户端的所有所述数据实例确定为第一训练集合,以及选取所有所述数据实例中包括相同特征的数据实例,构成所述第二训练集合;基于所述第一训练集合,协同所述客户端进行横向联邦学习,以得到满足预设分裂条件的训练节点对应的第一分裂值;其中,所述训练节点为多个提升树中一个提升树上的节点;基于所述第二训练集合,协同所述客户端进行纵向联邦学习,以得到所述训练节点对应的第二分裂值;根据所述第一分裂值和所述第二分裂值,确定所述训练节点对应的目标分裂方式,并通知客户端基于所述目标分裂方式进行节点分裂,并获取更新的所述训练节点;确定更新的所述训练节点满足停止训练条件,停止训练并生成目标联邦学习模型。
[0012]另外,根据本申请上述实施例的联邦学习模型的训练方法还可以具有如下附加的技术特征:
[0013]根据本申请的一个实施例,所述根据所述第一分裂值和所述第二分裂值,确定所述训练节点对应的目标分裂方式,包括:确定所述第一分裂值与所述第二分裂值中较大的值为所述训练节点对应的目标分裂值;根据所述目标分裂值,确定所述训练节点对应的分裂方式。
[0014]根据本申请的一个实施例,所述基于第一训练集合,协和所述客户端进行横向联邦学习,以得到满足预设分裂条件的训练节点对应的第一分裂值,包括:从所述第一训练集合中产生所述训练节点可用的第一特征子集,并发送给所述客户端;接收所述客户端发送的所述第一特征子集中每个特征的特征值;根据所述第一特征子集中每个特征的特征值,分别确定所述每个特征作为分裂特征点对应的横向分裂值;根据所述每个特征对应的所述横向分裂值,确定所述训练节点的所述第一分裂值。
[0015]根据本申请的一个实施例,所述根据所述第一特征子集中每个特征的特征值,分别确定所述每个特征作为分裂特征点对应的横向分裂值,包括:针对所述第一特征子集中任一特征,根据所述任一特征的特征值,确定所述任一特征的分裂阈值;根据所述分裂阈值,获取所述任一特征对应的第一数据实例标识集合和第二数据实例标识集合,其中,所述第一数据实例标识集合包括属于第一左子树空间的数据实例标识,所述第二数据实例标识集合包括属于第一右子树空间的数据实例标识;根据所述第一数据实例标识集合和所述第二数据实例标识集合,确定所述任一特征对应的所述横向分裂值。
[0016]根据本申请的一个实施例,所述根据所述分裂阈值,获取所述任一特征对应的第一数据实例标识集合和第二数据实例标识集合,包括:向所述客户端发送所述分裂阈值;接收所述客户端发送所述训练节点对应的初始数据实例标识集合,其中,所述初始数据实例标识集合为所述客户端根据所述分裂阈值对所述任一特征进行节点分裂时生成的,所述初始数据实例标识集合包括属于所述第一左子树空间的数据实例标识;基于所述初始数据实例标识集合和所有数据实例标识,获得所述第一数据实例标识集合和所述第二数据实例标识集合。
[0017]根据本申请的一个实施例,所述基于所述初始数据实例标识集合,获得所述第一数据实例标识集合和所述第二数据实例标识集合,包括:将所述初始数据实例标识集合中的每个数据实例标识,与所述客户端的数据实例标识进行对比,获取存在异常的数据实例标识;对所述异常的数据实例标识进行预处理,获取所述第一数据实例标识集合;基于所有数据实例标识和所述第一数据实例标识集合,获取所述第二数据实例标识集合。
[0018]根据本申请的一个实施例,所述基于第二训练集合,协和所述客户端进行纵向联邦学习,得到所述训练节点对应的第二分裂值,包括:通知所述客户端基于所述第二训练集合进行纵向联邦学习;接收所述客户端发送的每个特征的至少一个第三数据实例标识集合的第一梯度信息,其中,所述第三数据实例标识集合包括属于第二左子树空间的数据实例标识,所述第二左子树空间为按照所述特征的其中一个特征值分裂形成的左子树空间,不同的特征值对应不同的所述第二左子树空间;根据每个特征的所述第一梯度信息和所述训练节点的总梯度信息,分别确定每个特征的纵向分裂值;根据每个特征对应的纵向分裂值,确定所述训练节点的所述第二分裂值。
[0019]根据本申请的一个实施例,所述根据每个特征的所述第一梯度信息和所述训练节点的总梯度信息,分别确定每个特征的纵向分裂值,包括:针对任一特征,根据所述总梯度信息和每个第一梯度信息,分别获取与每个第一梯度信息相对应的第二梯度信息;针对每个第一梯度信息,根据所述第一梯度信息和所述第一梯度信息相对应的第二梯度信息,获取所述任一特征的候选纵向分裂值;选取所述候选纵向分裂值中的最大值,作为所述任一特征的纵向分裂值。
[0020]根据本申请的一个实施例,所述生成目标联邦学习模型之后,还包括:获取验证集合,协同验证客户端对所述目标联邦学习模型进行验证,所述验证客户端为参与联邦学习模型训练的客户端中一个。
[0021]根据本申请的一个实施例,所述基于验证集合,协和验证客户端对所述目标模型进行验证,包括:向所述验证客户端发送所述验证集合中的一个数据实例标识,以及验证节点的分裂信息,其中,所述验证节点为多个提升树本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种联邦学习模型的训练方法,其特征在于,应用于服务端,包括:获取各个客户端的所有数据实例,将各个所述客户端的所有所述数据实例确定为第一训练集合,以及选取所有所述数据实例中包括相同特征的数据实例,构成第二训练集合;基于所述第一训练集合,协同所述客户端进行横向联邦学习,以得到满足预设分裂条件的训练节点对应的第一分裂值;其中,所述训练节点为多个提升树中一个提升树上的节点;基于所述第二训练集合,协同所述客户端进行纵向联邦学习,以得到所述训练节点对应的第二分裂值;根据所述第一分裂值和所述第二分裂值,确定所述训练节点对应的目标分裂方式,并通知客户端基于所述目标分裂方式进行节点分裂,并获取更新的所述训练节点;确定更新的所述训练节点满足停止训练条件,停止训练并生成目标联邦学习模型。2.根据权利要求1所述的联邦学习模型的训练方法,其特征在于,所述根据所述第一分裂值和所述第二分裂值,确定所述训练节点对应的目标分裂方式,包括:确定所述第一分裂值与所述第二分裂值中较大的值为所述训练节点对应的目标分裂值;根据所述目标分裂值,确定所述训练节点对应的分裂方式。3.根据权利要求1所述的联邦学习模型的训练方法,其特征在于,所述基于第一训练集合,协和所述客户端进行横向联邦学习,以得到满足预设分裂条件的训练节点对应的第一分裂值,包括:从所述第一训练集合中产生所述训练节点可用的第一特征子集,并发送给所述客户端;接收所述客户端发送的所述第一特征子集中每个特征的特征值;根据所述第一特征子集中每个特征的特征值,分别确定所述每个特征作为分裂特征点对应的横向分裂值;根据所述每个特征对应的所述横向分裂值,确定所述训练节点的所述第一分裂值。4.根据权利要求3所述的联邦学习模型的训练方法,其特征在于,所述根据所述第一特征子集中每个特征的特征值,分别确定所述每个特征作为分裂特征点对应的横向分裂值,包括:针对所述第一特征子集中任一特征,根据所述任一特征的特征值,确定所述任一特征的分裂阈值;根据所述分裂阈值,获取所述任一特征对应的第一数据实例标识集合和第二数据实例标识集合,其中,所述第一数据实例标识集合包括属于第一左子树空间的数据实例标识,所述第二数据实例标识集合包括属于第一右子树空间的数据实例标识;根据所述第一数据实例标识集合和所述第二数据实例标识集合,确定所述任一特征对应的所述横向分裂值。5.根据权利要求4所述的联邦学习模型的训练方法,其特征在于,所述根据所述分裂阈值,获取所述任一特征对应的第一数据实例标识集合和第二数据实例标识集合,包括:向所述客户端发送所述分裂阈值;接收所述客户端发送所述训练节点对应的初始数据实例标识集合,其中,所述初始数
据实例标识集合为所述客户端根据所述分裂阈值对所述任一特征进行节点分裂时生成的,所述初始数据实例标识集合包括属于所述第一左子树空间的数据实例标识;基于所述初始数据实例标识集合和所有数据实例标识,获得所述第一数据实例标识集合和所述第二数据实例标识集合。6.根据权利要求5所述的联邦学习模型的训练方法,其特征在于,所述基于所述初始数据实例标识集合,获得所述第一数据实例标识集合和所述第二数据实例标识集合,包括:将所述初始数据实例标识集合中的每个数据实例标识,与所述客户端的数据实例标识进行对比,获取存在异常的数据实例标识;对所述异常的数据实例标识进行预处理,获取所述第一数据实例标识集合;基于所有数据实例标识和所述第一数据实例标识集合,获取所述第二数据实例标识集合。7.根据权利要求1所述的联邦学习模型的训练方法,其特征在于,所述基于第二训练集合,协和所述客户端进行纵向联邦学习,得到所述训练节点对应的第二分裂值,包括:通知所述客户端基于所述第二训练集合进行纵向联邦学习;接收所述客户端发送的每个特征的至少一个第三数据实例标识集合的第一梯度信息,其中,所述第三数据实例标识集合包括属于第二左子树空间的数据实例标识,所述第二左子树空间为按照所述特征的其中一个特征值分裂形成的左子树空间,不同的特征值对应不同的所述第二左子树空间;根据每个特征的所述第一梯度信息和所述训练节点的总梯度信息,分别确定每个特征的纵向分裂值;根据每个特征对应的纵向分裂值,确定所述训练节点的所述第二分裂值。8.根据权利要求7所述的联邦学习模型的训练方法,其特征在于,所述根据每个特征的所述第一梯度信息和所述训练节点的总梯度信息,分别确定每个特征的纵向分裂值,包括:针对任一特征,根据所述总梯度信息和每个第一梯度信息,分别获取与每个第一梯度信息相对应的第二梯度信息;针对每个第一梯度信息,根据所述第一梯度信息和所述第一梯度信息相对应的第二梯度信息,获取所述任一特征的候选纵向分裂值;选取所述候选纵向分裂值中的最大值,作为所述任一特征的纵向分裂值。9.根据权利要求1所述的联邦学习模型的训练方法,其特征在于,所述生成目标联邦学习模型之后,还包括:获取验证集合,协同验证客户端对所述目标联邦学习模型进行验证,所述验证客户端为参与联邦学习模型训练的客户端中一个。10.根据权利要求9所述的联邦学习模型的训练方法,其特征在于,所述基于验证集合,协和验证客户端对所述目标模型进行验证,包括:向所述验证客户端发送所述验证集合中的一个数据实例标识,以及验证节点的分裂信息,其中,所述验证节点为多个提升树其中一个提升树上的节点;接收所述验证客户端发送的所述验证节点对应的节点走向,其中,所述节点走向为所述验证客户端根据所述数据实例标识和分裂信息确定的;根据所述节点走向进入下一个节点,以所述下一个节点作为更新的所述验证节点;
若所述更新的所述验证节点满足所述预设节点分裂条件,返回执行向所述验证客户端发送所述数据实例标识和所述分裂信息,直至所述验证集合中的数据实例标识均被验证。11.一种联邦学习模型的训练方法,其特征在于,应用于客户端,包括:向服务端发送数据实例,以使所述服务端确定第一训练集合和第二训练集合,其中,所述第一训练集合包括各个客户端的所有数据实例,所述第二训练集合包括具有相同特征的数据实例;基于第一训练集合进行横向联邦学习,以得到满足预设分裂条件的训练节点对应的第一分裂值;基于第二训练集合进行纵向联邦学习,以得到所述训练节点对应的第二分裂值;将所述第一分裂值和所述第二分裂值发送给所述服务端;接收所述服务端根据所述第一分裂值和所述第二分裂值确定出的所述训练节点的目标分裂方式;基于所述目标分裂方式对所述训练节点进行节点分裂。12.根据权利要求11所述的联邦学习模型的训练方法,其特征在于,所述基于第一训练集合进行横向联邦学习,以得到满足预设分裂条件的训练节点对应的第一分裂值,还包括:接收所述服务端从所述第一训练集合中产生的所述训练节点可用的第一特征子集;向所述服务端发送所述第一特征子集中每个特征的特征值;接收所述服务端发送的所述每个特征的分裂阈值;基于所述每个特征的分裂阈值,获取所述训练节点对应的初始数据实例标识集合,并将所述初始数据实例标识集合发送给所述服务端;其中,所述初始数据实例标识集合用于指示服务器生成第一数据实例标识集合和第二数据实例标识集合,所述第一数据实例标识集合和所述初始数据实例标识集合均包括属于第一左子树空间的数据实例标识,所述第二数据实例标识集合包括属于第一右子树空间的数据实例标识。13.根据权利要求12所述的联邦学习模型的训练方法,其特征在于,所述基于所述每个特征的分裂阈值,获取所述训练节点对应的初始数据实例标识集合,包括:针对任一特征,将所述任一特征的分裂阈值分别与所述任一特征的特征值进行比较,获取所述特征值小于所述分裂阈值的数据实例标识,生成所述初始数据实例标识集合。14.根据权利要求11所述的联邦学习模型的训练方法,其特征在于,所述基于第二训练集合进行纵向联邦学习,以得到所述训练节点对应的第二分裂值之前,还包括:接收所述服务端发送的梯度信息请求;根据所述梯度信息请求,从第二训练集合中产生第二特征子集;获取所述第二特征子集中每个特征的至少一个第三数据实例标识集合的第一梯度信息,其中,所述第三数据实例标识集合包括属于第二左子树空间的数据实例标识,所述第二左子树空间为按照所述特征的其中一个特征值分裂形成的左子树空间,不同的特征值对应不同的所述第二左子树空间;将所述第三数据实例标识集合的第一梯度信息发送给所述服务端。15.根据权利要求14所述的联邦学习模型的训练方法,其特征在于,所述获取所述第二特征子集中每个特征的至少一个第三数据实例标识集合的第一梯度信息,包括:
针对任一特征,获取所述任一特征的所有特征值,基于所述特征值对对所述任一特征进行分桶;获取所述任一特征每个分桶的所述第三数据实例标识集合的第一梯度信息。16.根据权利要求11

15任一项所述的联邦学习模型的训练方法,其特征在于,所述基于所述目标分裂方式对所述训练节点进行节点分裂,还包括:接收所述服务端发送的分裂信息,其中,所述分裂信息包括所述目标分裂方式、选为特征分裂点的目标分裂特征和所述目标分裂值;基于所述分裂信息,对所述训练节点进行节点分裂。17.根据权利要求11

14任一项所述的联邦学习模型的训练方法,其特征在于,所述基于所述目标分裂方式对所述训练节点进行节点分裂之后,还包括:接收所述服务器发送的验证集合,基于所述验证集合,对所述目标联邦学习模型进行验证。18.根据权利要求17所述的联邦学习模型的训练方法,其特征在于,所述基于验证集合,协和验证客户端对所述目标模型进行验证,包括:接收所述服务端发送所述验证集合中的一个数据实例标识,以及验证节点的分裂信息,其中,所述验证节点为多个提升树其中一个提升树上的节点;根据所述数据实例标识和所述分裂信息,确定所述验证节点的节点走向;向所述服务端发送的所述节点走向,以使所述服务端根据所述节点走向进入下一个节点,以所述下一个节点作为更新的所述验证节点。19.一种联邦学习模型的训练装置,其特征在于,应用于服务端,包括:构成模块,用于获取各个客户端的所有数据实例,将各个客户端的所有数据实例确定为第一训练集合,以及选取所有数据实例中包括相同特征的数据实例,构成所述第二训练集合;第一确定模块,用于基于所述第一训练集合,协同...

【专利技术属性】
技术研发人员:张文夕王佩琪顾松庠
申请(专利权)人:京东科技信息技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1