分布式机器学习模型的训练方法、装置、设备和介质制造方法及图纸

技术编号:30447856 阅读:35 留言:0更新日期:2021-10-24 18:41
本公开提供了一种分布式机器学习模型的训练方法、装置、设备和介质,涉及人工智能领域,尤其涉及深度学习技术领域。具体实现方案为:获取第一同态加密中间参数和第二同态加密中间参数;产生第一干扰参数,并采用第二参与方的第二同态公钥进行加密,形成第一加密干扰参数;基于第一同态加密中间参数、第二同态加密中间参数和第一加密干扰参数,以及第一子模型的同态计算函数进行计算,以产生第一加密关键参数;将第一加密关键参数传输给第二参与方,以进行解密;获取第二参与方解密后的第一关键参数;根据第一关键参数和第一干扰参数,对第一子模型进行迭代更新,直至第一子模型训练完成。本公开能够提高训练过程的效率。本公开能够提高训练过程的效率。本公开能够提高训练过程的效率。

【技术实现步骤摘要】
分布式机器学习模型的训练方法、装置、设备和介质


[0001]本公开涉及人工智能
,具体为深度学习
,尤其涉及一种分布式机器学习模型的训练方法、装置、设备和介质。

技术介绍

[0002]随着人工智能技术的发展,机器学习在各个场景中得到了越来越广泛的运用。
[0003]随着分布式机器学习的普及,引出了一个隐私保护的问题。对于机器学习模型的训练,往往需要多方各自提供的数据样本来联合进行训练。但是,多方对于自己所持有的数据样本存在隐私保护需求,不希望自己所持有的数据样本被公开或被其他方获取。甚至多方可能需要各自训练机器学习模型中的一部分模型,而该部分模型的训练过程数据也不希望被其他方获知。
[0004]对于上述需求,现有技术一般采用可信第三方来进行协调,将不希望暴露给其他参与方的隐私数据,放在可信第三方中进行处理。现有技术仍然存在可信第三方恶意泄露的可能性,且大量数据在多方和可信第三方之间进行交互,也使得模型训练过程的数据传输量大,效率低。

技术实现思路

[0005]本公开提供了一种分布式机器学习模型的训练方法、装置、设备和介质,以兼顾多方训练模型的隐私数据保护和模型训练效率。
[0006]根据本公开的一方面,提供了一种分布式机器学习模型的训练方法,包括:获取第一同态加密中间参数和第二同态加密中间参数;产生第一干扰参数,并采用第二参与方的第二同态公钥进行加密,形成第一加密干扰参数;基于所述第一同态加密中间参数、第二同态加密中间参数和第一加密干扰参数,以及第一子模型的同态计算函数进行计算,以产生第一加密关键参数;将所述第一加密关键参数传输给第二参与方,以供所述第二参与方采用第二同态私钥对所述第一加密关键参数进行解密;获取所述第二参与方解密后的第一关键参数;根据所述第一关键参数和所述第一干扰参数,对所述第一子模型进行迭代更新,直至所述第一子模型训练完成。
[0007]根据本公开的另一方面,还提供了一种分布式机器学习模型的训练装置,包括:中间参数获取模块,用于获取第一同态加密中间参数和第二同态加密中间参数;干扰参数形成模块,用于产生第一干扰参数,并采用第二参与方的第二同态公钥进行加密,形成第一加密干扰参数;参数产生模块,用于基于所述第一同态加密中间参数、第二同态加密中间参数和第一加密干扰参数,以及第一子模型的同态计算函数进行计算,以产生第一加密关键参数;
参数解密模块,用于将所述第一加密关键参数传输给第二参与方,以供所述第二参与方采用第二同态私钥对所述第一加密关键参数进行解密;第一关键参数获取模块,用于获取所述第二参与方解密后的第一关键参数;子模型训练模块,用于根据所述第一关键参数和所述第一干扰参数,对所述第一子模型进行迭代更新,直至所述第一子模型训练完成。
[0008]根据本公开的另一方面,还提供了一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本公开实施例所提供的任意一种分布式机器学习模型的训练方法。
[0009]根据本公开的另一方面,还提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使计算机执行本公开实施例所提供的任意一种分布式机器学习模型的训练方法。
[0010]根据本公开的另一方面,还提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现本公开实施例所提供的任意一种分布式机器学习模型的训练方法。
[0011]根据本公开的技术,兼顾了多方训练模型的隐私数据保护和模型训练效率。
[0012]应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
[0013]附图用于更好地理解本方案,不构成对本公开的限定。其中:图1是根据本公开实施例提供的一种分布式机器学习模型的训练方法的示意图;图2是根据本公开实施例提供的另一种分布式机器学习模型的训练方法的示意图;图3是根据本公开实施例提供的又一种分布式机器学习模型的训练方法的示意图;图4是根据本公开实施例提供的一种分布式机器学习模型的训练装置的示意图;图5是用来实现本公开实施例的分布式机器学习模型的训练方法的电子设备的框图。
具体实施方式
[0014]以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
[0015]以下结合附图,对本公开实施例提供的该方案进行详细说明。
[0016]图1是根据本公开实施例提供的一种分布式机器学习模型的训练方法的示意图,
本公开实施例可适用于多方在隐私保护需求下进行数据交互,完成对机器学习模型训练的情况。该方法可由一种分布式机器学习模型的训练装置来执行,该装置可采用硬件和/或软件的方式来实现,可配置于电子设备中。该电子设备可以是属于任一参与方的设备,在多方联合训练的场景下,一般有至少两个参与方参与模型训练,每个参与方可具有独立的电子设备,多个参与方进行交互,以完成模型训练。本实施例从其中任意一个参与方的角度进行说明,各参与方的模型训练过程基本相同。
[0017]参考图1,该方法具体包括如下:S101、获取第一同态加密中间参数和第二同态加密中间参数;其中,第一同态加密中间参数为采用第二参与方的第二同态公钥对第一训练中间参数进行加密的数据,第一训练中间参数为第一参与方基于第一样本数据对第一子模型进行训练后产生的中间参数,第二同态加密中间参数为采用第二参与方的第二同态公钥对第二训练中间参数进行加密的数据,第二训练中间参数为第二参与方基于第二样本数据对第二子模型进行训练后产生的中间参数;机器学习模型由至少两个参与方各自本地的子模型组成。
[0018]机器学习模型的训练由至少两个参与方参与,机器学习模型由至少两个参与方各自本地的子模型组成,每个子模型均为待训练模型,子模型各自的训练过程具有隐私性,需要保密。其中,第一参与方可以是参与模型训练的多个参与方中任一参与方,第二参与方可以是参与模型训练的多个参与方中,除第一参与方之外的其他参与方,第二参与方可以是一个,也可以是多个。第一子模型可以是第一参与方的本地的子模型,第二子模型可以是第二参与方的本地的子模型。
[0019]其中,第一样本数据可以是第一参与方用于训练第一子模型时所使用的样本数据;第二样本数据可以是第二参与方用于训练第二子模型时所使用的样本数据。每个参与方所持有的样本数据所对应的对象重合,但对象的属性数据不同。例如,在网购平台或外卖平台中,各平台方分别为模型训练的参与方,训练对象是重合的,均基于相同的用户,而各参与方所持有的用本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种分布式机器学习模型的训练方法,其特征在于,所述方法由参与模型训练的多个参与方中任一参与方执行,记为第一参与方,其他参与方记为第二参与方,所述方法包括:获取第一同态加密中间参数和第二同态加密中间参数;产生第一干扰参数,并采用第二参与方的第二同态公钥进行加密,形成第一加密干扰参数;基于所述第一同态加密中间参数、第二同态加密中间参数和第一加密干扰参数,以及第一子模型的同态计算函数进行计算,以产生第一加密关键参数;将所述第一加密关键参数传输给第二参与方,以供所述第二参与方采用第二同态私钥对所述第一加密关键参数进行解密;获取所述第二参与方解密后的第一关键参数;根据所述第一关键参数和所述第一干扰参数,对所述第一子模型进行迭代更新,直至所述第一子模型训练完成。2.根据权利要求1所述的方法,其特征在于,所述第一同态加密中间参数为采用第二参与方的第二同态公钥对第一训练中间参数进行加密的数据,所述第一训练中间参数为第一参与方基于第一样本数据对第一子模型进行训练后产生的中间参数,所述第二同态加密中间参数为采用第二参与方的第二同态公钥对第二训练中间参数进行加密的数据,所述第二训练中间参数为第二参与方基于第二样本数据对第二子模型进行训练后产生的中间参数;所述机器学习模型由至少两个参与方各自本地的子模型组成。3.根据权利要求2所述的方法,其特征在于,基于所述第一同态加密中间参数、第二同态加密中间参数和第一加密干扰参数,以及第一子模型的同态计算函数进行计算,以产生第一加密关键参数包括:基于所述第一同态加密中间参数和第二同态加密中间参数,以及第一子模型的同态计算函数进行计算,并将所述第一加密干扰参数基于线性计算叠加至计算结果中,以产生第一加密关键参数;相应的,根据所述第一关键参数和所述第一干扰参数,对所述第一子模型进行迭代更新,直至所述第一子模型训练完成包括:基于所述第一干扰参数对所述第一关键参数进行逆向线性计算,并根据逆向线性计算后的关键参数,对所述第一子模型进行迭代更新,直至所述第一子模型训练完成。4.根据权利要求1

3任一所述的方法,其特征在于,所述干扰参数为随机数。5.根据权利要求1

3任一所述的方法,其特征在于,所述第一干扰参数包括第一梯度干扰参数和第一损失干扰参数;相应的,基于所述第一同态加密中间参数、第二同态加密中间参数和第一加密干扰参数,以及第一子模型的同态计算函数进行计算,以产生第一加密关键参数包括:基于所述第一同态加密中间参数、第二同态加密中间参数和第一加密梯度干扰参数,以及第一子模型的同态梯度计算函数进行计算,以产生第一加密梯度参数;基于所述第一同态加密中间参数、第二同态加密中间参数和第一加密损失干扰参数,以及第一子模型的同态损失计算函数进行计算,以产生第一加密损失参数。6.根据权利要求2所述的方法,其特征在于,所述方法还包括:
产生第一同态密钥对,所述第一同态密钥对包括第一同态公钥和第一同态私钥;将所述第一同态公钥发送给第二参与方;接收所述第二参与方发送的所述第二参与方产生的第二同态密钥对中的第二同态公钥。7.根据权利要求2所述的方法,其特征在于,获取第一同态加密中间参数和第二同态加密中间参数之前,还包括:确定所述第一参与方与所述第二参与方的样本数据交集标识,至少一个参与方的样本数据对应标注有标签。8.根据权利要求2所述的方法,其特征在于,获取第一同态加密中间参数和第二同态加密中间参数之前,还包括:对所述第一参与方的第一原始样本数据进行标准化处理,以获得样本特征维度的第一标准化值和第一样本数据;标准化处理后的第一样本数据用于对模型进行训练;将所述第一标准化值采用第三加密密钥进行加密,形成第一加密标准化值,并将所述第一加密标准化值提供给可信第三方;相应的,所述第一子模型训练完成之后,还包括:将所述第一子模型采用第三加密密钥进行加密,形成第一加密子模型,并将所述第一加密子模型提供给所述可信第三方,以供所述可信第三方基于各参与方提供的加密子模型进行组合,并基于各参与方提供的加密标准化值进行去标准化处理,再进行切分;接收所述可信第三方返回的切分后的第一去标准化子模型。9.根据权利要求2所述的方法,其特征在于,获取第一同态加密中间参数包括:基于第一样本数据对第一子模型进行训练后产生第一训练中间参数;根据设定精度将所述第一训练中间参数中的浮点数转为第一大整数;将所述第一大整数中的整数数值进行编码,以转换为第一正整数;采用第二参与方的第二同态公钥对第一正整数进行加密,以得到所述第一同态加密中间参数。10.根据权利要求9所述的方法,其特征在于,根据所述第一关键参数和所述第一干扰参数,对所述第一子模型进行迭代更新包括:基于所述第一干扰参数对所述第一关键参数进行去干扰操作;对去干扰后的第一关键参数进行解码,并按照所述设定精度进行缩放,以转换成为浮点数;采用转换后的浮点数形式的第一关键参数对所述第一子模型进行迭代更新。11.一种分布式机器学习模型的训练装置,其特征在于,包括:中间参数获取模块,用于获取第一同态加密中间参数和第二同态加密中间参数;干扰参数形成模块,用于产生第一干扰参数,并采用第二参与方的第二同态公钥进行加密,形成第一加密干扰参数;参数产生模块,用于基于所述第一同态加密中间参数、第二同态加密中间参数和第一加密干扰参数,以及第一子模型的...

【专利技术属性】
技术研发人员:荆博
申请(专利权)人:北京百度网讯科技有限公司
类型:发明
国别省市:

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

1