CN110929887A - 逻辑回归模型训练方法、装置及系统 - Google Patents
逻辑回归模型训练方法、装置及系统 Download PDFInfo
- Publication number
- CN110929887A CN110929887A CN202010096283.XA CN202010096283A CN110929887A CN 110929887 A CN110929887 A CN 110929887A CN 202010096283 A CN202010096283 A CN 202010096283A CN 110929887 A CN110929887 A CN 110929887A
- Authority
- CN
- China
- Prior art keywords
- training
- training participant
- model
- participant
- difference
- 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.)
- Granted
Links
- 238000012549 training Methods 0.000 title claims abstract description 541
- 238000000034 method Methods 0.000 title claims abstract description 109
- 238000007477 logistic regression Methods 0.000 title claims abstract description 70
- 239000003550 marker Substances 0.000 claims abstract description 32
- 230000008569 process Effects 0.000 claims description 51
- 238000004364 calculation method Methods 0.000 claims description 44
- 230000011218 segmentation Effects 0.000 claims description 41
- 229940050561 matrix product Drugs 0.000 claims description 34
- 238000000354 decomposition reaction Methods 0.000 claims description 28
- 230000006870 function Effects 0.000 claims description 21
- 239000011159 matrix material Substances 0.000 claims description 16
- 230000004913 activation Effects 0.000 claims description 14
- 125000004122 cyclic group Chemical group 0.000 claims description 13
- 230000000717 retained effect Effects 0.000 claims description 10
- 241000695274 Processa Species 0.000 claims description 4
- 238000011161 development Methods 0.000 claims description 2
- 230000018109 developmental process Effects 0.000 claims description 2
- 230000000694 effects Effects 0.000 claims 1
- 238000002372 labelling Methods 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 30
- ZPUCINDJVBIVPJ-LJISPDSOSA-N cocaine Chemical compound O([C@H]1C[C@@H]2CC[C@@H](N2C)[C@H]1C(=O)OC)C(=O)C1=CC=CC=C1 ZPUCINDJVBIVPJ-LJISPDSOSA-N 0.000 description 21
- 230000005540 biological transmission Effects 0.000 description 10
- 238000004891 communication Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000013145 classification model Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000017105 transposition Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本说明书实施例提供用于经由多个训练参与方来训练逻辑回归模型的方法和装置。在该方法中,逻辑回归模型被垂直切分为多个子模型,每个训练参与方具有一个子模型以及经过垂直切分后得到的特征数据子集。在训练时,第一训练参与方将标记值分解为多个部分标记值,并分别向各个第二训练参与方发送一个部分标记值。在各个训练参与方处,基于各自的当前子模型、特征数据子集以及部分标记值,确定该训练参与方处的预测差值。基于各个训练参与方的预测差值确定总预测差值。然后,各个训练参与方基于总预测差值和各自的特征数据子集,确定出对应的模型更新量并进行子模型更新。利用该方法,能够保证各个模型训练参与方处的私有数据的数据安全。
Description
技术领域
本说明书实施例通常涉及机器学习领域,尤其涉及用于使用垂直切分的特征数据集来经由多个训练参与方协同训练逻辑回归模型的方法、装置及系统。
背景技术
逻辑回归模型是机器学习领域广泛使用的回归/分类模型。在很多情况下,多个模型训练参与方(例如,电子商务公司、快递公司和银行)各自拥有训练逻辑回归模型所使用的特征数据的不同部分数据。该多个模型训练参与方通常想共同使用彼此的数据来统一训练逻辑回归模型,但又不想把各自的数据提供给其它各个模型训练参与方以防止自己的数据被泄露。
面对这种情况,提出了能够保护数据安全的逻辑回归模型训练方法,其能够在保证多个模型训练参与方的各自数据安全的情况下,协同该多个模型训练参与方来训练逻辑回归模型,以供该多个模型训练参与方使用。然而,现有的能够保护数据安全的逻辑回归模型训练方法效率较低。
发明内容
鉴于上述问题,本说明书实施例提供了一种用于经由多个训练参与方协同训练逻辑回归模型的方法、装置及系统,其能够在保证多个训练参与方的各自数据安全的情况下实现逻辑回归模型训练。
根据本说明书实施例的一个方面,提供一种用于经由第一数目个训练参与方来训练逻辑回归模型的方法,所述训练参与方包括第一训练参与方和第二数目个第二训练参与方,所述逻辑回归模型被垂直切分为第一数目个子模型,第一训练参与方具有子模型,各个第二训练参与方具有子模型,所述第一训练参与方具有第一特征数据子集和标记值,每个第二训练参与方具有第二特征数据子集,所述第一和第二特征数据子集通过对用于模型训练的特征数据集进行垂直切分而获得,所述第二数目等于所述第一数目减一,所述方法由所述第一训练参与方执行,所述方法包括:将所述标记值分解为部分标记值和第二数目个部分标记值,并分别向各个第二训练参与方发送所述第二数目个部分标记值中的一个部分标记值;执行下述循环过程,直到满足循环结束条件:计算所述第一训练参与方处的当前子模型和所述第一特征数据子集的第一矩阵乘积;根据所述第一矩阵乘积和部分标记值,使用第一差值确定公式确定所述第一训练参与方处的第一预测差值;基于所述第一预测差值和各个第二训练参与方处的第二预测差值,确定当前循环过程的总预测差值E,各个第二训练参与方处的第二预测差值按照各自的第二差值确定公式确定;基于所述总预测差值E和所述第一特征数据子集,确定所述第一训练参与方处的模型更新量;以及使用所述第一训练参与方处的模型更新量来更新所述第一训练参与方处的当前子模型,其中,在循环过程未结束时,所述更新后的各个训练参与方的子模型用作下一循环过程的当前子模型,其中,所述第一差值确定公式和各个第二差值确定公式基于针对激活函数的多阶多项式公式展开进行分割后得到的分割结果确定,各个分割结果包括与各自的子模型和特征样本子集相关的展开项。
可选地,在上述方面的一个示例中,所述多阶多项式公式展开可以是泰勒公式展开。
可选地,在上述方面的一个示例中,所述泰勒公式展开可以是二阶泰勒公式展开。
可选地,在上述方面的一个示例中,基于第一预测差值和各个第二训练参与方处的第二预测差值,确定当前循环过程的总预测差值可以包括:对第一预测差值和各个第二训练参与方处的第二预测差值进行求和计算,以确定当前循环过程的总预测差值。
可选地,在上述方面的一个示例中,所述求和计算包括安全求和计算。
可选地,在上述方面的一个示例中,所述安全求和计算可以包括:基于秘密共享的安全求和计算,基于同态加密的安全求和计算,或者基于可信执行环境的安全求和计算。
可选地,在上述方面的一个示例中,使用第一训练参与方处的模型更新量来更新第一训练参与方的当前子模型包括:按照以下等式更新第一训练参与方处的当前子模型,其中,表示第一训练参与方处的更新后的子模型,表示第一训练参与方处的当前子模型,表示学习率,以及表示第一训练参与方处的模型更新量。
可选地,在上述方面的一个示例中,所述循环结束条件可以包括:预定循环次数;或者所确定出的总预测差值位于预定范围内。
可选地,在上述方面的一个示例中,所述特征数据包括基于图像数据、语音数据或文本数据的特征数据,或者所述特征数据包括用户特征数据。
根据本说明书实施例的另一方面,提供一种用于经由第一数目个训练参与方来训练逻辑回归模型的方法,所述训练参与方包括第一训练参与方和第二数目个第二训练参与方,所述逻辑回归模型被垂直切分为第一数目个子模型,第一训练参与方具有子模型,各个第二训练参与方具有子模型,所述第一训练参与方具有第一特征数据子集和标记值,每个第二训练参与方具有第二特征数据子集,所述第一和第二特征数据子集通过对用于模型训练的特征数据集进行垂直切分而获得,所述第二数目等于所述第一数目减一,所述方法由所述第二训练参与方执行,所述方法包括:从所述第一训练参与方接收部分标记值,所述部分标记值是在所述第一训练参与方处对所述标记值进行分解而得到的第一数目个部分标记值中的一个部分标记值;执行下述循环过程,直到满足循环结束条件:计算所述第二训练参与方处的当前子模型和对应的第二特征数据子集的第二矩阵乘积;根据所述第二矩阵乘积和所接收的部分标记值,使用第二差值确定公式确定所述第二训练参与方处的第二预测差值;基于所述第一训练参与方处的第一预测差值和各个第二训练参与方处的第二预测差值,确定当前循环过程的总预测差值,所述第一训练参与方处的第一预测差值按照第一差值确定公式确定,其中,是第一训练参与方保留的部分标记值,以及各个其它第二训练参与方处的第二预测差值按照对应的第二差值确定公式确定;基于所述总预测差值和所述第二特征数据子集,确定所述第二训练参与方处的模型更新量;以及使用所述第二训练参与方处的模型更新量来更新所述第二训练参与方处的当前子模型,其中,在循环过程未结束时,所述更新后的各个训练参与方的子模型被用作下一循环过程的当前子模型,其中,所述第一差值确定公式和各个第二差值确定公式基于针对激活函数的多阶多项式公式展开进行分割后得到的分割结果确定,各个分割结果包括与各自的子模型和特征样本子集相关的展开项。
可选地,在上述方面的一个示例中,使用第二训练参与方处的模型更新量来更新第二训练参与方的当前子模型包括:按照以下等式更新第二训练参与方处的当前子模型,其中,表示第二训练参与方处的更新后的子模型,表示第二训练参与方处的当前子模型,表示学习率,以及表示第二训练参与方处的模型更新量。
根据本说明书实施例的另一方面,提供一种用于经由第一数目个训练参与方来训练逻辑回归模型的装置,所述训练参与方包括第一训练参与方和第二数目个第二训练参与方,所述逻辑回归模型被垂直切分为第一数目个子模型,第一训练参与方具有子模型,各个第二训练参与方具有子模型,所述第一训练参与方具有第一特征数据子集和标记值,每个第二训练参与方具有第二特征数据子集,所述第一和第二特征数据子集通过对用于模型训练的特征数据集进行垂直切分而获得,所述第二数目等于所述第一数目减一,所述装置应用于所述第一训练参与方,所述装置包括:标记值分解单元,将所述标记值分解为部分标记值和第二数目个部分标记值;标记值发送单元,分别向各个第二训练参与方发送所述第二数目个部分标记值中的一个部分标记值;矩阵乘积计算单元,计算所述第一训练参与方处的当前子模型和所述第一特征数据子集的第一矩阵乘积;部分预测差值确定单元,根据所述第一矩阵乘积和部分标记值,使用第一差值确定公式确定所述第一训练参与方处的第一预测差值;总预测差值确定单元,基于所述第一预测差值和各个第二训练参与方处的第二预测差值,确定当前循环过程的总预测差值,各个第二训练参与方处的第二预测差值按照各自的第二差值确定公式确定;模型更新量确定单元,基于所述总预测差值和所述第一特征数据子集,确定所述第一训练参与方处的模型更新量;以及模型更新单元,使用所述第一训练参与方处的模型更新量来更新所述第一训练参与方处的当前子模型,其中,所述第一差值确定公式和各个第二差值确定公式基于针对激活函数的多阶多项式公式展开进行分割后得到的分割结果确定,各个分割结果包括与各自的子模型和特征样本子集相关的展开项,其中,所述矩阵乘积计算单元、所述部分预测差值确定单元、所述总预测差值确定单元、所述模型更新量确定单元和所述模型更新单元循环执行操作,直到满足循环结束条件,其中,在循环过程未结束时,所述更新后的各个训练参与方的子模型被用作下一循环过程的当前子模型。
可选地,在上述方面的一个示例中,总预测差值确定单元可以对第一预测差值和各个第二训练参与方处的第二预测差值进行求和计算,以确定当前循环过程的总预测差值。
可选地,在上述方面的一个示例中,所述求和计算包括安全求和计算。
根据本说明书实施例的另一方面,提供一种用于经由第一数目个训练参与方来训练逻辑回归模型的装置,所述训练参与方包括第一训练参与方和第二数目个第二训练参与方,所述逻辑回归模型被垂直切分为第一数目个子模型,第一训练参与方具有子模型,各个第二训练参与方具有子模型,所述第一训练参与方具有第一特征数据子集和标记值,每个第二训练参与方具有第二特征数据子集,所述第一和第二特征数据子集通过对用于模型训练的特征数据集进行垂直切分而获得,所述第二数目等于所述第一数目减一,所述装置应用于所述第二训练参与方,所述装置包括:标记值接收单元,从所述第一训练参与方接收部分标记值,所述部分标记值是在所述第一训练参与方处对所述标记值进行分解而得到的第一数目个部分标记值中的一个部分标记值;矩阵乘积计算单元,计算所述第二训练参与方处的当前子模型和对应的第二特征数据子集的第二矩阵乘积;部分预测差值确定单元,根据所述第二矩阵乘积和所接收的部分标记值,使用第二差值确定公式确定所述第二训练参与方处的第二预测差值;总预测差值确定单元,基于所述第一训练参与方处的第一预测差值和各个第二训练参与方处的第二预测差值,确定当前循环过程的总预测差值,所述第一训练参与方处的第一预测差值按照第一差值确定公式确定,其中,是第一训练参与方保留的部分标记值,以及各个其它第二训练参与方处的第二预测差值按照对应的第二差值确定公式确定;模型更新量确定单元,基于所述总预测差值和所述第二特征数据子集,确定所述第二训练参与方处的模型更新量;以及模型更新单元,使用所述第二训练参与方处的模型更新量来更新所述第二训练参与方处的当前子模型,其中,所述第一差值确定公式和各个第二差值确定公式基于针对激活函数的多阶多项式公式展开进行分割后得到的分割结果确定,各个分割结果包括与各自的子模型和特征样本子集相关的展开项,其中,所述矩阵乘积计算单元、所述部分预测差值确定单元、所述总预测差值确定单元、所述模型更新量确定单元和所述模型更新单元循环执行操作,直到满足循环结束条件,其中,在循环过程未结束时,所述更新后的各个训练参与方的子模型被用作下一循环过程的当前子模型。
可选地,在上述方面的一个示例中,总预测差值确定单元可以对第一预测差值和各个第二训练参与方处的第二预测差值进行安全求和计算,以确定当前循环过程的总预测差值。
根据本说明书实施例的另一方面,提供一种用于经由第一数目个训练参与方来训练逻辑回归模型的系统,包括:第一训练参与方设备,包括如上所述的装置;以及第二数目个第二训练参与方设备,每个第二训练参与方设备包括如上所述的装置,第二数目等于第一数目减一,其中,逻辑回归模型被垂直切分为第一数目个子模型,每个训练参与方设备具有一个子模型,第一训练参与方设备具有第一特征数据子集和标记值,每个第二训练参与方设备具有第二特征数据子集,第一和第二特征数据子集通过对用于模型训练的特征数据集进行垂直切分而获得。
根据本说明书实施例的另一方面,提供一种计算设备,包括:至少一个处理器,以及与所述至少一个处理器耦合的存储器,所述存储器存储指令,当所述指令被所述至少一个处理器执行时,使得所述至少一个处理器执行如上所述的在第一训练参与方侧执行的训练方法。
根据本说明书实施例的另一方面,提供一种机器可读存储介质,其存储有可执行指令,所述指令当被执行时使得所述至少一个处理器执行如上所述的在第一训练参与方侧执行的训练方法。
根据本说明书实施例的另一方面,提供一种计算设备,包括:至少一个处理器,以及与所述至少一个处理器耦合的存储器,所述存储器存储指令,当所述指令被所述至少一个处理器执行时,使得所述至少一个处理器执行如上所述的在第二训练参与方侧执行的训练方法。
根据本说明书实施例的另一方面,提供一种机器可读存储介质,其存储有可执行指令,所述指令当被执行时使得所述至少一个处理器执行如上所述的在第二训练参与方侧执行的训练方法。
利用本说明书实施例的方案,能够在不泄漏该多个训练参与方的秘密数据的情况下训练得到逻辑回归模型的模型参数。此外,由于仅仅对第一训练参与方处的标记值进行秘密分割,并且使用泰勒公式展开来执行模型预测值计算,从而降低逻辑回归模型训练所需的通信量和计算量,由此提高逻辑回归模型的训练效率。
附图说明
通过参照下面的附图,可以实现对于本说明书内容的本质和优点的进一步理解。在附图中,类似组件或特征可以具有相同的附图标记。
图1示出了根据本说明书的实施例的经过垂直切分的训练样本集的示例的示意图;
图2示出了示出了根据本说明书的实施例的用于经由多个训练参与方训练逻辑回归模型的系统的架构示意图;
图3示出了根据本说明书的实施例的用于经由多个训练参与方训练逻辑回归模型的方法的流程图;
图4示出了根据本说明书的实施例的各个训练参与方处的预测差值确定过程的一个示例的流程图;
图5示出了根据本说明书的实施例的用于确定总预测差值的过程的一个示例的流程图;
图6示出了根据本说明书的实施例的用于确定总预测差值的过程的另一示例的流程图;
图7示出了根据本说明书的实施例的用于经由多个训练参与方训练逻辑回归模型的装置的方框图;
图8示出了图7中的总预测差值确定单元的一个实现示例的方框图;
图9示出了图7中的总预测差值确定单元的另一实现示例的方框图;
图10示出了根据本说明书的实施例的用于经由多个训练参与方训练逻辑回归模型的装置的方框图;
图11示出了图10中的总预测差值确定单元的一个实现示例的方框图;
图12示出了图10中的总预测差值确定单元的另一实现示例的方框图;
图13示出了根据本说明书的实施例的用于经由多个训练参与方训练逻辑回归模型的计算设备的示意图;和
图14示出了根据本说明书的实施例的用于经由多个训练参与方训练逻辑回归模型的计算设备的示意图。
具体实施方式
现在将参考示例实施方式讨论本文描述的主题。应该理解,讨论这些实施方式只是为了使得本领域技术人员能够更好地理解从而实现本文描述的主题,并非是对权利要求书中所阐述的保护范围、适用性或者示例的限制。可以在不脱离本说明书内容的保护范围的情况下,对所讨论的元素的功能和排列进行改变。各个示例可以根据需要,省略、替代或者添加各种过程或组件。例如,所描述的方法可以按照与所描述的顺序不同的顺序来执行,以及各个步骤可以被添加、省略或者组合。另外,相对一些示例所描述的特征在其它例子中也可以进行组合。
如本文中使用的,术语“包括”及其变型表示开放的术语,含义是“包括但不限于”。术语“基于”表示“至少部分地基于”。术语“一个实施例”和“一实施例”表示“至少一个实施例”。术语“另一个实施例”表示“至少一个其他实施例”。术语“第一”、“第二”等可以指代不同的或相同的对象。下面可以包括其他的定义,无论是明确的还是隐含的。除非上下文中明确地指明,否则一个术语的定义在整个说明书中是一致的。
秘密共享方法是一种将秘密分解存储的密码技术,其将秘密以适当的方式拆分成多个秘密份额,每一个秘密份额由多个参与方中的一个参与方拥有和管理,单个参与方无法恢复完整秘密,只有若干个参与方共同协作才能恢复完整秘密。秘密共享方法目标在于阻止秘密过于集中,以达到分散风险和容忍入侵的目的。在本说明书中,将第一训练参与方处具有的标记值作为秘密来拆分为多个秘密份额。
在本说明书中,逻辑回归模型训练方案中所使用的训练样本集是经过垂直切分的训练样本集。术语“对训练样本集进行垂直切分”是指按照模块/功能(或者某种指定规则)来将该训练样本集切分为多个训练样本子集中,各个训练样本子集包含训练样本集中的每条训练样本的部分训练子样本,所有训练样本子集中所包含的部分训练子样本构成该条训练样本。在一个例子中,假设训练样本包括标签和属性、,则经过垂直切分后,训练参与方Alice拥有该训练样本的和,以及训练参与方Bob拥有该训练样本的。在另一个例子中,假设训练样本包括标签和属性、、,则经过垂直切分后,训练参与方Alice拥有该训练样本的和、,以及训练参与方Bob拥有该训练样本的和。除了这两个例子之外,还有其他可能的情况,这里不一一列举。
假设给定由d个属性(也称为特征)描述的属性值样本示例x T=(x 1 ; x 2 ;…; x d ),其中,x i 是x在第i个属性上的取值和T表示转置,那么逻辑回归模型为Y=1/(1+)(即,权利要求书中的激活函数),其中,Y是预测值,以及,W是逻辑回归模型的模型参数(即,本说明书中所述的模型),模型W被垂直切分为多个子模型,是指本说明书中的各个训练参与方P处的子模型。在本说明书中,属性值样本也称为特征数据样本。
在本说明书中,各个训练参与方各自拥有训练逻辑回归模型所使用的训练样本的不同部分数据。例如,以两个训练参与方为例,假设训练样本集包括100个训练样本,每一个训练样本包含多个特征值(也可以称为“特征数据”)和标记实际值,由此,100个训练样本中的特征值组成用于模型训练的特征数据。在垂直切分的情况下,第一训练参与方拥有的数据可以是该100个训练样本中的每个训练样本的部分特征值(由此组成第一特征数据子集)和标记实际值,以及,第二参与方拥有的数据可以是该100个训练样本中的每个训练样本的部分特征值(例如,剩余的特征值,由此组成第二特征数据子集)。
在本说明书的实施例中,逻辑回归模型训练时所使用的特征数据可以包括基于图像数据、语音数据或文本数据的特征数据。相应地,逻辑回归模型可以应用于基于图像数据、语音数据或者文本数据的业务风险识别、业务分类或者业务决策等等。或者,逻辑回归模型训练时所使用的特征数据可以包括用户特征数据。相应地,逻辑回归模型可以应用于基于用户特征数据的业务风险识别、业务分类、业务推荐或者业务决策等等。
在本说明书中的任何地方描述的矩阵乘法计算,需要根据情况来确定是否对参与矩阵乘法的两个或多个矩阵中的一个或多个对应的矩阵进行转置处理,以满足矩阵乘法规则,由此完成矩阵乘法计算。
下面将结合附图来详细描述根据本说明书实施例的用于经由多个训练参与方来协同训练逻辑回归模型的方法、装置以及系统。
图1示出了根据本说明书实施例的经过垂直切分的训练样本集的示例的示意图。图1中示出了2个数据拥有方Alice和Bob,多个数据拥有方也类似。每个数据拥有方Alice和Bob拥有训练样本集中的所有训练样本中的每条训练样本的部分训练子样本,对于每条训练样本,数据拥有方Alice和Bob拥有的部分训练子样本组合在一起,可以构成该训练样本的完整内容。比如,假设某个训练样本的内容包括标签(下文中称为“标记值”)和属性特征(下文中称为“特征数据”)、,则经过垂直切分后,数据拥有方Alice拥有该训练样本的标记值和特征数据,以及数据拥有方Bob拥有该训练样本的特征数据。
图2示出了示出了根据本说明书实施例的用于经由多个训练参与方训练逻辑回归模型的系统1(下文中称为模型训练系统1)的架构示意图。
如图2所示,模型训练系统1包括第一训练参与方设备10以及至少一个第二训练参与方设备20。在图2中示出了2个第二训练参与方设备20。在本说明书的其它实施例中,可以包括一个第二训练参与方设备20或者包括多于2个第二训练参与方设备20。第一训练参与方设备10以及至少一个第二训练参与方设备20可以通过例如但不局限于互联网或局域网等的网络30相互通信。在本说明书中,第一训练参与方设备10以及至少一个第二训练参与方设备20统称为训练参与方设备。
在本说明书中,所训练的逻辑回归模型被垂直切分为第一数目个子模型。这里,第一数目等于参与模型训练的训练参与方设备的数目。这里,假设训练参与方设备的数目为N。相应地,逻辑回归模型被分解为N个子模型,每个训练参与方设备具有一个子模型。用于模型训练的特征数据集分别位于第一训练参与方设备10和至少一个第二训练参与方设备20处,所述特征数据集按照图1中所述的方式垂直切分为多个特征数据子集,每个训练参与方设备具有一个特征数据子集。这里,每个训练参与方所拥有的子模型以及对应的特征数据子集是该训练参与方的秘密,不能被其他训练参与方获悉或者完整地获悉。
在本说明书中,第一训练参与方设备10和至少一个第二训练参与方设备20一起使用各自的训练样本子集来协同训练逻辑回归模型。关于模型的具体训练过程将在下面参照图3到图12进行详细描述。
在本说明书中,第一训练参与方设备10以及第二训练参与方设备20可以是任何合适的具有计算能力的计算设备。所述计算设备包括但不限于:个人计算机、服务器计算机、工作站、桌面型计算机、膝上型计算机、笔记本计算机、移动计算设备、智能电话、平板计算机、蜂窝电话、个人数字助理(PDA)、手持装置、消息收发设备、可佩戴计算设备、消费电子设备等等。
图3示出了根据本说明书实施例的用于经由多个训练参与方训练逻辑回归模型的方法的流程图。在图3中,以第一训练参与方Alice和2个第二训练参与方Bob和Charlie为例来进行说明。第一训练参与方Alice具有逻辑回归模型的子模型,第二训练参与方Bob具有逻辑回归模型的子模型,以及第二训练参与方Charlie具有逻辑回归模型的子模型。第一训练参与方Alice具有第一特征数据子集和标记值Y,第二训练参与方Bob具有第二特征数据子集,以及第二训练参与方Charlie具有第三特征数据子集。第一特征数据子集、第二特征数据子集和第三特征数据子集通过对用于模型训练的特征数据集X进行垂直切分获得。子模型、和通过对逻辑回归模型进行垂直切分获得。
如图3所示,首先,在块310,第一训练参与方Alice、第二训练参与方Bob和Charlie初始化其子模型、和的子模型参数,以获得其子模型参数的初始值,并且将已执行训练循环次数t初始化为零。这里,假设循环过程的结束条件为执行预定次数训练循环,例如,执行T次训练循环。
在如上初始化后,在块320,在Alice处,将标记值Y分解为3个部分标记值,和。这里,在对标记值Y进行的分解过程中,针对标记值Y中的每个元素,将该元素的属性值分解为3个部分属性值,并且利用分解后的部分属性值得到3个新的元素。然后,将所得到的3个新的元素分别分配到,和,由此得到,和。
随后,循环执行块340到块380的操作,直到满足循环结束条件。
具体地,在块340,在各个训练参与方Alice、Bob和Charlie处,分别基于各个训练参与方的当前子模型、特征样本子集以及各自拥有的部分标记值,确定各个训练参与方处的预测差值。
图4示出了根据本说明书的实施例的各个训练参与方处的预测差值确定过程的一个示例的流程图。下面以第一训练参与方Alice为例来进行描述。
接着,在块420,在Alice处,根据第一矩阵乘积和Alice处保留的部分标记值,使用第一差值确定公式来确定出Alice处的第一预测差值。针对第二训练参与方Bob和Charlie,可以使用各自的第二差值确定公式和,计算出各自的预测差值和。在本说明书中,第一差值确定公式和各个第二差值确定公式和基于针对激活函数的多阶多项式公式展开进行分割后得到的分割结果确定,各个分割结果包括与各自的子模型和特征样本子集相关的展开项。在本说明书中,多阶多项式公式展开可以包括泰勒公式展开,或者其他形式的多阶多项式公式展开。下面以泰勒公式展开为例来进行具体说明。下面的描述过程也适用于其它形式的多阶多项式公式展开。
。此外,。由此,可以基于泰勒公式展开,利用Alice处的第一矩阵乘积来计算出Alice的第一预测值,利用Bob处的第二矩阵乘积来计算出Bob的第二预测值,以及利用Charlie处的第二矩阵乘积来计算出Charlie的第三预测值。至于在进行泰勒公式展开时,需要近似到几次项,可以基于应用场景所需要的准确度来确定。
可选地,在一个示例中,泰勒公式展开可以是二阶泰勒公式展开。相应地,可以得到,随后对进行分割而得到各个训练参与方处的当前预测值,以及,进而可以计算出各个训练参与方处的预测差值,和。这里要说明的是,在本说明书的一个示例中,在对进行分割时,第一训练参与方Alice和第二训练参与方Bob、Charlie中仅仅只有一个预测值具有常数项。换言之,如果,则以及。如果,则以及。如果,则以及。此外,在本说明书的另一示例中,也可以针对常数项进行其它方式的分割处理。
回到图3,在如上得到各个训练参与方处的预测差值后,在块350,基于各个训练参与方处的预测差值、和,确定出本次循环过程中的总预测差值。例如,对各个训练参与方处的预测差值、和进行求和计算,以得到总预测差值。
图5示出了根据本说明书的实施例的用于确定总预测差值的过程的一个示例的流程图。
如图5所示,在510,Alice将第一预测差值分别发送给Bob和Charlie。在520,Bob将第二预测差值分别发送给Alice和Charlie。在520,Charlie将第二预测差值分别发送给Alice和Bob。
图6示出了根据本说明书的实施例的用于确定总预测差值的过程的另一示例的流程图。图6中示出的是基于秘密共享的安全求和计算实现方案。
在607,在各个训练参与方处,分别对各自保留的部分预测差值以及所接收的部分预测差值进行求和,以得到各个训练参与方处的部分总预测差值。具体地,在Alice处,计算。在Bob处,计算。在Charlie处,计算。
在如上计算出E1、E2和E3后,在608,Alice将部分总预测差值E1分别发送给Bob和Charlie。在609,Bob将部分总预测差值E2分别发送给Alice和Charlie。在610,Charlie将部分总预测差值E3分别发送给Alice和Bob。
利用图6中示出的总预测差值确定过程,将各个训练参与方处的预测差值、和作为秘密,按照秘密共享的处理方式来进行求和计算,从而无需将各个训练参与方处的预测差值、和完整地提供给其它训练参与方,由此可以保证训练参与方处的预测差值的数据安全,进而使得其它训练参与方无法使用预测差值来反向推导该训练参与方处的训练数据。
此外,要说明的是,图6中示出的秘密共享求和方式仅仅是针对各个训练参与方处的预测差值、和的安全求和的一种实现示例。在本说明书的其它示例中,也可以采用同态加密的方式来实现,或者将预测差值、和加密后发送到第三方可信执行设备中执行可信计算来实现。所述第三方可信执行设备例如可以包括SGX设备或者TrustZone设备。
回到图3,在如上确定出总预测差值后,在块360,在各个训练参与方处,分别基于总预测差值E和该训练参与方处的特征数据子集,确定该训练参与方处的模型更新量。具体地,在Alice处,基于总预测差值E和第一特征数据子集,确定Alice处的模型更新量。在Bob处,基于总预测差值E和第二特征数据子集,确定Bob处的模型更新量。在Charlie处,基于总预测差值E和第二特征数据子集,确定Charlie处的模型更新量。
在块370,在各个训练参与方处,分别使用各个训练参与方处的模型更新量来更新该训练参与方处的当前子模型。在本说明书实施例的一个示例中,使用训练参与方处的模型更新量来更新该训练参与方处的当前子模型可以按照以下等式来进行模型更新:,其中,表示该训练参与方处的更新后的子模型,表示该训练参与方处的当前子模型,表示学习率(learning rate),以及表示该训练参与方处的模型更新量。
在如上在各个训练参与方完成各自的子模型更新后,在块380,判断是否达到预定循环次数,即,判断是否达到循环结束条件。如果达到预定循环次数,则流程结束。如果未达到预定循环次数,则流程返回到块340的操作来执行下一训练循环过程,其中,在该下次训练循环过程中,各个训练参与方在当前循环过程所获得的更新后的子模型被用作下一循环过程的当前子模型。
这里要说明的是,在上述的示例中,训练循环过程的结束条件是指达到预定循环次数。在本说明书实施例的其它示例中,训练循环过程的结束条件也可以是所确定出的总预测差值位于预定范围内,即,总预测差值小于预定阈值。相应地,图3中的块380的操作可以在块350的操作之后执行。如果在380中确定未满足循环结束条件时,则执行块360和370的操作,然后返回到块340。如果在380中确定满足循环结束条件,则流程结束。
此外,要说明的是,图3-图6中示出的是1个第一训练参与方和2个第二训练参与方的模型训练方案,在本说明书实施例的其它示例中,也可以包括1个第二训练参与方或者包括多于2个第二训练参与方。
利用图3-图6中公开的逻辑回归模型训练方法,能够在不泄漏该多个训练参与方的秘密数据的情况下训练得到逻辑回归模型的模型参数。此外,由于仅仅对第一训练参与方处的标记值进行秘密分割,并且使用多阶多项式公式展开来执行模型预测值计算,从而可以降低逻辑回归模型训练所需的通信量和计算量,由此提高逻辑回归模型的训练效率。
图7示出了根据本说明书实施例的用于经由第一数目个训练参与方训练逻辑回归模型的装置(下文中称为模型训练装置)700的示意图。在该实施例中,逻辑回归模型被垂直切分为第一数目个子模型,第一数目等于训练参与方的数目,并且每个训练参与方具有一个子模型。训练参与方包括第一训练参与方和第二数目个第二训练参与方。第一训练参与方具有第一特征数据子集和标记值,每个第二训练参与方具有第二特征数据子集,第一和第二特征数据子集通过对用于模型训练的特征数据集进行垂直切分而获得,第二数目等于第一数目减一。模型训练装置700位于第一训练参与方侧。
如图7所示,模型训练装置700包括标记值分解单元710、标记值发送单元720、矩阵乘积计算单元730、部分预测差值确定单元740、总预测差值确定单元750、模型更新量确定单元760和模型更新单元770。
标记值分解单元710被配置为将第一训练参与方处的标记值分解为第一数目个部分标记值。标记值分解单元710的操作可以参考上面参照图3描述的块320的操作。
标记值发送单元720被配置为分别向各个第二训练参与方发送第二数目个部分标记值中的一个部分标记值。标记值发送单元720的操作可以参考上面参照图3描述的块330的操作。
在进行模型训练时,矩阵乘积计算730、部分预测差值确定单元740、总预测差值确定单元750、模型更新量确定单元760和模型更新单元770循环操作,直到满足循环结束条件。所述循环结束条件例如可以包括:达到预定循环次数,或者所得到的总预测差值位于预定范围内。在循环过程未结束时,更新后的各个训练参与方的子模型被用作下一循环过程的当前子模型。
具体地,矩阵乘积计算单元730被配置为计算第一训练参与方Alice处的当前子模型和第一特征数据子集的第一矩阵乘积。矩阵乘积计算单元730的操作可以参考上面参照图4描述的块410的操作。
部分预测差值确定单元740被配置为根据第一矩阵乘积和第一训练参与方处保留的部分标记值,使用第一差值确定公式确定第一训练参与方处的第一预测差值。部分预测差值确定单元740的操作可以参考上面参照图4描述的块420的操作。
总预测差值确定单元750被配置为基于第一预测差值和各个第二训练参与方处的第二预测差值,确定当前循环过程的总预测差值,各个第二训练参与方处的第二预测差值使用各自的第二差值确定公式确定。在本说明书中,第一差值确定公式和各个第二差值确定公式基于针对激活函数的多阶多项式公式展开进行分割后得到的分割结果确定,各个分割结果包括与各自的子模型和特征样本子集相关的展开项。总预测差值确定单元750的操作可以参考上面参照图3描述的块350的操作以及参照图5-6描述的操作。
模型更新量确定单元760被配置为基于总预测差值和第一特征数据子集,确定第一训练参与方处的模型更新量。模型更新量确定单元760的操作可以参考上面参照图3描述的块360的操作。
模型更新单元770被配置为使用第一训练参与方处的模型更新量来更新第一训练参与方处的当前子模型。模型更新单元770的操作可以参考上面参照图3描述的块370的操作。
这里要说明的是,部分预测差值确定单元740和总预测差值确定单元750可以采用相同或不同的组件或模块来实现。
图8示出了图7中的总预测差值确定单元的一个实现示例的方框图。如图8所示,总预测差值确定单元800包括预测差值发送模块810、预测差值接收模块820和求和模块830。
预测差值发送模块810被配置为将第一预测差值分别发送给各个第二训练参与方。预测差值发送模块810的操作可以参考上面参照图5描述的块510的操作。
预测差值接收模块820被配置为从各个第二训练参与方接收对应的第二预测差值。预测差值接收模块820的操作可以参考上面参照图5描述的块520和530的操作。
求和模块830被配置为对第一预测差值和所接收的各个第二预测差值进行求和,以得到总预测差值。求和模块830的操作可以参考上面参照图5描述的块540的操作。
图9示出了图7中的总预测差值确定单元的另一实现示例的方框图。如图9所示,总预测差值确定单元900包括预测差值分解模块910、第一预测差值发送模块920、第一预测差值接收模块930、第一求和模块940、第二预测差值发送模块950、第二预测差值接收模块960和第二求和模块970。
预测差值分解模块910被配置为将第一预测差值分解为第一数目个部分第一预测差值。预测差值分解模块910的操作可以参考上面参照图6描述的块601的操作。
第一预测差值发送模块920被配置为分别向各个第二训练参与方发送第二数目个部分第一预测差值中的一个部分第一预测差值。第一预测差值发送模块920的操作可以参考上面参照图6描述的块602的操作。
第一预测差值接收模块930分别从各个第二训练参与方接收一个部分第二预测差值,所述部分第二预测差值是在各个第二训练参与方处对各自的第二预测差值进行分解而得到的第一数目个部分第二预测差值中的一个。第一预测差值接收模块930的操作可以参考上面参照图6描述的块604和606的操作。
第一求和模块940被配置为对第一训练参与方处保留的部分第一预测差值与所接收的各个部分第二预测差值进行求和,以得到第一训练参与方处的部分总预测差值。第一求和模块940的操作可以参考上面参照图6描述的块607的操作。
第二预测差值发送模块950被配置为将第一训练参与方处的部分总预测差值分别发送给各个第二训练参与方。第二预测差值发送模块950的操作可以参考上面参照图6描述的块608的操作。
第二预测差值接收模块960被配置为从各个第二训练参与方接收各自的部分总预测差值,各个第二训练参与方处的部分总预测差值按照与所述第一训练参与方处的部分总预测差值相同的方式确定。第二预测差值接收模块960的操作可以参考上面参照图6描述的块609和610的操作。
第二求和模块970被配置为对第一训练参与方处的部分总预测差值和所接收的各个部分总预测差值进行求和,以得到总预测差值。第二求和模块970的操作可以参考上面参照图6描述的块611的操作。
这里要说明的是,第一预测差值发送模块920和第二预测差值发送模块950可以使用相同或不同的组件或模块实现。第一预测差值接收模块930和第二预测差值接收模块960可以使用相同或不同的组件或模块实现。第一求和模块940和第二求和模块970可以使用相同或不同的组件或模块实现。
图10示出了根据本说明书实施例的用于经由第一数目个训练参与方来协同训练逻辑回归模型的装置(下文中称为模型训练装置1000)的方框图。在该实施例中,逻辑回归模型被分解为第一数目个子模型,第一数目等于训练参与方的数目,并且每个训练参与方具有一个子模型。训练参与方包括第一训练参与方和第二数目个第二训练参与方。第一训练参与方具有第一特征数据子集和标记值,每个第二训练参与方具有第二特征数据子集,第一和第二特征数据子集通过对用于模型训练的特征数据集进行垂直切分而获得,第二数目等于第一数目减一。模型训练装置1000位于第二训练参与方侧。
如图10所示,模型训练装置1000包括标记值接收单元1010、矩阵乘积计算单元1020、部分预测差值确定单元1030、总预测差值确定单元1040、模型更新量确定单元1050和模型更新单元1060。
标记值接收单元1010被配置为从第一训练参与方接收部分标记值,所述部分标记值是在第一训练参与方处对标记值进行分解而得到的第一数目个部分标记值中的一个部分标记值。标记值接收单元1010的操作可以参考上面参照图3描述的块330的操作。
在进行模型训练时,矩阵乘积计算1020、部分预测差值确定单元1030、总预测差值确定单元1040、模型更新量确定单元1050和模型更新单元1060循环操作,直到满足循环结束条件。所述循环结束条件例如可以包括:达到预定循环次数,或者所得到的总预测差值位于预定范围内。在循环过程未结束时,更新后的各个训练参与方的子模型被用作下一循环过程的当前子模型。
具体地,矩阵乘积计算单元1020被配置为计算第二训练参与方处的当前子模型和对应的第二特征数据子集的第二矩阵乘积。矩阵乘积计算单元1020的操作可以参考上面参照图4描述的块410的操作。
部分预测差值确定单元1030被配置为根据第二矩阵乘积和所接收的部分标记值,使用第二差值确定公式确定第二训练参与方处的第二预测差值。部分预测差值确定单元1030的操作可以参考上面参照图4描述的块420的操作。
总预测差值确定单元1040被配置为基于第一训练参与方处的第一预测差值和各个第二训练参与方处的第二预测差值,确定当前循环过程的总预测差值,所述第一训练参与方处的第一预测差值使用第一差值确定公式确定,以及各个其它第二训练参与方处的第二预测差值使用各自的第二差值确定公式确定。总预测差值确定单元1040的操作可以参考上面参照图3描述的块350的操作以及参照图5-6描述的操作。
模型更新量确定单元1050被配置为基于总预测差值和第二特征数据子集,确定第二训练参与方处的模型更新量。模型更新量确定单元1050的操作可以参考上面参照图3描述的块360的操作。
模型更新单元1060被配置为使用第二训练参与方处的模型更新量来更新第二训练参与方处的当前子模型。模型更新单元1060的操作可以参考上面参照图3描述的块370的操作。
这里要说明的是,部分预测差值确定单元1030和总预测差值确定单元1040可以采用相同或不同的组件或模块来实现。
图11示出了图10中的总预测差值确定单元的一个实现示例的方框图。如图11所示,总预测差值确定单元1100包括预测差值发送模块1110、预测差值接收模块1120和求和模块1130。
预测差值发送模块1110被配置为将第二预测差值分别发送给第一训练参与方和各个其它第二训练参与方。预测差值发送模块1110的操作可以参考上面参照图5描述的块520或530的操作。
预测差值接收模块1120被配置为从第一训练参与方接收第一预测差值以及从各个其它第二训练参与方接收对应的第二预测差值。预测差值接收模块1120的操作可以参考上面参照图5描述的块510和520/530的操作。
求和模块1130被配置为对第一预测差值和各个第二预测差值进行求和,以得到总预测差值。求和模块1130的操作可以参考上面参照图5描述的块540的操作。
图12示出了图10中的总预测差值确定单元的另一实现示例的方框图。如图12所示,总预测差值确定单元1200包括预测差值分解模块1210、第一预测差值发送模块1220、第一预测差值接收模块1230、第一求和模块1240、第二预测差值发送模块1250、第二预测差值接收模块1260和第二求和模块1270。
预测差值分解模块1210被配置为将第二预测差值分解为第一数目个部分第二预测差值。预测差值分解模块1210的操作可以参考上面参照图6描述的块603或605的操作。
第一预测差值发送模块1220被配置为分别向第一训练参与方和各个其它第二训练参与方发送第二数目个部分第二预测差值中的一个部分第二预测差值。第一预测差值发送模块1220的操作可以参考上面参照图6描述的块604或606的操作。
第一预测差值接收模块1230分别从第一训练参与方接收一个部分第一预测差值以及各个其它第二训练参与方接收一个部分第二预测差值,所述部分第一预测差值是在第一训练参与方处对第一预测差值进行分解而得到的第一数目个部分第一预测差值中的一个,所述部分第二预测差值是在各个其它第二训练参与方处对各自的第二预测差值进行分解而得到的第一数目个部分第二预测差值中的一个。第一预测差值接收模块1230的操作可以参考上面参照图6描述的块602和604/606的操作。
第一求和模块1240被配置为对第二训练参与方处保留的部分第二预测差值与所接收的部分第一预测差值以及所接收的各个部分第二预测差值进行求和,以得到第二训练参与方处的部分总预测差值。第一求和模块1240的操作可以参考上面参照图6描述的块607的操作。
第二预测差值发送模块1250被配置为将第二训练参与方处的部分总预测差值分别发送给第一训练参与方以及各个其它第二训练参与方。第二预测差值发送模块1250的操作可以参考上面参照图6描述的块609/610的操作。
第二预测差值接收模块1260被配置为从第一训练参与方和各个其它第二训练参与方接收对应的部分总预测差值,第一训练参与方和各个其它第二训练参与方处的部分总预测差值按照与该第二训练参与方处的部分总预测差值相同的方式确定。第二预测差值接收模块1260的操作可以参考上面参照图6描述的块608和609/610的操作。
第二求和模块1270被配置为对第二训练参与方处的部分总预测差值和所接收的各个部分总预测差值进行求和,以得到总预测差值。第二求和模块1270的操作可以参考上面参照图6描述的块611的操作。
这里要说明的是,第一预测差值发送模块1220和第二预测差值发送模块1250可以使用相同或不同的组件或模块实现。第一预测差值接收模块1230和第二预测差值接收模块1260可以使用相同或不同的组件或模块实现。第一求和模块1240和第二求和模块1270可以使用相同或不同的组件或模块实现。
如上参照图1到图12,对根据本说明书实施例的模型训练方法、装置及系统进行了描述。上面的模型训练装置可以采用硬件实现,也可以采用软件或者硬件和软件的组合来实现。
图13示出了根据本说明书实施例的用于实现经由第一数目个训练参与方来协同训练逻辑回归模型的计算设备1300的硬件结构图。如图13所示,计算设备1300可以包括至少一个处理器1310、存储器(例如,非易失性存储器)1320、内存1330和通信接口1340,并且至少一个处理器1310、存储器1320、内存1330和通信接口1340经由总线1360连接在一起。至少一个处理器1310执行在存储器中存储或编码的至少一个计算机可读指令(即,上述以软件形式实现的元素)。
在一个实施例中,在存储器中存储计算机可执行指令,其当执行时使得至少一个处理器1310:将标记值分解为部分标记值和第二数目个部分标记值,并分别向各个第二训练参与方发送第二数目个部分标记值中的一个部分标记值;执行下述循环过程,直到满足循环结束条件:计算第一训练参与方处的当前子模型和第一特征数据子集的第一矩阵乘积;根据第一矩阵乘积和部分标记值,使用第一差值确定公式确定第一训练参与方处的第一预测差值;基于第一预测差值和各个第二训练参与方处的第二预测差值,确定当前循环过程的总预测差值E,各个第二训练参与方处的第二预测差值按照各自的第二差值确定公式确定;基于所述总预测差值E和所述第一特征数据子集,确定第一训练参与方处的模型更新量;以及使用第一训练参与方处的模型更新量来更新第一训练参与方处的当前子模型,其中,在循环过程未结束时,更新后的各个训练参与方的子模型用作下一循环过程的当前子模型,其中,第一差值确定公式和各个第二差值确定公式基于针对激活函数的多阶多项式公式展开进行分割后得到的分割结果确定,各个分割结果包括与各自的子模型和特征样本子集相关的展开项。
应该理解,在存储器中存储的计算机可执行指令当执行时使得至少一个处理器1310进行本说明书的各个实施例中以上结合图1-12描述的各种操作和功能。
图14示出了根据本说明书实施例的用于实现经由第一数目个训练参与方来协同训练逻辑回归模型的计算设备1400的硬件结构图。如图14所示,计算设备1400可以包括至少一个处理器1410、存储器(例如,非易失性存储器)1420、内存1430和通信接口1440,并且至少一个处理器1410、存储器1420、内存1430和通信接口1440经由总线1460连接在一起。至少一个处理器1410执行在存储器中存储或编码的至少一个计算机可读指令(即,上述以软件形式实现的元素)。
在一个实施例中,在存储器中存储计算机可执行指令,其当执行时使得至少一个处理器1410:从第一训练参与方接收部分标记值,所述部分标记值是在第一训练参与方处对所述标记值进行分解而得到的第一数目个部分标记值中的一个部分标记值;执行下述循环过程,直到满足循环结束条件:计算第二训练参与方处的当前子模型和对应的第二特征数据子集的第二矩阵乘积;根据第二矩阵乘积和所接收的部分标记值,使用第二差值确定公式确定第二训练参与方处的第二预测差值;基于第一训练参与方处的第一预测差值和各个第二训练参与方处的第二预测差值,确定当前循环过程的总预测差值,第一训练参与方处的第一预测差值按照第一差值确定公式确定,其中,是第一训练参与方保留的部分标记值,以及各个其它第二训练参与方处的第二预测差值按照对应的第二差值确定公式确定;基于总预测差值和所述第二特征数据子集,确定第二训练参与方处的模型更新量;以及使用第二训练参与方处的模型更新量来更新第二训练参与方处的当前子模型,其中,在循环过程未结束时,更新后的各个训练参与方的子模型用作下一循环过程的当前子模型,其中,第一差值确定公式和各个第二差值确定公式基于针对激活函数的多阶多项式公式展开进行分割后得到的分割结果确定,各个分割结果包括与各自的子模型和特征样本子集相关的展开项。
应该理解,在存储器中存储的计算机可执行指令当执行时使得至少一个处理器1410进行本说明书的各个实施例中以上结合图1-12描述的各种操作和功能。
根据一个实施例,提供了一种比如机器可读介质(例如,非暂时性机器可读介质)的程序产品。机器可读介质可以具有指令(即,上述以软件形式实现的元素),该指令当被机器执行时,使得机器执行本说明书的各个实施例中以上结合图1-12描述的各种操作和功能。具体地,可以提供配有可读存储介质的系统或者装置,在该可读存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机或处理器读出并执行存储在该可读存储介质中的指令。
在这种情况下,从可读介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此机器可读代码和存储机器可读代码的可读存储介质构成了本发明的一部分。
可读存储介质的实施例包括软盘、硬盘、磁光盘、光盘(如CD-ROM、CD-R、CD-RW、DVD-ROM、DVD-RAM、DVD-RW、DVD-RW)、磁带、非易失性存储卡和ROM。可选择地,可以由通信网络从服务器计算机上或云上下载程序代码。
本领域技术人员应当理解,上面公开的各个实施例可以在不偏离发明实质的情况下做出各种变形和修改。因此,本发明的保护范围应当由所附的权利要求书来限定。
需要说明的是,上述各流程和各系统结构图中不是所有的步骤和单元都是必须的,可以根据实际的需要忽略某些步骤或单元。各步骤的执行顺序不是固定的,可以根据需要进行确定。上述各实施例中描述的装置结构可以是物理结构,也可以是逻辑结构,即,有些单元可能由同一物理实体实现,或者,有些单元可能分由多个物理实体实现,或者,可以由多个独立设备中的某些部件共同实现。
以上各实施例中,硬件单元或模块可以通过机械方式或电气方式实现。例如,一个硬件单元、模块或处理器可以包括永久性专用的电路或逻辑(如专门的处理器,FPGA或ASIC)来完成相应操作。硬件单元或处理器还可以包括可编程逻辑或电路(如通用处理器或其它可编程处理器),可以由软件进行临时的设置以完成相应操作。具体的实现方式(机械方式、或专用的永久性电路、或者临时设置的电路)可以基于成本和时间上的考虑来确定。
上面结合附图阐述的具体实施方式描述了示例性实施例,但并不表示可以实现的或者落入权利要求书的保护范围的所有实施例。在整个本说明书中使用的术语“示例性”意味着“用作示例、实例或例示”,并不意味着比其它实施例“优选”或“具有优势”。出于提供对所描述技术的理解的目的,具体实施方式包括具体细节。然而,可以在没有这些具体细节的情况下实施这些技术。在一些实例中,为了避免对所描述的实施例的概念造成难以理解,公知的结构和装置以框图形式示出。
本公开内容的上述描述被提供来使得本领域任何普通技术人员能够实现或者使用本公开内容。对于本领域普通技术人员来说,对本公开内容进行的各种修改是显而易见的,并且,也可以在不脱离本公开内容的保护范围的情况下,将本文所定义的一般性原理应用于其它变型。因此,本公开内容并不限于本文所描述的示例和设计,而是与符合本文公开的原理和新颖性特征的最广范围相一致。
Claims (21)
1.一种用于经由第一数目个训练参与方来训练逻辑回归模型的方法,所述训练参与方包括第一训练参与方和第二数目个第二训练参与方,所述逻辑回归模型被垂直切分为第一数目个子模型,第一训练参与方具有子模型,各个第二训练参与方具有子模型,所述第一训练参与方具有第一特征数据子集和标记值,每个第二训练参与方具有第二特征数据子集,所述第一和第二特征数据子集通过对用于模型训练的特征数据集进行垂直切分而获得,所述第二数目等于所述第一数目减一,所述方法由所述第一训练参与方执行,所述方法包括:
执行下述循环过程,直到满足循环结束条件:
使用所述第一训练参与方处的模型更新量来更新所述第一训练参与方处的当前子模型,其中,在循环过程未结束时,所述更新后的各个训练参与方的子模型用作下一循环过程的当前子模型,
2.如权利要求1所述的方法,其中,所述多阶多项式公式展开是泰勒公式展开。
3.如权利要求2所述的方法,其中,所述泰勒公式展开是二阶泰勒公式展开。
4.如权利要求1所述的方法,其中,基于所述第一预测差值和各个第二训练参与方处的第二预测差值,确定当前循环过程的总预测差值包括:
对所述第一预测差值和各个第二训练参与方处的第二预测差值进行求和计算,以确定当前循环过程的总预测差值。
5.如权利要求4所述的方法,其中,所述求和计算包括安全求和计算。
6.如权利要求5所述的方法,其中,所述安全求和计算包括:
基于秘密共享的安全求和计算;
基于同态加密的安全求和计算;或者
基于可信执行环境的安全求和计算。
8. 如权利要求1到7中任一所述的方法,其中,所述循环结束条件包括:
预定循环次数;或者
所确定出的总预测差值位于预定范围内。
9.如权利要求1到7中任一所述的方法,其中,所述特征数据包括基于图像数据、语音数据或文本数据的特征数据,或者所述特征数据包括用户特征数据。
10.一种用于经由第一数目个训练参与方来训练逻辑回归模型的方法,所述训练参与方包括第一训练参与方和第二数目个第二训练参与方,所述逻辑回归模型被垂直切分为第一数目个子模型,第一训练参与方具有子模型,各个第二训练参与方具有子模型,所述第一训练参与方具有第一特征数据子集和标记值,每个第二训练参与方具有第二特征数据子集,所述第一和第二特征数据子集通过对用于模型训练的特征数据集进行垂直切分而获得,所述第二数目等于所述第一数目减一,所述方法由所述第二训练参与方执行,所述方法包括:
执行下述循环过程,直到满足循环结束条件:
基于所述第一训练参与方处的第一预测差值和各个第二训练参与方处的第二预测差值,确定当前循环过程的总预测差值,所述第一训练参与方处的第一预测差值按照第一差值确定公式确定,其中,是第一训练参与方保留的部分标记值,以及各个其它第二训练参与方处的第二预测差值按照对应的第二差值确定公式确定;
使用所述第二训练参与方处的模型更新量来更新所述第二训练参与方处的当前子模型,其中,在循环过程未结束时,所述更新后的各个训练参与方的子模型用作下一循环过程的当前子模型,
12.一种用于经由第一数目个训练参与方来训练逻辑回归模型的装置,所述训练参与方包括第一训练参与方和第二数目个第二训练参与方,所述逻辑回归模型被垂直切分为第一数目个子模型,第一训练参与方具有子模型,各个第二训练参与方具有子模型,所述第一训练参与方具有第一特征数据子集和标记值,每个第二训练参与方具有第二特征数据子集,所述第一和第二特征数据子集通过对用于模型训练的特征数据集进行垂直切分而获得,所述第二数目等于所述第一数目减一,所述装置应用于所述第一训练参与方,所述装置包括:
模型更新单元,使用所述第一训练参与方处的模型更新量来更新所述第一训练参与方处的当前子模型,
其中,所述矩阵乘积计算单元、所述部分预测差值确定单元、所述总预测差值确定单元、所述模型更新量确定单元和所述模型更新单元循环执行操作,直到满足循环结束条件,
其中,在循环过程未结束时,所述更新后的各个训练参与方的子模型用作下一循环过程的当前子模型。
13.如权利要求12所述的装置,其中,所述总预测差值确定单元:
对所述第一预测差值和各个第二训练参与方处的第二预测差值进行求和计算,以确定当前循环过程的总预测差值。
14.如权利要求13所述的装置,其中,所述求和计算包括安全求和计算。
15.一种用于经由第一数目个训练参与方来训练逻辑回归模型的装置,所述训练参与方包括第一训练参与方和第二数目个第二训练参与方,所述逻辑回归模型被垂直切分为第一数目个子模型,第一训练参与方具有子模型,各个第二训练参与方具有子模型,所述第一训练参与方具有第一特征数据子集和标记值,每个第二训练参与方具有第二特征数据子集,所述第一和第二特征数据子集通过对用于模型训练的特征数据集进行垂直切分而获得,所述第二数目等于所述第一数目减一,所述装置应用于所述第二训练参与方,所述装置包括:
总预测差值确定单元,基于所述第一训练参与方处的第一预测差值和各个第二训练参与方处的第二预测差值,确定当前循环过程的总预测差值,所述第一训练参与方处的第一预测差值按照第一差值确定公式确定,其中,是第一训练参与方保留的部分标记值,以及各个其它第二训练参与方处的第二预测差值按照对应的第二差值确定公式确定;
模型更新单元,使用所述第二训练参与方处的模型更新量来更新所述第二训练参与方处的当前子模型,
其中,所述矩阵乘积计算单元、所述部分预测差值确定单元、所述总预测差值确定单元、所述模型更新量确定单元和所述模型更新单元循环执行操作,直到满足循环结束条件,
其中,在循环过程未结束时,所述更新后的各个训练参与方的子模型用作下一循环过程的当前子模型。
16.如权利要求15所述的装置,其中,所述总预测差值确定单元:
对所述第一预测差值和各个第二训练参与方处的第二预测差值进行安全求和计算,以确定当前循环过程的总预测差值。
17. 一种用于经由第一数目个训练参与方来训练逻辑回归模型的系统,包括:
第一训练参与方设备,包括如权利要求12到14中任一所述的装置;以及
第二数目个第二训练参与方设备,每个第二训练参与方设备包括如权利要求15或16所述的装置,所述第二数目等于所述第一数目减一,
其中,所述逻辑回归模型被垂直切分为第一数目个子模型,每个训练参与方设备具有一个子模型,所述第一训练参与方设备具有第一特征数据子集和标记值,每个第二训练参与方设备具有第二特征数据子集,所述第一和第二特征数据子集通过对用于模型训练的特征数据集进行垂直切分而获得。
18. 一种计算设备,包括:
至少一个处理器,以及
与所述至少一个处理器耦合的存储器,所述存储器存储指令,当所述指令被所述至少一个处理器执行时,使得所述至少一个处理器执行如权利要求1到9中任一所述的方法。
19.一种机器可读存储介质,其存储有可执行指令,所述指令当被执行时使得所述机器执行如权利要求1到9中任一所述的方法。
20. 一种计算设备,包括:
至少一个处理器,以及
与所述至少一个处理器耦合的存储器,所述存储器存储指令,当所述指令被所述至少一个处理器执行时,使得所述至少一个处理器执行如权利要求10或11所述的方法。
21.一种机器可读存储介质,其存储有可执行指令,所述指令当被执行时使得所述机器执行如权利要求10或11所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010096283.XA CN110929887B (zh) | 2020-02-17 | 2020-02-17 | 逻辑回归模型训练方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010096283.XA CN110929887B (zh) | 2020-02-17 | 2020-02-17 | 逻辑回归模型训练方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110929887A true CN110929887A (zh) | 2020-03-27 |
CN110929887B CN110929887B (zh) | 2020-07-03 |
Family
ID=69854825
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010096283.XA Active CN110929887B (zh) | 2020-02-17 | 2020-02-17 | 逻辑回归模型训练方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110929887B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111523134A (zh) * | 2020-07-03 | 2020-08-11 | 支付宝(杭州)信息技术有限公司 | 基于同态加密的模型训练方法、装置及系统 |
CN115018087A (zh) * | 2022-07-26 | 2022-09-06 | 北京融数联智科技有限公司 | 一种多方纵向逻辑回归算法模型的训练方法及系统 |
WO2023124312A1 (zh) * | 2021-12-29 | 2023-07-06 | 新智我来网络科技有限公司 | 联合学习中的预测方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108280462A (zh) * | 2017-12-11 | 2018-07-13 | 北京三快在线科技有限公司 | 一种模型训练方法及装置,电子设备 |
CN108364073A (zh) * | 2018-01-23 | 2018-08-03 | 中国科学院计算技术研究所 | 一种多标记学习方法 |
CN109919317A (zh) * | 2018-01-11 | 2019-06-21 | 华为技术有限公司 | 一种机器学习模型训练方法和装置 |
CN109993299A (zh) * | 2017-12-29 | 2019-07-09 | 中兴通讯股份有限公司 | 数据训练方法及装置、存储介质、电子装置 |
CN110782044A (zh) * | 2019-10-29 | 2020-02-11 | 支付宝(杭州)信息技术有限公司 | 多方联合训练图神经网络的方法及装置 |
-
2020
- 2020-02-17 CN CN202010096283.XA patent/CN110929887B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108280462A (zh) * | 2017-12-11 | 2018-07-13 | 北京三快在线科技有限公司 | 一种模型训练方法及装置,电子设备 |
CN109993299A (zh) * | 2017-12-29 | 2019-07-09 | 中兴通讯股份有限公司 | 数据训练方法及装置、存储介质、电子装置 |
CN109919317A (zh) * | 2018-01-11 | 2019-06-21 | 华为技术有限公司 | 一种机器学习模型训练方法和装置 |
CN108364073A (zh) * | 2018-01-23 | 2018-08-03 | 中国科学院计算技术研究所 | 一种多标记学习方法 |
CN110782044A (zh) * | 2019-10-29 | 2020-02-11 | 支付宝(杭州)信息技术有限公司 | 多方联合训练图神经网络的方法及装置 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111523134A (zh) * | 2020-07-03 | 2020-08-11 | 支付宝(杭州)信息技术有限公司 | 基于同态加密的模型训练方法、装置及系统 |
WO2023124312A1 (zh) * | 2021-12-29 | 2023-07-06 | 新智我来网络科技有限公司 | 联合学习中的预测方法及装置 |
CN115018087A (zh) * | 2022-07-26 | 2022-09-06 | 北京融数联智科技有限公司 | 一种多方纵向逻辑回归算法模型的训练方法及系统 |
CN115018087B (zh) * | 2022-07-26 | 2023-05-09 | 北京融数联智科技有限公司 | 一种多方纵向逻辑回归算法模型的训练方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN110929887B (zh) | 2020-07-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110929870B (zh) | 图神经网络模型训练方法、装置及系统 | |
CN111523673B (zh) | 模型训练方法、装置及系统 | |
CN110942147B (zh) | 基于多方安全计算的神经网络模型训练及预测方法、装置 | |
CN111061963B (zh) | 基于多方安全计算的机器学习模型训练及预测方法、装置 | |
CN112052942B (zh) | 神经网络模型训练方法、装置及系统 | |
CN110929887B (zh) | 逻辑回归模型训练方法、装置及系统 | |
CN111079939B (zh) | 基于数据隐私保护的机器学习模型特征筛选方法及装置 | |
CN111062487B (zh) | 基于数据隐私保护的机器学习模型特征筛选方法及装置 | |
CN112580826B (zh) | 业务模型训练方法、装置及系统 | |
CN111523134B (zh) | 基于同态加密的模型训练方法、装置及系统 | |
CN112132270B (zh) | 基于隐私保护的神经网络模型训练方法、装置及系统 | |
CN111741020B (zh) | 基于数据隐私保护的公共数据集确定方法、装置及系统 | |
CN111523674B (zh) | 模型训练方法、装置及系统 | |
CN111738438B (zh) | 图神经网络模型训练方法、装置及系统 | |
CN111523556A (zh) | 模型训练方法、装置及系统 | |
CN112183757B (zh) | 模型训练方法、装置及系统 | |
CN112183759B (zh) | 模型训练方法、装置及系统 | |
CN111737756B (zh) | 经由两个数据拥有方进行的xgb模型预测方法、装置及系统 | |
CN112288088B (zh) | 业务模型训练方法、装置及系统 | |
CN111738453B (zh) | 基于样本加权的业务模型训练方法、装置及系统 | |
CN111523675A (zh) | 模型训练方法、装置及系统 | |
CN111737753B (zh) | 基于数据隐私保护的两方数据聚类方法、装置及系统 | |
CN112183565B (zh) | 模型训练方法、装置及系统 | |
CN112183566B (zh) | 模型训练方法、装置及系统 | |
CN112183564A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |