纵向联邦学习中逻辑回归模型的训练方法及系统技术方案

技术编号:37498890 阅读:40 留言:0更新日期:2023-05-07 09:35
本发明专利技术涉及一种纵向联邦学习中逻辑回归模型的训练方法、预测方法、纵向联邦学习系统及存储介质,用以实现在不依赖第三方,且保护双方隐私数据的前提下,完成纵向联邦学习中逻辑回归模型的训练。该训练方法包括:对于纵向联邦学习系统中的任意一方执行如下操作:接收另一方发送的第二公钥和第二加密中间结果;基于已有的第一加密中间结果所述第二加密中间结果和本地的第一样本数据,得到加密梯度;对加密梯度进行混淆,得到加密混淆梯度并发送给另一方;接收另一方发送的明文混淆梯度;对明文混淆梯度进行去混淆,得到梯度,并基于所述梯度更新本地所拥有的一部分逻辑回归模型;循环迭代直到满足预设停止条件时得到训练完成的逻辑回归模型。的逻辑回归模型。的逻辑回归模型。

【技术实现步骤摘要】
纵向联邦学习中逻辑回归模型的训练方法及系统


[0001]本专利技术涉及机器学习
,尤其涉及一种纵向联邦学习中逻辑回归模型的训练方法、预测方法、纵向联邦学习系统及存储介质。

技术介绍

[0002]随着人工智能的发展,人们为解决数据孤岛的问题,提出了“联邦学习”的概念,使得联邦双方在不用给出己方数据的情况下,也可进行模型训练得到模型参数,并且可以避免数据隐私泄露的问题。
[0003]纵向联邦学习是在参与者的数据特征重叠较小,而用户重叠较多的情况下,取出参与者用户相同而用户数据特征不同的那部分用户及数据进行联合训练机器学习模型。比如有属于同一个地区的两个参与者A和B,其中参与者A是一家银行,参与者B是一个电商平台。参与者A和B在同一地区拥有较多相同的用户,但是A与B的业务不同,记录的用户数据特征是不同的。特别地,A和B记录的用户数据特征可能是互补的。在这样的场景下,可以使用纵向联邦学习来帮助A和B构建联合机器学习预测模型,帮助A和B向他们的客户提供更好的服务。
[0004]逻辑回归算法是一种经典的机器学习模型,适用于分类问题。因为其具有简单、高效、可解释强等特性,被人们广泛应用于金融、推荐、广告等领域。诸多现实场景要求在纵向联邦学习的场景下完成逻辑回归模型的训练和使用。
[0005]然而,相关技术中在纵向联邦学习场景下的逻辑回归算法中,所需要的第三方能够获取到如损失值、梯度等隐私数据,且第三方持有私钥,相当于能记录并获取明文的隐私数据,以梯度为例,第三方能够轻易地根据sum(梯度)推算出参与方的模型,是不够安全隐私的。

技术实现思路

[0006]有鉴于此,本专利技术提供一种纵向联邦学习中逻辑回归模型的训练方法、预测方法、纵向联邦学习系统及存储介质,用以实现在不依赖第三方,且保护双方隐私数据的前提下,完成纵向联邦学习中逻辑回归模型的训练。
[0007]具体地,本专利技术是通过如下技术方案实现的:
[0008]根据本专利技术的第一方面,提供一种纵向联邦学习中逻辑回归模型的训练方法,所述方法包括:
[0009]对于纵向联邦学习系统中的任意一方执行如下操作:
[0010]接收另一方发送的第二公钥和第二加密中间结果;所述第二公钥是另一方生成的同态加密的公钥,所述第二加密中间结果是另一方使用所述第二公钥加密其生成的用于计算梯度的第二中间结果而得到的;
[0011]基于已有的第一加密中间结果、所述第二加密中间结果和本地的第一样本数据,得到加密梯度;所述第一加密中间结果是本地使用所述第二公钥加密本地生成的用于计算
梯度的第一中间结果而得到的;
[0012]对所述加密梯度进行混淆,得到加密混淆梯度并发送给另一方;
[0013]接收另一方发送的明文混淆梯度;所述明文混淆梯度是另一方使用其生成的同态加密的私钥解密所述加密混淆梯度而得到的;
[0014]对所述明文混淆梯度进行去混淆,得到梯度,并基于所述梯度更新本地所拥有的一部分逻辑回归模型;循环迭代直到满足预设停止条件时得到训练完成的逻辑回归模型。
[0015]在一些实施例中,所述基于已有的第一加密中间结果、所述第二加密中间结果和本地的第一样本数据,得到加密梯度,包括:
[0016]将所述第一加密中间结果和所述第二加密中间结果相加后,再与所述第一样本数据相乘,得到所述加密梯度。
[0017]在一些实施例中,所述本地为发起方,所述发起方拥有标签数据,所述另一方为参与方;
[0018]所述第一中间结果是基于所述发起方所拥有的一部分逻辑回归模型的模型参数、所述发起方的样本数据和所述标签数据而生成的;
[0019]所述第二中间结果是基于所述参与方所拥有的一部分逻辑回归模型的模型参数,以及所述参与方的样本数据而生成的。
[0020]在一些实施例中,在基于所述梯度更新本地所拥有的一部分逻辑回归模型之前,所述方法还包括:
[0021]接收所述参与方发送的第二加密平方中间结果;所述第二加密平方中间结果是所述参与方使用所述第二公钥加密所述第二中间结果的平方而得到的;
[0022]基于已有的第一加密平方中间结果、所述第一加密中间结果、所述第二加密中间结果、所述第二加密平方中间结果和所述标签数据,计算加密损失值;所述第一加密平方中间结果是所述发起方使用所述第二公钥加密所述第一中间结果的平方而得到的;
[0023]对所述加密损失值进行混淆,得到加密混淆损失值并发送给所述参与方;
[0024]接收所述参与方发送的明文混淆损失值;所述明文混淆损失值是所述参与方使用其生成的同态加密的私钥解密所述加密混淆损失值而得到的;
[0025]对所述明文混淆损失值进行去混淆,得到损失值;
[0026]根据所述损失值判断逻辑回归模型是否收敛,若收敛,则确定所述逻辑回归模型训练完成,并向所述参与方发送停止训练指令;
[0027]若未收敛,则在基于所述梯度更新发起方所拥有的一部分逻辑回归模型之后,返回执行接收参与方发送的第二加密中间结果的步骤。
[0028]在一些实施例中,所述本地为参与方,所述另一方为发起方,所述发起方拥有标签数据;
[0029]所述第一中间结果是基于所述参与方所拥有的一部分逻辑回归模型的模型参数,以及所述参与方的样本数据而生成的;
[0030]所述第二中间结果是基于所述发起方所拥有的一部分逻辑回归模型的模型参数、所述发起方的样本数据和所述标签数据而生成的。
[0031]在一些实施例中,在基于所述梯度更新本地所拥有的一部分逻辑回归模型之前,所述方法还包括:
[0032]接收所述发起方发送的所述标签数据和第二加密平方中间结果;所述第二加密平方中间结果是所述发起方使用所述第二公钥加密所述第二中间结果的平方而得到的;
[0033]基于已有的第一加密平方中间结果、所述第一加密中间结果、所述第二加密中间结果、所述第二加密平方中间结果和所述标签数据,计算加密损失值;所述第一加密平方中间结果是所述参与方使用所述第二公钥加密所述第一中间结果的平方而得到的;
[0034]对所述加密损失值进行混淆,得到加密混淆损失值并发送给所述发起方;
[0035]接收所述发起方发送的明文混淆损失值;所述明文混淆损失值是所述发起方使用其生成的同态加密的私钥解密所述加密混淆损失值而得到的;
[0036]对所述明文混淆损失值进行去混淆,得到损失值;
[0037]根据所述损失值判断逻辑回归模型是否收敛,若收敛,则确定所述逻辑回归模型训练完成,并向所述发起方发送停止训练指令;
[0038]若未收敛,则在基于所述梯度更新参与方所拥有的一部分逻辑回归模型之后,返回执行接收发起方发送的第二加密中间结果的步骤。
[0039]根据本专利技术的第二方面,提供一种基于纵向联邦学习中逻辑回归模型的预测方法,所述方法应用于纵向联邦学习系统,所述纵向联邦学习系统包括:发起方和参与方;
[0040]所述方法包括:
...

【技术保护点】

