CN112183566A - 模型训练方法、装置及系统 - Google Patents

模型训练方法、装置及系统 Download PDF

Info

Publication number
CN112183566A
CN112183566A CN201910600909.3A CN201910600909A CN112183566A CN 112183566 A CN112183566 A CN 112183566A CN 201910600909 A CN201910600909 A CN 201910600909A CN 112183566 A CN112183566 A CN 112183566A
Authority
CN
China
Prior art keywords
training
initiator
model
cooperator
current
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
CN201910600909.3A
Other languages
English (en)
Other versions
CN112183566B (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.)
Advanced New Technologies Co Ltd
Original Assignee
Advanced New Technologies 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 Advanced New Technologies Co Ltd filed Critical Advanced New Technologies Co Ltd
Priority to CN201910600909.3A priority Critical patent/CN112183566B/zh
Publication of CN112183566A publication Critical patent/CN112183566A/zh
Application granted granted Critical
Publication of CN112183566B publication Critical patent/CN112183566B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Abstract

本公开提供用于训练线性/逻辑回归模型的方法和装置。在该方法中,在训练发起方处,将特征样本集和标记值分别分割为第一数目个特征样本子集和第一数目个部分标记值,并将第二数目个特征样本子集和部分标记值中的每个分别发送给对应的训练协同方。然后,基于各个训练参与方的当前子模型和对应的特征样本子集,使用秘密共享矩阵乘法来获得各个训练参与方的当前预测值。在各个训练参与方处,确定各自的预测差值,并且基于特征样本集和各自的预测差值,确定各自的模型更新量。然后,在各个训练参与方处,基于各自的当前子模型以及对应的模型更新量来更新各自的子模型。循环执行上述过程,直到满足循环结束条件。

Description

