【技术实现步骤摘要】
分布式机器学习模型的训练方法、装置、设备和介质
[0001]本公开涉及人工智能
,具体为深度学习
,尤其涉及一种分布式机器学习模型的训练方法、装置、设备和介质。
技术介绍
[0002]随着人工智能技术的发展,机器学习在各个场景中得到了越来越广泛的运用。
[0003]随着分布式机器学习的普及,引出了一个隐私保护的问题。对于机器学习模型的训练,往往需要多方各自提供的数据样本来联合进行训练。但是,多方对于自己所持有的数据样本存在隐私保护需求,不希望自己所持有的数据样本被公开或被其他方获取。甚至多方可能需要各自训练机器学习模型中的一部分模型,而该部分模型的训练过程数据也不希望被其他方获知。
[0004]对于上述需求,现有技术一般采用可信第三方来进行协调,将不希望暴露给其他参与方的隐私数据,放在可信第三方中进行处理。现有技术仍然存在可信第三方恶意泄露的可能性,且大量数据在多方和可信第三方之间进行交互,也使得模型训练过程的数据传输量大,效率低。
技术实现思路
[0005]本公开提供了一种分布式机器学习模型的训练方法、装置、设备和介质,以兼顾多方训练模型的隐私数据保护和模型训练效率。
[0006]根据本公开的一方面,提供了一种分布式机器学习模型的训练方法,包括:获取第一同态加密中间参数和第二同态加密中间参数;产生第一干扰参数,并采用第二参与方的第二同态公钥进行加密,形成第一加密干扰参数;基于所述第一同态加密中间参数、第二同态加密中间参数和第一加密干扰参数,以及第一子模型的同态计算 ...
【技术保护点】
【技术特征摘要】
1.一种分布式机器学习模型的训练方法,其特征在于,所述方法由参与模型训练的多个参与方中任一参与方执行,记为第一参与方,其他参与方记为第二参与方,所述方法包括:获取第一同态加密中间参数和第二同态加密中间参数;产生第一干扰参数,并采用第二参与方的第二同态公钥进行加密,形成第一加密干扰参数;基于所述第一同态加密中间参数、第二同态加密中间参数和第一加密干扰参数,以及第一子模型的同态计算函数进行计算,以产生第一加密关键参数;将所述第一加密关键参数传输给第二参与方,以供所述第二参与方采用第二同态私钥对所述第一加密关键参数进行解密;获取所述第二参与方解密后的第一关键参数;根据所述第一关键参数和所述第一干扰参数,对所述第一子模型进行迭代更新,直至所述第一子模型训练完成。2.根据权利要求1所述的方法,其特征在于,所述第一同态加密中间参数为采用第二参与方的第二同态公钥对第一训练中间参数进行加密的数据,所述第一训练中间参数为第一参与方基于第一样本数据对第一子模型进行训练后产生的中间参数,所述第二同态加密中间参数为采用第二参与方的第二同态公钥对第二训练中间参数进行加密的数据,所述第二训练中间参数为第二参与方基于第二样本数据对第二子模型进行训练后产生的中间参数;所述机器学习模型由至少两个参与方各自本地的子模型组成。3.根据权利要求2所述的方法,其特征在于,基于所述第一同态加密中间参数、第二同态加密中间参数和第一加密干扰参数,以及第一子模型的同态计算函数进行计算,以产生第一加密关键参数包括:基于所述第一同态加密中间参数和第二同态加密中间参数,以及第一子模型的同态计算函数进行计算,并将所述第一加密干扰参数基于线性计算叠加至计算结果中,以产生第一加密关键参数;相应的,根据所述第一关键参数和所述第一干扰参数,对所述第一子模型进行迭代更新,直至所述第一子模型训练完成包括:基于所述第一干扰参数对所述第一关键参数进行逆向线性计算,并根据逆向线性计算后的关键参数,对所述第一子模型进行迭代更新,直至所述第一子模型训练完成。4.根据权利要求1
‑
3任一所述的方法,其特征在于,所述干扰参数为随机数。5.根据权利要求1
‑
3任一所述的方法,其特征在于,所述第一干扰参数包括第一梯度干扰参数和第一损失干扰参数;相应的,基于所述第一同态加密中间参数、第二同态加密中间参数和第一加密干扰参数,以及第一子模型的同态计算函数进行计算,以产生第一加密关键参数包括:基于所述第一同态加密中间参数、第二同态加密中间参数和第一加密梯度干扰参数,以及第一子模型的同态梯度计算函数进行计算,以产生第一加密梯度参数;基于所述第一同态加密中间参数、第二同态加密中间参数和第一加密损失干扰参数,以及第一子模型的同态损失计算函数进行计算,以产生第一加密损失参数。6.根据权利要求2所述的方法,其特征在于,所述方法还包括:
产生第一同态密钥对,所述第一同态密钥对包括第一同态公钥和第一同态私钥;将所述第一同态公钥发送给第二参与方;接收所述第二参与方发送的所述第二参与方产生的第二同态密钥对中的第二同态公钥。7.根据权利要求2所述的方法,其特征在于,获取第一同态加密中间参数和第二同态加密中间参数之前,还包括:确定所述第一参与方与所述第二参与方的样本数据交集标识,至少一个参与方的样本数据对应标注有标签。8.根据权利要求2所述的方法,其特征在于,获取第一同态加密中间参数和第二同态加密中间参数之前,还包括:对所述第一参与方的第一原始样本数据进行标准化处理,以获得样本特征维度的第一标准化值和第一样本数据;标准化处理后的第一样本数据用于对模型进行训练;将所述第一标准化值采用第三加密密钥进行加密,形成第一加密标准化值,并将所述第一加密标准化值提供给可信第三方;相应的,所述第一子模型训练完成之后,还包括:将所述第一子模型采用第三加密密钥进行加密,形成第一加密子模型,并将所述第一加密子模型提供给所述可信第三方,以供所述可信第三方基于各参与方提供的加密子模型进行组合,并基于各参与方提供的加密标准化值进行去标准化处理,再进行切分;接收所述可信第三方返回的切分后的第一去标准化子模型。9.根据权利要求2所述的方法,其特征在于,获取第一同态加密中间参数包括:基于第一样本数据对第一子模型进行训练后产生第一训练中间参数;根据设定精度将所述第一训练中间参数中的浮点数转为第一大整数;将所述第一大整数中的整数数值进行编码,以转换为第一正整数;采用第二参与方的第二同态公钥对第一正整数进行加密,以得到所述第一同态加密中间参数。10.根据权利要求9所述的方法,其特征在于,根据所述第一关键参数和所述第一干扰参数,对所述第一子模型进行迭代更新包括:基于所述第一干扰参数对所述第一关键参数进行去干扰操作;对去干扰后的第一关键参数进行解码,并按照所述设定精度进行缩放,以转换成为浮点数;采用转换后的浮点数形式的第一关键参数对所述第一子模型进行迭代更新。11.一种分布式机器学习模型的训练装置,其特征在于,包括:中间参数获取模块,用于获取第一同态加密中间参数和第二同态加密中间参数;干扰参数形成模块,用于产生第一干扰参数,并采用第二参与方的第二同态公钥进行加密,形成第一加密干扰参数;参数产生模块,用于基于所述第一同态加密中间参数、第二同态加密中间参数和第一加密干扰参数,以及第一子模型的...
【专利技术属性】
技术研发人员:荆博,
申请(专利权)人:北京百度网讯科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。