【技术特征摘要】
1.一种纵向联邦学习中逻辑回归模型的训练方法,其特征在于,所述方法包括:对于纵向联邦学习系统中的任意一方执行如下操作:接收另一方发送的第二公钥和第二加密中间结果;所述第二公钥是另一方生成的同态加密的公钥,所述第二加密中间结果是另一方使用所述第二公钥加密其生成的用于计算梯度的第二中间结果而得到的;基于已有的第一加密中间结果、所述第二加密中间结果和本地的第一样本数据,得到加密梯度;所述第一加密中间结果是本地使用所述第二公钥加密本地生成的用于计算梯度的第一中间结果而得到的;对所述加密梯度进行混淆,得到加密混淆梯度并发送给另一方;接收另一方发送的明文混淆梯度;所述明文混淆梯度是另一方使用其生成的同态加密的私钥解密所述加密混淆梯度而得到的;对所述明文混淆梯度进行去混淆,得到梯度,并基于所述梯度更新本地所拥有的一部分逻辑回归模型;循环迭代直到满足预设停止条件时得到训练完成的逻辑回归模型。2.根据权利要求1所述的方法,其特征在于,所述基于已有的第一加密中间结果、所述第二加密中间结果和本地的第一样本数据,得到加密梯度,包括:将所述第一加密中间结果和所述第二加密中间结果相加后,再与所述第一样本数据相乘,得到所述加密梯度。3.根据权利要求1或2所述的方法,其特征在于,所述本地为发起方,所述发起方拥有标签数据,所述另一方为参与方;所述第一中间结果是基于所述发起方所拥有的一部分逻辑回归模型的模型参数、所述发起方的样本数据和所述标签数据而生成的;所述第二中间结果是基于所述参与方所拥有的一部分逻辑回归模型的模型参数,以及所述参与方的样本数据而生成的。4.根据权利要求3所述的方法,其特征在于,在基于所述梯度更新本地所拥有的一部分逻辑回归模型之前,所述方法还包括:接收所述参与方发送的第二加密平方中间结果;所述第二加密平方中间结果是所述参与方使用所述第二公钥加密所述第二中间结果的平方而得到的;基于已有的第一加密平方中间结果、所述第一加密中间结果、所述第二加密中间结果、所述第二加密平方中间结果和所述标签数据,计算加密损失值;所述第一加密平方中间结果是所述发起方使用所述第二公钥加密所述第一中间结果的平方而得到的;对所述加密损失值进行混淆,得到加密混淆损失值并发送给所述参与方;接收所述参与方发送的明文混淆损失值;所述明文混淆损失值是所述参与方使用其生成的同态加密的私钥解密所述加密混淆损失值而得到的;对所述明文混淆损失值进行去混淆,得到损失值;根据所述损失值判断逻辑回归模型是否收敛,若收敛,则确定所述逻辑回归模型训练完成,并向所述参与方发送停止训练指令;若未收敛,则在基于所述梯度更新发起方所拥有的一部分逻辑回归模型之后,返回执行接收参与方发送的第二加密中间结果的步骤。5.根据权利要求1或2所述的方法,其特征在于,所述本地为参与方,所述另一方为发起
方,所述发起方拥有标签数据;所述第一中间结果是基于所述参与方所拥有的一部分逻辑回归模型的模型参数,以及所述参与方的样本数据而生成的;所述第二中间结果是基于所述发起方所拥有的一部分逻辑回归模型的模型参数、所述发起方的样本数据和所述标签数据而生成的。6.根据权利要求5所述的方法,其特征在于,在基于所述梯度更新本地所拥有的一部分逻辑回归模型之前,所述方法还包括:接收所述发起方发送的所述标签数据和第二加密平方中间结果;所述第二加密平方中间结果是所述发起方使用所述第二公钥加密所述第二中间结果的平方而得到的;基于已有的第一加密平方中间结果、所述第一加密中间结果、所述第二加密中间结果、所述第二加密平方中间结果和所述标签数据,计算加密损失值;所述第一加密平方中间结果是所述参与方使用所述第二公钥加密所述第一中间结果的平方而得到的;对所述加密损失值进行混淆,得到加密混淆损失值并发送给所述发起方;接收所述发起方发送的明文混淆损失值;所述明文混淆损失值是所述发起方使用其生成的同态加密的私钥解密所述加密混淆损失值而得到的;对所述明文混淆损失值进行去混淆,得到损失值;根据所述损失值判断逻辑回归模型是否收敛,若收敛,则确定所述逻辑回归模型训练完成,并向所述发起方发送停止训练指令;若未收敛,则在基于所述梯度更新参与方所拥有的一部分逻辑回归模型之后,返回执行接收发起方发送的第二加密中间结果的步骤。7.一种基于纵向联邦学习中逻辑...

【专利技术属性】
技术研发人员:张德陈行彭南博
申请(专利权)人:京东科技控股股份有限公司
类型:发明
国别省市:

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

1