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

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

Info

Publication number
CN111523675A
CN111523675A CN201910103267.6A CN201910103267A CN111523675A CN 111523675 A CN111523675 A CN 111523675A CN 201910103267 A CN201910103267 A CN 201910103267A CN 111523675 A CN111523675 A CN 111523675A
Authority
CN
China
Prior art keywords
training
matrix
initiator
current
cooperator
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
CN201910103267.6A
Other languages
English (en)
Other versions
CN111523675B (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
Advantageous New Technologies Co Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201910103267.6A priority Critical patent/CN111523675B/zh
Publication of CN111523675A publication Critical patent/CN111523675A/zh
Application granted granted Critical
Publication of CN111523675B publication Critical patent/CN111523675B/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)

Abstract

本公开提供用于训练线性/逻辑回归模型的方法和装置。在该方法包中,执行下述迭代过程,直到满足预定条件:基于各个训练参与方的当前子模型以及训练发起方的特征样本集,使用无可信初始化方的秘密共享矩阵乘法来获得针对特征样本集的当前预测值;训练发起方确定特征样本集的当前预测值与对应的标记值之间的预测差值,对预测差值进行分割并将分割后的部分预测差值发送给各个训练协同方;各个训练参与方基于当前子模型以及对应的部分预测差值与特征样本集之积来更新各自的子模型,在各个训练协同方处,所接收的部分预测差值与特征样本集之积是使用无可信初始化方的秘密共享矩阵乘法获得。该方法能够在保证各方数据安全的情况下提高模型训练的效率。

Description

模型训练方法、装置及系统
技术领域
本公开通常涉及机器学习领域,尤其涉及用于使用水平切分的训练集来经由多个训练参与方协同训练线性/逻辑回归模型的方法、装置及系统。
背景技术
线性回归模型和逻辑回归模型是机器学习领域广泛使用的回归/分类模型。在很多情况下,多个模型训练参与方(例如,电子商务公司、快递公司和银行)各自拥有训练线性/逻辑回归模型所使用的特征样本的不同部分数据。该多个模型训练参与方通常想共同使用彼此的数据来统一训练线性/逻辑回归模型,但又不想把各自的数据提供给其它各个模型训练参与方以防止自己的数据被泄露。
面对这种情况,提出了能够保护数据安全的机器学习方法,其能够在保证多个模型训练参与方的各自数据安全的情况下,协同该多个模型训练参与方来训练线性/逻辑回归模型,以供该多个模型训练参与方使用。然而,现有的能够保护数据安全的机器学习方法的模型训练效率较低。
发明内容
鉴于上述问题,本公开提供了一种用于经由多个训练参与方协同训练线性/逻辑回归模型的方法、装置及系统,其能够在保证多个训练参与方的各自数据安全的情况下提高模型训练的效率。
根据本公开的一个方面,提供了一种用于经由多个训练参与方来协同训练线性/逻辑回归模型的方法,所述线性/逻辑回归模型由第一数目个子模型组成,每个训练参与方具有一个子模型,所述第一数目等于所述训练参与方的数目,所述训练参与方包括训练发起方和至少一个训练协同方,所述方法由训练发起方执行,所述方法包括:执行下述迭代过程,直到满足预定条件:基于各个训练参与方的当前子模型以及所述训练发起方的特征样本集,使用无可信初始化方的秘密共享矩阵乘法来获得所述线性/逻辑回归模型针对所述特征样本集的当前预测值;确定所述特征样本集的当前预测值与对应的标记值之间的预测差值;将所确定出的预测差值分割为所述第一数目个部分预测差值,并且将第二数目个部分预测差值中的每个分别发送给对应的训练协同方,所述第二数目等于所述第一数目减一;以及基于所述训练发起方的当前子模型以及对应的部分预测差值与所述特征样本集之积来更新所述训练发起方的当前子模型,其中,在迭代过程未结束时,所述更新后的各个训练参与方的当前子模型被用作下一迭代过程的当前子模型。
根据本公开的另一方面,提供一种用于经由多个训练参与方来协同训练线性/逻辑回归模型的方法,所述线性/逻辑回归模型由第一数目个子模型组成,每个训练参与方具有一个子模型,所述第一数目等于所述训练参与方的数目,所述训练参与方包括训练发起方和至少一个训练协同方,所述方法由训练协同方执行,所述方法包括:执行下述迭代过程,直到满足预定条件:使用无可信初始化方的秘密共享矩阵乘法来基于训练协同方的当前子模型与所述训练发起方处的特征样本集,获取与所述训练协同方的子模型对应的部分预测值;从所述训练发起方接收对应的部分预测差值,其中,所述部分预测差值是在所述训练发起方处对所述特征样本集的当前预测值与对应的标记值之间的预测差值进行分割后得到的所述第一数目个部分预测差值中的一个部分预测差值,所述当前预测值是在所述训练发起方处对所得到的各个训练参与方的子模型所对应的部分预测值进行求和而得到的;以及基于所述训练协同方的当前子模型以及所接收的部分预测差值与所述特征样本集之积来更新所述训练协同方的当前子模型,所接收的部分预测差值与所述特征样本集之积是在所述训练协同方处使用无可信初始化方的秘密共享矩阵乘法来获得的,其中,在迭代过程未结束时,所述更新后的各个训练参与方的当前子模型被用作下一训练迭代过程的当前子模型。
根据本公开的另一方面,提供一种用于经由多个训练参与方来协同训练线性/逻辑回归模型的方法,所述线性/逻辑回归模型由第一数目个子模型组成,每个训练参与方具有一个子模型,所述第一数目等于所述训练参与方的数目,所述训练参与方包括训练发起方和至少一个训练协同方,所述方法包括:执行下述迭代过程,直到满足预定条件:基于所述各个训练参与方的当前子模型以及所述训练发起方的特征样本集,使用无可信初始化方的秘密共享矩阵乘法来获得所述线性/逻辑回归模型针对所述特征样本集的当前预测值;在所述训练发起方处,确定所述特征样本集的当前预测值与对应的标记值之间的预测差值,将所确定出的预测差值分割为所述第一数目个部分预测差值,并且将所述第二数目个部分预测差值中的每个分别发送给所述各个训练协同方;以及在所述各个训练参与方处,基于该训练参与方的当前子模型以及所接收的部分预测差值与所述特征样本集之积来更新该训练参与方处的当前子模型,其中,在所述各个训练协同方处,所接收的部分预测差值与所述特征样本集之积是使用无可信初始化方的秘密共享矩阵乘法来获得的,其中,在迭代过程未结束时,所述更新后的当前子模型被用作下一迭代过程的当前子模型。
根据本公开的另一方面,提供一种用于经由多个训练参与方来协同训练线性/逻辑回归模型的装置,所述线性/逻辑回归模型由第一数目个子模型组成,每个训练参与方具有一个子模型,所述第一数目等于所述训练参与方的数目,所述训练参与方包括训练发起方和至少一个训练协同方,所述装置包括:预测值获取单元,被配置为基于各个训练参与方的当前子模型以及所述训练发起方的特征样本集,使用无可信初始化方的秘密共享矩阵乘法来获得所述线性/逻辑回归模型针对所述特征样本集的当前预测值;预测差值确定单元,被配置为确定所述特征样本集的当前预测值与对应的标记值之间的预测差值;预测差值分割单元,被配置为将所确定出的预测差值分割为所述第一数目个部分预测差值;预测差值发送单元,被配置为将第二数目个部分预测差值中的每个分别发送给对应的训练协同方,所述第二数目等于所述第一数目减一;以及模型更新单元,被配置为基于所述训练发起方的当前子模型以及对应的部分预测差值与所述特征样本集之积来更新所述训练发起方处的当前子模型,其中,在迭代过程未结束时,所述更新后的当前子模型被用作下一迭代过程的当前子模型,其中,所述预测值获取单元、所述预测差值确定单元、所述预测差值分割单元、所述预测差值发送单元以及所述模型更新单元被配置为循环执行操作,直到满足预定条件。
根据本公开的另一方面,提供一种用于经由多个训练参与方来协同训练线性/逻辑回归模型的装置,所述线性/逻辑回归模型由第一数目个子模型组成,每个训练参与方具有一个子模型,所述第一数目等于所述训练参与方的数目,所述训练参与方包括训练发起方和至少一个训练协同方,所述装置包括:预测值获取单元,被配置为使用无可信初始化方的秘密共享矩阵乘法来基于训练协同方的当前子模型与所述训练发起方处的特征样本集,获取与所述训练协同方的子模型对应的部分预测值;预测差值接收单元,被配置为从所述训练发起方接收对应的部分预测差值,其中,所述部分预测差值是在所述训练发起方处对所述特征样本集的当前预测值与对应的标记值之间的预测差值进行分割后得到的所述第一数目个部分预测差值中的一个部分预测差值,所述当前预测值是在所述训练发起方处对所得到的各个训练参与方的子模型所对应的部分预测值进行求和而得到的;以及模型更新单元,被配置为基于所述训练协同方的当前子模型以及所接收的部分预测差值与所述特征样本集之积来更新所述训练协同方的当前子模型,所接收的部分预测差值与所述特征样本集之积是在所述训练协同方处使用无可信初始化方的秘密共享矩阵乘法来获得的,其中,所述预测值获取单元、所述预测差值接收单元以及所述模型更新单元被配置为循环执行操作,直到满足预定条件。
根据本公开的另一方面,提供一种用于经由多个训练参与方来协同训练线性/逻辑回归模型的系统,所述线性/逻辑回归模型由第一数目个子模型组成,每个训练参与方具有一个子模型,所述第一数目等于所述训练参与方的数目,所述训练参与方包括训练发起方和至少一个训练协同方,所述系统包括:训练发起方设备,包括如上所述的用于在训练发起方侧执行训练的装置;以及至少一个训练协同方设备,每个训练协同方设备包括如上所述的用于在训练协同方侧执行训练的装置。
根据本公开的另一方面,提供一种计算设备,包括:至少一个处理器,以及与所述至少一个处理器耦合的存储器,所述存储器存储指令,当所述指令被所述至少一个处理器执行时,使得所述至少一个处理器执行如上所述的在训练发起方侧执行的训练方法。
根据本公开的另一方面,提供一种非暂时性机器可读存储介质,其存储有可执行指令,所述指令当被执行时使得所述至少一个处理器执行如上所述的在训练发起方侧执行的训练方法。
根据本公开的另一方面,提供一种计算设备,包括:至少一个处理器,以及与所述至少一个处理器耦合的存储器,所述存储器存储指令,当所述指令被所述至少一个处理器执行时,使得所述至少一个处理器执行如上所述的在训练协同方侧执行的训练方法。
根据本公开的另一方面,提供一种非暂时性机器可读存储介质,其存储有可执行指令,所述指令当被执行时使得所述至少一个处理器执行如上所述的在训练协同方侧执行的训练方法。
本公开的实施例的方案利用有可信初始化方的秘密共享矩阵乘法来经由多个训练参与方协同训练线性/逻辑回归模型,其能够在不泄漏该多个训练参与方的秘密数据的情况下训练得到线性/逻辑回归模型的模型参数,并且模型训练的工作量仅与训练所使用的特征样本的数量成线性关系,而不是指数关系,因此,与现有技术相比,本公开的实施例的方案能够实现在保证多个训练参与方的各自数据安全的情况下提高模型训练的效率。
附图说明
通过参照下面的附图,可以实现对于本公开内容的本质和优点的进一步理解。在附图中,类似组件或特征可以具有相同的附图标记。
图1示出了根据本公开的实施例的经过水平切分的数据的示例的示意图;
图2示出了示出了根据本公开的实施例的用于经由多个训练参与方来协同训练线性/逻辑回归模型的系统的架构示意图;
图3示出了根据本公开的实施例的用于经由多个训练参与方来协同训练线性/逻辑回归模型的方法的总体流程图;
图4示出了根据本公开的实施例的基于各个训练参与方的当前子模型以及训练发起方的特征样本集,使用无可信初始化方的秘密共享矩阵乘法来获得待训练的线性/逻辑回归模型针对特征样本集的当前预测值的过程的流程图;
图5示出了图4中的无可信初始化方的秘密共享矩阵乘法过程的一个示例的流程图;
图6示出了根据本公开的实施例的用于经由多个训练参与方来协同训练线性/逻辑回归模型的装置的方框图;
图7示出了图6中的预测值获取单元的一个实现示例的方框图;
图8示出了根据本公开的实施例的用于经由多个训练参与方来协同训练线性/逻辑回归模型的装置的方框图;
图9示出了根据本公开的实施例的用于经由多个训练参与方来协同训练线性/逻辑回归模型的计算设备的示意图;
图10示出了根据本公开的实施例的用于经由多个训练参与方来协同训练线性/逻辑回归模型的计算设备的示意图。
具体实施方式
现在将参考示例实施方式讨论本文描述的主题。应该理解,讨论这些实施方式只是为了使得本领域技术人员能够更好地理解从而实现本文描述的主题,并非是对权利要求书中所阐述的保护范围、适用性或者示例的限制。可以在不脱离本公开内容的保护范围的情况下,对所讨论的元素的功能和排列进行改变。各个示例可以根据需要,省略、替代或者添加各种过程或组件。例如,所描述的方法可以按照与所描述的顺序不同的顺序来执行,以及各个步骤可以被添加、省略或者组合。另外,相对一些示例所描述的特征在其它例子中也可以进行组合。
如本文中使用的,术语“包括”及其变型表示开放的术语,含义是“包括但不限于”。术语“基于”表示“至少部分地基于”。术语“一个实施例”和“一实施例”表示“至少一个实施例”。术语“另一个实施例”表示“至少一个其他实施例”。术语“第一”、“第二”等可以指代不同的或相同的对象。下面可以包括其他的定义,无论是明确的还是隐含的。除非上下文中明确地指明,否则一个术语的定义在整个说明书中是一致的。
秘密共享方法是一种将秘密分割存储的密码技术,其将秘密以适当的方式拆分成多个秘密份额,每一个秘密份额由多个参与方中的一个参与方拥有和管理,单个参与方无法恢复完整秘密,只有若干个参与方共同协作才能恢复完整秘密。秘密共享方法目标在于阻止秘密过于集中,以达到分散风险和容忍入侵的目的。
无可信初始化方的秘密共享矩阵乘法是其中一种秘密共享方法。无可信初始化方的秘密共享矩阵乘法适用于完整秘密是第一秘密份额与第二秘密份额的乘积且两方分别拥有第一秘密份额和第二秘密份额的情形。通过无可信初始化方的秘密共享矩阵乘法,拥有各自秘密份额的两方中的每一方生成和公开与其拥有的秘密份额不同的数据,但这两方各自公开的数据之和等于这两方各自拥有的秘密份额的乘积(即完整秘密)。从而,各方在不需要公开各自所拥有的秘密份额的情况下通过有可信初始化方的秘密共享矩阵乘法协同工作就能恢复出完整秘密,这保证了各方数据的安全。
在本公开中,线性/逻辑回归模型训练方案中所使用的训练样本集是经过水平切分的训练样本集。术语“对训练样本集进行水平切分”是指按照某个字段的某种规则来将该训练样本集中的训练样本切分为多个训练样本子集中,各个训练样本子集包含一部分训练样本,并且每个训练样本子集中所包括的训练样本是完整的训练样本,即,包括该训练样本的所有字段数据和对应的标记值。在本公开中,假设存在三个数据方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 BDA0001966138800000071
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。每一个训练参与方所拥有的子模型以及对应的训练样本是该训练参与方的秘密,不能被其他训练参与方获悉或者完整地获悉。
在本公开中,线性/逻辑回归模型和各个训练参与方的子模型分别使用权重矩阵W和权重子矩阵Wi来表示,其中,i用于表示训练参与方的序号。特征数据集使用特征矩阵X来表示,以及预测值和标记值分别使用预测值矩阵~Y和标记值向量Y来表示。
在进行模型训练时,训练发起方设备10和至少一个训练协同方设备20一起使用训练发起方设备10处的训练样本集以及各自的子模型来进行无可信初始化方秘密共享矩阵乘法,以得到针对训练样本集的预测值,从而来协同训练线性/逻辑回归模型。关于模型的具体训练过程将在下面参照图3到图5进行详细描述。
在本公开中,训练发起方设备10以及训练协同方设备20可以是任何合适的具有计算能力的计算设备。所述计算设备包括但不限于:个人计算机、服务器计算机、工作站、桌面型计算机、膝上型计算机、笔记本计算机、移动计算设备、智能电话、平板计算机、蜂窝电话、个人数字助理(PDA)、手持装置、消息收发设备、可佩戴计算设备、消费电子设备等等。
图3示出了根据本公开的实施例的用于经由多个训练参与方来协同训练线性/逻辑回归模型的方法的总体流程图。在图3中,以一个训练发起方Alice和2个训练协同方Bob和Charlie为例来进行说明。
如图3所示,首先,在块310,训练发起方Alice、训练协同方Bob和Charlie初始化其子模型的子模型参数,即,权重子矩阵WA、WB和WC,以获得其子模型参数的初始值,并且将已执行训练迭代次数t初始化为零。这里,假设迭代过程的结束条件为执行预定次数训练迭代,例如,执行T次训练迭代。
在如上初始化后,在块320,基于各个训练参与方的当前子模型WA、WB和WC以及训练发起方Alice的特征样本集X,使用无可信初始化方的秘密共享矩阵乘法来获得待训练的线性/逻辑回归模型针对特征样本集X的当前预测值
Figure BDA0001966138800000091
如何使用无可信初始化方的秘密共享矩阵乘法来获得待训练的线性/逻辑回归模型针对特征样本集X的当前预测值
Figure BDA0001966138800000092
将在下面参照图4和图5进行说明。
在得到当前预测值
Figure BDA0001966138800000101
后,在块330,在训练发起方Alice处,确定当前预测值
Figure BDA0001966138800000102
与对应的标记值Y之间的预测差值
Figure BDA0001966138800000103
这里,e是一个列向量,Y是一个表示训练样本X的标记值的列向量,以及,
Figure BDA0001966138800000104
是表示训练样本X的当前预测值的列向量。如果训练样本X仅包含单个训练样本,则e、Y和
Figure BDA0001966138800000105
都是仅具有单个元素的列向量。如果训练样本X包含多个训练样本,则e、Y和
Figure BDA0001966138800000106
都是具有多个元素的列向量,其中,
Figure BDA0001966138800000107
中的每个元素是该多个训练样本中的对应训练样本的当前预测值,Y中的每个元素是该多个训练样本中的对应训练样本的标记值,以及e中的每个元素是该多个训练样本的对应训练样本的标记值与当前预测值的差值。
然后,在块340,将所确定出的预测差值e分割为第一数目个部分预测差值。该第一数目个部分预测差值中的每个部分预测差值包括训练样本X的预测差值中的各个元素的部分元素值,并且,对于每个元素,该第一数目个部分预测差值之和等于训练样本X的预测差值。例如,将所确定出的预测差值e分割为3个部分预测差值e1、e2和e3。比如,对于e中的每个元素ei,将其分割为3个部分预测差值ei,1、ei,2和ei,3,并且ei=ei,1+ei,2+ei,3
接着,在块350,将第二数目个部分预测差值中的每个分别发送给各个训练协同方,例如,将部分预测差值e2发送给训练协同方Bob,以及将部分预测差值e3发送给训练协同方Charlie,同时训练发起方Alice保留部分预测差值e1
然后,在块360,在各个训练参与方处,基于该训练参与方的当前子模型以及对应的部分预测差值与所述特征样本集之积来更新该训练参与方处的当前子模型。例如,训练发起方Alice使用当前子模型WA以及对应的部分预测差值e1与特征样本集X之积来更新训练发起方Alice处的当前子模型,训练协同方Bob使用当前子模型WB以及对应的部分预测差值e2与特征样本集X之积来更新训练协同方Bob处的当前子模型,以及训练协同方Charlie使用当前子模型WC以及对应的部分预测差值e3与特征样本集X之积来更新训练协同方Charlie处的当前子模型。
在本公开的一个示例中,基于训练参与方的当前子模型以及对应的部分预测差值与所述特征样本集之积来更新该训练参与方处的当前子模型可以按照以下等式更新训练参与方处的当前子模型Wn+1=Wn-α·X·ei,其中,Wn+1表示该训练参与方处的更新后的当前子模型,Wn表示该训练参与方处的当前子模型,α表示学习率(learning rate),X表示所述特征样本集,以及ei表示所接收的部分预测差值。其中,在训练参与方是训练发起方时,可以在训练发起方处单独地计算出更新后的当前子模型。在训练参与方是训练协同方时,X·ei是在所述训练协同方处使用无可信初始化方的秘密共享矩阵乘法来获得的,所述秘密共享矩阵乘法可以采用图5中所示的类似过程来执行,不同之处在于,X对应于图5中的WB,以及ei对应于图5中的X。
这里要说明的是,在X是单个特征样本时,X是由多个属性组成的特征向量(列向量或行向量),以及ei是单个预测差值。在X是多个特征样本时,X是特征矩阵,每个特征样本的属性构成特征矩阵X的一列元素/一行元素,以及ei是预测差值向量。在计算X·ei时,与ei中的各个元素相乘的是矩阵Xi的某个特征所对应的各个样本的特征值。例如,假设ei是列向量,则每次相乘时,ei与矩阵X中的一个行相乘,该行中的元素表示的是各个样本所对应的某一个特征的特征值。
在如上在各个训练参与方完成各自的子模型更新后,在块370,判断是否达到预定迭代次数,即,判断是否达到预定条件。如果达到预定迭代次数,则各个训练参与方将各自的子模型参数的当前更新值,存储为其子模型参数的最终值,从而得到各自的训练后的子模型,然后流程结束。如果未达到预定迭代次数,则流程返回到块320的操作来执行下一训练迭代过程,其中,在该下次训练迭代过程中,各个训练参与方在当前迭代过程所获得的更新后的当前子模型被用作下一迭代过程的当前子模型。
这里要说明的是,在上述的示例中,训练迭代过程的结束条件是指达到预定迭代次数。在本公开的其它示例中,训练迭代过程的结束条件也可以是所确定出的预测差值位于预定范围内,即,预测差值e中的每个元素ei都位于预定范围内,例如,预测差值e中的每个元素ei都小于预定阈值。相应地,图3中的块370的操作可以在块320的操作之后执行。
图4示出了根据本公开的实施例的基于各个训练参与方的当前子模型以及训练发起方的特征样本集,使用无可信初始化方的秘密共享矩阵乘法来获得待训练的线性/逻辑回归模型针对特征样本集的当前预测值的过程的流程图。
如图4所示,首先,在块401,在训练发起方Alice处,计算训练发起方的第一权重子矩阵WA与第一特征矩阵X的矩阵乘积,以得到与训练发起方Alice的子模型WA对应的部分预测值YA=WA*X。
接着,在块402,使用无可信初始化方的秘密共享矩阵乘法来计算各个训练协同方(例如,Bob和Charlie)的第一权重子矩阵(例如,WB和WC)与第一特征矩阵X的矩阵乘积,以得到与各个训练协同方的子模型对应的部分预测值(YB=WB*X和YC=WC*X)。这里,每个训练协同方的子模型对应的部分预测值是在对应的训练协同方和训练发起方之间,基于训练发起方的训练样本集来使用无可信初始化方的秘密共享矩阵乘法计算出。如何使用无可信初始化方的秘密共享矩阵乘法来计算训练协同方处的部分预测值,将在下面参照图5进行详细说明。
然后,在训练发起方Alice处,对所得到的各个训练参与方的子模型所对应的部分预测值(例如,YA、YB和YC)进行求和,以得到所述线性/逻辑回归模型针对所述特征样本集的当前预测值
Figure BDA0001966138800000121
这里要说明的是,在图3和图4中示出的模型训练过程中,Alice被作为训练发起方来发起当前模型迭代训练,即,使用Alice处的训练数据来执行模型迭代训练。在本公开的其它示例中,每次模型迭代训练中所使用的训练数据可以是训练参与方中的任一方中所具有的训练数据。相应地,图4中所述的方法还可以包括:在每次迭代训练时,由训练参与方来协商确定哪个训练参与方作为训练发起方,即,协商确定使用哪个训练参与方中的训练数据来执行本次迭代训练。然后,各个训练参与方按照所确定出的训练角色来执行图3和图4中示出的对应操作。
此外,要说明的是,图3和图4中示出的是1个训练发起方和2个训练协同方的模型训练方案,在本公开的其它示例中,也可以包括1个训练协同方或者包括多于2个训练协同方。
图5示出了图4中的无可信初始化方的秘密共享矩阵乘法过程的一个示例的流程图。在图5中,以一个训练发起方Alice和训练协同方Bob为例来进行说明WB*X的计算过程。
如图5所示,首先,在块501,如果训练发起方Alice处的用于本次迭代训练的训练样本集中的特征样本集X(下文中称为第一特征矩阵X)的行数不是偶数,和/或训练协同方Bob处的当前子模型参数WB(下文中称为第一权重子矩阵WB)的列数不为偶数,则对第一特征矩阵X和/或第一权重子矩阵WB进行维度补齐处理,以使得第一特征矩阵X的行数是偶数和/或第一权重子矩阵WB的列数为偶数。例如,将第一特征矩阵X的行末尾增加一行0值和/或将第一权重子矩阵WB的列末尾多增加一列0值来进行维度补齐处理。在下面的描述中,假设第一权重子矩阵WB的维度为I*J,以及第一特征矩阵的维度为J*K,其中,J为偶数。
然后,在训练发起方Alice处执行块502到504的操作,以得到随机特征矩阵X1、第二到第三特征矩阵X2和X3。具体地,在块502,生成随机特征矩阵X1。这里,随机特征矩阵X1的维度与第一特征矩阵X的维度相同,即,随机特征矩阵X1的维度为J*K。在块503,将随机特征矩阵X1减去第一特征矩阵X,以得到第二特征矩阵X2。第二特征矩阵X2的维度为J*K。在块503,将随机特征矩阵X1的偶数行子矩阵减去随机特征矩阵X1的奇数行子矩阵,以得到第三特征矩阵X3。第三特征矩阵X3的维度为j*K,其中j=J/2。
此外,在训练协同方Bob处执行块505到507的操作,以得到随机权重子矩阵WB1、第二和第三权重子矩阵WB2和WB3。具体地,在块505,生成随机权重子矩阵Wi1。这里,随机权重子矩阵WB1的维度与第一特征矩阵WB的维度相同,即,随机权重子矩阵Wi1的维度为I*J。在块506,对第一权重子矩阵WB和随机权重子矩阵WB1进行求和,以得到第二权重子矩阵WB2。第二权重子矩阵Wi2的维度为I*J。在块507,将随机权重子矩阵Wi1的奇数列子矩阵加上随机权重子矩阵Wi1的偶数行子矩阵而得到第三权重子矩阵WB3。第三权重子矩阵WB3的维度为I*j。
然后,在块508,训练发起方Alice将所生成的第二特征矩阵X2和第三特征矩阵X3发送给训练协同方Bob,以及在块509,训练协同方Bob将第二权重子矩阵Wi2和第三权重子矩阵Wi3发送给训练发起方Alice。
接着,在块510,在训练发起方Alice处,基于等式
Figure BDA0001966138800000131
e进)行矩阵计算,以得到第一矩阵乘积Y1,并且在块512,将第一矩阵乘积Y1发送给训练协同方Bob。
在块511,在训练协同方Bob处,基于等式Y2=(WB+2*WB1)*X2+(WB3+WB1_o)*X3计算出第二矩阵乘积Y2,并且在块513,将第二矩阵乘积Y2发送给训练发起方Alice。
然后,在块514和515,分别在训练发起方Alice和训练协同方Bob处,对第一矩阵乘积Y1和第二矩阵乘积Y2进行求和,以得到与训练协同方Bob的子模型对应的部分预测值YB=Y1+Y2。
这里要说明的是,在图5中示出的模型训练过程中,Alice被作为训练发起方来发起当前模型迭代训练,即,使用Alice处的训练数据来执行模型迭代训练。即,在图5中示出的模型训练过程中,数据方Alice作为训练发起方,数据方Bob5作为训练协同方。在本公开的其它示例中,每次模型迭代训练中所使用的训练数据可以是训练参与方中的任一方中所具有的训练数据。例如,也可以使用数据方Bob的训练数据来进行模型训练。在这种情况下,数据方Bob作为训练发起方,数据方Alice和Charlie作为训练协同方。相应地,图3中所述的方法还可以包括:在每次迭代训练时,由训练参与方来协商确定哪个训练参与方作为训练发起方,即,协商确定使用哪个训练参与方中的训练数据来执行本次迭代训练。然后,各个训练参与方按照所确定出的训练角色来执行图5中示出的对应操作。
此外,要说明的是,图3和图4中示出的是1个训练发起方和2个训练协同方的模型训练方案,在本公开的其它示例中,也可以包括1个训练协同方或者包括多于2个训练协同方。
利用图3到图5中公开的线性/逻辑回归模型训练方法,能够在不泄漏该多个训练参与方的秘密数据的情况下训练得到线性/逻辑回归模型的模型参数,并且模型训练的工作量仅与训练所使用的特征样本的数量成线性关系,而不是指数关系,从而能够在保证多个训练参与方的各自数据安全的情况下提高模型训练的效率。
图6示出了根据本公开的实施例的用于经由多个训练参与方来协同训练线性/逻辑回归模型的装置(下文中称为模型训练装置)600的示意图。如图6所示,模型训练装置600包括预测值获取单元610、预测差值确定单元620、预测差值分割单元630、预测差值发送单元640和模型更新单元650。
在进行模型训练时,预测值获取单元610、预测差值确定单元620、预测差值分割单元630、预测差值发送单元640以及模型更新单元650被配置为循环执行操作,直到满足预定条件。所述预定条件可以包括:达到预定迭代次数;或者所确定出的预测差值位于预定范围内。
具体地,在每次迭代过程中,预测值获取单元610被配置为基于各个训练参与方的当前子模型以及所述训练发起方的特征样本集,使用无可信初始化方的秘密共享矩阵乘法来获得所述线性/逻辑回归模型针对所述特征样本集的当前预测值。预测值获取单元610的操作可以参考上面参照图3描述的块320的操作以及图4和图5中示出的训练发起方执行的操作。
预测差值确定单元620被配置为确定特征样本集的当前预测值与对应的标记值之间的预测差值。预测差值确定单元620的操作可以参考上面参照图3描述的块330的操作。
预测差值分割单元630被配置为将所确定出的预测差值分割为所述第一数目个部分预测差值。预测差值分割单元630的操作可以参考上面参照图3描述的块340的操作。
预测差值发送单元640被配置为将第二数目个部分预测差值中的每个分别发送给对应的训练协同方,所述第二数目等于所述第一数目减一。预测差值发送单元640的操作可以参考上面参照图3描述的块650的操作。
模型更新单元650被配置为基于所述训练发起方的当前子模型以及对应的部分预测差值与所述特征样本集之积来更新所述训练发起方处的当前子模型,其中,在迭代过程未结束时,所述更新后的当前子模型被用作下一迭代过程的当前子模型。模型更新单元650的操作可以参考上面参照图3描述的块360的操作。
图7示出了图6中的预测值获取单元610的一个实现示例的方框图。如图7所示,预测值获取单元610包括第一计算模块611、第二计算模块613和求和模块615。在图7中示出的示例中,各个训练参与方的子模型使用权重子矩阵来表示,以及特征样本集、当前预测值和标记值分别使用特征矩阵、预测值矩阵和标记值向量来表示。
第一计算模块611被配置为计算所述训练发起方的第一权重子矩阵与所述第一特征矩阵的矩阵乘积,以得到与所述训练发起方的子模型对应的部分预测值。第一计算模块611的操作可以参考上面参照图4描述的块410的操作。
第二计算模块613被配置为使用无可信初始化方的秘密共享矩阵乘法来计算各个训练协同方的第一权重子矩阵与所述第一特征矩阵的矩阵乘积,以得到与各个训练协同方的子模型对应的部分预测值。第二计算模块613的操作可以参考上面参照图4描述的块420的操作以及参照图5描述的操作。
求和模块615被配置为对所得到的各个训练参与方的子模型所对应的部分预测值进行求和,以得到所述线性/逻辑回归模型针对所述特征样本集的当前预测值。求和模块615的操作可以参考上面参照图4描述的块430的操作。
此外,在本公开的另一示例中,预测值获取单元610还可以包括行维度补齐模块(未示出)。所述行维度补齐模块被配置为在所述第一特征矩阵X的行数不是偶数时,对所述第一特征矩阵X进行行维度补齐处理。
此外,在本公开的其它示例中,模型训练装置600还可以包括协商单元(未示出),被配置为在多个训练参与方之间协商确定出所述训练发起方和所述训练协同方。
图8示出了根据本公开的实施例的用于经由多个训练参与方来协同训练线性/逻辑回归模型的装置(下文中称为模型训练装置800)的方框图。如图8所示,模型训练装置800包括预测值获取单元810、预测差值接收单元820和模型更新单元830。
在模型训练时,预测值获取单元810、预测差值接收单元820以及模型更新单元830被配置为循环执行操作,直到满足预定条件。所述预定条件可以包括:达到预定迭代次数;或者所确定出的预测差值位于预定范围内。
具体地,在每次迭代过程中,预测值获取单元810被配置为使用无可信初始化方的秘密共享矩阵乘法来基于训练协同方的当前子模型与所述训练发起方处的特征样本集,获取与所述训练协同方的子模型对应的部分预测值。预测值获取单元810的操作可以参考上面参照图3描述的块320的操作以及图5中示出的任一训练协同方执行的操作。
预测差值接收单元820被配置为从训练发起方接收对应的部分预测差值,其中,所述部分预测差值是在训练发起方处对特征样本集的当前预测值与对应的标记值之间的预测差值进行分割后得到的第一数目个部分预测差值中的一个部分预测差值。预测差值接收单元820的操作可以参考上面参照图3描述的块350的操作。
模型更新单元830被配置为基于训练协同方的当前子模型以及所接收的部分预测差值与特征样本集之积来更新训练协同方的当前子模型,其中,在迭代过程未结束时,所述更新后的当前子模型被用作下一训练迭代过程的当前子模型。这里,所接收的部分预测差值与特征样本集之积是使用无可信初始方的秘密共享矩阵乘法来获得的。模型更新单元830的操作可以参考上面参照图3描述的块360的操作。
如上参照图1到图8,对根据本公开的模型训练方法、装置及系统的实施例进行了描述。上面的模型训练装置可以采用硬件实现,也可以采用软件或者硬件和软件的组合来实现。
图9示出了根据本公开的实施例的用于实现经由多个训练参与方来协同训练线性/逻辑回归模型的计算设备900的硬件结构图。如图9所示,计算设备900可以包括至少一个处理器910、存储器920、内存930和通信接口940,并且至少一个处理器910、存储器920、内存930和通信接口940经由总线960连接在一起。至少一个处理器910执行在存储器920中存储或编码的至少一个计算机可读指令(即,上述以软件形式实现的元素)。
在一个实施例中,在存储器920中存储计算机可执行指令,其当执行时使得至少一个处理器910:执行下述迭代过程,直到满足预定条件:基于各个训练参与方的当前子模型以及所述训练发起方的特征样本集,使用无可信初始化方的秘密共享矩阵乘法来获得所述线性/逻辑回归模型针对所述特征样本集的当前预测值;确定所述特征样本集的当前预测值与对应的标记值之间的预测差值;将所确定出的预测差值分割为所述第一数目个部分预测差值,并且将第二数目个部分预测差值中的每个分别发送给对应的训练协同方,所述第二数目等于所述第一数目减一;以及基于所述训练发起方的当前子模型以及对应的部分预测差值与所述特征样本集之积来更新所述训练发起方的当前子模型,其中,在迭代过程未结束时,所述更新后的各个训练参与方的当前子模型被用作下一迭代过程的当前子模型。
应该理解,在存储器920中存储的计算机可执行指令当执行时使得至少一个处理器910进行本公开的各个实施例中以上结合图1-8描述的各种操作和功能。
图10示出了根据本公开的实施例的用于实现经由多个训练参与方来协同训练线性/逻辑回归模型的计算设备1000的硬件结构图。如图10所示,计算设备1000可以包括至少一个处理器1010、存储器1020、内存1030和通信接口1040,并且至少一个处理器1010、存储器1020、内存1030和通信接口1040经由总线1060连接在一起。至少一个处理器1010执行在存储器1020中存储或编码的至少一个计算机可读指令(即,上述以软件形式实现的元素)。
在一个实施例中,在存储器1020中存储计算机可执行指令,其当执行时使得至少一个处理器1010:执行下述迭代过程,直到满足预定条件:使用无可信初始化方的秘密共享矩阵乘法来基于训练协同方的当前子模型与所述训练发起方处的特征样本集,获取与所述训练协同方的子模型对应的部分预测值;从所述训练发起方接收对应的部分预测差值,其中,所述部分预测差值是在所述训练发起方处对所述特征样本集的当前预测值与对应的标记值之间的预测差值进行分割后得到的所述第一数目个部分预测差值中的一个部分预测差值,所述当前预测值是在所述训练发起方处对所得到的各个训练参与方的子模型所对应的部分预测值进行求和而得到的;以及基于所述训练协同方的当前子模型以及所接收的部分预测差值与所述特征样本集之积来更新所述训练协同方的当前子模型,所接收的部分预测差值与所述特征样本集之积是在所述训练协同方处使用无可信初始化方的秘密共享矩阵乘法来获得的,其中,在迭代过程未结束时,所述更新后的各个训练参与方的当前子模型被用作下一训练迭代过程的当前子模型。
应该理解,在存储器1020中存储的计算机可执行指令当执行时使得至少一个处理器1010进行本公开的各个实施例中以上结合图1-8描述的各种操作和功能。
根据一个实施例,提供了一种比如非暂时性机器可读介质的程序产品。非暂时性机器可读介质可以具有指令(即,上述以软件形式实现的元素),该指令当被机器执行时,使得机器执行本公开的各个实施例中以上结合图1-8描述的各种操作和功能。具体地,可以提供配有可读存储介质的系统或者装置,在该可读存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机或处理器读出并执行存储在该可读存储介质中的指令。
根据一个实施例,提供了一种比如非暂时性机器可读介质的程序产品。非暂时性机器可读介质可以具有指令(即,上述以软件形式实现的元素),该指令当被机器执行时,使得机器执行本公开的各个实施例中以上结合图1-8描述的各种操作和功能。具体地,可以提供配有可读存储介质的系统或者装置,在该可读存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机或处理器读出并执行存储在该可读存储介质中的指令。
在这种情况下,从可读介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此机器可读代码和存储机器可读代码的可读存储介质构成了本发明的一部分。
可读存储介质的实施例包括软盘、硬盘、磁光盘、光盘(如CD-ROM、CD-R、CD-RW、DVD-ROM、DVD-RAM、DVD-RW、DVD-RW)、磁带、非易失性存储卡和ROM。可选择地,可以由通信网络从服务器计算机上或云上下载程序代码。
本领域技术人员应当理解,上面公开的各个实施例可以在不偏离发明实质的情况下做出各种变形和修改。因此,本发明的保护范围应当由所附的权利要求书来限定。
需要说明的是,上述各流程和各系统结构图中不是所有的步骤和单元都是必须的,可以根据实际的需要忽略某些步骤或单元。各步骤的执行顺序不是固定的,可以根据需要进行确定。上述各实施例中描述的装置结构可以是物理结构,也可以是逻辑结构,即,有些单元可能由同一物理实体实现,或者,有些单元可能分由多个物理实体实现,或者,可以由多个独立设备中的某些部件共同实现。
以上各实施例中,硬件单元或模块可以通过机械方式或电气方式实现。例如,一个硬件单元、模块或处理器可以包括永久性专用的电路或逻辑(如专门的处理器,FPGA或ASIC)来完成相应操作。硬件单元或处理器还可以包括可编程逻辑或电路(如通用处理器或其它可编程处理器),可以由软件进行临时的设置以完成相应操作。具体的实现方式(机械方式、或专用的永久性电路、或者临时设置的电路)可以基于成本和时间上的考虑来确定。
上面结合附图阐述的具体实施方式描述了示例性实施例,但并不表示可以实现的或者落入权利要求书的保护范围的所有实施例。在整个本说明书中使用的术语“示例性”意味着“用作示例、实例或例示”,并不意味着比其它实施例“优选”或“具有优势”。出于提供对所描述技术的理解的目的,具体实施方式包括具体细节。然而,可以在没有这些具体细节的情况下实施这些技术。在一些实例中,为了避免对所描述的实施例的概念造成难以理解,公知的结构和装置以框图形式示出。
本公开内容的上述描述被提供来使得本领域任何普通技术人员能够实现或者使用本公开内容。对于本领域普通技术人员来说,对本公开内容进行的各种修改是显而易见的,并且,也可以在不脱离本公开内容的保护范围的情况下,将本文所定义的一般性原理应用于其它变型。因此,本公开内容并不限于本文所描述的示例和设计,而是与符合本文公开的原理和新颖性特征的最广范围相一致。

Claims (25)

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

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910103267.6A CN111523675B (zh) 2019-02-01 2019-02-01 模型训练方法、装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910103267.6A CN111523675B (zh) 2019-02-01 2019-02-01 模型训练方法、装置及系统

Publications (2)

Publication Number Publication Date
CN111523675A true CN111523675A (zh) 2020-08-11
CN111523675B CN111523675B (zh) 2023-08-04

Family

ID=71910355

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910103267.6A Active CN111523675B (zh) 2019-02-01 2019-02-01 模型训练方法、装置及系统

Country Status (1)

Country Link
CN (1) CN111523675B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111931870A (zh) * 2020-09-25 2020-11-13 支付宝(杭州)信息技术有限公司 基于模型复用的模型预测方法、模型预测装置及系统
CN114048804A (zh) * 2021-11-05 2022-02-15 光大科技有限公司 一种分类模型训练方法及装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101873212A (zh) * 2010-06-09 2010-10-27 中国农业大学 门限秘密信息分配、还原装置及方法
US20150120619A1 (en) * 2013-10-25 2015-04-30 International Business Machines Corporation Social collaboration in probabilistic prediction
CN106789888A (zh) * 2016-11-18 2017-05-31 重庆邮电大学 一种多特征融合的钓鱼网页检测方法
CN108090560A (zh) * 2018-01-05 2018-05-29 中国科学技术大学苏州研究院 基于fpga的lstm递归神经网络硬件加速器的设计方法
CN108710911A (zh) * 2018-05-21 2018-10-26 华东师范大学 一种基于半监督的应用市场刷榜应用检测方法
US20180349605A1 (en) * 2017-06-05 2018-12-06 Microsoft Technology Licensing, Llc Adversarial quantum machine learning
CN109214436A (zh) * 2018-08-22 2019-01-15 阿里巴巴集团控股有限公司 一种针对目标场景的预测模型训练方法及装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101873212A (zh) * 2010-06-09 2010-10-27 中国农业大学 门限秘密信息分配、还原装置及方法
US20150120619A1 (en) * 2013-10-25 2015-04-30 International Business Machines Corporation Social collaboration in probabilistic prediction
CN106789888A (zh) * 2016-11-18 2017-05-31 重庆邮电大学 一种多特征融合的钓鱼网页检测方法
US20180349605A1 (en) * 2017-06-05 2018-12-06 Microsoft Technology Licensing, Llc Adversarial quantum machine learning
CN108090560A (zh) * 2018-01-05 2018-05-29 中国科学技术大学苏州研究院 基于fpga的lstm递归神经网络硬件加速器的设计方法
CN108710911A (zh) * 2018-05-21 2018-10-26 华东师范大学 一种基于半监督的应用市场刷榜应用检测方法
CN109214436A (zh) * 2018-08-22 2019-01-15 阿里巴巴集团控股有限公司 一种针对目标场景的预测模型训练方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
尼尔・布切尔;夏方毅;: "远程教育的知识管理策略" *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111931870A (zh) * 2020-09-25 2020-11-13 支付宝(杭州)信息技术有限公司 基于模型复用的模型预测方法、模型预测装置及系统
CN111931870B (zh) * 2020-09-25 2024-02-20 支付宝(杭州)信息技术有限公司 基于模型复用的模型预测方法、模型预测装置及系统
CN114048804A (zh) * 2021-11-05 2022-02-15 光大科技有限公司 一种分类模型训练方法及装置
CN114048804B (zh) * 2021-11-05 2024-04-16 光大科技有限公司 一种分类模型训练方法及装置

Also Published As

Publication number Publication date
CN111523675B (zh) 2023-08-04

Similar Documents

Publication Publication Date Title
CN111523673B (zh) 模型训练方法、装置及系统
WO2021164365A1 (zh) 图神经网络模型训练方法、装置及系统
CN110942147B (zh) 基于多方安全计算的神经网络模型训练及预测方法、装置
CN111061963B (zh) 基于多方安全计算的机器学习模型训练及预测方法、装置
CN111062487B (zh) 基于数据隐私保护的机器学习模型特征筛选方法及装置
CN111523556B (zh) 模型训练方法、装置及系统
CN111079939B (zh) 基于数据隐私保护的机器学习模型特征筛选方法及装置
CN112052942B (zh) 神经网络模型训练方法、装置及系统
CN113239404A (zh) 一种基于差分隐私和混沌加密的联邦学习方法
US9948462B2 (en) Hypersphere-based multivariable public key signature/verification system and method
CN111738438B (zh) 图神经网络模型训练方法、装置及系统
CN111523674B (zh) 模型训练方法、装置及系统
CN111523134B (zh) 基于同态加密的模型训练方法、装置及系统
CN110929887B (zh) 逻辑回归模型训练方法、装置及系统
CN114186256B (zh) 神经网络模型的训练方法、装置、设备和存储介质
CN111523675B (zh) 模型训练方法、装置及系统
CN112464155A (zh) 一种数据处理方法、多方安全计算系统和电子设备
CN112183759B (zh) 模型训练方法、装置及系统
CN112183757B (zh) 模型训练方法、装置及系统
CN111737756B (zh) 经由两个数据拥有方进行的xgb模型预测方法、装置及系统
CN112183564B (zh) 模型训练方法、装置及系统
CN111738453B (zh) 基于样本加权的业务模型训练方法、装置及系统
CN115564447A (zh) 一种信用卡交易风险检测方法及装置
CN112183566B (zh) 模型训练方法、装置及系统
CN112183565B (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
TA01 Transfer of patent application right

Effective date of registration: 20201016

Address after: English genus

Applicant after: Innovative advanced technology Co.,Ltd.

Address before: English genus

Applicant before: Advanced innovation technology Co.,Ltd.

Effective date of registration: 20201016

Address after: English genus

Applicant after: Advanced innovation technology Co.,Ltd.

Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands

Applicant before: Alibaba Group Holding Ltd.

TA01 Transfer of patent application right
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40035477

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant