CN118118164A - 数据保护方法、基于纵向联邦学习模型的预测方法及装置 - Google Patents
数据保护方法、基于纵向联邦学习模型的预测方法及装置 Download PDFInfo
- Publication number
- CN118118164A CN118118164A CN202211527282.1A CN202211527282A CN118118164A CN 118118164 A CN118118164 A CN 118118164A CN 202211527282 A CN202211527282 A CN 202211527282A CN 118118164 A CN118118164 A CN 118118164A
- Authority
- CN
- China
- Prior art keywords
- data
- exchanged
- encryption
- training sample
- function
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 101
- 230000006870 function Effects 0.000 claims abstract description 247
- 230000002776 aggregation Effects 0.000 claims abstract description 125
- 238000004220 aggregation Methods 0.000 claims abstract description 125
- 230000008569 process Effects 0.000 claims description 11
- 239000000523 sample Substances 0.000 description 211
- 230000011218 segmentation Effects 0.000 description 28
- 238000010276 construction Methods 0.000 description 21
- 238000010586 diagram Methods 0.000 description 10
- 239000003999 initiator Substances 0.000 description 9
- 230000005540 biological transmission Effects 0.000 description 6
- 238000004590 computer program Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 2
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000003066 decision tree Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本公开提供了一种数据保护方法、基于纵向联邦学习模型的预测方法及装置。数据保护方法包括:获取各个训练样本的待交换数据;基于各个训练样本的待交换数据,确定用于对各个训练样本的待交换数据进行同态加密的加密函数,其中,加密函数的密钥是基于加密精度和各个训练样本的待交换数据确定的;通过使用加密函数对各个训练样本的待交换数据进行同态加密,得到各个训练样本对应的同态加密结果,并将各个训练样本对应的同态加密结果发送到纵向联邦学习***中的至少一个参与方;从所述至少一个参与方接收各个训练样本对应的同态加密结果的聚合结果,使用与加密函数对应的解密函数对接收到的聚合结果进行解密,得到解密结果。
Description
技术领域
本公开总体说来涉及信息安全领域,更具体地讲,涉及一种数据保护方法、基于纵向联邦学习模型的预测方法及装置。
背景技术
纵向联邦学习适用于数据集上具有相同的样本空间、不同的特征空间的参与方所组成的联邦学习场景。在参与方共同训练联邦学习模型的过程中,需要各参与方进行大量的数据传输,为了保障数据的隐私安全,各参与方在传输数据信息之前需要各自对其数据进行加密,保证己方真实数据不出本地。
梯度提升树模型(GBDT,Gradient Boosting Decision Tree)因为具有可解释性强、效果稳定等优点,被广泛用于纵向联邦学习任务之中。然而,目前用于纵向联邦学习的GBDT模型因为对于数据加密、解密效率低下的缘故,降低了基于加解密的数据保护的效率,进而导致整个模型训练效率的降低,不能满足大规模数据训练的时间开销需求。
以目前流行的SecureBoost方案为例,该方案利用paillier同态加密算法将数据信息加密,后续需要对加密数据进行解密等操作。在上述过程中,由于paillier同态加密算法运算速度慢的缘故,会导致整个联邦学习模型训练效率低下。
发明内容
本公开的示例性实施例在于提供一种数据保护方法、基于纵向联邦学习模型的预测方法及装置,其能够在保护数据隐私的同时,提高数据加密、解密、及密文运算的效率。
根据本公开的示例性实施例,提供一种数据保护方法,所述数据保护方法应用于纵向联邦学习***,所述数据保护方法包括:获取各个训练样本的待交换数据;基于所述各个训练样本的待交换数据,确定用于对所述各个训练样本的待交换数据进行同态加密的加密函数,其中,所述加密函数涉及加密精度和密钥,所述密钥是基于所述加密精度和所述各个训练样本的待交换数据确定的;通过使用所述加密函数对所述各个训练样本的待交换数据进行同态加密,得到所述各个训练样本对应的同态加密结果,并将所述各个训练样本对应的同态加密结果发送到所述纵向联邦学习***中的至少一个参与方;从所述至少一个参与方接收所述各个训练样本对应的同态加密结果的聚合结果,使用与所述加密函数对应的解密函数对接收到的聚合结果进行解密,得到解密结果。
可选地,所述密钥用于保证通过至少一个待交换数据的同态加密结果之和与所述密钥的取模运算结果,能够得到所述至少一个待交换数据之和。
可选地,所述基于所述各个训练样本的待交换数据,确定用于对所述各个训练样本的待交换数据进行同态加密的加密函数的步骤包括:针对每个训练样本的待交换数据对所述密钥进行随机化处理,得到所述每个训练样本的待交换数据对应的加密函数。
可选地,所述针对每个训练样本的待交换数据对所述密钥进行随机化处理,得到所述每个训练样本的待交换数据对应的加密函数的步骤包括:分别针对每个训练样本的待交换数据,执行如下流程:为所述训练样本的待交换数据生成一个随机数;计算所述训练样本的待交换数据对应的随机数与所述密钥的乘积,并基于所述乘积和所述训练样本的待交换数据,确定所述训练样本的待交换数据对应的加密函数。
可选地,还包括:密钥的生成过程;其中,所述密钥的生成过程包括:分别计算每个训练样本的待交换数据与所述加密精度的乘积,对得到的每个乘积进行取整运算,对所有取整运算得到的结果进行求和;基于求和运算的结果生成所述密钥。
可选地,所述使用与所述加密函数对应的解密函数对接收到的聚合结果进行解密,得到解密结果的步骤包括:分别针对接收到的每一聚合结果,执行如下流程:基于所述聚合结果和所述密钥确定第一函数;基于所述聚合结果对应的第一函数和解密精度确定所述聚合结果对应的解密函数,并使用所述聚合结果对应的解密函数对所述聚合结果进行解密,得到所述聚合结果的解密结果,其中,所述解密精度是基于所述加密精度确定的。
可选地,所述基于所述聚合结果和所述密钥确定第一函数的步骤包括:将所述聚合结果与所述密钥进行取模运算;当得到的取模运算的结果在第一预设范围内时,将所述取模运算的结果作为所述聚合结果对应的第一函数;当得到的取模运算的结果在第二预设范围内时,计算所述取模运算的结果与所述密钥的差值,并将所述差值作为所述聚合结果对应的第一函数。
可选地,所述基于所述聚合结果对应的第一函数和解密精度确定所述聚合结果对应的解密函数的步骤包括:计算所述聚合结果对应的第一函数与所述解密精度的比值,并将所述比值作为所述聚合结果对应的解密函数。
可选地,所述加密精度与所述解密精度相同。
可选地,所述获取各个训练样本的待交换数据的步骤包括:根据所述各个训练样本的标签值及当前的预测值,确定所述各个训练样本的损失函数,并将所述各个训练样本的损失函数的梯度信息作为所述各个训练样本的待交换数据。
根据本公开的示例性实施例,提供一种基于纵向联邦学习模型的预测方法,所述预测方法包括:获取各个训练样本的待交换数据;基于所述各个训练样本的待交换数据,确定用于对所述各个训练样本的待交换数据进行同态加密的加密函数,其中,所述加密函数涉及加密精度和密钥,所述密钥是基于所述加密精度和所述各个训练样本的待交换数据确定的;通过使用所述加密函数对所述各个训练样本的待交换数据进行同态加密,得到所述各个训练样本对应的同态加密结果,并将所述各个训练样本对应的同态加密结果发送到纵向联邦学习***中的至少一个参与方;从所述至少一个参与方接收所述各个训练样本对应的同态加密结果的聚合结果,使用与所述加密函数对应的解密函数对接收到的聚合结果进行解密,得到解密结果;基于所述解密结果,构造所述纵向联邦学习***所协同训练的梯度提升树模型;使用所述梯度提升树模型对待预测样本进行预测。
可选地,所述基于所述解密结果,构造所述纵向联邦学习***所协同训练的梯度提升树模型的步骤包括:针对所构建的当前树的待切分的当前树节点,基于所述解密结果,计算所述当前树节点的各个候选切分点的切分增益值;选择切分增益值最大的候选切分点作为所述当前树节点的切分点,并基于所述切分点将在所述当前树节点上的训练样本划分到所述当前树节点的左孩子节点和右孩子节点,通知所述至少一个参与方本次的划分结果以使所述至少一个参与方基于所述划分结果得到对所述各个训练样本对应的同态加密结果的新的聚合结果,并返回执行从所述至少一个参与方接收所述各个训练样本对应的同态加密结果的聚合结果的步骤,直至所述当前树构造完成;当所述当前树构造完成,基于所述当前树更新所述各个训练样本的预测值,并返回执行获取各个训练样本的待交换数据的步骤,直至所述梯度提升树模型的所有树构造完成。
可选地,从每个参与方接收到的聚合结果为:所述参与方基于所拥有的所述各个训练样本的特征数据和所述划分结果,对所述各个训练样本对应的同态加密结果进行聚合处理得到的聚合结果。
可选地,所述从所述至少一个参与方接收所述各个训练样本对应的同态加密结果的聚合结果的步骤包括:从所述至少一个参与方接收梯度直方图及梯度直方图的标识,其中,所述梯度直方图中的每个桶对应一个聚合结果;其中,所述预测方法还包括:在用于存储所述梯度提升树模型结构的查找表上记录所述当前树节点的切分点所对应的梯度直方图的标识及所对应的所述梯度直方图中的桶的标识;其中,所述使用所述梯度提升树模型对待预测样本进行预测的步骤包括:基于所述查找表对待预测样本进行预测。
可选地,所述获取各个训练样本的待交换数据的步骤包括:根据所述各个训练样本的标签值及当前的预测值,确定所述各个训练样本的损失函数,并将所述各个训练样本的损失函数的梯度信息作为所述各个训练样本的待交换数据。
可选地,所述将所述各个训练样本的损失函数的梯度信息作为所述各个训练样本的待交换数据的步骤包括:将所述各个训练样本的损失函数的一阶梯度值和二阶梯度值,作为所述各个训练样本的待交换数据;其中,所述基于所述各个训练样本的待交换数据,确定用于对所述各个训练样本的待交换数据进行同态加密的加密函数的步骤包括:基于所述各个训练样本对应的一阶梯度值,确定用于对所述各个训练样本对应的一阶梯度值进行加密的第一加密函数,其中,所述第一加密函数的密钥是基于所述加密精度和所述各个训练样本对应的一阶梯度值确定的;基于所述各个训练样本对应的二阶梯度值,确定用于对所述各个训练样本对应的二阶梯度值进行加密的第二加密函数,其中,所述第二加密函数的密钥是基于所述加密精度和所述各个训练样本对应的二阶梯度值确定的。
可选地,所述基于所述当前树更新所述各个训练样本的预测值的步骤包括:针对每个训练样本,根据所述训练样本所在的所述当前树的叶子节点的权重,更新所述训练样本的预测值;其中,所述当前树的每个叶子节点的权重基于在所述叶子节点上的所有训练样本对应的梯度信息而确定。
可选地,所述密钥用于保证通过至少一个待交换数据的同态加密结果之和与所述密钥的取模运算结果,能够得到所述至少一个待交换数据之和。
可选地,所述基于所述各个训练样本的待交换数据,确定用于对所述各个训练样本的待交换数据进行同态加密的加密函数的步骤包括:针对每个训练样本的待交换数据对所述密钥进行随机化处理,得到所述每个训练样本的待交换数据对应的加密函数。
可选地,所述针对每个训练样本的待交换数据对所述密钥进行随机化处理,得到所述每个训练样本的待交换数据对应的加密函数的步骤包括:分别针对每个训练样本的待交换数据,执行如下流程:为所述训练样本的待交换数据生成一个随机数;计算所述训练样本的待交换数据对应的随机数与所述密钥的乘积,并基于所述乘积和所述训练样本的待交换数据,确定所述训练样本的待交换数据对应的加密函数。
可选地,还包括:密钥的生成过程;其中,所述密钥的生成过程包括:分别计算每个训练样本的待交换数据与所述加密精度的乘积,对得到的每个乘积进行取整运算,对所有取整运算得到的结果进行求和;基于求和运算的结果生成所述密钥。
可选地,所述使用与所述加密函数对应的解密函数对接收到的聚合结果进行解密,得到解密结果的步骤包括:分别针对接收到的每一聚合结果,执行如下流程:基于所述聚合结果和所述密钥确定第一函数;基于所述聚合结果对应的第一函数和解密精度确定所述聚合结果对应的解密函数,并使用所述聚合结果对应的解密函数对所述聚合结果进行解密,得到所述聚合结果的解密结果,其中,所述解密精度是基于所述加密精度确定的。
可选地,所述基于所述聚合结果和所述密钥确定第一函数的步骤包括:将所述聚合结果与所述密钥进行取模运算;当得到的取模运算的结果在第一预设范围内时,将所述取模运算的结果作为所述聚合结果对应的第一函数;当得到的取模运算的结果在第二预设范围内时,计算所述取模运算的结果与所述密钥的差值,并将所述差值作为所述聚合结果对应的第一函数。
可选地,所述基于所述聚合结果对应的第一函数和解密精度确定所述聚合结果对应的解密函数的步骤包括:计算所述聚合结果对应的第一函数与所述解密精度的比值,并将所述比值作为所述聚合结果对应的解密函数。
可选地,所述加密精度与所述解密精度相同。
根据本公开的示例性实施例,提供一种数据保护装置,所述数据保护装置应用于纵向联邦学习***,所述数据保护装置包括:获取单元,被配置为获取各个训练样本的待交换数据;加密函数确定单元,被配置为基于所述各个训练样本的待交换数据,确定用于对所述各个训练样本的待交换数据进行同态加密的加密函数,其中,所述加密函数涉及加密精度和密钥,所述密钥是基于所述加密精度和所述各个训练样本的待交换数据确定的;同态加密单元,被配置为通过使用所述加密函数对所述各个训练样本的待交换数据进行同态加密,得到所述各个训练样本对应的同态加密结果;发送单元,被配置为将所述各个训练样本对应的同态加密结果发送到所述纵向联邦学习***中的至少一个参与方;接收单元,被配置为从所述至少一个参与方接收所述各个训练样本对应的同态加密结果的聚合结果;解密单元,被配置为使用与所述加密函数对应的解密函数对接收到的聚合结果进行解密,得到解密结果。
可选地,所述密钥用于保证通过至少一个待交换数据的同态加密结果之和与所述密钥的取模运算结果,能够得到所述至少一个待交换数据之和。
可选地,加密函数确定单元被配置为:针对每个训练样本的待交换数据对所述密钥进行随机化处理,得到所述每个训练样本的待交换数据对应的加密函数。
可选地,加密函数确定单元被配置为:分别针对每个训练样本的待交换数据,执行如下流程:为所述训练样本的待交换数据生成一个随机数;计算所述训练样本的待交换数据对应的随机数与所述密钥的乘积,并基于所述乘积和所述训练样本的待交换数据,确定所述训练样本的待交换数据对应的加密函数。
可选地,还包括:密钥生成单元,被配置为分别计算每个训练样本的待交换数据与所述加密精度的乘积,对得到的每个乘积进行取整运算,对所有取整运算得到的结果进行求和;基于求和运算的结果生成所述密钥。
可选地,解密单元被配置为:分别针对接收到的每一聚合结果,执行如下流程:基于所述聚合结果和所述密钥确定第一函数;基于所述聚合结果对应的第一函数和解密精度确定所述聚合结果对应的解密函数,并使用所述聚合结果对应的解密函数对所述聚合结果进行解密,得到所述聚合结果的解密结果,其中,所述解密精度是基于所述加密精度确定的。
可选地,解密单元被配置为:将所述聚合结果与所述密钥进行取模运算;当得到的取模运算的结果在第一预设范围内时,将所述取模运算的结果作为所述聚合结果对应的第一函数;当得到的取模运算的结果在第二预设范围内时,计算所述取模运算的结果与所述密钥的差值,并将所述差值作为所述聚合结果对应的第一函数。
可选地,解密单元被配置为:计算所述聚合结果对应的第一函数与所述解密精度的比值,并将所述比值作为所述聚合结果对应的解密函数。
可选地,所述加密精度与所述解密精度相同。
可选地,获取单元被配置为:根据所述各个训练样本的标签值及当前的预测值,确定所述各个训练样本的损失函数,并将所述各个训练样本的损失函数的梯度信息作为所述各个训练样本的待交换数据。
根据本公开的示例性实施例,提供一种基于纵向联邦学习模型的预测装置,所述预测装置包括:获取单元,被配置为获取各个训练样本的待交换数据;加密函数确定单元,被配置为基于所述各个训练样本的待交换数据,确定用于对所述各个训练样本的待交换数据进行同态加密的加密函数,其中,所述加密函数涉及加密精度和密钥,所述密钥是基于所述加密精度和所述各个训练样本的待交换数据确定的;同态加密单元,被配置为通过使用所述加密函数对所述各个训练样本的待交换数据进行同态加密,得到所述各个训练样本对应的同态加密结果;发送单元,被配置为将所述各个训练样本对应的同态加密结果发送到纵向联邦学习***中的至少一个参与方;接收单元,被配置为从所述至少一个参与方接收所述各个训练样本对应的同态加密结果的聚合结果;解密单元,被配置为使用与所述加密函数对应的解密函数对接收到的聚合结果进行解密,得到解密结果;模型构造单元,被配置为基于所述解密结果,构造所述纵向联邦学习***所协同训练的梯度提升树模型;预测单元,被配置为使用所述梯度提升树模型对待预测样本进行预测。
可选地,模型构造单元被配置为:针对所构建的当前树的待切分的当前树节点,基于所述解密结果,计算所述当前树节点的各个候选切分点的切分增益值;选择切分增益值最大的候选切分点作为所述当前树节点的切分点,并基于所述切分点将在所述当前树节点上的训练样本划分到所述当前树节点的左孩子节点和右孩子节点,通知所述至少一个参与方本次的划分结果以使所述至少一个参与方基于所述划分结果得到对所述各个训练样本对应的同态加密结果的新的聚合结果,并由接收单元从所述至少一个参与方接收所述各个训练样本对应的同态加密结果的聚合结果,直至所述当前树构造完成;当所述当前树构造完成,由获取单元基于所述当前树更新所述各个训练样本的预测值,并获取各个训练样本的待交换数据,直至所述梯度提升树模型的所有树构造完成。
可选地,从每个参与方接收到的聚合结果为:所述参与方基于所拥有的所述各个训练样本的特征数据和所述划分结果,对所述各个训练样本对应的同态加密结果进行聚合处理得到的聚合结果。
可选地,接收单元被配置为:从所述至少一个参与方接收梯度直方图及梯度直方图的标识,其中,所述梯度直方图中的每个桶对应一个聚合结果;其中,所述预测装置还包括:查找表构造单元,被配置为在用于存储所述梯度提升树模型结构的查找表上记录所述当前树节点的切分点所对应的梯度直方图的标识及所对应的所述梯度直方图中的桶的标识;其中,预测单元被配置为:基于所述查找表对待预测样本进行预测。
可选地,获取单元被配置为:根据所述各个训练样本的标签值及当前的预测值,确定所述各个训练样本的损失函数,并将所述各个训练样本的损失函数的梯度信息作为所述各个训练样本的待交换数据。
可选地,获取单元被配置为:将所述各个训练样本的损失函数的一阶梯度值和二阶梯度值,作为所述各个训练样本的待交换数据;其中,加密函数确定单元被配置为:基于所述各个训练样本对应的一阶梯度值,确定用于对所述各个训练样本对应的一阶梯度值进行加密的第一加密函数,其中,所述第一加密函数的密钥是基于所述加密精度和所述各个训练样本对应的一阶梯度值确定的;基于所述各个训练样本对应的二阶梯度值,确定用于对所述各个训练样本对应的二阶梯度值进行加密的第二加密函数,其中,所述第二加密函数的密钥是基于所述加密精度和所述各个训练样本对应的二阶梯度值确定的。
可选地,获取单元被配置为:针对每个训练样本,根据所述训练样本所在的所述当前树的叶子节点的权重,更新所述训练样本的预测值;其中,所述当前树的每个叶子节点的权重基于在所述叶子节点上的所有训练样本对应的梯度信息而确定。
可选地,所述密钥用于保证通过至少一个待交换数据的同态加密结果之和与所述密钥的取模运算结果,能够得到所述至少一个待交换数据之和。
可选地,加密函数确定单元被配置为:针对每个训练样本的待交换数据对所述密钥进行随机化处理,得到所述每个训练样本的待交换数据对应的加密函数。
可选地,加密函数确定单元被配置为:分别针对每个训练样本的待交换数据,执行如下流程:为所述训练样本的待交换数据生成一个随机数;计算所述训练样本的待交换数据对应的随机数与所述密钥的乘积,并基于所述乘积和所述训练样本的待交换数据,确定所述训练样本的待交换数据对应的加密函数。
可选地,还包括:密钥生成单元,被配置为分别计算每个训练样本的待交换数据与所述加密精度的乘积,对得到的每个乘积进行取整运算,对所有取整运算得到的结果进行求和;基于求和运算的结果生成所述密钥。
可选地,解密单元被配置为:分别针对接收到的每一聚合结果,执行如下流程:基于所述聚合结果和所述密钥确定第一函数;基于所述聚合结果对应的第一函数和解密精度确定所述聚合结果对应的解密函数,并使用所述聚合结果对应的解密函数对所述聚合结果进行解密,得到所述聚合结果的解密结果,其中,所述解密精度是基于所述加密精度确定的。
可选地,解密单元被配置为:将所述聚合结果与所述密钥进行取模运算;当得到的取模运算的结果在第一预设范围内时,将所述取模运算的结果作为所述聚合结果对应的第一函数;当得到的取模运算的结果在第二预设范围内时,计算所述取模运算的结果与所述密钥的差值,并将所述差值作为所述聚合结果对应的第一函数。
可选地,解密单元被配置为:计算所述聚合结果对应的第一函数与所述解密精度的比值,并将所述比值作为所述聚合结果对应的解密函数。
可选地,所述加密精度与所述解密精度相同。
根据本公开的示例性实施例,提供一种包括至少一个计算装置和至少一个存储指令的存储装置的***,其中,所述指令在被所述至少一个计算装置运行时,促使所述至少一个计算装置执行如上所述的数据保护方法或如上所述的基于纵向联邦学习模型的预测方法。
根据本公开的示例性实施例,提供一种存储指令的计算机可读存储介质,其中,当所述指令被至少一个计算装置运行时,促使所述至少一个计算装置执行如上所述的数据保护方法或如上所述的基于纵向联邦学习模型的预测方法。
根据本公开的示例性实施例的数据保护方法、基于纵向联邦学习模型的预测方法及装置,能够在保护数据隐私的同时,提高数据加密、解密、及密文运算的效率,从而能够提升纵向联邦学习树模型的训练效率,且不会影响模型精度。
将在接下来的描述中部分阐述本公开总体构思另外的方面和/或优点,还有一部分通过描述将是清楚的,或者可以经过本公开总体构思的实施而得知。
附图说明
通过下面结合示例性地示出实施例的附图进行的描述,本公开示例性实施例的上述和其他目的和特点将会变得更加清楚,其中:
图1示出根据本公开示例性实施例的数据保护方法的流程图;
图2示出根据本公开示例性实施例的纵向联邦学习模型的训练方法的流程图;
图3示出根据本公开示例性实施例的基于解密结果构造梯度提升树模型的方法的流程图;
图4示出根据本公开示例性实施例的基于纵向联邦学习模型的预测方法的流程图;
图5示出根据本公开示例性实施例的数据保护装置的框图;
图6示出根据本公开示例性实施例的纵向联邦学习模型的训练装置的框图;
图7示出根据本公开示例性实施例的基于纵向联邦学习模型的预测装置的框图。
具体实施方式
现将详细参照本公开的实施例,所述实施例的示例在附图中示出,其中,相同的标号始终指的是相同的部件。以下将通过参照附图来说明所述实施例,以便解释本公开。
图1示出根据本公开示例性实施例的数据保护方法的流程图。所述数据保护方法应用于纵向联邦学习***。
作为示例,所述纵向联邦学习***可包括一个发起方和至少一个参与方。发起方拥有训练样本的部分特征信息及标签信息;参与方各自拥有训练样本的部分特征信息,但是不拥有训练样本的标签信息。作为示例,所述数据保护方法可应用于纵向联邦学习***中的发起方。
参照图1,在步骤S101中,获取各个训练样本的待交换数据。
作为示例,各个训练样本的待交换数据可为各个训练样本对应的损失函数的梯度信息。应该理解,各个训练样本的待交换数据也可为其他类型的需要与参与方交换且需要加密的数据,本公开对此不作限制。
作为示例,可根据所述各个训练样本的标签值及当前的预测值(即,预测的标签值),确定所述各个训练样本的损失函数,并将所述各个训练样本的损失函数的梯度信息作为所述各个训练样本的待交换数据。下面将会结合图3来详细说明获取训练样本的预测值的示例性实施例。
作为示例,可将所述各个训练样本的损失函数的一阶梯度值和二阶梯度值,作为所述各个训练样本的待交换数据。
在步骤S102中,基于所述各个训练样本的待交换数据,确定用于对所述各个训练样本的待交换数据进行同态加密的加密函数。
所述加密函数涉及加密精度和密钥,所述加密精度是由用户指定的。所述密钥是基于所述加密精度和所述各个训练样本的待交换数据确定的。
作为示例,所述加密精度是基于训练样本的数量和对加密效率的要求确定的。
作为示例,所述密钥用于保证通过至少一个待交换数据的同态加密结果之和与所述密钥的取模运算结果,能够得到所述至少一个待交换数据之和。即,所述密钥用于保证通过所述加密函数能够实现加法同态加密。
换言之,所述加密函数及其对应的解密算法的目标为:对于一个包含k个实数的集合p=p1,p2,…,pk},及该集合的任意子集pj,有 其中/>表示集合pj中第i个元素,E,D分别代表加密函数和解密函数。
根据本公开的示例性实施例,所述加密函数仅支持半同态加密(即,加法同态加密),而无需支持全同态加密,从而实现加解密过程及密文数据的轻量化。
作为示例,所述密钥可通过下述方式生成:分别计算每个训练样本的待交换数据与所述加密精度的乘积,对得到的每个乘积进行取整运算,对所有取整运算得到的结果进行求和;然后,基于求和运算的结果生成所述密钥。
作为示例,所述密钥不小于以保证加密的鲁棒性。例如,所述密钥可为/>pk表示第k个训练样本的待交换数据;m表示所述加密精度;[·表示取整运算符;l表示训练样本的数量;|·|表示取绝对值运算符。
根据本公开的示例性实施例,所述密钥是基于所述加密精度和所述各个训练样本的待交换数据确定的,不涉及大素数,因此,与主流的同态加密算法相比,如paillier同态加密,该加密方法能够有效降低密文的长度,提高数据加密、解密、及密文运算的效率。
作为示例,可针对每个训练样本的待交换数据,基于该训练样本的待交换数据、所述密钥、所述加密精度,确定用于对训练样本的待交换数据进行同态加密的加密函数。
作为示例,可针对每个训练样本的待交换数据,对所述密钥进行随机化处理,得到该训练样本的待交换数据对应的加密函数。
作为示例,分别针对每个训练样本的待交换数据,可执行如下流程:为该训练样本的待交换数据生成一个随机数;计算该训练样本的待交换数据对应的随机数与所述密钥的乘积,并基于所述乘积和该训练样本的待交换数据,确定该训练样本的待交换数据对应的加密函数。
根据本公开的示例性实施例,通过引入随机数,能够改变同态加密结果的分布,进一步提高数据加密效果,保证数据安全。
作为示例,每个训练样本的待交换数据对应的加密函数可基于该训练样本的待交换数据对应的随机数与密钥的乘积、该训练样本的待交换数据对应的第二函数而得到。所述第二函数是基于该训练样本的待交换数据与加密精度确定的。例如,当该训练样本的待交换数据与加密精度的乘积的取整运算结果小于0时,该训练样本的待交换数据对应的第二函数可基于该训练样本的待交换数据与加密精度的乘积的取整运算结果和密钥而得到。例如,当该训练样本的待交换数据与加密精度的乘积的取整运算结果大于或等于0时,该训练样本的待交换数据对应的第二函数可基于该训练样本的待交换数据与加密精度的乘积的取整运算结果而得到。
作为示例,针对第k个训练样本的待交换数据pk的加密函数可为:E(pk)=fn([m*pk])+rk*n,其中,m表示所述加密精度;n表示所述密钥;fn([m*pk])表示关于[m*pk]和n的函数;rk表示为pk生成的一个随机数。
作为示例,其中,/>表示指示函数,fn([m*pk])即上文中的第二函数。
作为示例,rk≥1,为随机正整数。
作为示例,若m=1000,则代表精度保留到小数点后三位。优选的,m取二的正整数次幂。
作为示例,可将所述各个训练样本的损失函数的一阶梯度值和二阶梯度值,作为所述各个训练样本的待交换数据。换言之,每个训练样本的待交换数据可包括:该训练样本的损失函数的一阶梯度值和二阶梯度值。在这种情况下,需对一阶梯度值和二阶梯度值进行分别加密。
作为示例,可基于所述各个训练样本对应的一阶梯度值,确定用于对所述各个训练样本对应的一阶梯度值进行加密的第一加密函数,其中,所述第一加密函数的密钥是基于所述加密精度和所述各个训练样本对应的一阶梯度值确定的。
作为示例,可基于所述各个训练样本对应的二阶梯度值,确定用于对所述各个训练样本对应的二阶梯度值进行加密的第二加密函数,其中,所述第二加密函数的密钥是基于所述加密精度和所述各个训练样本对应的二阶梯度值确定的。
在步骤S103中,通过使用所述加密函数对所述各个训练样本的待交换数据进行同态加密,得到所述各个训练样本对应的同态加密结果,并将所述各个训练样本对应的同态加密结果发送到所述纵向联邦学习***中的至少一个参与方。
作为示例,可使用得到的针对每个训练样本的待交换数据的加密函数对该训练样本的待交换数据进行同态加密。
在步骤S104中,从所述至少一个参与方接收所述各个训练样本对应的同态加密结果的聚合结果,使用与所述加密函数对应的解密函数对接收到的聚合结果进行解密,得到解密结果。
作为示例,聚合结果可为至少一个同态加密结果的累加和。
作为示例,分别针对接收到的每一聚合结果,可执行如下流程:基于该聚合结果和所述密钥确定第一函数;基于该聚合结果对应的第一函数和解密精度确定该聚合结果对应的解密函数,并使用该聚合结果对应的解密函数对该聚合结果进行解密,得到该聚合结果的解密结果。所述解密精度是基于所述加密精度确定的。优选地,所述加密精度可与所述解密精度相同。
作为示例,可将该聚合结果与所述密钥进行取模运算;当得到的取模运算的结果在第一预设范围内时,将所述取模运算的结果作为该聚合结果对应的第一函数;当得到的取模运算的结果在第二预设范围内时,计算所述取模运算的结果与所述密钥的差值,并将所述差值作为该聚合结果对应的第一函数。例如,所述第一预设范围和所述第二预设范围可以是基于所述加密密钥确定的。
作为示例,可计算该聚合结果对应的第一函数与所述解密精度的比值,并将所述比值作为该聚合结果对应的解密函数。
作为示例,与所述加密函数对应的解密函数可为:其中,表示待解密的密文(即,聚合结果);mod表示取模运算符;
图2示出根据本公开示例性实施例的纵向联邦学习模型的训练方法的流程图。所述训练方法应用于纵向联邦学习***。
作为示例,所述纵向联邦学习***可包括一个发起方和至少一个参与方。发起方拥有训练样本的部分特征信息及标签信息;参与方各自拥有训练样本的部分特征信息,但是不拥有训练样本的标签信息。作为示例,所述训练方法可应用于纵向联邦学习***中的发起方。
参照图2,在步骤S201,获取各个训练样本的待交换数据。
作为示例,可根据所述各个训练样本的标签值及当前的预测值,确定所述各个训练样本的损失函数,并将所述各个训练样本的损失函数的梯度信息作为所述各个训练样本的待交换数据。
作为示例,可将所述各个训练样本的损失函数的一阶梯度值和二阶梯度值,作为所述各个训练样本的待交换数据。
作为示例,可初始化l个训练样本的预测值
在步骤S202,基于所述各个训练样本的待交换数据,确定用于对所述各个训练样本的待交换数据进行同态加密的加密函数。
所述加密函数涉及加密精度和密钥,所述加密精度是是由用户指定的。所述密钥是基于所述加密精度和所述各个训练样本的待交换数据确定的。
在步骤S203,通过使用所述加密函数对所述各个训练样本的待交换数据进行同态加密,得到所述各个训练样本对应的同态加密结果,并将所述各个训练样本对应的同态加密结果发送到纵向联邦学习***中的至少一个参与方。
在步骤S204,从所述至少一个参与方接收所述各个训练样本对应的同态加密结果的聚合结果,使用与所述加密函数对应的解密函数对接收到的聚合结果进行解密,得到解密结果。
步骤S201至S204的具体实现方式可参照步骤S101至S104的上述示例性实施例,在此不再赘述。
在步骤S205,基于所述解密结果,构造所述纵向联邦学习***所协同训练的梯度提升树模型。
下面将结合图3来描述步骤S205的示例实施例。
图3示出根据本公开示例性实施例的基于解密结果构造梯度提升树模型的方法的流程图。
参照图3,在步骤S301,针对所构建的当前树的待切分的当前树节点,基于所述解密结果,计算所述当前树节点的各个候选切分点的切分增益值。
在步骤S302,选择切分增益值最大的候选切分点作为所述当前树节点的切分点,并基于该切分点将在所述当前树节点上的训练样本划分到所述当前树节点的左孩子节点和右孩子节点,通知所述至少一个参与方本次的划分结果以使所述至少一个参与方基于所述划分结果得到对所述各个训练样本对应的同态加密结果的新的聚合结果,并返回执行步骤S204,直至所述当前树构造完成。
作为示例,当达到切分停止条件时,停止切分树节点,完成当前树构造。
作为示例,从每个参与方接收到的聚合结果可为:该参与方基于所拥有的所述各个训练样本的特征数据和所述划分结果,对所述各个训练样本对应的同态加密结果进行聚合处理得到的聚合结果。
作为示例,可从所述至少一个参与方接收梯度直方图及梯度直方图的标识,其中,所述梯度直方图中的每个桶对应一个聚合结果。例如,可从所述至少一个参与方接收一阶梯度直方图和二阶梯度直方图。
作为示例,所述预测方法还可包括:在用于存储所述梯度提升树模型结构的查找表上记录所述当前树节点的切分点所对应的梯度直方图的标识及所对应的该梯度直方图中的桶的标识。
根据本公开的示例性实施例的查找表的结构,该查找表上只涉及数据的标识信息(例如,编号),而不涉及数据的内容。因此数据的隐私可以得到进一步的保护。
在步骤S303,当所述当前树构造完成,基于所述当前树更新所述各个训练样本的预测值,并返回执行步骤S201,直至所述梯度提升树模型的所有树构造完成。
作为示例,可当所述梯度提升树模型收敛或达到最大迭代次数时,停止构造新的树,完成构造所述梯度提升树模型。
作为示例,基于所述当前树更新所述各个训练样本的预测值的步骤可包括:针对每个训练样本,根据该训练样本所在的所述当前树的叶子节点的权重,更新该训练样本的预测值;其中,所述当前树的每个叶子节点的权重基于在该叶子节点上的所有训练样本对应的梯度信息而确定。
图4示出根据本公开示例性实施例的基于纵向联邦学习模型的预测方法的流程图。所述预测方法应用于纵向联邦学习***。
作为示例,所述纵向联邦学习***可包括一个发起方和至少一个参与方。发起方拥有样本的部分特征信息及标签信息;参与方各自拥有样本的部分特征信息,但是不拥有样本的标签信息。作为示例,所述预测方法可应用于纵向联邦学习***中的发起方。
在步骤S401,获取各个训练样本的待交换数据。
在步骤S402,基于所述各个训练样本的待交换数据,确定用于对所述各个训练样本的待交换数据进行同态加密的加密函数。
所述加密函数涉及加密精度和密钥,所述密钥是基于所述加密精度和所述各个训练样本的待交换数据确定的。
在步骤S403,通过使用所述加密函数对所述各个训练样本的待交换数据进行同态加密,得到所述各个训练样本对应的同态加密结果,并将所述各个训练样本对应的同态加密结果发送到纵向联邦学习***中的至少一个参与方。
在步骤S404,从所述至少一个参与方接收所述各个训练样本对应的同态加密结果的聚合结果,使用与所述加密函数对应的解密函数对接收到的聚合结果进行解密,得到解密结果。
在步骤S405,基于所述解密结果,构造所述纵向联邦学习***所协同训练的梯度提升树模型。
步骤S401至S405的具体实现方式可参照步骤S201至S205的上述示例性实施例,在此不再赘述。
在步骤S406,使用所述梯度提升树模型对待预测样本进行预测。
作为示例,可基于用于存储所述梯度提升树模型结构的查找表对待预测样本进行预测。
作为示例,步骤S406可包括:获取待预测样本的标识(例如,样本ID);针对所述梯度提升树模型中的每棵树的待查找的当前节点,从用于存储所述梯度提升树模型结构的查找表中查找所述当前节点的切分点对应的梯度直方图标识及桶标识;将所述待预测样本的标识、所述梯度直方图标识及所述桶标识发送到所述梯度直方图标识对应的所述纵向联邦学习***中的参与方,以查询所述待预测样本将进入的所述当前节点的孩子节点;从所述参与方接收查询结果,根据所述查询结果确定所述待预测样本所进入的孩子节点,将所进入的孩子节点作为待查找的当前节点,并返回执行查找当前节点的切分点对应的梯度直方图标识及桶标识的步骤,直至所述待预测样本进入该棵树的叶子节点;基于每棵树中所述待预测样本所在的叶子节点的权重,确定所述待预测样本的预测值。
图5示出根据本公开示例性实施例的数据保护装置10的框图。
所述数据保护装置10应用于纵向联邦学习***,所述数据保护装置10包括:获取单元101、加密函数确定单元102、同态加密单元103、发送单元104、接收单元105、解密单元106。
具体说来,获取单元101被配置为获取各个训练样本的待交换数据。
加密函数确定单元102被配置为基于所述各个训练样本的待交换数据,确定用于对所述各个训练样本的待交换数据进行同态加密的加密函数。
所述加密函数涉及加密精度和密钥,所述密钥是基于所述加密精度和所述各个训练样本的待交换数据确定的。
同态加密单元103被配置为通过使用所述加密函数对所述各个训练样本的待交换数据进行同态加密,得到所述各个训练样本对应的同态加密结果。
发送单元104被配置为将所述各个训练样本对应的同态加密结果发送到所述纵向联邦学习***中的至少一个参与方。
接收单元105被配置为从所述至少一个参与方接收所述各个训练样本对应的同态加密结果的聚合结果。
解密单元106被配置为使用与所述加密函数对应的解密函数对接收到的聚合结果进行解密,得到解密结果。
作为示例,所述密钥可用于保证通过至少一个待交换数据的同态加密结果之和与所述密钥的取模运算结果,能够得到所述至少一个待交换数据之和。
作为示例,加密函数确定单元102可被配置为:针对每个训练样本的待交换数据对所述密钥进行随机化处理,得到该训练样本的待交换数据对应的加密函数。
作为示例,加密函数确定单元102可被配置为:分别针对每个训练样本的待交换数据,执行如下流程:为该训练样本的待交换数据生成一个随机数;计算该训练样本的待交换数据对应的随机数与所述密钥的乘积,并基于所述乘积和该训练样本的待交换数据,确定该训练样本的待交换数据对应的加密函数。
作为示例,还包括:密钥生成单元(未示出),密钥生成单元被配置为分别计算每个训练样本的待交换数据与所述加密精度的乘积,对得到的每个乘积进行取整运算,对所有取整运算得到的结果进行求和;基于求和运算的结果生成所述密钥。
作为示例,解密单元106可被配置为:分别针对接收到的每一聚合结果,执行如下流程:基于该聚合结果和所述密钥确定第一函数;基于该聚合结果对应的第一函数和解密精度确定该聚合结果对应的解密函数,并使用该聚合结果对应的解密函数对该聚合结果进行解密,得到该聚合结果的解密结果,其中,所述解密精度是基于所述加密精度确定的。
作为示例,解密单元106可被配置为:将该聚合结果与所述密钥进行取模运算;当得到的取模运算的结果在第一预设范围内时,将所述取模运算的结果作为该聚合结果对应的第一函数;当得到的取模运算的结果在第二预设范围内时,计算所述取模运算的结果与所述密钥的差值,并将所述差值作为该聚合结果对应的第一函数。
作为示例,解密单元106可被配置为:计算该聚合结果对应的第一函数与所述解密精度的比值,并将所述比值作为该聚合结果对应的解密函数。
作为示例,所述加密精度可与所述解密精度相同。
作为示例,获取单元101可被配置为:根据所述各个训练样本的标签值及当前的预测值,确定所述各个训练样本的损失函数,并将所述各个训练样本的损失函数的梯度信息作为所述各个训练样本的待交换数据。
图6示出根据本公开示例性实施例的纵向联邦学习模型的训练装置20的框图。
训练装置20包括:获取单元201、加密函数确定单元202、同态加密单元203、发送单元204、接收单元205、解密单元206、模型构造单元207。
具体说来,获取单元201被配置为获取各个训练样本的待交换数据。
加密函数确定单元202被配置为基于所述各个训练样本的待交换数据,确定用于对所述各个训练样本的待交换数据进行同态加密的加密函数。
所述加密函数涉及加密精度和密钥,所述密钥是基于所述加密精度和所述各个训练样本的待交换数据确定的。
同态加密单元203被配置为通过使用所述加密函数对所述各个训练样本的待交换数据进行同态加密,得到所述各个训练样本对应的同态加密结果。
发送单元204被配置为将所述各个训练样本对应的同态加密结果发送到纵向联邦学习***中的至少一个参与方。
接收单元205被配置为从所述至少一个参与方接收所述各个训练样本对应的同态加密结果的聚合结果。
解密单元206被配置为使用与所述加密函数对应的解密函数对接收到的聚合结果进行解密,得到解密结果。
模型构造单元207被配置为基于所述解密结果,构造所述纵向联邦学习***所协同训练的梯度提升树模型。
作为示例,模型构造单元207可被配置为:针对所构建的当前树的待切分的当前树节点,基于所述解密结果,计算所述当前树节点的各个候选切分点的切分增益值;选择切分增益值最大的候选切分点作为所述当前树节点的切分点,并基于该切分点将在所述当前树节点上的训练样本划分到所述当前树节点的左孩子节点和右孩子节点,通知所述至少一个参与方本次的划分结果以使所述至少一个参与方基于所述划分结果得到对所述各个训练样本对应的同态加密结果的新的聚合结果,并由接收单元205从所述至少一个参与方接收所述各个训练样本对应的同态加密结果的聚合结果,直至所述当前树构造完成;当所述当前树构造完成,由获取单元201基于所述当前树更新所述各个训练样本的预测值,并获取各个训练样本的待交换数据,直至所述梯度提升树模型的所有树构造完成。
作为示例,从每个参与方接收到的聚合结果可为:该参与方基于所拥有的所述各个训练样本的特征数据和所述划分结果,对所述各个训练样本对应的同态加密结果进行聚合处理得到的聚合结果。
作为示例,接收单元205可被配置为:从所述至少一个参与方接收梯度直方图及梯度直方图的标识,其中,所述梯度直方图中的每个桶对应一个聚合结果。
作为示例,所述预测装置20还可包括:查找表构造单元(未示出),查找表构造单元被配置为在用于存储所述梯度提升树模型结构的查找表上记录所述当前树节点的切分点所对应的梯度直方图的标识及所对应的该梯度直方图中的桶的标识。
作为示例,获取单元201可被配置为:根据所述各个训练样本的标签值及当前的预测值,确定所述各个训练样本的损失函数,并将所述各个训练样本的损失函数的梯度信息作为所述各个训练样本的待交换数据。
作为示例,获取单元201可被配置为:将所述各个训练样本的损失函数的一阶梯度值和二阶梯度值,作为所述各个训练样本的待交换数据。
作为示例,加密函数确定单元202可被配置为:基于所述各个训练样本对应的一阶梯度值,确定用于对所述各个训练样本对应的一阶梯度值进行加密的第一加密函数,其中,所述第一加密函数的密钥是基于所述加密精度和所述各个训练样本对应的一阶梯度值确定的;基于所述各个训练样本对应的二阶梯度值,确定用于对所述各个训练样本对应的二阶梯度值进行加密的第二加密函数,其中,所述第二加密函数的密钥是基于所述加密精度和所述各个训练样本对应的二阶梯度值确定的。
作为示例,获取单元201可被配置为:针对每个训练样本,根据该训练样本所在的所述当前树的叶子节点的权重,更新该训练样本的预测值;其中,所述当前树的每个叶子节点的权重基于在该叶子节点上的所有训练样本对应的梯度信息而确定。
作为示例,所述密钥可用于保证通过至少一个待交换数据的同态加密结果之和与所述密钥的取模运算结果,能够得到所述至少一个待交换数据之和。
作为示例,加密函数确定单元202可被配置为:针对每个训练样本的待交换数据对所述密钥进行随机化处理,得到该训练样本的待交换数据对应的加密函数。
作为示例,加密函数确定单元202可被配置为:分别针对每个训练样本的待交换数据,执行如下流程:为该训练样本的待交换数据生成一个随机数;计算该训练样本的待交换数据对应的随机数与所述密钥的乘积,并基于所述乘积和该训练样本的待交换数据,确定该训练样本的待交换数据对应的加密函数。
作为示例,还包括:密钥生成单元(未示出),密钥生成单元被配置为分别计算每个训练样本的待交换数据与所述加密精度的乘积,对得到的每个乘积进行取整运算,对所有取整运算得到的结果进行求和;基于求和运算的结果生成所述密钥。
作为示例,解密单元206可被配置为:分别针对接收到的每一聚合结果,执行如下流程:基于该聚合结果和所述密钥确定第一函数;基于该聚合结果对应的第一函数和解密精度确定该聚合结果对应的解密函数,并使用该聚合结果对应的解密函数对该聚合结果进行解密,得到该聚合结果的解密结果,其中,所述解密精度是基于所述加密精度确定的。
作为示例,解密单元206可被配置为:将该聚合结果与所述密钥进行取模运算;当得到的取模运算的结果在第一预设范围内时,将所述取模运算的结果作为该聚合结果对应的第一函数;当得到的取模运算的结果在第二预设范围内时,计算所述取模运算的结果与所述密钥的差值,并将所述差值作为该聚合结果对应的第一函数。
作为示例,解密单元206可被配置为:计算该聚合结果对应的第一函数与所述解密精度的比值,并将所述比值作为该聚合结果对应的解密函数。
作为示例,所述加密精度可与所述解密精度相同。
图7示出根据本公开示例性实施例的基于纵向联邦学习模型的预测装置30的框图。
预测装置30包括:获取单元301、加密函数确定单元302、同态加密单元303、发送单元304、接收单元305、解密单元306、模型构造单元307、预测单元308。
具体说来,获取单元301被配置为获取各个训练样本的待交换数据。
加密函数确定单元302被配置为基于所述各个训练样本的待交换数据,确定用于对所述各个训练样本的待交换数据进行同态加密的加密函数。
所述加密函数涉及加密精度和密钥,所述密钥是基于所述加密精度和所述各个训练样本的待交换数据确定的。
同态加密单元303被配置为通过使用所述加密函数对所述各个训练样本的待交换数据进行同态加密,得到所述各个训练样本对应的同态加密结果。
发送单元304被配置为将所述各个训练样本对应的同态加密结果发送到纵向联邦学习***中的至少一个参与方。
接收单元305被配置为从所述至少一个参与方接收所述各个训练样本对应的同态加密结果的聚合结果。
解密单元306被配置为使用与所述加密函数对应的解密函数对接收到的聚合结果进行解密,得到解密结果。
模型构造单元307被配置为基于所述解密结果,构造所述纵向联邦学习***所协同训练的梯度提升树模型。
预测单元308被配置为使用所述梯度提升树模型对待预测样本进行预测。
作为示例,预测单元308可被配置为:基于所述查找表对待预测样本进行预测。
作为示例,单元301至307的具体实现方式可参照单元201至207的上述示例性实施例,在此不再赘述。
应该理解,根据本公开示例性实施例的训练数据的生成装置10、图像检测装置20、图像分类装置30的具体实现方式可参照结合图1至4描述的相关具体实现方式来实现,在此不再赘述。
根据本公开示例性实施例的数据保护装置10、训练装置20、预测装置30所包括的单元可被分别配置为执行特定功能的软件、硬件、固件或上述项的任意组合。例如,这些单元可对应于专用的集成电路,也可对应于纯粹的软件代码,还可对应于软件与硬件相结合的模块。此外,这些单元所实现的一个或多个功能也可由物理实体设备(例如,处理器、客户端或服务器等)中的组件来统一执行。
应理解,根据本公开示例性实施例的数据保护方法可通过记录在计算可读介质上的程序来实现,例如,根据本公开的示例性实施例,可提供一种计算机可读介质,其中,在所述计算机可读介质上记录有用于执行如上述示例性实施例所述的数据保护方法。
应理解,根据本公开示例性实施例的纵向联邦学习模型的训练方法或基于纵向联邦学习模型的预测方法可通过记录在计算可读介质上的程序来实现,例如,根据本公开的示例性实施例,可提供一种计算机可读介质,其中,在所述计算机可读介质上记录有用于执行如上述示例性实施例所述的纵向联邦学习模型的训练方法或基于纵向联邦学习模型的预测方法。
上述计算机可读介质中的计算机程序可在诸如客户端、主机、代理装置、服务器等计算机设备中部署的环境中运行,应注意,所述计算机程序还可用于执行除了上述步骤以外的附加步骤或者在执行上述步骤时执行更为具体的处理,这些附加步骤和进一步处理的内容已经参照图1至图4进行了描述,这里为了避免重复将不再进行赘述。
应注意,根据本公开示例性实施例的数据保护装置10、训练装置20、预测装置30可完全依赖计算机程序的运行来实现相应的功能,即,各个单元与计算机程序的功能架构中与各步骤相应,使得整个***通过专门的软件包(例如,lib库)而被调用,以实现相应的功能。
另一方面,根据本公开示例性实施例的数据保护装置10、训练装置20、预测装置30所包括的各个单元也可以通过硬件、软件、固件、中间件、微代码或其任意组合来实现。当以软件、固件、中间件或微代码实现时,用于执行相应操作的程序代码或者代码段可以存储在诸如存储介质的计算机可读介质中,使得处理器可通过读取并运行相应的程序代码或者代码段来执行相应的操作。
例如,本公开的示例性实施例还可以实现为计算装置,该计算装置包括存储部件和处理器,存储部件中存储有计算机可执行指令集合,当所述计算机可执行指令集合被所述处理器执行时,执行如上述示例性实施例所述的数据保护方法。
例如,本公开的示例性实施例还可以实现为计算装置,该计算装置包括存储部件和处理器,存储部件中存储有计算机可执行指令集合,当所述计算机可执行指令集合被所述处理器执行时,执行如上述示例性实施例所述的纵向联邦学习模型的训练方法或基于纵向联邦学习模型的预测方法。
具体说来,所述计算装置可以部署在服务器或客户端中,也可以部署在分布式网络环境中的节点装置上。此外,所述计算装置可以是PC计算机、平板装置、个人数字助理、智能手机、web应用或其他能够执行上述指令集合的装置。
这里,所述计算装置并非必须是单个的计算装置,还可以是任何能够单独或联合执行上述指令(或指令集)的装置或电路的集合体。计算装置还可以是集成控制***或***管理器的一部分,或者可被配置为与本地或远程(例如,经由无线传输)以接口互联的便携式电子装置。
在所述计算装置中,处理器可包括中央处理器(CPU)、图形处理器(GPU)、可编程逻辑装置、专用处理器***、微控制器或微处理器。作为示例而非限制,处理器还可包括模拟处理器、数字处理器、微处理器、多核处理器、处理器阵列、网络处理器等。
根据本公开示例性实施例的数据保护方法中所描述的某些操作可通过软件方式来实现,某些操作可通过硬件方式来实现,此外,还可通过软硬件结合的方式来实现这些操作。
根据本公开示例性实施例的纵向联邦学习模型的训练方法或基于纵向联邦学习模型的预测方法中所描述的某些操作可通过软件方式来实现,某些操作可通过硬件方式来实现,此外,还可通过软硬件结合的方式来实现这些操作。
处理器可运行存储在存储部件之一中的指令或代码,其中,所述存储部件还可以存储数据。指令和数据还可经由网络接口装置而通过网络被发送和接收,其中,所述网络接口装置可采用任何已知的传输协议。
存储部件可与处理器集成为一体,例如,将RAM或闪存布置在集成电路微处理器等之内。此外,存储部件可包括独立的装置,诸如,外部盘驱动、存储阵列或任何数据库***可使用的其他存储装置。存储部件和处理器可在操作上进行耦合,或者可例如通过I/O端口、网络连接等互相通信,使得处理器能够读取存储在存储部件中的文件。
此外,所述计算装置还可包括视频显示器(诸如,液晶显示器)和用户交互接口(诸如,键盘、鼠标、触摸输入装置等)。计算装置的所有组件可经由总线和/或网络而彼此连接。
根据本公开示例性实施例的数据保护方法所涉及的操作可被描述为各种互联或耦合的功能块或功能示图。然而,这些功能块或功能示图可被均等地集成为单个的逻辑装置或按照非确切的边界进行操作。
根据本公开示例性实施例的纵向联邦学习模型的训练方法或基于纵向联邦学习模型的预测方法所涉及的操作可被描述为各种互联或耦合的功能块或功能示图。然而,这些功能块或功能示图可被均等地集成为单个的逻辑装置或按照非确切的边界进行操作。
例如,如上所述,根据本公开示例性实施例的计算装置可包括存储部件和处理器,其中,存储部件中存储有计算机可执行指令集合,当所述计算机可执行指令集合被所述处理器执行时,执行如上述示例性实施例所述的数据保护方法。
例如,如上所述,根据本公开示例性实施例的计算装置可包括存储部件和处理器,其中,存储部件中存储有计算机可执行指令集合,当所述计算机可执行指令集合被所述处理器执行时,执行如上述示例性实施例所述的纵向联邦学习模型的训练方法或基于纵向联邦学习模型的预测方法。
以上描述了本公开的各示例性实施例,应理解,上述描述仅是示例性的,并非穷尽性的,本公开不限于所披露的各示例性实施例。在不偏离本公开的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。因此,本公开的保护范围应该以权利要求的范围为准。
Claims (10)
1.一种数据保护方法,其特征在于,所述数据保护方法应用于纵向联邦学习***,所述数据保护方法包括:
获取各个训练样本的待交换数据;
基于所述各个训练样本的待交换数据,确定用于对所述各个训练样本的待交换数据进行同态加密的加密函数,其中,所述加密函数涉及加密精度和密钥,所述密钥是基于所述加密精度和所述各个训练样本的待交换数据确定的;
通过使用所述加密函数对所述各个训练样本的待交换数据进行同态加密,得到所述各个训练样本对应的同态加密结果,并将所述各个训练样本对应的同态加密结果发送到所述纵向联邦学习***中的至少一个参与方;
从所述至少一个参与方接收所述各个训练样本对应的同态加密结果的聚合结果,使用与所述加密函数对应的解密函数对接收到的聚合结果进行解密,得到解密结果。
2.如权利要求1所述的数据保护方法,其特征在于,所述密钥用于保证通过至少一个待交换数据的同态加密结果之和与所述密钥的取模运算结果,能够得到所述至少一个待交换数据之和。
3.如权利要求1所述的数据保护方法,其特征在于,所述基于所述各个训练样本的待交换数据,确定用于对所述各个训练样本的待交换数据进行同态加密的加密函数的步骤包括:
针对每个训练样本的待交换数据对所述密钥进行随机化处理,得到所述每个训练样本的待交换数据对应的加密函数。
4.如权利要求3所述的数据保护方法,其特征在于,所述针对每个训练样本的待交换数据对所述密钥进行随机化处理,得到所述每个训练样本的待交换数据对应的加密函数的步骤包括:
分别针对每个训练样本的待交换数据,执行如下流程:
为所述训练样本的待交换数据生成一个随机数;
计算所述训练样本的待交换数据对应的随机数与所述密钥的乘积,并基于所述乘积和所述训练样本的待交换数据,确定所述训练样本的待交换数据对应的加密函数。
5.如权利要求1至4之中任一权利要求所述的数据保护方法,其特征在于,还包括:密钥的生成过程;
其中,所述密钥的生成过程包括:
分别计算每个训练样本的待交换数据与所述加密精度的乘积,对得到的每个乘积进行取整运算,对所有取整运算得到的结果进行求和;
基于求和运算的结果生成所述密钥。
6.如权利要求1至4之中任一权利要求所述的数据保护方法,其特征在于,所述使用与所述加密函数对应的解密函数对接收到的聚合结果进行解密,得到解密结果的步骤包括:
分别针对接收到的每一聚合结果,执行如下流程:
基于所述聚合结果和所述密钥确定第一函数;
基于所述聚合结果对应的第一函数和解密精度确定所述聚合结果对应的解密函数,并使用所述聚合结果对应的解密函数对所述聚合结果进行解密,得到所述聚合结果的解密结果,
其中,所述解密精度是基于所述加密精度确定的。
7.一种基于纵向联邦学习模型的预测方法,其特征在于,所述预测方法包括:
获取各个训练样本的待交换数据;
基于所述各个训练样本的待交换数据,确定用于对所述各个训练样本的待交换数据进行同态加密的加密函数,其中,所述加密函数涉及加密精度和密钥,所述密钥是基于所述加密精度和所述各个训练样本的待交换数据确定的;
通过使用所述加密函数对所述各个训练样本的待交换数据进行同态加密,得到所述各个训练样本对应的同态加密结果,并将所述各个训练样本对应的同态加密结果发送到纵向联邦学习***中的至少一个参与方;
从所述至少一个参与方接收所述各个训练样本对应的同态加密结果的聚合结果,使用与所述加密函数对应的解密函数对接收到的聚合结果进行解密,得到解密结果;
基于所述解密结果,构造所述纵向联邦学习***所协同训练的梯度提升树模型;
使用所述梯度提升树模型对待预测样本进行预测。
8.一种数据保护装置,其特征在于,所述数据保护装置应用于纵向联邦学习***,所述数据保护装置包括:
获取单元,被配置为获取各个训练样本的待交换数据;
加密函数确定单元,被配置为基于所述各个训练样本的待交换数据,确定用于对所述各个训练样本的待交换数据进行同态加密的加密函数,其中,所述加密函数涉及加密精度和密钥,所述密钥是基于所述加密精度和所述各个训练样本的待交换数据确定的;
同态加密单元,被配置为通过使用所述加密函数对所述各个训练样本的待交换数据进行同态加密,得到所述各个训练样本对应的同态加密结果;
发送单元,被配置为将所述各个训练样本对应的同态加密结果发送到所述纵向联邦学习***中的至少一个参与方;
接收单元,被配置为从所述至少一个参与方接收所述各个训练样本对应的同态加密结果的聚合结果;
解密单元,被配置为使用与所述加密函数对应的解密函数对接收到的聚合结果进行解密,得到解密结果。
9.一种包括至少一个计算装置和至少一个存储指令的存储装置的***,其中,所述指令在被所述至少一个计算装置运行时,促使所述至少一个计算装置执行如权利要求1至6中的任一权利要求所述的数据保护方法或如权利要求7所述的基于纵向联邦学习模型的预测方法。
10.一种存储指令的计算机可读存储介质,其中,当所述指令被至少一个计算装置运行时,促使所述至少一个计算装置执行如权利要求1至6中的任一权利要求所述的数据保护方法或如权利要求7所述的基于纵向联邦学习模型的预测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211527282.1A CN118118164A (zh) | 2022-11-30 | 2022-11-30 | 数据保护方法、基于纵向联邦学习模型的预测方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211527282.1A CN118118164A (zh) | 2022-11-30 | 2022-11-30 | 数据保护方法、基于纵向联邦学习模型的预测方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118118164A true CN118118164A (zh) | 2024-05-31 |
Family
ID=91211191
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211527282.1A Pending CN118118164A (zh) | 2022-11-30 | 2022-11-30 | 数据保护方法、基于纵向联邦学习模型的预测方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118118164A (zh) |
-
2022
- 2022-11-30 CN CN202211527282.1A patent/CN118118164A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11451370B2 (en) | Secure probabilistic analytics using an encrypted analytics matrix | |
US20210075588A1 (en) | Systems, devices, and processes for homomorphic encryption | |
US9900147B2 (en) | Homomorphic encryption with optimized homomorphic operations | |
US20180367293A1 (en) | Private set intersection encryption techniques | |
CN111026788B (zh) | 一种混合云中基于同态加密的多关键词密文排序检索方法 | |
CN110851481B (zh) | 一种可搜索加密方法、装置、设备及可读存储介质 | |
CN111191255B (zh) | 信息加密处理的方法、服务器、终端、设备以及存储介质 | |
CN112073444B (zh) | 数据集的处理方法、装置和服务器 | |
CN112394974A (zh) | 代码变更的注释生成方法、装置、电子设备及存储介质 | |
CN112149706A (zh) | 模型训练方法、装置、设备和介质 | |
CN114329644B (zh) | 对逻辑***设计进行加密仿真的方法、设备及存储介质 | |
CN116488814A (zh) | 一种基于fpga的数据加密的安全计算方法 | |
CN116527235A (zh) | 基于密钥轮换的数据加密方法、装置和电子设备 | |
KR102308066B1 (ko) | 저선형 공개-키 동작들을 사용하는 개인 정보 리트리벌 | |
KR20210152030A (ko) | Rlwe 암호문들의 압축 및 불확정적 확장 | |
US10078492B2 (en) | Generating pseudo-random numbers using cellular automata | |
CN117786751A (zh) | 一种对称可搜索加密方法、装置、设备及介质 | |
CN111931204A (zh) | 用于分布式***的加密去重存储方法、终端设备 | |
Lenk et al. | GeoFPE: Format preserving encryption of geospatial data for the Internet of Things | |
CN116521969A (zh) | 一种数据检索方法、服务端、***及相关设备 | |
CN118118164A (zh) | 数据保护方法、基于纵向联邦学习模型的预测方法及装置 | |
EP3975471B1 (en) | Homomorphic encryption device and operating method thereof | |
KR20230087377A (ko) | 동형 암호에서 서로 다른 동형 연산들을 통합하기 위한 컴퓨팅 장치 및 방법 | |
Gbashi et al. | Privacy Security System for Video Data Transmission in Edge-Fog-cloud Environment. | |
CN108075889B (zh) | 一种降低加解密运算时间复杂度的数据传输方法及*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |