CN110929887A - 逻辑回归模型训练方法、装置及系统 - Google Patents

逻辑回归模型训练方法、装置及系统 Download PDF

Info

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
Application number
CN202010096283.XA
Other languages
English (en)
Other versions
CN110929887B (zh
Inventor
陈超超
王力
周俊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alipay Hangzhou Information Technology Co Ltd
Original Assignee
Alipay Hangzhou Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Alipay Hangzhou Information Technology Co Ltd filed Critical Alipay Hangzhou Information Technology Co Ltd
Priority to CN202010096283.XA priority Critical patent/CN110929887B/zh
Publication of CN110929887A publication Critical patent/CN110929887A/zh
Application granted granted Critical
Publication of CN110929887B publication Critical patent/CN110929887B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine 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

逻辑回归模型训练方法、装置及系统
技术领域
本说明书实施例通常涉及机器学习领域,尤其涉及用于使用垂直切分的特征数据集来经由多个训练参与方协同训练逻辑回归模型的方法、装置及系统。
背景技术
逻辑回归模型是机器学习领域广泛使用的回归/分类模型。在很多情况下,多个模型训练参与方(例如,电子商务公司、快递公司和银行)各自拥有训练逻辑回归模型所使用的特征数据的不同部分数据。该多个模型训练参与方通常想共同使用彼此的数据来统一训练逻辑回归模型,但又不想把各自的数据提供给其它各个模型训练参与方以防止自己的数据被泄露。
面对这种情况,提出了能够保护数据安全的逻辑回归模型训练方法,其能够在保证多个模型训练参与方的各自数据安全的情况下,协同该多个模型训练参与方来训练逻辑回归模型,以供该多个模型训练参与方使用。然而,现有的能够保护数据安全的逻辑回归模型训练方法效率较低。
发明内容
鉴于上述问题,本说明书实施例提供了一种用于经由多个训练参与方协同训练逻辑回归模型的方法、装置及系统,其能够在保证多个训练参与方的各自数据安全的情况下实现逻辑回归模型训练。
根据本说明书实施例的一个方面,提供一种用于经由第一数目个训练参与方来训练逻辑回归模型的方法,所述训练参与方包括第一训练参与方和第二数目个第二训练参与方,所述逻辑回归模型被垂直切分为第一数目个子模型,第一训练参与方具有子模型
Figure 847195DEST_PATH_IMAGE001
,各个第二训练参与方具有子模型
Figure 764335DEST_PATH_IMAGE002
,所述第一训练参与方具有第一特征数据子集
Figure 481756DEST_PATH_IMAGE003
和标记值
Figure 876965DEST_PATH_IMAGE004
,每个第二训练参与方具有第二特征数据子集
Figure 629020DEST_PATH_IMAGE005
,所述第一和第二特征数据子集通过对用于模型训练的特征数据集进行垂直切分而获得,所述第二数目等于所述第一数目减一,所述方法由所述第一训练参与方执行,所述方法包括:将所述标记值
Figure 451483DEST_PATH_IMAGE006
分解为部分标记值
Figure 718516DEST_PATH_IMAGE007
和第二数目个部分标记值
Figure 855099DEST_PATH_IMAGE008
,并分别向各个第二训练参与方发送所述第二数目个部分标记值
Figure 523978DEST_PATH_IMAGE009
中的一个部分标记值
Figure 517342DEST_PATH_IMAGE010
;执行下述循环过程,直到满足循环结束条件:计算所述第一训练参与方处的当前子模型
Figure 209354DEST_PATH_IMAGE011
和所述第一特征数据子集
Figure 946366DEST_PATH_IMAGE012
的第一矩阵乘积
Figure 469751DEST_PATH_IMAGE013
;根据所述第一矩阵乘积
Figure 837279DEST_PATH_IMAGE014
和部分标记值
Figure 78904DEST_PATH_IMAGE015
,使用第一差值确定公式
Figure 291711DEST_PATH_IMAGE016
确定所述第一训练参与方处的第一预测差值
Figure 935182DEST_PATH_IMAGE017
;基于所述第一预测差值
Figure 270348DEST_PATH_IMAGE018
和各个第二训练参与方处的第二预测差值
Figure 936953DEST_PATH_IMAGE019
,确定当前循环过程的总预测差值E,各个第二训练参与方处的第二预测差值按照各自的第二差值确定公式
Figure 15767DEST_PATH_IMAGE020
确定;基于所述总预测差值E和所述第一特征数据子集
Figure 513745DEST_PATH_IMAGE021
,确定所述第一训练参与方处的模型更新量;以及使用所述第一训练参与方处的模型更新量来更新所述第一训练参与方处的当前子模型,其中,在循环过程未结束时,所述更新后的各个训练参与方的子模型用作下一循环过程的当前子模型,其中,所述第一差值确定公式
Figure 223075DEST_PATH_IMAGE022
和各个第二差值确定公式
Figure 173713DEST_PATH_IMAGE023
基于针对激活函数的多阶多项式公式展开进行分割后得到的分割结果确定,各个分割结果包括与各自的子模型和特征样本子集相关的展开项。
可选地,在上述方面的一个示例中,所述多阶多项式公式展开可以是泰勒公式展开。
可选地,在上述方面的一个示例中,所述泰勒公式展开可以是二阶泰勒公式展开。
可选地,在上述方面的一个示例中,基于第一预测差值和各个第二训练参与方处的第二预测差值,确定当前循环过程的总预测差值可以包括:对第一预测差值和各个第二训练参与方处的第二预测差值进行求和计算,以确定当前循环过程的总预测差值。
可选地,在上述方面的一个示例中,所述求和计算包括安全求和计算。
可选地,在上述方面的一个示例中,所述安全求和计算可以包括:基于秘密共享的安全求和计算,基于同态加密的安全求和计算,或者基于可信执行环境的安全求和计算。
可选地,在上述方面的一个示例中,使用第一训练参与方处的模型更新量来更新第一训练参与方的当前子模型包括:按照以下等式更新第一训练参与方处的当前子模型
Figure 56219DEST_PATH_IMAGE024
,其中,
Figure 346386DEST_PATH_IMAGE025
表示第一训练参与方处的更新后的子模型,
Figure 288934DEST_PATH_IMAGE026
表示第一训练参与方处的当前子模型,
Figure 664552DEST_PATH_IMAGE027
表示学习率,以及
Figure 85169DEST_PATH_IMAGE028
表示第一训练参与方处的模型更新量。
可选地,在上述方面的一个示例中,所述循环结束条件可以包括:预定循环次数;或者所确定出的总预测差值位于预定范围内。
可选地,在上述方面的一个示例中,所述特征数据包括基于图像数据、语音数据或文本数据的特征数据,或者所述特征数据包括用户特征数据。
根据本说明书实施例的另一方面,提供一种用于经由第一数目个训练参与方来训练逻辑回归模型的方法,所述训练参与方包括第一训练参与方和第二数目个第二训练参与方,所述逻辑回归模型被垂直切分为第一数目个子模型,第一训练参与方具有子模型
Figure 557738DEST_PATH_IMAGE029
,各个第二训练参与方具有子模型
Figure 608871DEST_PATH_IMAGE030
,所述第一训练参与方具有第一特征数据子集
Figure 534102DEST_PATH_IMAGE031
和标记值
Figure 758410DEST_PATH_IMAGE032
,每个第二训练参与方具有第二特征数据子集
Figure 757590DEST_PATH_IMAGE033
,所述第一和第二特征数据子集通过对用于模型训练的特征数据集进行垂直切分而获得,所述第二数目等于所述第一数目减一,所述方法由所述第二训练参与方执行,所述方法包括:从所述第一训练参与方接收部分标记值
Figure 41940DEST_PATH_IMAGE034
,所述部分标记值
Figure 454467DEST_PATH_IMAGE035
是在所述第一训练参与方处对所述标记值
Figure 420149DEST_PATH_IMAGE036
进行分解而得到的第一数目个部分标记值中的一个部分标记值;执行下述循环过程,直到满足循环结束条件:计算所述第二训练参与方处的当前子模型
Figure 601732DEST_PATH_IMAGE037
和对应的第二特征数据子集
Figure 729088DEST_PATH_IMAGE038
的第二矩阵乘积
Figure 628911DEST_PATH_IMAGE039
;根据所述第二矩阵乘积
Figure 195021DEST_PATH_IMAGE040
和所接收的部分标记值
Figure 434373DEST_PATH_IMAGE041
,使用第二差值确定公式
Figure 794947DEST_PATH_IMAGE042
确定所述第二训练参与方处的第二预测差值
Figure 108030DEST_PATH_IMAGE043
;基于所述第一训练参与方处的第一预测差值
Figure 477832DEST_PATH_IMAGE044
和各个第二训练参与方处的第二预测差值
Figure 368427DEST_PATH_IMAGE045
,确定当前循环过程的总预测差值
Figure 103165DEST_PATH_IMAGE046
,所述第一训练参与方处的第一预测差值
Figure 712001DEST_PATH_IMAGE047
按照第一差值确定公式
Figure 885493DEST_PATH_IMAGE048
确定,其中,
Figure 833858DEST_PATH_IMAGE049
是第一训练参与方保留的部分标记值,以及各个其它第二训练参与方处的第二预测差值
Figure 801814DEST_PATH_IMAGE050
按照对应的第二差值确定公式
Figure 897946DEST_PATH_IMAGE051
确定;基于所述总预测差值
Figure 547233DEST_PATH_IMAGE052
和所述第二特征数据子集
Figure 412421DEST_PATH_IMAGE053
,确定所述第二训练参与方处的模型更新量;以及使用所述第二训练参与方处的模型更新量来更新所述第二训练参与方处的当前子模型,其中,在循环过程未结束时,所述更新后的各个训练参与方的子模型被用作下一循环过程的当前子模型,其中,所述第一差值确定公式
Figure 488961DEST_PATH_IMAGE054
和各个第二差值确定公式
Figure 72389DEST_PATH_IMAGE055
基于针对激活函数的多阶多项式公式展开进行分割后得到的分割结果确定,各个分割结果包括与各自的子模型和特征样本子集相关的展开项。
可选地,在上述方面的一个示例中,使用第二训练参与方处的模型更新量来更新第二训练参与方的当前子模型包括:按照以下等式更新第二训练参与方处的当前子模型
Figure 322105DEST_PATH_IMAGE056
,其中,
Figure 245062DEST_PATH_IMAGE057
表示第二训练参与方处的更新后的子模型,
Figure 554820DEST_PATH_IMAGE058
表示第二训练参与方处的当前子模型,
Figure 625544DEST_PATH_IMAGE059
表示学习率,以及
Figure 616634DEST_PATH_IMAGE060
表示第二训练参与方处的模型更新量。
根据本说明书实施例的另一方面,提供一种用于经由第一数目个训练参与方来训练逻辑回归模型的装置,所述训练参与方包括第一训练参与方和第二数目个第二训练参与方,所述逻辑回归模型被垂直切分为第一数目个子模型,第一训练参与方具有子模型
Figure 456414DEST_PATH_IMAGE029
,各个第二训练参与方具有子模型
Figure 874757DEST_PATH_IMAGE061
,所述第一训练参与方具有第一特征数据子集
Figure 167198DEST_PATH_IMAGE062
和标记值
Figure 24296DEST_PATH_IMAGE063
,每个第二训练参与方具有第二特征数据子集
Figure 656265DEST_PATH_IMAGE064
,所述第一和第二特征数据子集通过对用于模型训练的特征数据集进行垂直切分而获得,所述第二数目等于所述第一数目减一,所述装置应用于所述第一训练参与方,所述装置包括:标记值分解单元,将所述标记值
Figure 307827DEST_PATH_IMAGE065
分解为部分标记值
Figure 353143DEST_PATH_IMAGE066
和第二数目个部分标记值
Figure 686035DEST_PATH_IMAGE035
;标记值发送单元,分别向各个第二训练参与方发送所述第二数目个部分标记值中的一个部分标记值
Figure 234828DEST_PATH_IMAGE067
;矩阵乘积计算单元,计算所述第一训练参与方处的当前子模型
Figure 322870DEST_PATH_IMAGE068
和所述第一特征数据子集
Figure 527587DEST_PATH_IMAGE069
的第一矩阵乘积
Figure 726487DEST_PATH_IMAGE070
;部分预测差值确定单元,根据所述第一矩阵乘积
Figure 129786DEST_PATH_IMAGE071
和部分标记值
Figure 326412DEST_PATH_IMAGE072
,使用第一差值确定公式
Figure 80742DEST_PATH_IMAGE073
确定所述第一训练参与方处的第一预测差值
Figure 755437DEST_PATH_IMAGE074
;总预测差值确定单元,基于所述第一预测差值
Figure 278822DEST_PATH_IMAGE075
和各个第二训练参与方处的第二预测差值
Figure 708666DEST_PATH_IMAGE076
,确定当前循环过程的总预测差值
Figure 622396DEST_PATH_IMAGE077
,各个第二训练参与方处的第二预测差值
Figure 163098DEST_PATH_IMAGE078
按照各自的第二差值确定公式
Figure 806569DEST_PATH_IMAGE079
确定;模型更新量确定单元,基于所述总预测差值
Figure 79419DEST_PATH_IMAGE080
和所述第一特征数据子集
Figure 808340DEST_PATH_IMAGE081
,确定所述第一训练参与方处的模型更新量;以及模型更新单元,使用所述第一训练参与方处的模型更新量来更新所述第一训练参与方处的当前子模型,其中,所述第一差值确定公式
Figure 824838DEST_PATH_IMAGE082
和各个第二差值确定公式
Figure 322815DEST_PATH_IMAGE083
基于针对激活函数的多阶多项式公式展开进行分割后得到的分割结果确定,各个分割结果包括与各自的子模型和特征样本子集相关的展开项,其中,所述矩阵乘积计算单元、所述部分预测差值确定单元、所述总预测差值确定单元、所述模型更新量确定单元和所述模型更新单元循环执行操作,直到满足循环结束条件,其中,在循环过程未结束时,所述更新后的各个训练参与方的子模型被用作下一循环过程的当前子模型。
可选地,在上述方面的一个示例中,总预测差值确定单元可以对第一预测差值和各个第二训练参与方处的第二预测差值进行求和计算,以确定当前循环过程的总预测差值。
可选地,在上述方面的一个示例中,所述求和计算包括安全求和计算。
根据本说明书实施例的另一方面,提供一种用于经由第一数目个训练参与方来训练逻辑回归模型的装置,所述训练参与方包括第一训练参与方和第二数目个第二训练参与方,所述逻辑回归模型被垂直切分为第一数目个子模型,第一训练参与方具有子模型
Figure 828883DEST_PATH_IMAGE084
,各个第二训练参与方具有子模型
Figure 982784DEST_PATH_IMAGE085
,所述第一训练参与方具有第一特征数据子集
Figure 865289DEST_PATH_IMAGE086
和标记值
Figure 217773DEST_PATH_IMAGE087
,每个第二训练参与方具有第二特征数据子集
Figure 98004DEST_PATH_IMAGE038
,所述第一和第二特征数据子集通过对用于模型训练的特征数据集进行垂直切分而获得,所述第二数目等于所述第一数目减一,所述装置应用于所述第二训练参与方,所述装置包括:标记值接收单元,从所述第一训练参与方接收部分标记值
Figure 535939DEST_PATH_IMAGE088
,所述部分标记值
Figure 956556DEST_PATH_IMAGE089
是在所述第一训练参与方处对所述标记值
Figure 366809DEST_PATH_IMAGE090
进行分解而得到的第一数目个部分标记值中的一个部分标记值;矩阵乘积计算单元,计算所述第二训练参与方处的当前子模型
Figure 214679DEST_PATH_IMAGE091
和对应的第二特征数据子集
Figure 77593DEST_PATH_IMAGE092
的第二矩阵乘积
Figure 301901DEST_PATH_IMAGE093
;部分预测差值确定单元,根据所述第二矩阵乘积
Figure 628977DEST_PATH_IMAGE094
和所接收的部分标记值
Figure 851011DEST_PATH_IMAGE095
,使用第二差值确定公式
Figure 263538DEST_PATH_IMAGE096
确定所述第二训练参与方处的第二预测差值
Figure 25957DEST_PATH_IMAGE097
;总预测差值确定单元,基于所述第一训练参与方处的第一预测差值
Figure 145223DEST_PATH_IMAGE098
和各个第二训练参与方处的第二预测差值
Figure 600475DEST_PATH_IMAGE099
,确定当前循环过程的总预测差值
Figure 500298DEST_PATH_IMAGE100
,所述第一训练参与方处的第一预测差值
Figure 4092DEST_PATH_IMAGE101
按照第一差值确定公式
Figure 40181DEST_PATH_IMAGE102
确定,其中,
Figure 604017DEST_PATH_IMAGE049
是第一训练参与方保留的部分标记值,以及各个其它第二训练参与方处的第二预测差值
Figure 991136DEST_PATH_IMAGE103
按照对应的第二差值确定公式
Figure 95359DEST_PATH_IMAGE104
确定;模型更新量确定单元,基于所述总预测差值
Figure 189217DEST_PATH_IMAGE105
和所述第二特征数据子集
Figure 986271DEST_PATH_IMAGE106
,确定所述第二训练参与方处的模型更新量;以及模型更新单元,使用所述第二训练参与方处的模型更新量来更新所述第二训练参与方处的当前子模型,其中,所述第一差值确定公式
Figure 595107DEST_PATH_IMAGE107
和各个第二差值确定公式
Figure 706283DEST_PATH_IMAGE108
基于针对激活函数的多阶多项式公式展开进行分割后得到的分割结果确定,各个分割结果包括与各自的子模型和特征样本子集相关的展开项,其中,所述矩阵乘积计算单元、所述部分预测差值确定单元、所述总预测差值确定单元、所述模型更新量确定单元和所述模型更新单元循环执行操作,直到满足循环结束条件,其中,在循环过程未结束时,所述更新后的各个训练参与方的子模型被用作下一循环过程的当前子模型。
可选地,在上述方面的一个示例中,总预测差值确定单元可以对第一预测差值和各个第二训练参与方处的第二预测差值进行安全求和计算,以确定当前循环过程的总预测差值。
根据本说明书实施例的另一方面,提供一种用于经由第一数目个训练参与方来训练逻辑回归模型的系统,包括:第一训练参与方设备,包括如上所述的装置;以及第二数目个第二训练参与方设备,每个第二训练参与方设备包括如上所述的装置,第二数目等于第一数目减一,其中,逻辑回归模型被垂直切分为第一数目个子模型,每个训练参与方设备具有一个子模型,第一训练参与方设备具有第一特征数据子集和标记值,每个第二训练参与方设备具有第二特征数据子集,第一和第二特征数据子集通过对用于模型训练的特征数据集进行垂直切分而获得。
根据本说明书实施例的另一方面,提供一种计算设备,包括:至少一个处理器,以及与所述至少一个处理器耦合的存储器,所述存储器存储指令,当所述指令被所述至少一个处理器执行时,使得所述至少一个处理器执行如上所述的在第一训练参与方侧执行的训练方法。
根据本说明书实施例的另一方面,提供一种机器可读存储介质,其存储有可执行指令,所述指令当被执行时使得所述至少一个处理器执行如上所述的在第一训练参与方侧执行的训练方法。
根据本说明书实施例的另一方面,提供一种计算设备,包括:至少一个处理器,以及与所述至少一个处理器耦合的存储器,所述存储器存储指令,当所述指令被所述至少一个处理器执行时,使得所述至少一个处理器执行如上所述的在第二训练参与方侧执行的训练方法。
根据本说明书实施例的另一方面,提供一种机器可读存储介质,其存储有可执行指令,所述指令当被执行时使得所述至少一个处理器执行如上所述的在第二训练参与方侧执行的训练方法。
利用本说明书实施例的方案,能够在不泄漏该多个训练参与方的秘密数据的情况下训练得到逻辑回归模型的模型参数。此外,由于仅仅对第一训练参与方处的标记值进行秘密分割,并且使用泰勒公式展开来执行模型预测值计算,从而降低逻辑回归模型训练所需的通信量和计算量,由此提高逻辑回归模型的训练效率。
附图说明
通过参照下面的附图,可以实现对于本说明书内容的本质和优点的进一步理解。在附图中,类似组件或特征可以具有相同的附图标记。
图1示出了根据本说明书的实施例的经过垂直切分的训练样本集的示例的示意图;
图2示出了示出了根据本说明书的实施例的用于经由多个训练参与方训练逻辑回归模型的系统的架构示意图;
图3示出了根据本说明书的实施例的用于经由多个训练参与方训练逻辑回归模型的方法的流程图;
图4示出了根据本说明书的实施例的各个训练参与方处的预测差值确定过程的一个示例的流程图;
图5示出了根据本说明书的实施例的用于确定总预测差值的过程的一个示例的流程图;
图6示出了根据本说明书的实施例的用于确定总预测差值的过程的另一示例的流程图;
图7示出了根据本说明书的实施例的用于经由多个训练参与方训练逻辑回归模型的装置的方框图;
图8示出了图7中的总预测差值确定单元的一个实现示例的方框图;
图9示出了图7中的总预测差值确定单元的另一实现示例的方框图;
图10示出了根据本说明书的实施例的用于经由多个训练参与方训练逻辑回归模型的装置的方框图;
图11示出了图10中的总预测差值确定单元的一个实现示例的方框图;
图12示出了图10中的总预测差值确定单元的另一实现示例的方框图;
图13示出了根据本说明书的实施例的用于经由多个训练参与方训练逻辑回归模型的计算设备的示意图;和
图14示出了根据本说明书的实施例的用于经由多个训练参与方训练逻辑回归模型的计算设备的示意图。
具体实施方式
现在将参考示例实施方式讨论本文描述的主题。应该理解,讨论这些实施方式只是为了使得本领域技术人员能够更好地理解从而实现本文描述的主题,并非是对权利要求书中所阐述的保护范围、适用性或者示例的限制。可以在不脱离本说明书内容的保护范围的情况下,对所讨论的元素的功能和排列进行改变。各个示例可以根据需要,省略、替代或者添加各种过程或组件。例如,所描述的方法可以按照与所描述的顺序不同的顺序来执行,以及各个步骤可以被添加、省略或者组合。另外,相对一些示例所描述的特征在其它例子中也可以进行组合。
如本文中使用的,术语“包括”及其变型表示开放的术语,含义是“包括但不限于”。术语“基于”表示“至少部分地基于”。术语“一个实施例”和“一实施例”表示“至少一个实施例”。术语“另一个实施例”表示“至少一个其他实施例”。术语“第一”、“第二”等可以指代不同的或相同的对象。下面可以包括其他的定义,无论是明确的还是隐含的。除非上下文中明确地指明,否则一个术语的定义在整个说明书中是一致的。
秘密共享方法是一种将秘密分解存储的密码技术,其将秘密以适当的方式拆分成多个秘密份额,每一个秘密份额由多个参与方中的一个参与方拥有和管理,单个参与方无法恢复完整秘密,只有若干个参与方共同协作才能恢复完整秘密。秘密共享方法目标在于阻止秘密过于集中,以达到分散风险和容忍入侵的目的。在本说明书中,将第一训练参与方处具有的标记值作为秘密来拆分为多个秘密份额。
在本说明书中,逻辑回归模型训练方案中所使用的训练样本集是经过垂直切分的训练样本集。术语“对训练样本集进行垂直切分”是指按照模块/功能(或者某种指定规则)来将该训练样本集切分为多个训练样本子集中,各个训练样本子集包含训练样本集中的每条训练样本的部分训练子样本,所有训练样本子集中所包含的部分训练子样本构成该条训练样本。在一个例子中,假设训练样本包括标签
Figure 716964DEST_PATH_IMAGE109
和属性
Figure 684920DEST_PATH_IMAGE110
Figure 718735DEST_PATH_IMAGE111
,则经过垂直切分后,训练参与方Alice拥有该训练样本的
Figure 164760DEST_PATH_IMAGE112
Figure 233210DEST_PATH_IMAGE113
,以及训练参与方Bob拥有该训练样本的
Figure 372067DEST_PATH_IMAGE114
。在另一个例子中,假设训练样本包括标签
Figure 955495DEST_PATH_IMAGE115
和属性
Figure 142894DEST_PATH_IMAGE116
Figure 128168DEST_PATH_IMAGE117
Figure 437926DEST_PATH_IMAGE118
,则经过垂直切分后,训练参与方Alice拥有该训练样本的
Figure 446334DEST_PATH_IMAGE119
Figure 499740DEST_PATH_IMAGE120
Figure 339520DEST_PATH_IMAGE121
,以及训练参与方Bob拥有该训练样本的
Figure 757863DEST_PATH_IMAGE122
Figure 50304DEST_PATH_IMAGE123
。除了这两个例子之外,还有其他可能的情况,这里不一一列举。
假设给定由d个属性(也称为特征)描述的属性值样本示例x T=(x 1 ; x 2 ;…; x d ),其中,x i x在第i个属性上的取值和T表示转置,那么逻辑回归模型为Y=1/(1+
Figure 845085DEST_PATH_IMAGE124
)(即,权利要求书中的激活函数),其中,Y是预测值,以及,W是逻辑回归模型的模型参数(即,本说明书中所述的模型),模型W被垂直切分为多个子模型
Figure 539372DEST_PATH_IMAGE125
Figure 190933DEST_PATH_IMAGE126
是指本说明书中的各个训练参与方P处的子模型。在本说明书中,属性值样本也称为特征数据样本。
在本说明书中,各个训练参与方各自拥有训练逻辑回归模型所使用的训练样本的不同部分数据。例如,以两个训练参与方为例,假设训练样本集包括100个训练样本,每一个训练样本包含多个特征值(也可以称为“特征数据”)和标记实际值,由此,100个训练样本中的特征值组成用于模型训练的特征数据。在垂直切分的情况下,第一训练参与方拥有的数据可以是该100个训练样本中的每个训练样本的部分特征值(由此组成第一特征数据子集)和标记实际值,以及,第二参与方拥有的数据可以是该100个训练样本中的每个训练样本的部分特征值(例如,剩余的特征值,由此组成第二特征数据子集)。
在本说明书的实施例中,逻辑回归模型训练时所使用的特征数据可以包括基于图像数据、语音数据或文本数据的特征数据。相应地,逻辑回归模型可以应用于基于图像数据、语音数据或者文本数据的业务风险识别、业务分类或者业务决策等等。或者,逻辑回归模型训练时所使用的特征数据可以包括用户特征数据。相应地,逻辑回归模型可以应用于基于用户特征数据的业务风险识别、业务分类、业务推荐或者业务决策等等。
在本说明书中的任何地方描述的矩阵乘法计算,需要根据情况来确定是否对参与矩阵乘法的两个或多个矩阵中的一个或多个对应的矩阵进行转置处理,以满足矩阵乘法规则,由此完成矩阵乘法计算。
下面将结合附图来详细描述根据本说明书实施例的用于经由多个训练参与方来协同训练逻辑回归模型的方法、装置以及系统。
图1示出了根据本说明书实施例的经过垂直切分的训练样本集的示例的示意图。图1中示出了2个数据拥有方Alice和Bob,多个数据拥有方也类似。每个数据拥有方Alice和Bob拥有训练样本集中的所有训练样本中的每条训练样本的部分训练子样本,对于每条训练样本,数据拥有方Alice和Bob拥有的部分训练子样本组合在一起,可以构成该训练样本的完整内容。比如,假设某个训练样本的内容包括标签(下文中称为“标记值”)
Figure 185651DEST_PATH_IMAGE127
和属性特征(下文中称为“特征数据”)
Figure 580860DEST_PATH_IMAGE128
Figure 129653DEST_PATH_IMAGE129
,则经过垂直切分后,数据拥有方Alice拥有该训练样本的标记值
Figure 155378DEST_PATH_IMAGE130
和特征数据
Figure 422412DEST_PATH_IMAGE131
,以及数据拥有方Bob拥有该训练样本的特征数据
Figure 293416DEST_PATH_IMAGE132
图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具有逻辑回归模型的子模型
Figure 962294DEST_PATH_IMAGE133
,第二训练参与方Bob具有逻辑回归模型的子模型
Figure 221237DEST_PATH_IMAGE134
,以及第二训练参与方Charlie具有逻辑回归模型的子模型
Figure 647671DEST_PATH_IMAGE135
。第一训练参与方Alice具有第一特征数据子集
Figure 650262DEST_PATH_IMAGE136
和标记值Y,第二训练参与方Bob具有第二特征数据子集
Figure 173647DEST_PATH_IMAGE137
,以及第二训练参与方Charlie具有第三特征数据子集
Figure 275595DEST_PATH_IMAGE138
。第一特征数据子集
Figure 517221DEST_PATH_IMAGE139
、第二特征数据子集
Figure 57923DEST_PATH_IMAGE140
和第三特征数据子集
Figure 373498DEST_PATH_IMAGE141
通过对用于模型训练的特征数据集X进行垂直切分获得。子模型
Figure 974244DEST_PATH_IMAGE142
Figure 375269DEST_PATH_IMAGE143
Figure 719663DEST_PATH_IMAGE144
通过对逻辑回归模型
Figure 217640DEST_PATH_IMAGE145
进行垂直切分获得。
如图3所示,首先,在块310,第一训练参与方Alice、第二训练参与方Bob和Charlie初始化其子模型
Figure 661391DEST_PATH_IMAGE146
Figure 877609DEST_PATH_IMAGE147
Figure 760114DEST_PATH_IMAGE148
的子模型参数,以获得其子模型参数的初始值,并且将已执行训练循环次数t初始化为零。这里,假设循环过程的结束条件为执行预定次数训练循环,例如,执行T次训练循环。
在如上初始化后,在块320,在Alice处,将标记值Y分解为3个部分标记值
Figure 50281DEST_PATH_IMAGE149
Figure 727250DEST_PATH_IMAGE150
Figure 102868DEST_PATH_IMAGE151
。这里,在对标记值Y进行的分解过程中,针对标记值Y中的每个元素,将该元素的属性值分解为3个部分属性值,并且利用分解后的部分属性值得到3个新的元素。然后,将所得到的3个新的元素分别分配到
Figure 789064DEST_PATH_IMAGE152
Figure 996055DEST_PATH_IMAGE153
Figure 47187DEST_PATH_IMAGE154
,由此得到
Figure 972418DEST_PATH_IMAGE155
Figure 196726DEST_PATH_IMAGE156
Figure 461485DEST_PATH_IMAGE157
在330,Alice将部分标记值
Figure 745836DEST_PATH_IMAGE158
发送给Bob,将部分标记值
Figure 892783DEST_PATH_IMAGE159
发送给Charlie,同时自己保留部分标记值
Figure 858465DEST_PATH_IMAGE160
随后,循环执行块340到块380的操作,直到满足循环结束条件。
具体地,在块340,在各个训练参与方Alice、Bob和Charlie处,分别基于各个训练参与方的当前子模型、特征样本子集以及各自拥有的部分标记值,确定各个训练参与方处的预测差值。
图4示出了根据本说明书的实施例的各个训练参与方处的预测差值确定过程的一个示例的流程图。下面以第一训练参与方Alice为例来进行描述。
在块410,在Alice处,计算Alice所具有的当前子模型
Figure 40048DEST_PATH_IMAGE161
和第一特征数据子集
Figure 432983DEST_PATH_IMAGE162
的第一矩阵乘积
Figure 332806DEST_PATH_IMAGE163
接着,在块420,在Alice处,根据第一矩阵乘积
Figure 898917DEST_PATH_IMAGE164
和Alice处保留的部分标记值
Figure 872689DEST_PATH_IMAGE165
,使用第一差值确定公式
Figure 498842DEST_PATH_IMAGE166
来确定出Alice处的第一预测差值
Figure 620382DEST_PATH_IMAGE167
。针对第二训练参与方Bob和Charlie,可以使用各自的第二差值确定公式
Figure 927867DEST_PATH_IMAGE168
Figure 84042DEST_PATH_IMAGE169
,计算出各自的预测差值
Figure 818779DEST_PATH_IMAGE170
Figure 427615DEST_PATH_IMAGE171
。在本说明书中,第一差值确定公式
Figure 335528DEST_PATH_IMAGE172
和各个第二差值确定公式
Figure 283893DEST_PATH_IMAGE173
Figure 251849DEST_PATH_IMAGE174
基于针对激活函数的多阶多项式公式展开进行分割后得到的分割结果确定,各个分割结果包括与各自的子模型和特征样本子集相关的展开项。在本说明书中,多阶多项式公式展开可以包括泰勒公式展开,或者其他形式的多阶多项式公式展开。下面以泰勒公式展开为例来进行具体说明。下面的描述过程也适用于其它形式的多阶多项式公式展开。
具体地,在每次训练循环过程中,在得到
Figure 347981DEST_PATH_IMAGE175
后,可以利用激活函数
Figure 997268DEST_PATH_IMAGE176
来得出当前预测值,其中,
Figure 128035DEST_PATH_IMAGE177
是当前预测值,
Figure 204575DEST_PATH_IMAGE178
是当前逻辑回归模型,以及X是特征样本集。在进行计算时,对
Figure 522424DEST_PATH_IMAGE179
进行泰勒公式展开,即,
Figure 37719DEST_PATH_IMAGE180
。此外,
Figure 960676DEST_PATH_IMAGE181
。由此,可以基于泰勒公式展开,利用Alice处的第一矩阵乘积
Figure 270434DEST_PATH_IMAGE182
来计算出Alice的第一预测值
Figure 75579DEST_PATH_IMAGE183
,利用Bob处的第二矩阵乘积
Figure 66669DEST_PATH_IMAGE184
来计算出Bob的第二预测值
Figure 906449DEST_PATH_IMAGE185
,以及利用Charlie处的第二矩阵乘积
Figure 387109DEST_PATH_IMAGE186
来计算出Charlie的第三预测值
Figure 882813DEST_PATH_IMAGE187
。至于在进行泰勒公式展开时,需要近似到几次项,可以基于应用场景所需要的准确度来确定。
可选地,在一个示例中,泰勒公式展开可以是二阶泰勒公式展开。相应地,可以得到
Figure 474331DEST_PATH_IMAGE188
,随后对
Figure 371880DEST_PATH_IMAGE189
进行分割而得到各个训练参与方处的当前预测值
Figure 23441DEST_PATH_IMAGE190
Figure 803178DEST_PATH_IMAGE191
以及
Figure 136070DEST_PATH_IMAGE192
,进而可以计算出各个训练参与方处的预测差值
Figure 950443DEST_PATH_IMAGE193
Figure 772905DEST_PATH_IMAGE194
Figure 977622DEST_PATH_IMAGE195
。这里要说明的是,在本说明书的一个示例中,在对
Figure 176522DEST_PATH_IMAGE196
进行分割时,第一训练参与方Alice和第二训练参与方Bob、Charlie中仅仅只有一个预测值具有常数项
Figure 783084DEST_PATH_IMAGE197
。换言之,如果
Figure 776447DEST_PATH_IMAGE198
,则
Figure 530777DEST_PATH_IMAGE199
以及
Figure 471051DEST_PATH_IMAGE200
。如果
Figure 994436DEST_PATH_IMAGE201
,则
Figure 158701DEST_PATH_IMAGE202
以及
Figure 338010DEST_PATH_IMAGE203
。如果
Figure 878713DEST_PATH_IMAGE204
,则
Figure 194287DEST_PATH_IMAGE202
以及
Figure 795033DEST_PATH_IMAGE205
。此外,在本说明书的另一示例中,也可以针对常数项
Figure 258375DEST_PATH_IMAGE197
进行其它方式的分割处理。
回到图3,在如上得到各个训练参与方处的预测差值后,在块350,基于各个训练参与方处的预测差值
Figure 540452DEST_PATH_IMAGE206
Figure 772850DEST_PATH_IMAGE207
Figure 544497DEST_PATH_IMAGE208
,确定出本次循环过程中的总预测差值。例如,对各个训练参与方处的预测差值
Figure 432819DEST_PATH_IMAGE209
Figure 241289DEST_PATH_IMAGE210
Figure 593773DEST_PATH_IMAGE211
进行求和计算,以得到总预测差值
Figure 474004DEST_PATH_IMAGE212
图5示出了根据本说明书的实施例的用于确定总预测差值的过程的一个示例的流程图。
如图5所示,在510,Alice将第一预测差值
Figure 911938DEST_PATH_IMAGE213
分别发送给Bob和Charlie。在520,Bob将第二预测差值
Figure 598135DEST_PATH_IMAGE214
分别发送给Alice和Charlie。在520,Charlie将第二预测差值
Figure 742808DEST_PATH_IMAGE215
分别发送给Alice和Bob。
随后,在540,在各个训练参与方处,对该训练参与方处的预测差值以及所接收的其它训练参与方的预测差值进行求和,以得到总预测差值
Figure 856258DEST_PATH_IMAGE216
图6示出了根据本说明书的实施例的用于确定总预测差值的过程的另一示例的流程图。图6中示出的是基于秘密共享的安全求和计算实现方案。
如图6所示,在601,在Alice处,将第一预测差值
Figure 719172DEST_PATH_IMAGE217
分解为三个部分第一预测差值
Figure 943480DEST_PATH_IMAGE218
。然后,在602,保留
Figure 270556DEST_PATH_IMAGE219
,同时将
Figure 227010DEST_PATH_IMAGE220
发送给Bob,以及将
Figure 639537DEST_PATH_IMAGE221
发送给Charlie。
在603,在Bob处,将第二预测差值
Figure 667536DEST_PATH_IMAGE222
分解为三个部分第二预测差值
Figure 786802DEST_PATH_IMAGE223
。然后,在604,保留
Figure 242054DEST_PATH_IMAGE224
,同时将
Figure 876298DEST_PATH_IMAGE225
发送给Alice,以及将
Figure 380091DEST_PATH_IMAGE226
发送给Charlie。
在605,在Charlie处,将第二预测差值
Figure 681760DEST_PATH_IMAGE227
分解为三个部分第二预测差值
Figure 245596DEST_PATH_IMAGE228
。然后,在606,保留
Figure 367136DEST_PATH_IMAGE229
,同时将
Figure 736937DEST_PATH_IMAGE230
发送给Alice,以及将
Figure 830795DEST_PATH_IMAGE231
发送给Bob。
在607,在各个训练参与方处,分别对各自保留的部分预测差值以及所接收的部分预测差值进行求和,以得到各个训练参与方处的部分总预测差值。具体地,在Alice处,计算
Figure 627850DEST_PATH_IMAGE232
。在Bob处,计算
Figure 236686DEST_PATH_IMAGE233
。在Charlie处,计算
Figure 82282DEST_PATH_IMAGE234
在如上计算出E1、E2和E3后,在608,Alice将部分总预测差值E1分别发送给Bob和Charlie。在609,Bob将部分总预测差值E2分别发送给Alice和Charlie。在610,Charlie将部分总预测差值E3分别发送给Alice和Bob。
随后,在611,在各个训练参与方处,对部分总预测差值E1、E2和E3进行求和,以得到总预测差值
Figure 92963DEST_PATH_IMAGE235
利用图6中示出的总预测差值确定过程,将各个训练参与方处的预测差值
Figure 998603DEST_PATH_IMAGE236
Figure 94734DEST_PATH_IMAGE237
Figure 806339DEST_PATH_IMAGE238
作为秘密,按照秘密共享的处理方式来进行求和计算,从而无需将各个训练参与方处的预测差值
Figure 609209DEST_PATH_IMAGE239
Figure 748067DEST_PATH_IMAGE240
Figure 331495DEST_PATH_IMAGE241
完整地提供给其它训练参与方,由此可以保证训练参与方处的预测差值的数据安全,进而使得其它训练参与方无法使用预测差值来反向推导该训练参与方处的训练数据。
此外,要说明的是,图6中示出的秘密共享求和方式仅仅是针对各个训练参与方处的预测差值
Figure 784473DEST_PATH_IMAGE242
Figure 504167DEST_PATH_IMAGE243
Figure 813926DEST_PATH_IMAGE244
的安全求和的一种实现示例。在本说明书的其它示例中,也可以采用同态加密的方式来实现,或者将预测差值
Figure 822333DEST_PATH_IMAGE245
Figure 875740DEST_PATH_IMAGE246
Figure 653203DEST_PATH_IMAGE247
加密后发送到第三方可信执行设备中执行可信计算来实现。所述第三方可信执行设备例如可以包括SGX设备或者TrustZone设备。
回到图3,在如上确定出总预测差值后,在块360,在各个训练参与方处,分别基于总预测差值E和该训练参与方处的特征数据子集,确定该训练参与方处的模型更新量。具体地,在Alice处,基于总预测差值E和第一特征数据子集
Figure 133863DEST_PATH_IMAGE248
,确定Alice处的模型更新量
Figure 691883DEST_PATH_IMAGE249
。在Bob处,基于总预测差值E和第二特征数据子集
Figure 221085DEST_PATH_IMAGE250
,确定Bob处的模型更新量
Figure 915371DEST_PATH_IMAGE251
。在Charlie处,基于总预测差值E和第二特征数据子集
Figure 832512DEST_PATH_IMAGE252
,确定Charlie处的模型更新量
Figure 549932DEST_PATH_IMAGE253
在块370,在各个训练参与方处,分别使用各个训练参与方处的模型更新量来更新该训练参与方处的当前子模型。在本说明书实施例的一个示例中,使用训练参与方处的模型更新量来更新该训练参与方处的当前子模型可以按照以下等式来进行模型更新:
Figure 945141DEST_PATH_IMAGE254
,其中,
Figure 697196DEST_PATH_IMAGE255
表示该训练参与方处的更新后的子模型,
Figure 519659DEST_PATH_IMAGE256
表示该训练参与方处的当前子模型,
Figure 786692DEST_PATH_IMAGE257
表示学习率(learning rate),以及
Figure 923275DEST_PATH_IMAGE258
表示该训练参与方处的模型更新量。
在如上在各个训练参与方完成各自的子模型更新后,在块380,判断是否达到预定循环次数,即,判断是否达到循环结束条件。如果达到预定循环次数,则流程结束。如果未达到预定循环次数,则流程返回到块340的操作来执行下一训练循环过程,其中,在该下次训练循环过程中,各个训练参与方在当前循环过程所获得的更新后的子模型被用作下一循环过程的当前子模型。
这里要说明的是,在上述的示例中,训练循环过程的结束条件是指达到预定循环次数。在本说明书实施例的其它示例中,训练循环过程的结束条件也可以是所确定出的总预测差值位于预定范围内,即,总预测差值
Figure 592154DEST_PATH_IMAGE259
小于预定阈值。相应地,图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:将标记值
Figure 585518DEST_PATH_IMAGE260
分解为部分标记值
Figure 277530DEST_PATH_IMAGE261
和第二数目个部分标记值
Figure 14542DEST_PATH_IMAGE262
,并分别向各个第二训练参与方发送第二数目个部分标记值
Figure 475611DEST_PATH_IMAGE263
中的一个部分标记值
Figure 905455DEST_PATH_IMAGE264
;执行下述循环过程,直到满足循环结束条件:计算第一训练参与方处的当前子模型
Figure 147080DEST_PATH_IMAGE265
和第一特征数据子集
Figure 359887DEST_PATH_IMAGE266
的第一矩阵乘积
Figure 3358DEST_PATH_IMAGE267
;根据第一矩阵乘积
Figure 338524DEST_PATH_IMAGE268
和部分标记值
Figure 5129DEST_PATH_IMAGE269
,使用第一差值确定公式
Figure 83944DEST_PATH_IMAGE270
确定第一训练参与方处的第一预测差值
Figure 581921DEST_PATH_IMAGE271
;基于第一预测差值
Figure 291251DEST_PATH_IMAGE272
和各个第二训练参与方处的第二预测差值
Figure 241890DEST_PATH_IMAGE273
,确定当前循环过程的总预测差值E,各个第二训练参与方处的第二预测差值按照各自的第二差值确定公式
Figure 62078DEST_PATH_IMAGE274
确定;基于所述总预测差值E和所述第一特征数据子集
Figure 414562DEST_PATH_IMAGE275
,确定第一训练参与方处的模型更新量;以及使用第一训练参与方处的模型更新量来更新第一训练参与方处的当前子模型,其中,在循环过程未结束时,更新后的各个训练参与方的子模型用作下一循环过程的当前子模型,其中,第一差值确定公式
Figure 357110DEST_PATH_IMAGE276
和各个第二差值确定公式
Figure 732728DEST_PATH_IMAGE277
基于针对激活函数的多阶多项式公式展开进行分割后得到的分割结果确定,各个分割结果包括与各自的子模型和特征样本子集相关的展开项。
应该理解,在存储器中存储的计算机可执行指令当执行时使得至少一个处理器1310进行本说明书的各个实施例中以上结合图1-12描述的各种操作和功能。
图14示出了根据本说明书实施例的用于实现经由第一数目个训练参与方来协同训练逻辑回归模型的计算设备1400的硬件结构图。如图14所示,计算设备1400可以包括至少一个处理器1410、存储器(例如,非易失性存储器)1420、内存1430和通信接口1440,并且至少一个处理器1410、存储器1420、内存1430和通信接口1440经由总线1460连接在一起。至少一个处理器1410执行在存储器中存储或编码的至少一个计算机可读指令(即,上述以软件形式实现的元素)。
在一个实施例中,在存储器中存储计算机可执行指令,其当执行时使得至少一个处理器1410:从第一训练参与方接收部分标记值
Figure 153345DEST_PATH_IMAGE278
,所述部分标记值
Figure 625915DEST_PATH_IMAGE279
是在第一训练参与方处对所述标记值
Figure 677047DEST_PATH_IMAGE280
进行分解而得到的第一数目个部分标记值中的一个部分标记值;执行下述循环过程,直到满足循环结束条件:计算第二训练参与方处的当前子模型
Figure 602278DEST_PATH_IMAGE281
和对应的第二特征数据子集
Figure 764269DEST_PATH_IMAGE282
的第二矩阵乘积
Figure 825766DEST_PATH_IMAGE283
;根据第二矩阵乘积
Figure 110117DEST_PATH_IMAGE284
和所接收的部分标记值
Figure 460326DEST_PATH_IMAGE285
,使用第二差值确定公式
Figure 488325DEST_PATH_IMAGE286
确定第二训练参与方处的第二预测差值
Figure 669908DEST_PATH_IMAGE287
;基于第一训练参与方处的第一预测差值
Figure 797264DEST_PATH_IMAGE288
和各个第二训练参与方处的第二预测差值
Figure 697087DEST_PATH_IMAGE289
,确定当前循环过程的总预测差值
Figure 200881DEST_PATH_IMAGE290
,第一训练参与方处的第一预测差值
Figure 502549DEST_PATH_IMAGE291
按照第一差值确定公式
Figure 863123DEST_PATH_IMAGE292
确定,其中,
Figure 187925DEST_PATH_IMAGE293
是第一训练参与方保留的部分标记值,以及各个其它第二训练参与方处的第二预测差值
Figure 557727DEST_PATH_IMAGE294
按照对应的第二差值确定公式
Figure 448322DEST_PATH_IMAGE295
确定;基于总预测差值
Figure 194779DEST_PATH_IMAGE296
和所述第二特征数据子集
Figure 803615DEST_PATH_IMAGE297
,确定第二训练参与方处的模型更新量;以及使用第二训练参与方处的模型更新量来更新第二训练参与方处的当前子模型,其中,在循环过程未结束时,更新后的各个训练参与方的子模型用作下一循环过程的当前子模型,其中,第一差值确定公式
Figure 914790DEST_PATH_IMAGE298
和各个第二差值确定公式
Figure 925471DEST_PATH_IMAGE299
基于针对激活函数的多阶多项式公式展开进行分割后得到的分割结果确定,各个分割结果包括与各自的子模型和特征样本子集相关的展开项。
应该理解,在存储器中存储的计算机可执行指令当执行时使得至少一个处理器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.一种用于经由第一数目个训练参与方来训练逻辑回归模型的方法,所述训练参与方包括第一训练参与方和第二数目个第二训练参与方,所述逻辑回归模型被垂直切分为第一数目个子模型,第一训练参与方具有子模型
Figure 847282DEST_PATH_IMAGE001
,各个第二训练参与方具有子模型
Figure 38092DEST_PATH_IMAGE002
,所述第一训练参与方具有第一特征数据子集
Figure 465662DEST_PATH_IMAGE003
和标记值
Figure 261580DEST_PATH_IMAGE005
,每个第二训练参与方具有第二特征数据子集
Figure 811510DEST_PATH_IMAGE006
,所述第一和第二特征数据子集通过对用于模型训练的特征数据集进行垂直切分而获得,所述第二数目等于所述第一数目减一,所述方法由所述第一训练参与方执行,所述方法包括:
将所述标记值
Figure 161720DEST_PATH_IMAGE007
分解为部分标记值
Figure 907828DEST_PATH_IMAGE008
和第二数目个部分标记值
Figure 354989DEST_PATH_IMAGE009
,并分别向各个第二训练参与方发送所述第二数目个部分标记值
Figure 13504DEST_PATH_IMAGE010
中的一个部分标记值
Figure 382168DEST_PATH_IMAGE011
执行下述循环过程,直到满足循环结束条件:
计算所述第一训练参与方处的当前子模型
Figure 213858DEST_PATH_IMAGE012
和所述第一特征数据子集
Figure 453210DEST_PATH_IMAGE013
的第一矩阵乘积
Figure 296007DEST_PATH_IMAGE014
根据所述第一矩阵乘积
Figure 683126DEST_PATH_IMAGE015
和部分标记值
Figure 256190DEST_PATH_IMAGE016
,使用第一差值确定公式
Figure 677944DEST_PATH_IMAGE017
确定所述第一训练参与方处的第一预测差值
Figure 943840DEST_PATH_IMAGE018
基于所述第一预测差值
Figure 755939DEST_PATH_IMAGE019
和各个第二训练参与方处的第二预测差值
Figure 929431DEST_PATH_IMAGE020
,确定当前循环过程的总预测差值E,各个第二训练参与方处的第二预测差值按照各自的第二差值确定公式
Figure 392642DEST_PATH_IMAGE021
确定;
基于所述总预测差值E和所述第一特征数据子集
Figure 829440DEST_PATH_IMAGE022
,确定所述第一训练参与方处的模型更新量;以及
使用所述第一训练参与方处的模型更新量来更新所述第一训练参与方处的当前子模型,其中,在循环过程未结束时,所述更新后的各个训练参与方的子模型用作下一循环过程的当前子模型,
其中,所述第一差值确定公式
Figure 191151DEST_PATH_IMAGE023
和各个第二差值确定公式
Figure 371597DEST_PATH_IMAGE024
基于针对激活函数的多阶多项式公式展开进行分割后得到的分割结果确定,各个分割结果包括与各自的子模型和特征样本子集相关的展开项。
2.如权利要求1所述的方法,其中,所述多阶多项式公式展开是泰勒公式展开。
3.如权利要求2所述的方法,其中,所述泰勒公式展开是二阶泰勒公式展开。
4.如权利要求1所述的方法,其中,基于所述第一预测差值和各个第二训练参与方处的第二预测差值,确定当前循环过程的总预测差值包括:
对所述第一预测差值和各个第二训练参与方处的第二预测差值进行求和计算,以确定当前循环过程的总预测差值。
5.如权利要求4所述的方法,其中,所述求和计算包括安全求和计算。
6.如权利要求5所述的方法,其中,所述安全求和计算包括:
基于秘密共享的安全求和计算;
基于同态加密的安全求和计算;或者
基于可信执行环境的安全求和计算。
7.如权利要求1所述的方法,其中,使用所述第一训练参与方处的模型更新量来更新所述第一训练参与方的当前子模型包括:按照以下等式更新所述第一训练参与方处的当前子模型
Figure 705626DEST_PATH_IMAGE025
其中,
Figure 110062DEST_PATH_IMAGE026
表示所述第一训练参与方处的更新后的子模型,
Figure 647485DEST_PATH_IMAGE027
表示所述第一训练参与方处的当前子模型,
Figure 366043DEST_PATH_IMAGE028
表示学习率,以及
Figure 616895DEST_PATH_IMAGE029
表示所述第一训练参与方处的模型更新量。
8. 如权利要求1到7中任一所述的方法,其中,所述循环结束条件包括:
预定循环次数;或者
所确定出的总预测差值位于预定范围内。
9.如权利要求1到7中任一所述的方法,其中,所述特征数据包括基于图像数据、语音数据或文本数据的特征数据,或者所述特征数据包括用户特征数据。
10.一种用于经由第一数目个训练参与方来训练逻辑回归模型的方法,所述训练参与方包括第一训练参与方和第二数目个第二训练参与方,所述逻辑回归模型被垂直切分为第一数目个子模型,第一训练参与方具有子模型
Figure 129916DEST_PATH_IMAGE030
,各个第二训练参与方具有子模型
Figure 403903DEST_PATH_IMAGE031
,所述第一训练参与方具有第一特征数据子集
Figure 722889DEST_PATH_IMAGE032
和标记值
Figure 15199DEST_PATH_IMAGE033
,每个第二训练参与方具有第二特征数据子集
Figure 964700DEST_PATH_IMAGE034
,所述第一和第二特征数据子集通过对用于模型训练的特征数据集进行垂直切分而获得,所述第二数目等于所述第一数目减一,所述方法由所述第二训练参与方执行,所述方法包括:
从所述第一训练参与方接收部分标记值
Figure 788300DEST_PATH_IMAGE035
,所述部分标记值
Figure 583080DEST_PATH_IMAGE036
是在所述第一训练参与方处对所述标记值
Figure 11788DEST_PATH_IMAGE037
进行分解而得到的第一数目个部分标记值中的一个部分标记值;
执行下述循环过程,直到满足循环结束条件:
计算所述第二训练参与方处的当前子模型
Figure 928928DEST_PATH_IMAGE038
和对应的第二特征数据子集
Figure 659730DEST_PATH_IMAGE039
的第二矩阵乘积
Figure 523781DEST_PATH_IMAGE040
根据所述第二矩阵乘积
Figure 603733DEST_PATH_IMAGE041
和所接收的部分标记值
Figure 629457DEST_PATH_IMAGE042
,使用第二差值确定公式
Figure 162070DEST_PATH_IMAGE043
确定所述第二训练参与方处的第二预测差值
Figure 829812DEST_PATH_IMAGE044
基于所述第一训练参与方处的第一预测差值
Figure 951220DEST_PATH_IMAGE045
和各个第二训练参与方处的第二预测差值
Figure 210163DEST_PATH_IMAGE046
,确定当前循环过程的总预测差值
Figure 433334DEST_PATH_IMAGE047
,所述第一训练参与方处的第一预测差值
Figure 639188DEST_PATH_IMAGE048
按照第一差值确定公式
Figure 631414DEST_PATH_IMAGE049
确定,其中,
Figure 61259DEST_PATH_IMAGE050
是第一训练参与方保留的部分标记值,以及各个其它第二训练参与方处的第二预测差值
Figure 256879DEST_PATH_IMAGE046
按照对应的第二差值确定公式
Figure 63161DEST_PATH_IMAGE051
确定;
基于所述总预测差值
Figure 909894DEST_PATH_IMAGE052
和所述第二特征数据子集
Figure 713902DEST_PATH_IMAGE053
,确定所述第二训练参与方处的模型更新量;以及
使用所述第二训练参与方处的模型更新量来更新所述第二训练参与方处的当前子模型,其中,在循环过程未结束时,所述更新后的各个训练参与方的子模型用作下一循环过程的当前子模型,
其中,所述第一差值确定公式
Figure 646086DEST_PATH_IMAGE054
和各个第二差值确定公式
Figure 256059DEST_PATH_IMAGE055
基于针对激活函数的多阶多项式公式展开进行分割后得到的分割结果确定,各个分割结果包括与各自的子模型和特征样本子集相关的展开项。
11.如权利要求10所述的方法,其中,使用所述第二训练参与方处的模型更新量来更新所述第二训练参与方的当前子模型包括:按照以下等式更新所述第二训练参与方处的当前子模型
Figure 940987DEST_PATH_IMAGE056
其中,
Figure 978213DEST_PATH_IMAGE057
表示所述第二训练参与方处的更新后的子模型,
Figure 397693DEST_PATH_IMAGE058
表示所述第二训练参与方处的当前子模型,
Figure 483461DEST_PATH_IMAGE059
表示学习率,以及
Figure 101524DEST_PATH_IMAGE060
表示所述第二训练参与方处的模型更新量。
12.一种用于经由第一数目个训练参与方来训练逻辑回归模型的装置,所述训练参与方包括第一训练参与方和第二数目个第二训练参与方,所述逻辑回归模型被垂直切分为第一数目个子模型,第一训练参与方具有子模型
Figure 247335DEST_PATH_IMAGE061
,各个第二训练参与方具有子模型
Figure 901913DEST_PATH_IMAGE062
,所述第一训练参与方具有第一特征数据子集
Figure 853689DEST_PATH_IMAGE063
和标记值
Figure 529521DEST_PATH_IMAGE064
,每个第二训练参与方具有第二特征数据子集
Figure 111812DEST_PATH_IMAGE065
,所述第一和第二特征数据子集通过对用于模型训练的特征数据集进行垂直切分而获得,所述第二数目等于所述第一数目减一,所述装置应用于所述第一训练参与方,所述装置包括:
标记值分解单元,将所述标记值
Figure 240305DEST_PATH_IMAGE066
分解为部分标记值
Figure 730192DEST_PATH_IMAGE067
和第二数目个部分标记值
Figure 509798DEST_PATH_IMAGE068
标记值发送单元,分别向各个第二训练参与方发送所述第二数目个部分标记值中的一个部分标记值
Figure 997411DEST_PATH_IMAGE069
矩阵乘积计算单元,计算所述第一训练参与方处的当前子模型
Figure 675517DEST_PATH_IMAGE070
和所述第一特征数据子集
Figure 906779DEST_PATH_IMAGE071
的第一矩阵乘积
Figure 557203DEST_PATH_IMAGE072
部分预测差值确定单元,根据所述第一矩阵乘积
Figure 278034DEST_PATH_IMAGE073
和部分标记值
Figure DEST_PATH_IMAGE074
,使用第一差值确定公式
Figure 335114DEST_PATH_IMAGE075
确定所述第一训练参与方处的第一预测差值
Figure DEST_PATH_IMAGE076
总预测差值确定单元,基于所述第一预测差值
Figure 370066DEST_PATH_IMAGE077
和各个第二训练参与方处的第二预测差值
Figure 140576DEST_PATH_IMAGE078
,确定当前循环过程的总预测差值
Figure 32309DEST_PATH_IMAGE080
,各个第二训练参与方处的第二预测差值
Figure DEST_PATH_IMAGE081
按照各自的第二差值确定公式
Figure 871958DEST_PATH_IMAGE082
确定;
模型更新量确定单元,基于所述总预测差值
Figure 710601DEST_PATH_IMAGE084
和所述第一特征数据子集
Figure 70038DEST_PATH_IMAGE085
,确定所述第一训练参与方处的模型更新量;以及
模型更新单元,使用所述第一训练参与方处的模型更新量来更新所述第一训练参与方处的当前子模型,
其中,所述第一差值确定公式
Figure 132672DEST_PATH_IMAGE086
和各个第二差值确定公式
Figure 944770DEST_PATH_IMAGE087
基于针对激活函数的多阶多项式公式展开进行分割后得到的分割结果确定,各个分割结果包括与各自的子模型和特征样本子集相关的展开项,
其中,所述矩阵乘积计算单元、所述部分预测差值确定单元、所述总预测差值确定单元、所述模型更新量确定单元和所述模型更新单元循环执行操作,直到满足循环结束条件,
其中,在循环过程未结束时,所述更新后的各个训练参与方的子模型用作下一循环过程的当前子模型。
13.如权利要求12所述的装置,其中,所述总预测差值确定单元:
对所述第一预测差值和各个第二训练参与方处的第二预测差值进行求和计算,以确定当前循环过程的总预测差值。
14.如权利要求13所述的装置,其中,所述求和计算包括安全求和计算。
15.一种用于经由第一数目个训练参与方来训练逻辑回归模型的装置,所述训练参与方包括第一训练参与方和第二数目个第二训练参与方,所述逻辑回归模型被垂直切分为第一数目个子模型,第一训练参与方具有子模型
Figure 69327DEST_PATH_IMAGE088
,各个第二训练参与方具有子模型
Figure 548850DEST_PATH_IMAGE089
,所述第一训练参与方具有第一特征数据子集
Figure 782385DEST_PATH_IMAGE090
和标记值
Figure 81780DEST_PATH_IMAGE091
,每个第二训练参与方具有第二特征数据子集
Figure 262225DEST_PATH_IMAGE092
,所述第一和第二特征数据子集通过对用于模型训练的特征数据集进行垂直切分而获得,所述第二数目等于所述第一数目减一,所述装置应用于所述第二训练参与方,所述装置包括:
标记值接收单元,从所述第一训练参与方接收部分标记值
Figure 392992DEST_PATH_IMAGE093
,所述部分标记值
Figure 984380DEST_PATH_IMAGE094
是在所述第一训练参与方处对所述标记值
Figure 833387DEST_PATH_IMAGE095
进行分解而得到的第一数目个部分标记值中的一个部分标记值;
矩阵乘积计算单元,计算所述第二训练参与方处的当前子模型
Figure 551944DEST_PATH_IMAGE096
和对应的第二特征数据子集
Figure 740480DEST_PATH_IMAGE097
的第二矩阵乘积
Figure 315818DEST_PATH_IMAGE098
部分预测差值确定单元,根据所述第二矩阵乘积
Figure 855384DEST_PATH_IMAGE099
和所接收的部分标记值
Figure 862785DEST_PATH_IMAGE100
,使用第二差值确定公式
Figure 171407DEST_PATH_IMAGE101
确定所述第二训练参与方处的第二预测差值
Figure 917646DEST_PATH_IMAGE102
总预测差值确定单元,基于所述第一训练参与方处的第一预测差值
Figure 678928DEST_PATH_IMAGE103
和各个第二训练参与方处的第二预测差值
Figure 739288DEST_PATH_IMAGE104
,确定当前循环过程的总预测差值
Figure 699154DEST_PATH_IMAGE105
,所述第一训练参与方处的第一预测差值
Figure 334404DEST_PATH_IMAGE106
按照第一差值确定公式
Figure 317403DEST_PATH_IMAGE107
确定,其中,
Figure 978192DEST_PATH_IMAGE108
是第一训练参与方保留的部分标记值,以及各个其它第二训练参与方处的第二预测差值
Figure 261405DEST_PATH_IMAGE109
按照对应的第二差值确定公式
Figure 287130DEST_PATH_IMAGE110
确定;
模型更新量确定单元,基于所述总预测差值
Figure 819743DEST_PATH_IMAGE111
和所述第二特征数据子集
Figure 258725DEST_PATH_IMAGE112
,确定所述第二训练参与方处的模型更新量;以及
模型更新单元,使用所述第二训练参与方处的模型更新量来更新所述第二训练参与方处的当前子模型,
其中,所述第一差值确定公式
Figure 396445DEST_PATH_IMAGE113
和各个第二差值确定公式
Figure 858650DEST_PATH_IMAGE114
基于针对激活函数的多阶多项式公式展开进行分割后得到的分割结果确定,各个分割结果包括与各自的子模型和特征样本子集相关的展开项,
其中,所述矩阵乘积计算单元、所述部分预测差值确定单元、所述总预测差值确定单元、所述模型更新量确定单元和所述模型更新单元循环执行操作,直到满足循环结束条件,
其中,在循环过程未结束时,所述更新后的各个训练参与方的子模型用作下一循环过程的当前子模型。
16.如权利要求15所述的装置,其中,所述总预测差值确定单元:
对所述第一预测差值和各个第二训练参与方处的第二预测差值进行安全求和计算,以确定当前循环过程的总预测差值。
17. 一种用于经由第一数目个训练参与方来训练逻辑回归模型的系统,包括:
第一训练参与方设备,包括如权利要求12到14中任一所述的装置;以及
第二数目个第二训练参与方设备,每个第二训练参与方设备包括如权利要求15或16所述的装置,所述第二数目等于所述第一数目减一,
其中,所述逻辑回归模型被垂直切分为第一数目个子模型,每个训练参与方设备具有一个子模型,所述第一训练参与方设备具有第一特征数据子集和标记值,每个第二训练参与方设备具有第二特征数据子集,所述第一和第二特征数据子集通过对用于模型训练的特征数据集进行垂直切分而获得。
18. 一种计算设备,包括:
至少一个处理器,以及
与所述至少一个处理器耦合的存储器,所述存储器存储指令,当所述指令被所述至少一个处理器执行时,使得所述至少一个处理器执行如权利要求1到9中任一所述的方法。
19.一种机器可读存储介质,其存储有可执行指令,所述指令当被执行时使得所述机器执行如权利要求1到9中任一所述的方法。
20. 一种计算设备,包括:
至少一个处理器,以及
与所述至少一个处理器耦合的存储器,所述存储器存储指令,当所述指令被所述至少一个处理器执行时,使得所述至少一个处理器执行如权利要求10或11所述的方法。
21.一种机器可读存储介质,其存储有可执行指令,所述指令当被执行时使得所述机器执行如权利要求10或11所述的方法。
CN202010096283.XA 2020-02-17 2020-02-17 逻辑回归模型训练方法、装置及系统 Active CN110929887B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 支付宝(杭州)信息技术有限公司 多方联合训练图神经网络的方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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) 模型训练方法、装置及系统
CN111061963B (zh) 基于多方安全计算的机器学习模型训练及预测方法、装置
CN110942147B (zh) 基于多方安全计算的神经网络模型训练及预测方法、装置
CN112052942B (zh) 神经网络模型训练方法、装置及系统
CN110929887B (zh) 逻辑回归模型训练方法、装置及系统
CN111062487B (zh) 基于数据隐私保护的机器学习模型特征筛选方法及装置
CN112580826B (zh) 业务模型训练方法、装置及系统
CN111079939A (zh) 基于数据隐私保护的机器学习模型特征筛选方法及装置
CN112000991A (zh) 多方数据联合处理方法、装置及系统
CN112132270B (zh) 基于隐私保护的神经网络模型训练方法、装置及系统
CN111523556B (zh) 模型训练方法、装置及系统
CN111741020B (zh) 基于数据隐私保护的公共数据集确定方法、装置及系统
CN111738438B (zh) 图神经网络模型训练方法、装置及系统
CN111523674B (zh) 模型训练方法、装置及系统
CN111523134B (zh) 基于同态加密的模型训练方法、装置及系统
CN111737756B (zh) 经由两个数据拥有方进行的xgb模型预测方法、装置及系统
CN112183757B (zh) 模型训练方法、装置及系统
CN112183759B (zh) 模型训练方法、装置及系统
CN111738453B (zh) 基于样本加权的业务模型训练方法、装置及系统
CN111523675A (zh) 模型训练方法、装置及系统
CN112288088B (zh) 业务模型训练方法、装置及系统
CN111737753B (zh) 基于数据隐私保护的两方数据聚类方法、装置及系统
CN112183565B (zh) 模型训练方法、装置及系统
CN112183566B (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