模型训练方法、装置及系统
技术领域
本公开通常涉及机器学习领域,尤其涉及用于使用水平切分的训练集来经由多个训练参与方协同训练线性/逻辑回归模型的方法、装置及系统。
背景技术
线性回归模型和逻辑回归模型是机器学习领域广泛使用的回归/分类模型。在很多情况下,多个模型训练参与方(例如,电子商务公司、快递公司和银行)各自拥有训练线性/逻辑回归模型所使用的特征样本的不同部分数据。该多个模型训练参与方通常想共同使用彼此的数据来统一训练线性/逻辑回归模型,但又不想把各自的数据提供给其它各个模型训练参与方以防止自己的数据被泄露。
面对这种情况,提出了能够保护数据安全的机器学习方法,其能够在保证多个模型训练参与方的各自数据安全的情况下,协同该多个模型训练参与方来训练线性/逻辑回归模型,以供该多个模型训练参与方使用。然而,现有的能够保护数据安全的机器学习方法的模型训练效率较低。
发明内容
鉴于上述问题,本公开提供了一种用于经由多个训练参与方协同训练线性/逻辑回归模型的方法、装置及系统,其能够在保证多个训练参与方的各自数据安全的情况下提高模型训练的效率。
根据本公开的一个方面,提供了一种用于经由多个训练参与方来协同训练线性/逻辑回归模型的方法,所述线性/逻辑回归模型由第一数目个子模型组成,每个训练参与方具有一个子模型,所述第一数目等于所述训练参与方的数目,所述训练参与方包括训练发起方和至少一个训练协同方,所述训练发起方的训练样本数据具有特征样本集和标记值,所述训练样本数据是通过水平切分得到的,所述方法由训练发起方执行,所述方法包括:执行下述循环过程,直到满足循环结束条件:将所述特征样本集分割为所述第一数目个特征样本子集,并将第二数目个特征样本子集中的每个分别发送给对应的训练协同方,所述第二数目等于所述第一数目减一;基于各个训练参与方的当前子模型和所述训练发起方的特征样本子集,使用秘密共享矩阵乘法来获得所述训练发起方的当前预测值;将所述标记值分割为所述第一数目个部分标记值,并将所述第二数目个部分标记值中的每个分别发送给对应的训练协同方;确定所述训练发起方的当前预测值与对应的部分标记值之间的预测差值;基于所述特征样本集和所述训练发起方处的预测差值,确定所述训练发起方处的模型更新量;以及基于所述训练发起方的当前子模型以及对应的模型更新量来更新所述训练发起方的子模型,其中,在循环过程未结束时,所述更新后的各个训练参与方的子模型被用作下一循环过程的当前子模型。
根据本公开的另一方面,提供一种用于经由多个训练参与方来协同训练线性/逻辑回归模型的方法,所述线性/逻辑回归模型由第一数目个子模型组成,每个训练参与方具有一个子模型,所述第一数目等于所述训练参与方的数目,所述训练参与方包括训练发起方和至少一个训练协同方,所述训练发起方的训练样本数据具有特征样本集和标记值,所述训练样本数据是通过水平切分得到的,所述方法由训练协同方执行,所述方法包括:执行下述循环过程,直到满足循环结束条件:从所述训练发起方接收对应的特征样本子集,所述特征样本子集是在所述训练发起方处对所述特征样本集进行分割而得到的所述第一数目个特征样本子集中的一个特征样本子集;基于各个训练参与方的当前子模型和所述训练协同方的特征样本子集,使用秘密共享矩阵乘法来获得所述训练协同方的当前预测值;从所述训练发起方接收对应的部分标记值,所述部分标记值是在所述训练发起方处对所述标记值进行分割后得到的所述第一数目个部分标记值中的一个部分标记值;使用所述训练协同方的当前预测值和所接收的部分标记值,确定所述训练协同方处的预测差值;基于所述特征样本集和所述训练协同方的预测差值,使用秘密共享矩阵乘法来获得所述训练协同方的模型更新量;以及基于所述训练协同方的当前子模型以及对应的模型更新量来更新所述训练协同方的子模型,其中,在循环过程未结束时,所述更新后的各个训练参与方的子模型被用作下一循环过程的当前子模型。
根据本公开的另一方面,提供一种用于经由多个训练参与方来协同训练线性/逻辑回归模型的装置,所述线性/逻辑回归模型由第一数目个子模型组成,每个训练参与方具有一个子模型,所述第一数目等于所述训练参与方的数目,所述训练参与方包括训练发起方和至少一个训练协同方,所述训练发起方的训练样本数据具有特征样本集和标记值,所述训练样本数据是通过水平切分得到的,所述装置位于训练发起方侧,所述装置包括:样本分割单元,被配置为将所述特征样本集分割为所述第一数目个特征样本子集;样本发送单元,被配置为将第二数目个特征样本子集中的每个分别发送给对应的训练协同方,所述第二数目等于所述第一数目减一;预测值获取单元,被配置为基于各个训练参与方的当前子模型和所述训练发起方的特征样本子集,使用秘密共享矩阵乘法来获得所述训练发起方的当前预测值;标记值分割单元,被配置为将所述标记值分割为所述第一数目个部分标记值;标记值发送单元,被配置为将所述第二数目个部分标记值中的每个分别发送给对应的训练协同方;预测差值确定单元,被配置为确定所述训练发起方的当前预测值与对应的部分标记值之间的预测差值;模型更新量确定单元,被配置为基于所述特征样本集和所述训练发起方处的预测差值,确定所述训练发起方处的模型更新量;以及模型更新单元,被配置为基于所述训练发起方的当前子模型以及对应的模型更新量来更新所述训练发起方的子模型,其中,所述样本分割单元、所述样本发送单元、所述预测值获取单元、所述标记值分割单元、所述标记值发送单元、所述预测差值确定单元、所述模型更新量确定单元和所述模型更新单元被配置为循环执行操作,直到满足循环结束条件,其中,在循环过程未结束时,所述更新后的各个训练参与方的子模型被用作下一循环过程的当前子模型。
根据本公开的另一方面,提供一种用于经由多个训练参与方来协同训练线性/逻辑回归模型的装置,所述线性/逻辑回归模型由第一数目个子模型组成,每个训练参与方具有一个子模型,所述第一数目等于所述训练参与方的数目,所述训练参与方包括训练发起方和至少一个训练协同方,所述训练发起方的训练样本数据具有特征样本集和标记值,所述训练样本数据是通过水平切分得到的,所述装置位于训练协同方侧,所述装置包括:样本接收单元,被配置为从所述训练发起方接收对应的特征样本子集,所述特征样本子集是在所述训练发起方处对所述特征样本集进行分割而得到的所述第一数目个特征样本子集中的一个特征样本子集;预测值获取单元,被配置为基于各个训练参与方的当前子模型和所述训练协同方的特征样本子集,使用秘密共享矩阵乘法来获得所述训练协同方的当前预测值;标记值接收单元,被配置为从所述训练发起方接收对应的部分标记值,所述部分标记值是在所述训练发起方处对所述标记值进行分割后得到的所述第一数目个部分标记值中的一个部分标记值;预测差值确定单元,被配置为使用所述训练协同方的当前预测值和所接收的部分标记值,确定所述训练协同方处的预测差值;模型更新量确定单元,被配置为基于所述特征样本集和所述训练协同方的预测差值,使用秘密共享矩阵乘法来获得所述训练协同方的模型更新量;以及模型更新单元,被配置为基于所述训练协同方的当前子模型以及对应的模型更新量来更新所述训练协同方的子模型,其中,所述样本接收单元、所述预测值获取单元、所述标记值接收单元、所述预测差值确定单元、所述模型更新量确定单元和所述模型更新单元被配置为循环执行操作,直到满足循环结束条件,其中,在循环过程未结束时,所述更新后的各个训练参与方的子模型被用作下一循环过程的当前子模型。
根据本公开的另一方面,提供一种用于经由多个训练参与方来协同训练线性/逻辑回归模型的系统,所述线性/逻辑回归模型由第一数目个子模型组成,每个训练参与方具有一个子模型,所述第一数目等于所述训练参与方的数目,所述训练参与方包括训练发起方和至少一个训练协同方,所述训练发起方具有特征样本集和标记值,所述系统包括:训练发起方设备,包括如上所述的用于在训练发起方侧执行训练的装置;以及至少一个训练协同方设备,每个训练协同方设备包括如上所述的用于在训练协同方侧执行训练的装置。
根据本公开的另一方面,提供一种计算设备,包括:至少一个处理器,以及与所述至少一个处理器耦合的存储器,所述存储器存储指令,当所述指令被所述至少一个处理器执行时,使得所述至少一个处理器执行如上所述的在训练发起方侧执行的训练方法。
根据本公开的另一方面,提供一种机器可读存储介质,其存储有可执行指令,所述指令当被执行时使得所述至少一个处理器执行如上所述的在训练发起方侧执行的训练方法。
根据本公开的另一方面,提供一种计算设备,包括:至少一个处理器,以及与所述至少一个处理器耦合的存储器,所述存储器存储指令,当所述指令被所述至少一个处理器执行时,使得所述至少一个处理器执行如上所述的在训练协同方侧执行的训练方法。
根据本公开的另一方面,提供一种机器可读存储介质,其存储有可执行指令,所述指令当被执行时使得所述至少一个处理器执行如上所述的在训练协同方侧执行的训练方法。
利用本公开的实施例的方案,能够在不泄漏该多个训练参与方的秘密数据的情况下训练得到线性/逻辑回归模型的模型参数,并且模型训练的工作量仅与训练所使用的特征样本的数量成线性关系,而不是指数关系,因此,与现有技术相比,本公开的实施例的方案能够实现在保证多个训练参与方的各自数据安全的情况下提高模型训练的效率。
附图说明
通过参照下面的附图,可以实现对于本公开内容的本质和优点的进一步理解。在附图中,类似组件或特征可以具有相同的附图标记。
图1示出了根据本公开的实施例的经过水平切分的数据的示例的示意图;
图2示出了示出了根据本公开的实施例的用于经由多个训练参与方来协同训练线性/逻辑回归模型的系统的架构示意图;
图3示出了根据本公开的实施例的用于经由多个训练参与方来协同训练线性/逻辑回归模型的方法的流程图;
图4示出了根据本公开的实施例的对各个训练参与方的当前子模型以及训练发起方的特征样本集执行有可信初始化方的秘密共享矩阵乘法的过程的流程图;
图5示出了根据本公开的实施例的对各个训练参与方的当前子模型以及训练发起方的特征样本集执行无可信初始化方的秘密共享矩阵乘法的过程的流程图;
图6示出了根据本公开的实施例的无可信初始化方秘密共享矩阵乘法的一个示例的流程图;
图7示出了根据本公开的实施例的用于经由多个训练参与方来协同训练线性/逻辑回归模型的装置的方框图;
图8示出了根据本公开的实施例的用于经由多个训练参与方来协同训练线性/逻辑回归模型的装置的方框图;
图9示出了根据本公开的实施例的用于经由多个训练参与方来协同训练线性/逻辑回归模型的计算设备的示意图;
图10示出了根据本公开的实施例的用于经由多个训练参与方来协同训练线性/逻辑回归模型的计算设备的示意图。
具体实施方式
现在将参考示例实施方式讨论本文描述的主题。应该理解,讨论这些实施方式只是为了使得本领域技术人员能够更好地理解从而实现本文描述的主题,并非是对权利要求书中所阐述的保护范围、适用性或者示例的限制。可以在不脱离本公开内容的保护范围的情况下,对所讨论的元素的功能和排列进行改变。各个示例可以根据需要,省略、替代或者添加各种过程或组件。例如,所描述的方法可以按照与所描述的顺序不同的顺序来执行,以及各个步骤可以被添加、省略或者组合。另外,相对一些示例所描述的特征在其它例子中也可以进行组合。
如本文中使用的,术语“包括”及其变型表示开放的术语,含义是“包括但不限于”。术语“基于”表示“至少部分地基于”。术语“一个实施例”和“一实施例”表示“至少一个实施例”。术语“另一个实施例”表示“至少一个其他实施例”。术语“第一”、“第二”等可以指代不同的或相同的对象。下面可以包括其他的定义,无论是明确的还是隐含的。除非上下文中明确地指明,否则一个术语的定义在整个说明书中是一致的。
秘密共享方法是一种将秘密分割存储的密码技术,其将秘密以适当的方式拆分成多个秘密份额,每一个秘密份额由多个参与方中的一个参与方拥有和管理,单个参与方无法恢复完整秘密,只有若干个参与方共同协作才能恢复完整秘密。秘密共享方法目标在于阻止秘密过于集中,以达到分散风险和容忍入侵的目的。
秘密共享方法可大致分为两类:有可信初始化方(trust initializier)秘密共享方法以及无可信初始化方秘密共享方法。在有可信初始化方的秘密共享方法中,需要该可信初始化方对参与多方安全计算的各个参与方进行参数初始化(往往是产生满足一定条件的随机数)。在初始化完成后,可信初始化方将数据销毁,同时也消失,在接下来的多方安全计算过程中不再需要。
有可信初始化方秘密共享矩阵乘法适用于下述情形:完整秘密数据是第一秘密份额集与第二秘密份额集的乘积,并且各个参与方各自拥有第一秘密份额集中的一个第一秘密份额以及第二秘密份额集中的一个第二秘密份额。通过有可信初始化方的秘密共享矩阵乘法,多个参与方中的每个参与方可以得到完整秘密数据的部分完整秘密数据并且各个参与方所得到的部分完整秘密数据之和是完整秘密数据,并且各个参与方将所得到的部分完整秘密数据公开给其余参与方,从而使得各个参与方能够在不需要公开各自所拥有的秘密份额的情况下得到完整秘密数据,由此保证了该多个参与方各自数据的安全。
无可信初始化方秘密共享矩阵乘法是其中一种秘密共享方法。无可信初始化方的秘密共享矩阵乘法适用于完整秘密是第一秘密份额与第二秘密份额的乘积且两方分别拥有第一秘密份额和第二秘密份额的情形。通过无可信初始化方的秘密共享矩阵乘法,拥有各自秘密份额的两方中的每一方生成和公开与其拥有的秘密份额不同的数据,但这两方各自公开的数据之和等于这两方各自拥有的秘密份额的乘积(即完整秘密)。从而,各方在不需要公开各自所拥有的秘密份额的情况下通过有可信初始化方的秘密共享矩阵乘法协同工作就能恢复出完整秘密,这保证了各方数据的安全。
在本公开中,线性/逻辑回归模型训练方案中所使用的训练样本集是经过水平切分的训练样本集。术语“对训练样本集进行水平切分”是指按照某个字段的某种规则来将该训练样本集中的训练样本切分为多个训练样本子集中,各个训练样本子集包含一部分训练样本,并且每个训练样本子集中所包括的训练样本是完整的训练样本,即,包括该训练样本的所有字段数据和对应的标记值。在本公开中,假设存在三个数据方Alice、Bob和Charlie,则在各个数据方处获取本地样本以形成本地样本集,在该本地样本集中所包含的每条样本都是完整的样本,然后,三个数据方Alice、Bob和Charlie所获取的本地样本集组成用于线性/逻辑回归模型训练的训练样本集,其中,每个本地样本集作为该训练样本集的训练样本子集,以用于训练线性/逻辑回归模型。
假设给定由d个属性(也称为特征)描述的属性值样本示例xT=(x1;x2;…;xd),其中,xi是x在第i个属性上的取值和T表示转置,那么线性回归模型为Y=Wx,逻辑回归模型为Y=1/(1+e-wx),其中,Y是预测值,以及,W是线性/逻辑回归模型的模型参数(即,本公开中所述的模型),
Figure BDA0002119246760000081
WP是指本公开中的各个训练参与方P处的子模型。在本公开中,属性值样本也称为特征数据样本。
在本公开中,各个训练参与方各自拥有训练线性/逻辑回归模型所使用的训练样本的不同部分数据。例如,以两个训练参与方为例,假设训练样本集包括100个训练样本,每一个训练样本包含多个特征值和标记实际值,那么,第一参与方拥有的数据可以是训练样本集内的前30个训练样本,以及,第二参与方拥有的数据可以是训练样本集内的后70个训练样本。
在本公开中的任何地方描述的矩阵乘法计算,需要根据情况来确定是否对参与矩阵乘法的两个或多个矩阵中的一个或多个对应的矩阵进行转置处理,以满足矩阵乘法规则,由此完成矩阵乘法计算。
下面将结合附图来详细描述根据本公开的用于经由多个训练参与方来协同训练线性/逻辑回归模型的方法、装置以及系统的实施例。
图1示出了根据本公开的实施例的经过水平切分的训练样本集的示例的示意图。图1中示出了2个数据方Alice和Bob,多个数据方也类似。每个数据方Alice和Bob拥有的训练样本子集中的每条训练样本是完整的,即,每条训练样本包括完整的特征数据(x)和标记数据(y)。比如,Alice拥有完整的训练样本(x0,y0)。
图2示出了示出了根据本公开的实施例的用于经由多个训练参与方来协同训练线性/逻辑回归模型的系统1(下文中称为模型训练系统1)的架构示意图。
如图2所示,模型训练系统1包括训练发起方设备10以及至少一个训练协同方设备20。在图2中示出了2个训练协同方设备20。在本公开的其它实施例中,可以包括一个训练协同方设备20或者包括多于2个的训练协同方设备20。训练发起方设备10以及至少一个训练协同方设备20可以通过例如但不局限于互联网或局域网等的网络30相互通信。在本公开中,训练发起方设备10以及至少一个训练协同方设备20统称为训练参与方设备。
在本公开中,所训练的线性/逻辑回归模型被分割为第一数目个子模型。这里,第一数目等于参与模型训练的训练参与方设备的数目。这里,假设训练参与方设备的数目为N。相应地,线性/逻辑回归模型被分割为N个子模型,每个训练参与方设备具有一个子模型。用于模型训练的训练样本集位于训练发起方设备10处,所述训练样本集是如上所述的经过水平划分后的训练样本集,并且训练样本集包括特征数据集以及对应的标记值,即,图1中示出的x0和y0。每一个训练参与方所拥有的子模型以及对应的训练样本是该训练参与方的秘密,不能被其他训练参与方获悉或者完整地获悉。
在本公开中,训练发起方设备10和至少一个训练协同方设备20一起使用训练发起方设备10处的训练样本集以及各自的子模型来协同训练线性/逻辑回归模型。关于模型的具体训练过程将在下面参照图3到图6进行详细描述。
在本公开中,训练发起方设备10以及训练协同方设备20可以是任何合适的具有计算能力的计算设备。所述计算设备包括但不限于:个人计算机、服务器计算机、工作站、桌面型计算机、膝上型计算机、笔记本计算机、移动计算设备、智能电话、平板计算机、蜂窝电话、个人数字助理(PDA)、手持装置、消息收发设备、可佩戴计算设备、消费电子设备等等。
图3示出了根据本公开的实施例的用于经由多个训练参与方来协同训练线性/逻辑回归模型的方法的流程图。在图3中,以一个训练发起方Alice和2个训练协同方Bob和Charlie为例来进行说明。训练发起方Alice具有特征样本集X和标记值Y,训练发起方Alice、训练协同方Bob和Charlie的子模型为WA、WB和WC,以及线性/逻辑回归模型W=WA+WB+WC
如图3所示,首先,在块301,训练发起方Alice、训练协同方Bob和Charlie初始化其子模型的子模型参数,即,权重子向量WA、WB和WC,以获得其子模型参数的初始值,并且将已执行训练循环次数t初始化为零。这里,假设循环过程的结束条件为执行预定次数训练循环,例如,执行T次训练循环。
在如上初始化后,在块302,在训练发起方Alice处,对特征样本集X进行分割处理,以得到特征样本子集XA、XB和XC。例如,假设特征样本集X包括两个特征样本S1和S2,特征样本S1和S2各自包括3个属性值,其中,S1=[a1 1,a2 1,a3 1]和S2=[a1 2,a2 2,a3 2],那么,在将特征样本集X分割成3个特征样本子集XA、XB和XC之后,第一特征样本子集XA包括特征子样本[a11 1,a21 1,a31 1]和特征子样本[a11 2,a21 2,a31 2],第二特征样本子集XB包括特征子样本[a12 1,a22 1,a32 1]和特征子样本[a12 2,a22 2,a32 2],第三特征样本子集XC包括特征子样本[a13 1,a23 1,a33 1]和特征子样本[a13 2,a23 2,a33 2]其中,a11 1+a12 1+a13 1=a1 1,a21 1+a22 1+a23 1=a2 1,a31 1+a32 1+a33 1=a3 1,a11 2+a12 2+a13 2=a1 2,a21 2+a22 2+a23 2=a2 2和a31 2+a32 2+a33 2=a3 2
然后,在块303,训练发起方Alice将特征样本子集XB发送给训练协同方Bob,以及将特征样本子集XC发送给训练协同方Charlie,同时Alice保留特征样本子集XA作为自己的特征样本子集。
接着,在块304,基于各个训练参与方的当前子模型WA、WB和WC以及各个训练参与方的特征样本子集XA、XB和XC,使用秘密共享矩阵乘法来获得各个训练参与方处的当前预测值,即,Alice处的预测值
Figure BDA0002119246760000101
Bob处的预测值
Figure BDA0002119246760000102
以及Charlie处的预测值
Figure BDA0002119246760000103
在本公开的一个示例中,基于各个训练参与方的当前子模型WA、WB和WC以及各个训练参与方的特征样本子集XA、XB和XC,使用秘密共享矩阵乘法来获得各个训练参与方处的当前预测值可以包括:基于各个训练参与方的当前子模型WA、WB和WC以及各个训练参与方的特征样本子集XA、XB和XC,使用有可信初始化方秘密共享矩阵乘法来获得各个训练参与方处的当前预测值
Figure BDA0002119246760000104
Figure BDA0002119246760000105
如何使用有可信初始化方秘密共享矩阵乘法来获得各个训练参与方处的当前预测值将在下面参照图4进行说明。
在本公开的另一示例中,基于各个训练参与方的当前子模型WA、WB和WC以及各个训练参与方的特征样本子集XA、XB和XC,使用秘密共享矩阵乘法来获得各个训练参与方处的当前预测值可以包括:基于各个训练参与方的当前子模型WA、WB和WC以及各个训练参与方的特征样本子集XA、XB和XC,使用无可信初始化方秘密共享矩阵乘法来获得各个训练参与方处的当前预测值。如何使用无可信初始化方秘密共享矩阵乘法来获得各个训练参与方处的当前预测值将在下面参照图5-6进行说明。
在如上得到各个训练参与方的当前预测值后,在块305,在训练发起方Alice处,对标记值Y进行分割处理,以得到3个部分标记值YA、YB和YC。针对标记值Y的分割处理过程与上面针对特征样本集X的分割处理过程相同,在此不再描述。
接着,在块306,训练发起方Alice将部分标记值YB发送给训练协同方Bob,以及将部分标记值YC发送给训练协同方Charlie,同时Alice保留部分标记值YA作为自己的部分标记值。
然后,在块307,在各个训练参与方处,基于各个训练参与方的当前预测值和各自的部分标记值,确定各个训练参与方处的预测差值。即,Alice处的预测差值
Figure BDA0002119246760000111
Bob处的预测值
Figure BDA0002119246760000112
以及Charlie处的预测值
Figure BDA0002119246760000113
这里,e是一个列向量,Y是一个表示训练样本X的标记值的列向量,以及,
Figure BDA0002119246760000114
是表示训练样本X的当前预测值的列向量。如果训练样本X仅包含单个训练样本,则e、Y和
Figure BDA0002119246760000115
都是仅具有单个元素的列向量。如果训练样本X包含多个训练样本,则e、Y和
Figure BDA0002119246760000116
都是具有多个元素的列向量,其中,
Figure BDA0002119246760000117
中的每个元素是该多个训练样本中的对应训练样本的当前预测值,Y中的每个元素是该多个训练样本中的对应训练样本的标记值,以及e中的每个元素是该多个训练样本的对应训练样本的标记值与当前预测值的差值。要说明的是,在上面的描述中,eA、eB和eC被统称为e,以及YA、YB和YC被统称为Y。
然后,在块308,基于训练发起方Alice的特征样本集X以及各个训练参与方的预测差值eA、eB和eC来确定各个训练参与方的模型更新量TMPA、TMPB和TMPC。具体地,Alice处的模型更新量TMPA=X*eA,Bob处的模型更新量TMPB=X*eB,以及Charlie处的模型更新量TMPC=X*eC。其中,Bob处的模型更新量TMPB以及Charlie处的模型更新量TMPC是使用有可信初始化方秘密共享矩阵乘法或者无可信初始化方秘密共享矩阵乘法获得的。
接着,在块309,在各个训练参与方处,基于该训练参与方的当前子模型以及对应的模型更新量来更新该训练参与方处的当前子模型。例如,训练发起方Alice使用当前子模型WA以及对应的模型更新量TMPA来更新训练发起方Alice处的当前子模型,训练协同方Bob使用当前子模型WB以及对应的模型更新量TMPB来更新训练协同方Bob处的当前子模型,以及训练协同方Charlie使用当前子模型WC以及对应的模型更新量TMPC来更新训练协同方Charlie处的当前子模型。
在本公开的一个示例中,基于训练参与方的当前子模型以及对应的模型更新量来更新该训练参与方处的当前子模型可以按照以下等式更新训练参与方处的当前子模型Wn+1=Wn-α·TMPi=Wn-α·X·ei,其中,Wn+1表示该训练参与方处的更新后的子模型,Wn表示该训练参与方处的当前子模型,α表示学习率(learning rate),X表示所述特征样本集,以及ei表示该训练参与方处的预测差值。其中,在训练参与方是训练发起方时,可以在训练发起方处单独地计算出更新后的当前子模型。在训练参与方是训练协同方时,X·ei是在所述训练协同方处使用秘密共享矩阵乘法来获得的,所述秘密共享矩阵乘法可以采用图4或图5-6中所示的类似过程来执行,不同之处在于,X对应于图4中的W,以及ei对应于图4中的X。这里要说明的是,在X是单个特征样本时,X是由多个属性组成的特征向量(列向量或行向量),以及ei是单个预测差值。在X是多个特征样本时,X是特征矩阵,每个特征样本的属性构成特征矩阵X的一列元素/一行元素,以及ei是预测差值向量。在计算X·ei时,与ei中的各个元素相乘的是矩阵X的某个特征所对应的各个样本的特征值。例如,假设ei是列向量,则每次相乘时,ei与矩阵X中的一个行相乘,该行中的元素表示的是各个样本所对应的某一个特征的特征值。
在如上在各个训练参与方完成各自的子模型更新后,在块310,判断是否达到预定循环次数,即,判断是否达到循环结束条件。如果达到预定循环次数,则各个训练参与方将各自的子模型参数的当前更新值,存储为其子模型参数的最终值,从而得到各自的训练后的子模型,然后流程结束。如果未达到预定循环次数,则流程返回到块302的操作来执行下一训练循环过程,其中,在该下次训练循环过程中,各个训练参与方在当前循环过程所获得的更新后的子模型被用作下一循环过程的当前子模型。
这里要说明的是,在上述的示例中,训练循环过程的结束条件是指达到预定循环次数。在本公开的其它示例中,训练循环过程的结束条件也可以是所确定出的预测差值位于预定范围内,即,预测差值eA、eB和eC中的每个元素ei都位于预定范围内,例如,预测差值e中的每个元素ei都小于预定阈值。相应地,图3中的块310的操作可以在块307的操作之后执行。
图4示出了有可信初始化方秘密共享矩阵乘法过程的一个示例的流程图。在图4中,以计算训练发起方Alice处的当前预测值为例进行说明。针对训练参与方Bob和Charlie的当前预测值计算过程与Alice类似,仅仅需要将训练参与方Bob和Charlie分别调整为训练发起方即可。在使用有可信初始化方秘密共享矩阵乘法的情况下,图2中示出的模型训练系统1还包括可信初始化方设备30。
如图4所示,首先,在可信初始化方30处,生成第一数目个随机权重向量、第一数目个随机特征矩阵以及第一数目个随机标记值向量,并且第一数目个随机权重向量之和与第一数目个随机特征矩阵之和的乘积等于第一数目个随机标记值向量之和。这里,第一数目等于训练参与方的数目。
例如,如图4所示,可信初始化方30生成3个随机权重向量WR,1、WR,2和WR,3,3个随机特征矩阵XR,1、XR,2和XR,3,以及3个随机标记值向量YR,1、YR,2和YR,3,其中,
Figure BDA0002119246760000131
这里,随机权重向量的维度与各个模型训练参与方的子模型的权重子向量的维度相同,随机特征矩阵的维度与训练样本集的特征矩阵的维度相同,以及随机标记值向量的维度与标记值向量的维度相同。
然后,在块401,可信初始化方30将所生成的WR,1、XR,1和YR,1发送给训练发起方Alice,在块402,将所生成的WR,2、XR,2和YR,2发送给训练协同方Bob,以及在块403,将所生成的WR,3、XR,3和YR,3发送给训练协同方Charlie。
接着,在块404,在训练发起方Alice处,将特征样本子集XA(下文中称为特征矩阵XA)分割成第一数目个特征子矩阵,例如,如图4中所示分割为3个特征子矩阵XA1、XA2和XA3
然后,训练发起方Alice将所分割出的第一数目个特征子矩阵中的第二数目个特征子矩阵中的每个分别发送给训练协同方,第二数目等于第一数目减一。例如,在块405和406,将特征子矩阵XA2发送给训练协同方Bob,以及将特征子矩阵XA3发送给Charlie。
然后,在各个训练参与方处,基于各个训练参与方的权重子向量、对应的特征子矩阵以及所接收的随机权重向量和随机特征矩阵,确定该训练参与方处的权重子向量差值E和特征子矩阵差值D。例如,在块407,在训练发起方Alice处,确定出其权重子向量差值E1=WA-WR,1以及特征子矩阵差值D1=XA1-XR,1。在块408,在训练协同方Bob处,确定出其权重子向量差值E2=WB-WR,2以及特征子矩阵差值D2=XA2-XR,2。在块409,在训练协同方Charlie处,确定出其权重子向量差值E3=WC-WR,3以及特征子矩阵差值D3=XA3-XR,3
在各个训练参与方确定出各自的权重子向量差值Ei和特征子矩阵差值Di后,各个训练参与方将所确定出的各自的权重子向量差值Ei和特征子矩阵差值Di公开给剩余的训练参与方。例如,在块410和411,训练发起方Alice将D1和E1分别发送给训练协同方Bob和Charlie。在块412和413,训练协同方Bob将D2和E2分别发送给训练发起方Alice和训练协同方Charlie。在块414和415,训练协同方Charlie将D3和E3分别发送给训练发起方Alice和训练协同方Bob。
然后,在块416,在各个训练参与方处,分别对所述各个训练参与方处的权重子向量差值和特征子矩阵差值进行求和,以得到权重子向量总差值E和特征子矩阵总差值D。例如,如图4中所示,D=D1+D2+D3,以及E=E1+E2+E3。
然后,在各个训练参与方处,基于所接收的随机权重向量WR,i、随机特征矩阵XR,i、随机标记值向量YR,i、权重子向量总差值E、特征子矩阵总差值D计算各自对应的预测值向量Zi。
在本公开的一个示例中,在各个训练参与方处,可以对该训练参与方的随机标记值向量、权重子向量总差值与该训练参与方的随机特征矩阵之积以及特征子矩阵总差值与该训练参与方的随机权重向量之积进行求和,以得到对应的预测值向量(第一种计算方式)。或者,可以对该训练参与方的随机标记值向量、权重子向量总差值与该训练参与方的随机特征矩阵之积、特征子矩阵总差值与该训练参与方的随机权重向量之积、以及权重子向量总差值与特征子矩阵总差值之积进行求和,以得到对应的预测值矩阵(第二种计算方式)。
这里要说明的是,在各个训练参与方处的预测值矩阵计算时,仅仅只有一个训练参与方处计算出的预测值矩阵中包含权重子向量总差值与特征子矩阵总差值之积。换言之,针对各个训练参与方,仅仅只有一个训练参与方的预测值向量是按照第二种计算方式计算出的,而其余的训练参与方按照第一种计算方式来计算出对应的预测值向量。
例如,在块417,在训练发起方Alice处,计算出对应的预测值向量Z1=YR,1+E*XR,1+D*WR,1+D*E。在块418,在训练协同方Bob处,计算出对应的预测值向量Z2=YR,2+E*XR,2+D*WR,2。在块419,在训练协同方Charlie处,计算出对应的预测值向量Z3=YR,3+E*XR,3+D*WR,3
这里要说明的,在图4中示出的是在训练发起方Alice处计算出的Z1中包含D*E。在本公开的其它示例中,也可以在训练协同方Bob和Charlie中的任一方所计算出的Zi中包含D*E,相应地,在训练发起方Alice处计算出的Z1中不包含D*E。换言之,在各个训练参与方处所计算出的Zi中,仅仅只有一个包含D*E。
然后,各个训练参与方将所计算出的各自的预测值向量公开给其余训练参与方。例如,在块420和421,训练发起方Alice将预测值向量Z1分别发送给训练协同方Bob和Charlie。在块422和423,训练协同方Bob将预测值向量Z2分别发送给训练发起方Alice和训练协同方Charlie。在块424和425,训练协同方Charlie将预测值向量Z3分别发送给训练发起方Alice和训练协同方Bob。
然后,在块426,427和428,各个训练参与方对所述各个训练参与方的预测值向量进行求和Z=Z1+Z2+Z3,以得到线性/逻辑回归模型针对特征样本集的当前预测值。
图5示出了根据本公开的实施例的基于各个训练参与方的当前子模型以及各个训练参与方的特征样本子集,使用无可信初始化方秘密共享矩阵乘法来获得各个训练参与方的当前预测值的过程的流程图。下面以计算训练发起方Alice处的当前预测值为例进行说明。针对训练参与方Bob和Charlie的当前预测值计算过程与Alice类似,仅仅需要将训练参与方Bob和Charlie分别调整为训练发起方即可。
如图5所示,首先,在块510,在训练发起方Alice处,计算训练发起方的第一权重子矩阵WA与第一特征矩阵XA的矩阵乘积,以得到与训练发起方Alice的子模型WA对应的部分预测值YA1=WA*XA
接着,在块520,使用无可信初始化方的秘密共享矩阵乘法来计算各个训练协同方(例如,Bob和Charlie)的第一权重子矩阵(例如,WB和WC)与第一特征矩阵XA的矩阵乘积,以得到与各个训练协同方的子模型对应的部分预测值(YA2=WB*XA和YA3=WC*XA)。这里,每个训练协同方的子模型对应的部分预测值是在对应的训练协同方和训练发起方之间,基于训练发起方的特征样本子集(例如,Alice处的XA)来使用无可信初始化方的秘密共享矩阵乘法计算出。如何使用无可信初始化方的秘密共享矩阵乘法来计算训练协同方处的部分预测值,将在下面参照图6进行详细说明。
然后,在训练发起方Alice处,对所得到的各个训练参与方的子模型所对应的部分预测值(例如,YA1、YA2和YA3)进行求和,以得到训练发起方处的当前预测值Y~A=YA1+YA2+YA3
图6示出了图5中的无可信初始化方秘密共享矩阵乘法过程的一个示例的流程图。在图6中,以一个训练发起方Alice和训练协同方Bob为例来进行说明YA2=WB*XA的计算过程。
如图6所示,首先,在块601,如果训练发起方Alice处的第一特征矩阵XA的行数不是偶数,和/或训练协同方Bob处的当前子模型参数WB(下文中称为第一权重子矩阵WB)的列数不为偶数,则对第一特征矩阵XA和/或第一权重子矩阵WB进行维度补齐处理,以使得第一特征矩阵XA的行数是偶数和/或第一权重子矩阵WB的列数为偶数。例如,将第一特征矩阵XA的行末尾增加一行0值和/或将第一权重子矩阵WB的列末尾多增加一列0值来进行维度补齐处理。在下面的描述中,假设第一权重子矩阵WB的维度为I*J,以及第一特征矩阵的维度为J*K,其中,J为偶数。
然后,在训练发起方Alice处执行块602到604的操作,以得到随机特征矩阵X1、第二到第三特征矩阵X2和X3。具体地,在块602,生成随机特征矩阵X1。这里,随机特征矩阵X1的维度与第一特征矩阵XA的维度相同,即,随机特征矩阵X1的维度为J*K。在块603,将随机特征矩阵X1减去第一特征矩阵XA,以得到第二特征矩阵X2。第二特征矩阵X2的维度为J*K。在块604,将随机特征矩阵X1的偶数行子矩阵X1_e减去随机特征矩阵X1的奇数行子矩阵X1_o,以得到第三特征矩阵X3。第三特征矩阵X3的维度为j*K,其中j=J/2。
此外,在训练协同方Bob处执行块605到607的操作,以得到随机权重子矩阵WB1、第二和第三权重子矩阵WB2和WB3。具体地,在块605,生成随机权重子矩阵Wi1。这里,随机权重子矩阵WB1的维度与第一特征矩阵WB的维度相同,即,随机权重子矩阵Wi1的维度为I*J。在块606,对第一权重子矩阵WB和随机权重子矩阵WB1进行求和,以得到第二权重子矩阵WB2。第二权重子矩阵WB2的维度为I*J。在块607,将随机权重子矩阵WB1的奇数列子矩阵WB1_o加上随机权重子矩阵WB1的偶数行子矩阵WB1_e而得到第三权重子矩阵WB3。第三权重子矩阵WB3的维度为I*j,其中j=J/2。
然后,在块608,训练发起方Alice将所生成的第二特征矩阵X2和第三特征矩阵X3发送给训练协同方Bob,以及在块609,训练协同方Bob将第二权重子矩阵WB2和第三权重子矩阵WB3发送给训练发起方Alice。
接着,在块610,在训练发起方Alice处,基于等式Y1=WB2*(2*XA-X1)-WB3*(X3+X1_e)进行矩阵计算,以得到第一矩阵乘积Y1,并且在块612,将第一矩阵乘积Y1发送给训练协同方Bob。
在块611,在训练协同方Bob处,基于等式Y2=(WB+2*WB1)*X2+(WB3+WB1_o)*X3计算出第二矩阵乘积Y2,并且在块613,将第二矩阵乘积Y2发送给训练发起方Alice。
然后,在块614和615,分别在训练发起方Alice和训练协同方Bob处,对第一矩阵乘积Y1和第二矩阵乘积Y2进行求和,以得到与训练协同方Bob的子模型对应的部分预测值YA2=Y1+Y2。
这里要说明的是,图4-图6中示出的是线性回归模型下的当前预测值Y=W*X的计算过程。在逻辑回归模型的情况下,可以按照图4-图6示出的过程确定出W*X,然后将所确定出的W*X代入逻辑回归模型Y=1/(1+e-wx),由此计算出当前预测值。
此外,要说明的是,在图3-图6中示出的模型训练过程中,Alice被作为训练发起方来发起当前模型迭代训练,即,使用Alice处的训练数据来执行模型迭代训练。在本公开的其它示例中,每次模型迭代训练中所使用的训练数据可以是训练参与方中的任一方中所具有的训练数据。相应地,图3中所述的方法还可以包括:在每次循环训练时,由训练参与方来协商确定哪个训练参与方作为训练发起方,即,协商确定使用哪个训练参与方中的训练数据来执行本次迭代训练。然后,各个训练参与方按照所确定出的训练角色来执行图3-图6中示出的对应操作。
此外,要说明的是,图3-图6中示出的是1个训练发起方和2个训练协同方的模型训练方案,在本公开的其它示例中,也可以包括1个训练协同方或者包括多于2个训练协同方。
利用图3-图6中公开的线性/逻辑回归模型训练方法,能够在不泄漏该多个训练参与方的秘密数据的情况下训练得到线性/逻辑回归模型的模型参数,并且模型训练的工作量仅与训练所使用的特征样本的数量成线性关系,而不是指数关系,从而能够在保证多个训练参与方的各自数据安全的情况下提高模型训练的效率。
图7示出了根据本公开的实施例的用于经由多个训练参与方来协同训练线性/逻辑回归模型的装置(下文中称为模型训练装置)700的示意图。在该实施例中,线性/逻辑回归模型由第一数目个子模型组成,每个训练参与方具有一个子模型,第一数目等于训练参与方的数目,训练参与方包括训练发起方和至少一个训练协同方,训练发起方具有特征样本集和标记值,特征样本集是通过水平切分而得到的数据集。模型训练装置700位于训练发起方侧。
如图7所示,模型训练装置700包括样本分割单元710、样本发送单元720、预测值获取单元730、标记值分割单元740、标记值发送单元750、预测差值确定单元760、模型更新量确定单元770和模型更新单元780。
在进行模型训练时,样本分割单元710、样本发送单元720、预测值获取单元730、标记值分割单元740、标记值发送单元750、预测差值确定单元760、模型更新量确定单元770和模型更新单元780被配置为循环执行操作,直到满足循环结束条件。所述循环结束条件可以包括:达到预定循环次数;或者所确定出的预测差值位于预定范围内。在循环过程未结束时,更新后的各个训练参与方的子模型被用作下一循环过程的当前子模型。
具体地,在每次循环过程中,样本分割单元710被配置为将特征样本集分割为第一数目个特征样本子集。样本发送单元720被配置为将第二数目个特征样本子集中的每个分别发送给对应的训练协同方,第二数目等于所述第一数目减一。
预测值获取单元730被配置为基于各个训练参与方的当前子模型和所述训练发起方的特征样本子集,使用秘密共享矩阵乘法来获得训练发起方处的当前预测值。
标记值分割单元740被配置为将标记值分割为第一数目个部分标记值。标记值发送单元750被配置为将第二数目个部分标记值中的每个分别发送给对应的训练协同方。
预测差值确定单元760被配置为确定训练发起方的当前预测值与对应的部分标记值之间的预测差值。
模型更新量确定单元770被配置为基于特征样本集和训练发起方处的预测差值,确定训练发起方处的模型更新量。模型更新单元780被配置为基于所述训练发起方的当前子模型以及对应的模型更新量来更新所述训练发起方的子模型。
在本公开的一个示例中,预测值获取单元730可以被配置为:基于各个训练参与方的当前子模型和所述训练发起方的特征样本子集,使用有可信初始化方秘密共享矩阵乘法来获得训练发起方处的当前预测值。预测值获取单元730的操作可以参考上面参照图4描述的在训练发起方Alice处执行的操作。
在本公开的另一示例中,预测值获取单元730可以被配置为:基于各个训练参与方的当前子模型和所述训练发起方的特征样本子集,使用无可信初始化方秘密共享矩阵乘法来获得训练发起方处的当前预测值。预测值获取单元730的操作可以参考上面参照图5-6描述的在训练发起方Alice处执行的操作。
此外,在本公开的其它示例中,模型训练装置700还可以包括协商单元(未示出),被配置为在多个训练参与方之间协商确定出所述训练发起方和所述训练协同方。
图8示出了根据本公开的实施例的用于经由多个训练参与方来协同训练线性/逻辑回归模型的装置(下文中称为模型训练装置800)的方框图。在该实施例中,线性/逻辑回归模型由第一数目个子模型组成,每个训练参与方具有一个子模型,第一数目等于训练参与方的数目,训练参与方包括训练发起方和至少一个训练协同方,训练发起方具有特征样本集和标记值,特征样本集是通过水平切分而得到的数据集。模型训练装置700位于训练协同方侧。
如图8所示,模型训练装置800包括样本接收单元810、预测值获取单元820、标记值接收单元830、预测差值确定单元840、模型更新量确定单元850和模型更新单元860。
在模型训练时,样本接收单元810、预测值获取单元820、标记值接收单元830、预测差值确定单元840、模型更新量确定单元850和模型更新单元860被配置为循环执行操作,直到满足循环结束条件。所述循环结束条件可以包括:达到预定循环次数;或者所确定出的预测差值位于预定范围内。
具体地,在每次循环过程中,样本接收单元810被配置为从训练发起方接收对应的特征样本子集,该特征样本子集是在训练发起方处对特征样本集进行分割而得到的第一数目个特征样本子集中的一个特征样本子集。
预测值获取单元820被配置为基于各个训练参与方的当前子模型和训练协同方的特征样本子集,使用秘密共享矩阵乘法来获得训练协同方的当前预测值。
标记值接收单元830被配置为从训练发起方接收对应的部分标记值,所述部分标记值是在训练发起方处对标记值进行分割后得到的第一数目个部分标记值中的一个部分标记值。
预测差值确定单元840被配置为使用训练协同方的当前预测值和所接收的部分标记值,确定训练协同方处的预测差值。
模型更新量确定单元850被配置为基于样本标记集和训练协同方的预测差值,使用秘密共享矩阵乘法来获得训练协同方的模型更新量。
模型更新单元860被配置为基于训练协同方的当前子模型以及对应的模型更新量来更新训练协同方的子模型。
在本公开的一个示例中,预测值获取单元820可以被配置为:基于各个训练参与方的当前子模型和训练协同方的特征样本子集,使用有可信初始化方秘密共享矩阵乘法来获得所述训练发起方的当前预测值。预测值获取单元820的操作可以参考上面参照图4描述的在训练协同方处执行的操作。
在本公开的另一示例中,预测值获取单元820可以被配置为:基于各个训练参与方的当前子模型和所述训练协同方的特征样本子集,使用无可信初始化方秘密共享矩阵乘法来获得所述训练发起方的当前预测值。预测值获取单元820的操作可以参考上面参照图5-6描述的在训练协同方处执行的操作。
在本公开的一个示例中,模型更新量确定单元850可以被配置为:基于所述特征样本集和所述训练协同方的预测差值,使用有可信初始化方秘密共享矩阵乘法来获得所述训练协同方的模型更新量。模型更新量确定单元850的操作可以参考上面参照图4描述的在训练协同方处执行的操作。
在本公开的另一示例中,模型更新量确定单元850可以被配置为:基于所述特征样本集和训练协同方的预测差值,使用无可信初始化方秘密共享矩阵乘法来获得所述训练协同方的模型更新量。模型更新量确定单元850的操作可以参考上面参照图5-6描述的在训练协同方处执行的操作。
此外,在本公开的其它示例中,模型训练装置800还可以包括协商单元(未示出),被配置为在多个训练参与方之间协商确定出所述训练发起方和所述训练协同方。
如上参照图1到图8,对根据本公开的模型训练方法、装置及系统的实施例进行了描述。上面的模型训练装置可以采用硬件实现,也可以采用软件或者硬件和软件的组合来实现。
图9示出了根据本公开的实施例的用于实现经由多个训练参与方来协同训练线性/逻辑回归模型的计算设备900的硬件结构图。如图9所示,计算设备900可以包括至少一个处理器910、存储器(例如,非易失性存储器)920、内存930和通信接口940,并且至少一个处理器910、存储器920、内存930和通信接口940经由总线960连接在一起。至少一个处理器910执行在存储器中存储或编码的至少一个计算机可读指令(即,上述以软件形式实现的元素)。
在一个实施例中,在存储器中存储计算机可执行指令,其当执行时使得至少一个处理器910:执行下述循环过程,直到满足循环结束条件:将特征样本集分割为第一数目个特征样本子集,并将第二数目个特征样本子集中的每个分别发送给对应的训练协同方,第二数目等于第一数目减一;基于各个训练参与方的当前子模型和训练发起方的特征样本子集,使用秘密共享矩阵乘法来获得训练发起方的当前预测值;将标记值分割为第一数目个部分标记值,并将第二数目个部分标记值中的每个分别发送给对应的训练协同方;确定训练发起方的当前预测值与对应的部分标记值之间的预测差值;基于特征样本集和训练发起方处的预测差值,确定训练发起方处的模型更新量;以及基于训练发起方的当前子模型以及对应的模型更新量来更新训练发起方的子模型,其中,在循环过程未结束时,更新后的各个训练参与方的子模型被用作下一循环过程的当前子模型。
应该理解,在存储器中存储的计算机可执行指令当执行时使得至少一个处理器910进行本公开的各个实施例中以上结合图1-8描述的各种操作和功能。
图10示出了根据本公开的实施例的用于实现经由多个训练参与方来协同训练线性/逻辑回归模型的计算设备1000的硬件结构图。如图10所示,计算设备1000可以包括至少一个处理器1010、存储器(例如,非易失性存储器)1020、内存1030和通信接口1040,并且至少一个处理器1010、存储器1020、内存1030和通信接口1040经由总线1060连接在一起。至少一个处理器1010执行在存储器中存储或编码的至少一个计算机可读指令(即,上述以软件形式实现的元素)。
在一个实施例中,在存储器1020中存储计算机可执行指令,其当执行时使得至少一个处理器1010:执行下述循环过程,直到满足循环结束条件:从训练发起方接收对应的特征样本子集,所述特征样本子集是在训练发起方处对特征样本集进行分割而得到的第一数目个特征样本子集中的一个特征样本子集;基于各个训练参与方的当前子模型和训练协同方的特征样本子集,使用秘密共享矩阵乘法来获得训练协同方的当前预测值;从训练发起方接收对应的部分标记值,所述部分标记值是在训练发起方处对标记值进行分割后得到的第一数目个部分标记值中的一个部分标记值;使用训练协同方的当前预测值和所接收的部分标记值,确定训练协同方处的预测差值;基于所述特征样本集和训练协同方的预测差值,使用秘密共享矩阵乘法来获得训练协同方的模型更新量;以及基于训练协同方的当前子模型以及对应的模型更新量来更新训练协同方的子模型,其中,在循环过程未结束时,更新后的各个训练参与方的子模型被用作下一循环过程的当前子模型。
应该理解,在存储器中存储的计算机可执行指令当执行时使得至少一个处理器1010进行本公开的各个实施例中以上结合图1-8描述的各种操作和功能。
根据一个实施例,提供了一种比如机器可读介质(例如,非暂时性机器可读介质)的程序产品。机器可读介质可以具有指令(即,上述以软件形式实现的元素),该指令当被机器执行时,使得机器执行本公开的各个实施例中以上结合图1-8描述的各种操作和功能。具体地,可以提供配有可读存储介质的系统或者装置,在该可读存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机或处理器读出并执行存储在该可读存储介质中的指令。
在这种情况下,从可读介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此机器可读代码和存储机器可读代码的可读存储介质构成了本发明的一部分。
可读存储介质的实施例包括软盘、硬盘、磁光盘、光盘(如CD-ROM、CD-R、CD-RW、DVD-ROM、DVD-RAM、DVD-RW、DVD-RW)、磁带、非易失性存储卡和ROM。可选择地,可以由通信网络从服务器计算机上或云上下载程序代码。
本领域技术人员应当理解,上面公开的各个实施例可以在不偏离发明实质的情况下做出各种变形和修改。因此,本发明的保护范围应当由所附的权利要求书来限定。
需要说明的是,上述各流程和各系统结构图中不是所有的步骤和单元都是必须的,可以根据实际的需要忽略某些步骤或单元。各步骤的执行顺序不是固定的,可以根据需要进行确定。上述各实施例中描述的装置结构可以是物理结构,也可以是逻辑结构,即,有些单元可能由同一物理实体实现,或者,有些单元可能分由多个物理实体实现,或者,可以由多个独立设备中的某些部件共同实现。
以上各实施例中,硬件单元或模块可以通过机械方式或电气方式实现。例如,一个硬件单元、模块或处理器可以包括永久性专用的电路或逻辑(如专门的处理器,FPGA或ASIC)来完成相应操作。硬件单元或处理器还可以包括可编程逻辑或电路(如通用处理器或其它可编程处理器),可以由软件进行临时的设置以完成相应操作。具体的实现方式(机械方式、或专用的永久性电路、或者临时设置的电路)可以基于成本和时间上的考虑来确定。
上面结合附图阐述的具体实施方式描述了示例性实施例,但并不表示可以实现的或者落入权利要求书的保护范围的所有实施例。在整个本说明书中使用的术语“示例性”意味着“用作示例、实例或例示”,并不意味着比其它实施例“优选”或“具有优势”。出于提供对所描述技术的理解的目的,具体实施方式包括具体细节。然而,可以在没有这些具体细节的情况下实施这些技术。在一些实例中,为了避免对所描述的实施例的概念造成难以理解,公知的结构和装置以框图形式示出。
本公开内容的上述描述被提供来使得本领域任何普通技术人员能够实现或者使用本公开内容。对于本领域普通技术人员来说,对本公开内容进行的各种修改是显而易见的,并且,也可以在不脱离本公开内容的保护范围的情况下,将本文所定义的一般性原理应用于其它变型。因此,本公开内容并不限于本文所描述的示例和设计,而是与符合本文公开的原理和新颖性特征的最广范围相一致。

Claims (24)

1.一种用于经由多个训练参与方来协同训练线性/逻辑回归模型的方法,所述线性/逻辑回归模型由第一数目个子模型组成,每个训练参与方具有一个子模型,所述第一数目等于所述训练参与方的数目,所述训练参与方包括训练发起方和至少一个训练协同方,所述训练发起方的训练样本数据具有特征样本集和标记值,所述训练样本数据是通过水平切分得到的,所述方法由训练发起方执行,所述方法包括:
执行下述循环过程,直到满足循环结束条件:
将所述特征样本集分割为所述第一数目个特征样本子集,并将第二数目个特征样本子集中的每个分别发送给对应的训练协同方,所述第二数目等于所述第一数目减一;
基于各个训练参与方的当前子模型和所述训练发起方的特征样本子集,使用秘密共享矩阵乘法来获得所述训练发起方的当前预测值;
将所述标记值分割为所述第一数目个部分标记值,并将所述第二数目个部分标记值中的每个分别发送给对应的训练协同方;
确定所述训练发起方的当前预测值与对应的部分标记值之间的预测差值;
基于所述特征样本集和所述训练发起方处的预测差值,确定所述训练发起方处的模型更新量;以及
基于所述训练发起方的当前子模型以及对应的模型更新量来更新所述训练发起方的子模型,其中,在循环过程未结束时,所述更新后的各个训练参与方的子模型被用作下一循环过程的当前子模型。
2.如权利要求1所述的方法,其中,基于各个训练参与方的当前子模型和所述训练发起方的特征样本子集,使用秘密共享矩阵乘法来获得所述训练发起方的当前预测值包括:
基于各个训练参与方的当前子模型和所述训练发起方的特征样本子集,使用有可信初始化方秘密共享矩阵乘法来获得所述训练发起方的当前预测值;或者
基于各个训练参与方的当前子模型和所述训练发起方的特征样本子集,使用无可信初始化方秘密共享矩阵乘法来获得所述训练发起方的当前预测值。
3.如权利要求1所述的方法,其中,基于所述训练发起方的当前子模型以及对应的部分模型更新量来更新所述训练发起方的子模型包括:按照以下等式更新所述训练发起方处的子模型
Wn+1=Wn-α·X·ei
其中,Wn+1表示所述训练发起方处的更新后的子模型,Wn表示所述训练发起方处的当前子模型,α表示学习率,X表示所述训练发起方处的特征样本集,以及ei表示所述训练发起方处的预测差值。
4.如权利要求1所述的方法,其中,所述训练发起方和所述训练协同方是由所述多个训练参与方协商确定的。
5.如权利要求1到4中任一所述的方法,其中,所述循环结束条件包括:
预定循环次数;或者
所确定出的预测差值位于预定范围内。
6.一种用于经由多个训练参与方来协同训练线性/逻辑回归模型的方法,所述线性/逻辑回归模型由第一数目个子模型组成,每个训练参与方具有一个子模型,所述第一数目等于所述训练参与方的数目,所述训练参与方包括训练发起方和至少一个训练协同方,所述训练发起方的训练样本数据具有特征样本集和标记值,所述训练样本数据是通过水平切分得到的,所述方法由训练协同方执行,所述方法包括:
执行下述循环过程,直到满足循环结束条件:
从所述训练发起方接收对应的特征样本子集,所述特征样本子集是在所述训练发起方处对所述特征样本集进行分割而得到的所述第一数目个特征样本子集中的一个特征样本子集;
基于各个训练参与方的当前子模型和所述训练协同方的特征样本子集,使用秘密共享矩阵乘法来获得所述训练协同方的当前预测值;
从所述训练发起方接收对应的部分标记值,所述部分标记值是在所述训练发起方处对所述标记值进行分割后得到的所述第一数目个部分标记值中的一个部分标记值;
使用所述训练协同方的当前预测值和所接收的部分标记值,确定所述训练协同方处的预测差值;
基于所述特征样本集和所述训练协同方的预测差值,使用秘密共享矩阵乘法来获得所述训练协同方的模型更新量;以及
基于所述训练协同方的当前子模型以及对应的模型更新量来更新所述训练协同方的子模型,其中,在循环过程未结束时,所述更新后的各个训练参与方的子模型被用作下一循环过程的当前子模型。
7.如权利要求6所述的方法,其中,基于各个训练参与方的当前子模型和所述训练协同方的特征样本子集,使用秘密共享矩阵乘法来获得所述训练协同方的当前预测值包括:
基于各个训练参与方的当前子模型和所述训练协同方的特征样本子集,使用有可信初始化方秘密共享矩阵乘法来获得所述训练发起方的当前预测值;或者
基于各个训练参与方的当前子模型和所述训练协同方的特征样本子集,使用无可信初始化方秘密共享矩阵乘法来获得所述训练发起方的当前预测值。
8.如权利要求6所述的方法,其中,基于所述特征样本集和所述训练协同方的预测差值,使用秘密共享矩阵乘法来获得所述训练协同方的模型更新量包括:
基于所述特征样本集和所述训练协同方的预测差值,使用有可信初始化方秘密共享矩阵乘法来获得所述训练协同方的模型更新量;或者
基于所述特征样本集和所述训练协同方的预测差值,使用无可信初始化方秘密共享矩阵乘法来获得所述训练协同方的模型更新量。
9.如权利要求6所述的方法,其中,基于所述训练协同方的当前子模型以及对应的部分模型更新量来更新所述训练协同方的子模型包括:按照以下等式更新所述训练协同方处的子模型
Wn+1=Wn-α·X·ei
其中,Wn+1表示所述训练协同方处的更新后的当前子模型,Wn表示所述训练协同方处的当前子模型,α表示学习率,X表示所述训练发起方处的特征样本集,以及ei表示所述训练协同方处的预测差值。
10.如权利要求6所述的方法,其中,所述训练发起方和所述训练协同方是由所述多个训练参与方协商确定的。
11.一种用于经由多个训练参与方来协同训练线性/逻辑回归模型的装置,所述线性/逻辑回归模型由第一数目个子模型组成,每个训练参与方具有一个子模型,所述第一数目等于所述训练参与方的数目,所述训练参与方包括训练发起方和至少一个训练协同方,所述训练发起方的训练样本数据具有特征样本集和标记值,所述训练样本数据是通过水平切分得到的,所述装置位于训练发起方侧,所述装置包括:
样本分割单元,被配置为将所述特征样本集分割为所述第一数目个特征样本子集;
样本发送单元,被配置为将第二数目个特征样本子集中的每个分别发送给对应的训练协同方,所述第二数目等于所述第一数目减一;
预测值获取单元,被配置为基于各个训练参与方的当前子模型和所述训练发起方的特征样本子集,使用秘密共享矩阵乘法来获得所述训练发起方的当前预测值;
标记值分割单元,被配置为将所述标记值分割为所述第一数目个部分标记值;
标记值发送单元,被配置为将所述第二数目个部分标记值中的每个分别发送给对应的训练协同方;
预测差值确定单元,被配置为确定所述训练发起方的当前预测值与对应的部分标记值之间的预测差值;
模型更新量确定单元,被配置为基于所述特征样本集和所述训练发起方处的预测差值,确定所述训练发起方处的模型更新量;以及
模型更新单元,被配置为基于所述训练发起方的当前子模型以及对应的模型更新量来更新所述训练发起方的子模型,
其中,所述样本分割单元、所述样本发送单元、所述预测值获取单元、所述标记值分割单元、所述标记值发送单元、所述预测差值确定单元、所述模型更新量确定单元和所述模型更新单元被配置为循环执行操作,直到满足循环结束条件,
其中,在循环过程未结束时,所述更新后的各个训练参与方的子模型被用作下一循环过程的当前子模型。
12.如权利要求11所述的装置,其中,所述预测值获取单元被配置为:
基于各个训练参与方的当前子模型和所述训练发起方的特征样本子集,使用有可信初始化方秘密共享矩阵乘法来获得所述训练发起方的当前预测值;或者
基于各个训练参与方的当前子模型和所述训练发起方的特征样本子集,使用无可信初始化方秘密共享矩阵乘法来获得所述训练发起方的当前预测值。
13.如权利要求11所述的装置,其中,所述模型更新单元被配置为:按照以下等式更新所述训练发起方处的子模型
Wn+1=Wn-α·X·ei
其中,Wn+1表示所述训练发起方处的更新后的子模型,Wn表示所述训练发起方处的当前子模型,α表示学习率,X表示所述训练发起方处的特征样本集,以及ei表示所述训练发起方处的预测差值。
14.如权利要求11到13中任一所述的装置,还包括:
协商单元,被配置为在所述多个训练参与方之间协商确定出所述训练发起方和所述训练协同方。
15.一种用于经由多个训练参与方来协同训练线性/逻辑回归模型的装置,所述线性/逻辑回归模型由第一数目个子模型组成,每个训练参与方具有一个子模型,所述第一数目等于所述训练参与方的数目,所述训练参与方包括训练发起方和至少一个训练协同方,所述训练发起方的训练样本数据具有特征样本集和标记值,所述训练样本数据是通过水平切分得到的,所述装置位于训练协同方侧,所述装置包括:
样本接收单元,被配置为从所述训练发起方接收对应的特征样本子集,所述特征样本子集是在所述训练发起方处对所述特征样本集进行分割而得到的所述第一数目个特征样本子集中的一个特征样本子集;
预测值获取单元,被配置为基于各个训练参与方的当前子模型和所述训练协同方的特征样本子集,使用秘密共享矩阵乘法来获得所述训练协同方的当前预测值;
标记值接收单元,被配置为从所述训练发起方接收对应的部分标记值,所述部分标记值是在所述训练发起方处对所述标记值进行分割后得到的所述第一数目个部分标记值中的一个部分标记值;
预测差值确定单元,被配置为使用所述训练协同方的当前预测值和所接收的部分标记值,确定所述训练协同方处的预测差值;
模型更新量确定单元,被配置为基于所述特征样本集和所述训练协同方的预测差值,使用秘密共享矩阵乘法来获得所述训练协同方的模型更新量;以及
模型更新单元,被配置为基于所述训练协同方的当前子模型以及对应的模型更新量来更新所述训练协同方的子模型,
其中,所述样本接收单元、所述预测值获取单元、所述标记值接收单元、所述预测差值确定单元、所述模型更新量确定单元和所述模型更新单元被配置为循环执行操作,直到满足循环结束条件,
其中,在循环过程未结束时,所述更新后的各个训练参与方的子模型被用作下一循环过程的当前子模型。
16.如权利要求15所述的装置,其中,所述预测值获取单元被配置为:
基于各个训练参与方的当前子模型和所述训练协同方的特征样本子集,使用有可信初始化方秘密共享矩阵乘法来获得所述训练发起方的当前预测值;或者
基于各个训练参与方的当前子模型和所述训练协同方的特征样本子集,使用无可信初始化方秘密共享矩阵乘法来获得所述训练发起方的当前预测值。
17.如权利要求15所述的装置,其中,所述模型更新量确定单元被配置为:
基于所述特征样本集和所述训练协同方的预测差值,使用有可信初始化方秘密共享矩阵乘法来获得所述训练协同方的模型更新量;或者
基于所述特征样本集和所述训练协同方的预测差值,使用无可信初始化方秘密共享矩阵乘法来获得所述训练协同方的模型更新量。
18.如权利要求15所述的装置,其中,所述模型更新单元被配置为:按照以下等式更新所述训练协同方处的子模型
Wn+1=Wn-α·X·ei
其中,Wn+1表示所述训练协同方处的更新后的子模型,Wn表示所述训练协同方处的当前子模型,α表示学习率,X表示所述训练发起方处的特征样本集,以及ei表示所述训练协同方处的预测差值。
19.如权利要求15到18中任一所述的装置,还包括:
协商单元,被配置为在所述多个训练参与方之间协商确定出所述训练发起方和所述训练协同方。
20.一种用于经由多个训练参与方来协同训练线性/逻辑回归模型的系统,所述线性/逻辑回归模型由第一数目个子模型组成,每个训练参与方具有一个子模型,所述第一数目等于所述训练参与方的数目,所述训练参与方包括训练发起方和至少一个训练协同方,所述训练发起方具有特征样本集和标记值,所述系统包括:
训练发起方设备,包括如权利要求11到14中任一所述的装置;以及
至少一个训练协同方设备,每个训练协同方设备包括如权利要求15到19中任一所述的装置。
21.一种计算设备,包括:
至少一个处理器,以及
与所述至少一个处理器耦合的存储器,所述存储器存储指令,当所述指令被所述至少一个处理器执行时,使得所述至少一个处理器执行如权利要求1到5中任一所述的方法。
22.一种机器可读存储介质,其存储有可执行指令,所述指令当被执行时使得所述机器执行如权利要求1到5中任一所述的方法。
23.一种计算设备,包括:
至少一个处理器,以及
与所述至少一个处理器耦合的存储器,所述存储器存储指令,当所述指令被所述至少一个处理器执行时,使得所述至少一个处理器执行如权利要求6到10中任一所述的方法。
24.一种机器可读存储介质,其存储有可执行指令,所述指令当被执行时使得所述机器执行如权利要求6到10中任一所述的方法。
CN201910600909.3A 2019-07-04 2019-07-04 模型训练方法、装置及系统 Active CN112183566B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910600909.3A CN112183566B (zh) 2019-07-04 2019-07-04 模型训练方法、装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910600909.3A CN112183566B (zh) 2019-07-04 2019-07-04 模型训练方法、装置及系统

