一种基于批打包编码的密态纵向联邦逻辑回归训练方法技术

技术编号:35345765 阅读:17 留言:0更新日期:2022-10-26 12:11
本发明专利技术提供了一种基于批打包编码的密态纵向联邦逻辑回归训练方法,采用批打包编码技术对训练数据及模型参数的大批量快速打包编码,并加密为密文,最终在密文域内实现纵向联邦逻辑回归模型的训练过程。本发明专利技术利用了批打包编码的高效性,大大减少了参与方之间的密文交互数量,有效提升了密文域模型训练过程的运算效率,可以用于拥有海量数据的多参与方之间执行纵向联邦模型的安全、高效、快速模型训练。快速模型训练。快速模型训练。

【技术实现步骤摘要】
一种基于批打包编码的密态纵向联邦逻辑回归训练方法


[0001]本专利技术涉及信息安全
,特别涉及一种基于批打包编码的密态纵向联邦逻辑回归训练方法。

技术介绍

[0002]在两个数据集的用户重叠较多而用户特征重叠较少的情况下,将数据集按照特征维度进行切分,并取出双方用户相同而特征不同的部分数据进行训练,叫做纵向联邦学习。纵向联邦学习旨在建立一个基于分布数据集的联邦学习模型,不同参与方的数据样本有较大的重叠,但样本特征的重叠度不高。在模型训练的过程中,模型相关的信息能够在各方之间交换(或者是以加密形式交换),但原始数据不能。目前,逻辑回归模型是可以建立在纵向联邦学习体系之上进行训练的。
[0003]在现有的纵向联邦逻辑回归学习中,参与方都是抱着共享数据、不暴露己方数据的目的加入联邦中,所以任何敏感数据都必须经过加密才能出己方信任域。同态加密为密文计算提供了可行性,但是同时也在一定程度上影响了逻辑回归算法的性能。逻辑回归模型的损失函数和梯度函数中包含着指数运算,需要对原公式进行一定的改造,使其仅用加法和乘法表示,以便密文计算。此外,随着训练过程的每一次迭代,参与方都需要交换自己计算好的部分梯度值,并更新自己的梯度。随着样本数据量的增加,不同参与方之间的参数交换的通信量也会随之大幅增加,特别是当参与方之间以密文形式进行交换时,由于密文膨胀,导致交换密文大小和数量均变大,导致在训练过程中的同类型的重复性密文计算操作数量增多,影响密文训练模型的效率。

技术实现思路

[0004]为了解决纵向联邦逻辑回归模型在训练过程中的各参与方间通信量庞大以及计算效率较低等问题,借助于高效的批打包技术,实现了参与方之间快速的模型参数交互,并大幅提升了逻辑回归模型训练过程中密文计算的效率。
[0005]本专利技术采用的技术方案如下:一种基于批打包编码的密态纵向联邦逻辑回归训练方法,包含参与方A、参与方B与协调方C,具体过程如下:
[0006]步骤1、协调方C生成公钥、私钥、计算密钥并将公钥与计算密钥分别发送给参与方A与参与方B;
[0007]步骤2、基于加密的样本ID对齐技术,对齐参与方A与参与方B之间相同ID对应的样本数据;其中,参与方A与参与方B各拥有包含部分特征的样本数据,参与方B同时拥有每个样本对应的标签值;
[0008]步骤3、协调方C设置初始权重向量,并发送给参与方A与参与方B;
[0009]步骤4、参与方A根据拥有的样本数据以及当前的权重向量计算得到明文列向量u
A
与对u
A
与进行分块批打包编码得到对应的包含明文多项式的向量,对包含明文多项式的向量进行加密处理得到密文向量与将密文向量发送给参与方B;
[0010]步骤5、参与方B根据拥有的样本数据以及当前的权重向量计算得到明文列向量u
B
和将明文列向量u
B
、以及标签值进行分块批打包编码得到向量采用同态运算方法将参与方A的密文向量与得到的明文向量以及p
y
进行同态计算处理,再计算密文中间参数、密文损失函数值和参与方B的密文局部梯度;将计算得到的密文中间参数发送给参与方A,将密文损失函数值和参与方B的密文局部梯度发送给协调方C;
[0011]步骤6、参与方A根据密文中间参数计算参与方A的密文局部梯度,并发送给协调方C;
[0012]步骤7、协调方C通过私钥解密并解码参与方A和参与方B的密文局部梯度,得到明文梯度向量,根据明文梯度向量并选择学习率对权重向量进行更新,更新后发送给参与方A和参与方B;
[0013]步骤8、协调方C通过私钥解密并解码密文损失函数值,判断解码得到损失函数值是否大于设定的阈值,若大于则返回步骤4进行迭代训练;反之,结束训练。
[0014]进一步的,所述步骤2中,参与方A拥有k个特征对应的n个样本数据,表示为:
[0015][0016]参与方B拥有d

k个特征对应的n个样本和每个样本对应的标签值,表示为:
[0017][0018]其中,d为特征数。
[0019]进一步的,所述步骤3中,参与方设置初始权重向量为进一步的,所述步骤3中,参与方设置初始权重向量为并将发送给参与方A作为权重向量,将发送给参与方B作为权重向量。
[0020]进一步的,所述步骤4的具体子步骤为:
[0021]步骤4.1、计算明文列向量u
a

[0022][0023][0024]步骤4.2、将明文列向量u
A
进行分块批打包编码,得到包含w个明文多项式并进行加密处理,得到密文向量
[0025]步骤4.3、将明文列向量进行分块批打包编码,得到包含w个明文多项式并进行加密处理,得到密文向量
[0026]进一步的,所述步骤5中,向量以及p
y
的计算过程为:
[0027]步骤5.1、参与方B根据当前的权重向量与样本数据计算明文列向量
[0028]步骤5.2、将列向量u
B
、与标签值分别进行分块批打包编码,分别得到包含w个明文多项式的向量包含w个明文多项式的向量包含w个明文多项式的向量
[0029]进一步的,所述步骤5中,叠加处理的具体过程为:接收参与方A发送的密文向量,使用同态明密文加法和明密文乘法运算计算得到
[0030]和
[0031]在密文域内计算z
i
=(β
(h)
)
T
(1,x
i
)y
i
,即:,即:
[0032]进一步的,所述步骤5中,密文损失函数值计算方法为:
[0033]在密文域内计算得到密文损失函数值在密文域内计算得到密文损失函数值其中函数InnerSum表示对单个密文内部对应所有批打包明文槽的值进行求和。
[0034]进一步的,所述步骤5中,密文中间参数计算方法为:
[0035]在密文域内计算密文中间参数其中b
i
表示多项式近似系数。
[0036]进一步的,所述步骤5中,密文局部梯度计算方法为:
[0037]在密文域内计算密文局部梯度,先对参与方B自身的样本数据进行列批量打包编码,然后计算密文局部梯度
[0038]进一步的,所述步骤7中,参与方A在密文域内计算自身的密文局部梯度,首先,对自身的样本数据进行列批量打包编码,得到自身的样本数据进行列批量打包编码,得到然后计算局部梯度
[0039]与现有技术相比,采用上述技术方案的有益效果为:
[0040](1)支持对海量训练数据的高效、快速批量打包编码,有效减少了密文训练过程中加密后密文的数量;
[0041](2)大大降低了各参与方以及协调方之间有关密文模型参数的交互通信量,且在同等条件下一次密文参数交互的吞吐量和信息量大幅提升;
[0042](3)支持密文域下的批量运算,一次同态密文运算操作等价于密本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于批打包编码的密态纵向联邦逻辑回归训练方法,其特征在于,包含参与方A、参与方B与协调方C,具体过程如下:步骤1、协调方C生成公钥、私钥、计算密钥并将公钥与计算密钥分别发送给参与方A与参与方B;步骤2、基于加密的样本ID对齐技术,对齐参与方A与参与方B之间相同ID对应的样本数据;其中,参与方A与参与方B各拥有包含部分特征的样本数据,参与方B同时拥有每个样本对应的标签值;步骤3、协调方C设置初始权重向量,并发送给参与方A与参与方B;步骤4、参与方A根据拥有的样本数据以及当前的权重向量计算得到明文列向量u
A
与对u
A
与进行分块批打包编码得到对应的包含明文多项式的向量,对包含明文多项式的向量进行加密处理得到密文向量与将密文向量发送给参与方B;步骤5、参与方B根据拥有的样本数据以及当前的权重向量计算得到明文列向量u
B
和将明文列向量u
B
、以及标签值进行分块批打包编码得到向量采用同态运算方法将参与方A的密文向量与得到的明文向量以及p
y
进行同态计算处理,再计算密文中间参数、密文损失函数值和参与方B的密文局部梯度;将计算得到的密文中间参数发送给参与方A,将密文损失函数值和参与方B的密文局部梯度发送给协调方C;步骤6、参与方A根据密文中间参数计算参与方A的密文局部梯度,并发送给协调方C;步骤7、协调方C通过私钥解密并解码参与方A和参与方B的密文局部梯度,得到明文梯度向量,根据明文梯度向量并选择学习率对权重向量进行更新,更新后发送给参与方A和参与方B;步骤8、协调方C通过私钥解密并解码密文损失函数值,判断解码得到损失函数值是否大于设定的阈值,若大于则返回步骤4进行迭代训练;反之,结束训练。2.根据权利要求1所述的基于批打包编码的密态纵向联邦逻辑回归训练方法,其特征在于,所述步骤2中,参与方A拥有k个特征对应的n个样本数据,表示为:参与方B拥有d

k个特征对应的n个样本和每个样本对应的标签值,表示为:其中,d为特征数。3.根据权利要求2所述的基于批打包编码的密态纵向联邦逻辑回归训练方法,其特征在于,所述步骤3中,参与方设置初始权重向量为并将
发送给参与方A作为权重向量,将发送给参与方B作为权重向量。4.根据权利要求3所述的基于批打包编码的密态纵向联邦逻辑回归训练方法,其特征...

【专利技术属性】
技术研发人员:汤殿华黄云帆任娟尉小鹏张文政曹云飞赵伟王林
申请(专利权)人:中国电子科技集团公司第三十研究所
类型:发明
国别省市:

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

1