Publications (2)

Publication Number Publication Date
CN112183566A true CN112183566A (zh) 2021-01-05
CN112183566B CN112183566B (zh) 2024-02-09

Family

ID=73916014

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910600909.3A Active CN112183566B (zh) 2019-07-04 2019-07-04 模型训练方法、装置及系统

Country Status (1)

Country Link
CN (1) CN112183566B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0723348A2 (en) * 1995-01-23 1996-07-24 International Business Machines Corporation Method and system for a public key cryptosystem having proactive, robust, and recoverable distributed threshold secret sharing
US9929860B1 (en) * 2015-12-30 2018-03-27 Emc Corporation Methods and apparatus for generalized password-based secret sharing
US20180316502A1 (en) * 2017-04-27 2018-11-01 Factom Data Reproducibility Using Blockchains
WO2019023692A1 (en) * 2017-07-28 2019-01-31 Alibaba Group Holding Limited METHOD AND APPARATUS FOR MODEL FORMATION
WO2019072315A2 (en) * 2019-01-11 2019-04-18 Alibaba Group Holding Limited LOGISTIC REGRESSION MODELING SCHEME USING SECRET SHARING
WO2019072316A2 (en) * 2019-01-11 2019-04-18 Alibaba Group Holding Limited DISTRIBUTED MULTI-PART SECURITY MODEL LEARNING APPARATUS FOR PRIVACY PROTECTION

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0723348A2 (en) * 1995-01-23 1996-07-24 International Business Machines Corporation Method and system for a public key cryptosystem having proactive, robust, and recoverable distributed threshold secret sharing
US9929860B1 (en) * 2015-12-30 2018-03-27 Emc Corporation Methods and apparatus for generalized password-based secret sharing
US20180316502A1 (en) * 2017-04-27 2018-11-01 Factom Data Reproducibility Using Blockchains
WO2019023692A1 (en) * 2017-07-28 2019-01-31 Alibaba Group Holding Limited METHOD AND APPARATUS FOR MODEL FORMATION
WO2019072315A2 (en) * 2019-01-11 2019-04-18 Alibaba Group Holding Limited LOGISTIC REGRESSION MODELING SCHEME USING SECRET SHARING
WO2019072316A2 (en) * 2019-01-11 2019-04-18 Alibaba Group Holding Limited DISTRIBUTED MULTI-PART SECURITY MODEL LEARNING APPARATUS FOR PRIVACY PROTECTION

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
刘睿?;陈红;郭若杨;赵丹;梁文娟;李翠平;: "机器学习中的隐私攻击与防御", 软件学报 *
周洪伟;徐松林;原锦辉;: "用神经网络实现一般访问结构的多重秘密共享", 计算机工程与设计 *

Also Published As

Publication number Publication date
CN112183566B (zh) 2024-02-09

Similar Documents

Publication Publication Date Title
CN111523673B (zh) 模型训练方法、装置及系统
US11816226B2 (en) Secure data processing transactions
CN110942147B (zh) 基于多方安全计算的神经网络模型训练及预测方法、装置
CN111062487B (zh) 基于数据隐私保护的机器学习模型特征筛选方法及装置
CN111079939B (zh) 基于数据隐私保护的机器学习模型特征筛选方法及装置
CN111523556B (zh) 模型训练方法、装置及系统
CN112052942B (zh) 神经网络模型训练方法、装置及系统
CN112132270B (zh) 基于隐私保护的神经网络模型训练方法、装置及系统
CN111738438B (zh) 图神经网络模型训练方法、装置及系统
CN111523674B (zh) 模型训练方法、装置及系统
CN110929887B (zh) 逻辑回归模型训练方法、装置及系统
CN111523134B (zh) 基于同态加密的模型训练方法、装置及系统
CN114186256A (zh) 神经网络模型的训练方法、装置、设备和存储介质
CN112183759B (zh) 模型训练方法、装置及系统
CN112464155A (zh) 一种数据处理方法、多方安全计算系统和电子设备
CN111523675B (zh) 模型训练方法、装置及系统
CN111737756B (zh) 经由两个数据拥有方进行的xgb模型预测方法、装置及系统
CN112183757B (zh) 模型训练方法、装置及系统
CN111738453B (zh) 基于样本加权的业务模型训练方法、装置及系统
CN112183566B (zh) 模型训练方法、装置及系统
CN112183564B (zh) 模型训练方法、装置及系统
CN114547684A (zh) 一种保护隐私数据的多方联合训练树模型的方法及装置
CN112183565B (zh) 模型训练方法、装置及系统
CN112966809A (zh) 基于隐私保护的两方模型预测方法、装置及系统
CN114186669A (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