CN110728375B - 多个计算单元联合训练逻辑回归模型的方法和装置 - Google Patents

多个计算单元联合训练逻辑回归模型的方法和装置 Download PDF

Info

Publication number
CN110728375B
CN110728375B CN201910982730.9A CN201910982730A CN110728375B CN 110728375 B CN110728375 B CN 110728375B CN 201910982730 A CN201910982730 A CN 201910982730A CN 110728375 B CN110728375 B CN 110728375B
Authority
CN
China
Prior art keywords
sample
vector
value
computing unit
processing
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.)
Active
Application number
CN201910982730.9A
Other languages
English (en)
Other versions
CN110728375A (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 CN201910982730.9A priority Critical patent/CN110728375B/zh
Publication of CN110728375A publication Critical patent/CN110728375A/zh
Priority to PCT/CN2020/108941 priority patent/WO2021073234A1/zh
Application granted granted Critical
Publication of CN110728375B publication Critical patent/CN110728375B/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)
  • Complex Calculations (AREA)

Abstract

本说明书实施例提供一种多个计算单元联合训练逻辑回归模型的方法和装置,其中主计算单元中存储样本的第一部分特征和样本标签,从计算单元存储样本的第二部分特征。在联合训练的迭代过程中,针对采样的任意样本,主计算单元和从计算单元各自根据本地存储的该样本的特征部分和模型参数部分,得到部分处理值。主计算单元汇总各个部分处理值后,根据总处理值,该样本的标签值,以及之前采样该样本时存储的梯度值,采用方差约减方式得到不泄露标签值的中间值,并将其发送给从计算单元。于是,各个计算单元可以根据该中间值更新模型参数,进行后续迭代。

Description

多个计算单元联合训练逻辑回归模型的方法和装置
技术领域
本说明书一个或多个实施例涉及数据安全和机器学习领域,具体地,涉及多方联合训练逻辑回归模型的方法和装置。
背景技术
机器学习所需要的数据往往会涉及到多个领域。例如在基于机器学习的商户分类分析场景中,电子支付平台拥有商户的交易流水数据,电子商务平台存储有商户的销售数据,银行机构拥有商户的借贷数据。数据往往以孤岛的形式存在。由于行业竞争、数据安全、用户隐私等问题,数据整合面临着很大阻力,将分散在各个平台的数据整合在一起训练机器学习模型难以实现。在保证数据不泄露的前提下,使用多方数据联合训练机器学习模型变成目前的一大挑战。
逻辑回归模型是机器学习的一种常用模型,可以有效地执行样本分类预测等任务,因此广泛应用在各种机器学习场景中。在多方联合训练的情况下,同样存在联合建模逻辑回归模型的需求。为此,提出有联邦学习(Federated Learning)和多方计算(MPC)的方案,这些方案为多方联合建模逻辑回归提供了相应的算法支持。然而,在应用于实际场景时,依然在效率和准确度方面存在不足。
因此,希望提供改进的方案,在多方联合训练逻辑回归模型的情况下,提高训练的效率和模型的准确度。
发明内容
本说明书一个或多个实施例描述了多方联合训练逻辑回归模型的方法和装置,其中通过方差约减的方式得到安全的、可以直接通信的梯度中间值,用以多个计算单元对各自维护的模型参数进行梯度更新,显著提高联合训练的效率和模型准确度。
根据第一方面,提供了一种多个计算单元联合训练逻辑回归模型的方法,所述多个计算单元包括主计算单元和至少一个从计算单元,所述主计算单元存储有训练样本集中各个样本的标签值以及第一部分样本特征;所述至少一个从计算单元各自存储有所述各个样本的第二部分样本特征,各个第二部分样本特征和所述第一部分样本特征共同构成全部样本特征,所述方法应用于所述主计算单元,该方法包括多次迭代,每次迭代包括:
从所述训练样本集中选择第一样本,将所述第一样本对应的第一样本标识发送给所述至少一个从计算单元;
根据所述第一样本的第一部分样本特征构成的第一特征向量,以及在所述主计算单元中训练的第一部分模型参数,确定第一处理值;
从所述至少一个从计算单元接收针对所述第一样本的至少一个第二处理值,并结合所述第一处理值确定所述第一样本的总处理值;其中所述第二处理值至少根据所述第一样本的第二部分样本特征,以及在各个从计算单元中训练的第二部分模型参数而确定;
读取本次迭代前存储的、与所述训练样本集的第一部分样本特征对应的第一平均梯度向量,以及与所述第一样本对应的第一梯度值;
根据所述总处理值以及所述第一样本对应的标签值,得到所述第一样本的损失中间值,将所述损失中间值与所述第一梯度值的差值作为本轮中间值;
根据所述第一平均梯度向量,所述第一特征向量和所述本轮中间值,更新所述第一部分模型参数;
向所述至少一个从计算单元发送所述本轮中间值,用于更新所述第二部分模型参数;
至少根据所述本轮中间值,更新所述第一梯度值和第一平均梯度向量。
根据一个实施例,所述第一样本的损失中间值通过以下方式得到:
采用非线性映射函数,将所述总处理值变换为预测值,将所述预测值与所述标签值的差值作为所述损失中间值,其中所述非线性映射函数的取值范围与所述标签值的取值范围相对应。
在一个实施例中,更新所述第一部分模型参数具体包括:
根据所述第一特征向量和所述本轮中间值,得到本轮梯度向量;
根据所述第一平均梯度向量和所述本轮梯度向量,得到本轮调整梯度;
基于所述本轮调整梯度,调整所述第一部分模型参数的当前值。
根据一种实施方式,在所述多次迭代之前,方法还包括初始化过程,所述初始化过程包括:
根据所述训练样本集中各个样本的第一部分样本特征构成的第一特征矩阵,以及所述第一部分模型参数的初始值,确定第一处理向量;
从所述至少一个从计算单元接收至少一个第二处理向量,并结合所述第一处理向量确定所述训练样本集的总处理向量,其中所述第二处理向量根据所述各个样本的第二部分样本特征和所述第二部分模型参数的初始值确定;
根据所述总处理向量,以及所述各个样本的标签值构成的标签向量,得到损失中间向量;
根据所述第一特征矩阵和所述损失中间向量,确定并存储初始的第一平均梯度向量,并将所述损失中间向量中各个元素作为对应样本的初始梯度值。
在一个实施例中,所述初始化过程还包括:
采用第一加密算法,加密所述损失中间向量,得到第一加密结果,将该第一加密结果发送给所述至少一个从计算单元,所述第一加密算法为同态或半同态加密算法;
从所述至少一个从计算单元接收至少一个第二加密结果,所述第二加密结果基于所述第一加密结果和由各个训练样本的第二部分样本特征构成的第二特征矩阵计算得到;
采用与所述第一加密算法对应的解密算法,解密所述至少一个第二加密结果,得到至少一个第二解密结果,并将其分别发送给所述至少一个从计算单元,作为其初始的第二平均梯度向量,所述第二平均梯度向量对应于训练样本集的第二部分样本特征。
进一步的,在一个实施例中,所述初始化过程进一步包括:
从所述至少一个从计算单元接收至少一个第三加密结果,所述第三加密结果基于所述第一加密结果和生成的噪声特征计算得到;
采用与所述第一加密算法对应的解密算法,解密所述至少一个第三加密结果,得到至少一个第三解密结果,并将其分别发送给所述至少一个从计算单元,作为其初始的第三平均梯度向量,所述第三平均梯度向量对应于噪声特征。
根据第二方面,提供了一种多个计算单元联合训练逻辑回归模型的方法,所述多个计算单元包括主计算单元和至少一个从计算单元,所述主计算单元存储有训练样本集中各个样本的标签值以及第一部分样本特征;所述至少一个从计算单元各自存储有所述各个样本的第二部分样本特征,各个第二部分样本特征和所述第一部分样本特征共同构成全部样本特征,所述方法应用于所述至少一个从计算单元中任意的第一从计算单元,该方法包括多次迭代,每次迭代包括:
从所述主计算单元接收第一样本标识,根据该第一样本标识,从所述训练样本集中确定第一样本;
至少根据所述第一样本的第二部分样本特征构成的第二特征向量,以及在所述第一从计算单元中训练的第二部分模型参数,确定第二处理值;
将所述第二处理值发送给所述主计算单元,用于所述主计算单元结合第一处理值确定所述第一样本的总处理值;其中所述第一处理值根据所述第一样本的第一部分样本特征和在主计算单元中训练的第一部分模型参数确定;
读取本次迭代前存储的所述训练样本集的第二平均梯度向量;
从所述主计算单元接收本轮中间值,该本轮中间值是损失中间值与第一梯度值的差值,其中,损失中间值根据所述总处理值以及所述第一样本对应的标签值而确定,所述第一梯度值是本次迭代前主计算单元中存储的第一样本对应的梯度值;
根据所述第二平均梯度向量,所述第二特征向量和所述本轮中间值,更新所述第二部分模型参数;
根据所述第二特征向量和所述本轮中间值,更新所述第二平均梯度向量。
根据一个实施例,更新第二部分模型参数具体包括:
根据所述第二特征向量和所述本轮中间值,得到本轮梯度向量;
根据所述第二平均梯度向量和所述本轮梯度向量,得到本轮调整梯度;
基于所述本轮调整梯度,调整所述第二部分模型参数的当前值。
根据一种实施方式,在所述多次迭代之前,方法还包括初始化过程,所述初始化过程包括:
至少根据所述训练样本集中各个样本的第二部分样本特征构成的第二特征矩阵,以及所述第二部分模型参数的初始值,确定第二处理向量;
将所述第二处理向量发送给所述主计算单元,用于所述主计算单元结合第一处理向量确定所述训练样本集的总处理向量,其中所述第一处理向量根据各个样本的第一部分样本特征和所述第一部分模型参数的初始值确定;
从所述主计算单元接收第一加密结果,该第一加密结果采用第一加密算法加密损失中间向量得到,其中所述第一加密算法为同态或半同态加密算法,所述损失中间向量根据所述总处理向量以及所述各个样本的标签值构成的标签向量确定;
基于所述第二特征矩阵对所述第一加密结果进行同态或半同态运算,得到第二加密结果;
将所述第二加密结果发送给所述主计算单元;
从所述主计算单元接收针对所述第二加密结果进行解密得到的第二解密结果,作为初始的第二平均梯度向量。
在上述实施方式的一个实施例中,确定第二处理向量具体包括:
根据所述第二特征矩阵以及所述第二部分模型参数的初始值,确定样本处理向量;
生成噪声矩阵,根据该噪声矩阵和针对噪声部分训练的第三部分模型参数的初始值,确定噪声处理向量;
基于所述样本处理向量和所述噪声处理向量,得到所述第二处理向量。
进一步的,在一个实施例中,所述初始化过程还包括:
基于所述噪声矩阵对所述第一加密结果进行同态或半同态运算,得到第三加密结果;
将所述第三加密结果发送给所述主计算单元;
从所述主计算单元接收针对所述第三加密结果进行解密得到的第三解密结果,作为初始的第三平均梯度向量。
在上述实施例的情况下,确定第二处理值具体包括:
根据所述第二特征向量以及所述第二部分模型参数,确定样本处理值;
生成噪声向量,根据该噪声向量和所述第三部分模型参数,确定噪声处理值;
基于所述样本处理值和所述噪声处理值,得到所述第二处理值。
在一个具体例子中,生成噪声向量包括:在预定范围的正态分布空间中进行随机采样,生成所述噪声向量。
根据一个实施例,上述方法还包括:
读取本次迭代前存储的所述第三平均梯度向量;
根据所述噪声向量,所述本轮中间值,以及所述第三平均梯度向量,更新所述第三部分模型参数;以及,
根据所述噪声向量和所述本轮中间值,更新所述第三平均梯度向量。
根据第三方面,提供了一种用于多个计算单元联合训练逻辑回归模型的装置,所述多个计算单元包括主计算单元和至少一个从计算单元,所述主计算单元存储有训练样本集中各个样本的标签值以及第一部分样本特征;所述至少一个从计算单元各自存储有所述各个样本的第二部分样本特征,各个第二部分样本特征和所述第一部分样本特征共同构成全部样本特征,所述装置部署于所述主计算单元,该装置包括迭代计算单元,该迭代计算单元包括:
采样模块,配置为从所述训练样本集中选择第一样本,将所述第一样本对应的第一样本标识发送给所述至少一个从计算单元;
第一处理模块,配置为根据所述第一样本的第一部分样本特征构成的第一特征向量,以及在所述主计算单元中训练的第一部分模型参数,确定第一处理值;
总处理模块,配置为从所述至少一个从计算单元接收针对所述第一样本的至少一个第二处理值,并结合所述第一处理值确定所述第一样本的总处理值;其中所述第二处理值至少根据所述第一样本的第二部分样本特征,以及在各个从计算单元中训练的第二部分模型参数而确定;
第一梯度读取模块,配置为读取本次迭代前存储的、与所述训练样本集的第一部分样本特征对应的第一平均梯度向量,以及与所述第一样本对应的第一梯度值;
中间值确定模块,配置为根据所述总处理值以及所述第一样本对应的标签值,得到所述第一样本的损失中间值,将所述损失中间值与所述第一梯度值的差值作为本轮中间值;
第一参数更新模块,配置为根据所述第一平均梯度向量,所述第一特征向量和所述本轮中间值,更新所述第一部分模型参数;
中间值发送模块,配置为向所述至少一个从计算单元发送所述本轮中间值,用于更新所述第二部分模型参数;
第一梯度更新模块,配置为至少根据所述本轮中间值,更新所述第一梯度值和第一平均梯度向量。
根据第四方面,提供了一种用于多个计算单元联合训练逻辑回归模型的装置,所述多个计算单元包括主计算单元和至少一个从计算单元,所述主计算单元存储有训练样本集中各个样本的标签值以及第一部分样本特征;所述至少一个从计算单元各自存储有所述各个样本的第二部分样本特征,各个第二部分样本特征和所述第一部分样本特征共同构成全部样本特征,所述装置部署于所述至少一个从计算单元中任意的第一从计算单元中,该装置包括迭代计算单元,该迭代计算单元包括:
样本确定模块,配置为从所述主计算单元接收第一样本标识,根据该第一样本标识,从所述训练样本集中确定第一样本;
第二处理模块,配置为至少根据所述第一样本的第二部分样本特征构成的第二特征向量,以及在所述第一从计算单元中训练的第二部分模型参数,确定第二处理值;
发送模块,配置为将所述第二处理值发送给所述主计算单元,用于所述主计算单元结合第一处理值确定所述第一样本的总处理值;其中所述第一处理值根据所述第一样本的第一部分样本特征和在主计算单元中训练的第一部分模型参数确定;
第二梯度读取模块,配置为读取本次迭代前存储的所述训练样本集的第二平均梯度向量;
中间值接收模块,配置为从所述主计算单元接收本轮中间值,该本轮中间值是损失中间值与第一梯度值的差值,其中,损失中间值根据所述总处理值以及所述第一样本对应的标签值而确定,所述第一梯度值是本次迭代前主计算单元中存储的第一样本对应的梯度值;
第二参数更新模块,配置为根据所述第二平均梯度向量,所述第二特征向量和所述本轮中间值,更新所述第二部分模型参数;
第二梯度更新模块,配置为根据所述第二特征向量和所述本轮中间值,更新所述第二平均梯度向量。
根据第五方面,提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第一方面和第二方面的方法。
根据第六方面,提供了一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第一方面和第二方面的方法。
根据本说明书实施例提供的方法和装置,在主计算单元和从计算单元联合训练逻辑回归模型的迭代过程中,针对采样的任意样本,主计算单元和从计算单元各自根据本地存储的该样本的特征部分和模型参数部分,得到部分处理值。主计算单元汇总各个部分处理值后,根据总处理值,该样本的标签值,以及之前采样该样本时存储的梯度值,采用方差约减方式得到不泄露标签值的中间值,并将其发送给从计算单元。于是,各个计算单元可以根据该中间值更新模型参数,进行后续迭代。如此,显著提升联合训练的效率和模型准确度。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本说明书披露的一个实施例的实施场景示意图;
图2示出根据一个实施例的多方联合训练的初始化过程;
图3示出根据一个实施例的多方联合训练的迭代过程;
图4示出根据一个实施例的多方联合训练中引入噪声的初始化过程;
图5示出根据一个实施例的多方联合训练中引入噪声的迭代过程;
图6示出根据一个实施例的部署在主计算单元中的联合训练装置的示意性框图;
图7示出根据一个实施例的部署在从计算单元中的联合训练装置的示意性框图。
具体实施方式
下面结合附图,对本说明书提供的方案进行描述。
图1为本说明书披露的一个实施例的实施场景示意图。如图1所示,多方联合训练的场景涉及多个计算单元,一般而言,在这多个计算单元中,存在一个主计算单元,又称为master,以及k个从计算单元,又称为worker,其中k大于或等于1。
主计算单元master中存储有模型训练所需的训练样本集中各个样本的一部分样本特征,图1中记为样本特征Xm,还存储有各个样本的标签。k个从计算单元中各自存储有各个样本的其他部分样本特征,图1中分别记为样本特征Xw1,Xw2,…,Xwk,但是没有样本标签。并且,主计算单元中的样本特征Xm,与各个从计算单元中的样本特征Xw1,Xw2,…,Xwk,共同构成样本的全部特征。换而言之,对于每个样本而言,其样本特征的不同部分分别存储在不同计算单元中,而标签存储在主计算单元中。
例如,在一个示例性场景中,电子支付平台、电子商务平台和银行机构需要联合训练模型,来评估商户的欺诈风险。在一个示例中,可以选择电子支付平台(例如支付宝)作为主计算单元,其中存储有训练用的样本商户的一部分特征m,例如为交易流水数据,以及样本商户的标签(是或不是欺诈商户的标记)。电子商务平台作为一个从计算单元,其中存储样本商户的销售数据作为一部分样本特征,银行机构作为另一从计算单元,其中存储样本商户的借贷数据作为另一部分样本特征。
主计算单元中维护逻辑回归模型的一部分模型参数,记为参数θm,这部分模型参数用于处理对应的样本特征Xm。各个从计算单元中维护其他部分模型参数,记为参数θw1,θw2,…,θwk,分别用于处理各自存储的样本特征Xw1,Xw2,…,Xwk。并且,主计算单元中的模型参数θm,与各个从计算单元中的模型参数θw1,θw2,…,θwk,共同构成一个完整的逻辑回归模型的全部模型参数。而联合训练的目标就是,各个计算单元在不泄露各自存储的原始数据的情况下,分别调整各自维护的模型参数,使得由各部分模型参数构成的完整的逻辑回归模型可以较好地拟合训练样本的结果,进而准确预测未知样本。
为了进行联合训练,可以采用随机采样和梯度下降方式进行模型参数的调整。为此,在每次迭代中,随机采样一个样本i,各个计算单元使用本地维护的模型参数,处理本地存储的该样本i的部分样本特征,得到各自的处理值。各个从计算单元将其得到的处理值w1,w2,…,wk发送给主计算单元,主计算单元汇总接收到的处理值以及其本地得到的处理值,计算出本轮迭代中与损失有关的中间值,该中间值用于梯度计算。主计算单元将该中间值发送给各个从计算单元,于是,各个计算单元可以根据该中间值,以及本地存储的部分样本特征,得到本轮的调整梯度,据此调整本地维护的模型参数,实现模型参数的更新。
特别地,在本说明书一个实施例的方案中,在初始化过程中,除了存储样本集的整体平均梯度之外,还存储各个样本的样本梯度值。如此,在每次迭代中计算中间值时,采用方差约减的方式基于存储的样本梯度值得到约减的随机梯度。如此得到的中间值不会泄露标签信息,无需通信加密,且收敛速度快,从而提高模型的训练效率和准确度。
下面描述以上构思的具体实现过程。
首先描述各个计算单元中初始化的过程。
图2示出根据一个实施例的多方联合训练的初始化过程。在图2的示意图中,为了描述的简单,示出了主计算单元和一个从计算单元。然而,可以理解,各个从计算单元中的操作是相似的,因此,图2中一个从计算单元的操作过程可以推广到多个从计算单元的情况。各个计算单元可以通过任何具有计算、处理能力的装置、设备、平台、设备集群来实现。
在图2的示例中,假定训练样本集中包含n个样本。
主计算单元(master)中存储有这n个样本的第一部分样本特征,形成第一特征矩阵Xm,该第一特征矩阵Xm为dm×n维矩阵,其中dm为第一部分样本特征的维度。此外,主计算单元还存储有n个样本的标签y,其中y为n维向量,每个元素对应一个样本的标签值。
从计算单元(worker)中存储有上述n个样本的第二部分样本特征,形成第二特征矩阵Xw,该第二特征矩阵Xw为dw×n维矩阵,其中dw为第二部分样本特征的维度。
为了联合训练模型,主计算单元维护逻辑回归模型的第一部分模型参数,记为θm,从计算单元维护该逻辑回归模型的第二部分模型参数,记为θw
在初始化阶段,主计算单元为第一部分模型参数随机初始化,得到初始值θ0,m;从计算单元为第二部分模型参数随机初始化,得到初始值θ0,w
在步骤201,主计算单元根据各个样本的第一部分样本特征构成的第一特征矩阵Xm,以及第一部分模型参数的初始值θ0,m,确定第一处理向量Zm。也就是,用初始的第一部分模型参数处理第一特征矩阵,得到该第一处理向量。在一个实施例中,上述处理可以是线性处理过程,因此,第一处理向量Zm可以通过公式(1)得到:
Figure BDA0002235722670000121
其中,
Figure BDA0002235722670000122
表示第一特征矩阵Xm的转置。
类似的,在步骤202,从计算单元根据各个样本的第二部分样本特征构成的第二特征矩阵Xw,以及第二部分模型参数的初始值θ0,w,确定第二处理向量Zw。也就是,用初始的第二部分模型参数处理第二特征矩阵,得到该第二处理向量。在一个具体例子中,第二处理向量Zw可以通过公式(2)得到:
Figure BDA0002235722670000131
其中,
Figure BDA0002235722670000132
表示第二特征矩阵Xw的转置。
可以理解,步骤201和202的执行相互独立,可以先后执行也可以并行执行,在此不限定其执行次序。
在从计算单元计算得到第二处理向量Zw后,在步骤203,将该第二处理向量Zw发送给主计算单元。
需要说明的是,此处第二处理向量Zw是利用第二部分模型参数初始值θ0,w对样本的第二部分样本特征Xw处理之后得到的向量,而第二部分模型参数θ0,w和第二特征矩阵Xw仅存储在从计算单元本地,因此,主计算单元接收到第二处理向量Zw之后,无法根据Zw的值反推出第二部分特征Xw的信息。因此,在步骤203直接发送第二处理向量Zw并不会泄露从计算单元中存储的第二部分特征信息。
接着,在步骤204,主计算单元结合第一处理向量Zm和第二处理向量Zw,确定训练样本集的总处理向量Z。具体的,在一个例子中,主计算单元可以通过简单求和得到总处理向量Z:
Z=Zm+Zw (3)
在其他例子中,还有可能为不同的从计算单元赋予不同的权重,进而进行加权求和。
然后,在步骤205,主计算单元基于以上得到的总处理向量Z,以及各个样本的标签值构成的标签向量y,得到用于计算梯度的损失中间向量p。
具体的,在一个实施例中,可以先对总处理向量Z施加sigmoid函数,得到一个预测向量,将预测向量与标签向量y的差值作为损失中间向量p,即:
Figure BDA0002235722670000133
可以理解,sigmoid函数是逻辑回归模型中常采用的典型的非线性映射函数,可以将输入变量映射到(0,1)区间,这与标签的取值范围(0或1)相一致。然而,在其他例子中,也可能采用其他非线性映射函数进行变换,例如tanh函数,relu函数等,从而得到上述损失中间向量。
如此得到的损失中间向量p可以用于梯度的计算。
为了计算初始梯度,在步骤206,主计算单元根据第一特征矩阵Xm和上述损失中间向量p,确定并存储与第一部分样本特征对应的第一平均梯度向量
Figure BDA0002235722670000141
的初始值。具体地,第一平均梯度向量
Figure BDA0002235722670000142
的初始值可以被确定为:
Figure BDA0002235722670000143
此外,主计算单元还将上述损失中间向量p中各个元素作为对应样本的初始梯度值,也就是说,对于n个样本中任意的样本i,该样本i的初始梯度值si=pi,其中pi为损失中间向量p中第i个元素。
如此,主计算单元确定出了初始的第一平均梯度
Figure BDA0002235722670000144
以及各个样本的初始梯度值si
另一方面,为了从计算单元计算初始梯度,主计算单元需要将上述损失中间向量p发送给从计算单元。然而,直接发送该损失中间向量p有可能会泄露样本的标签信息。这是因为,在例如公式(4)的损失中间向量计算过程中,sigmoid函数将输入变量映射到(0,1)区间,而标签取值为0或1。如此,当损失中间向量p的某个元素为负数时,可以反推出,该位置对应的样本标签值为1,否则标签值为0。这将会泄露主计算单元中的标签信息。
为此,在一个实施例中,在步骤207,主计算单元采用同态或半同态加密算法,加密上述损失中间向量p,得到第一加密结果En(p),将该第一加密结果En(p)发送给从计算单元。
本领域技术人员理解,基于同态加密算法的特性,对加密结果先计算后解密,可等价于先解密后计算。因此,从计算单元可以不经解密,直接对第一加密结果En(p)进行同态运算。于是,在步骤208,从计算单元基于其中的第二特征矩阵Xw对第一加密结果En(p)进行同态或半同态运算,得到第二加密结果
Figure BDA0002235722670000151
具体地,可以采用与公式(5)类似的方式,如下计算得到第二加密结果:
Figure BDA0002235722670000152
然后,在步骤209,从计算单元将该第二加密结果
Figure BDA0002235722670000153
发送给主计算单元。主计算单元接收到第二加密结果之后,在步骤210,采用对应的解密算法,解密上述第二加密结果
Figure BDA0002235722670000154
并将解密结果发送给从计算单元。
可以理解,对第二加密结果
Figure BDA0002235722670000155
进行解密的解密结果即为
Figure BDA0002235722670000156
也就是与第二部分样本特征对应的第二平均梯度向量。因此,在步骤211,从计算单元存储接收到的解密结果,作为其初始的第二平均梯度向量
Figure BDA0002235722670000157
需要说明的是,在步骤205中计算得到损失中间向量p之后,主计算单元计算初始梯度的步骤206,与从计算单元计算初始梯度的步骤207-211,相互独立,可以并行执行,或以任意顺序执行。
并且,如前所述,图2所示的过程可以适用于多个从计算单元的情况。在具有多个从计算单元的情况下,各个从计算单元分别计算得到对应的第二处理向量。在步骤204中,主计算单元汇总所有从计算单元的第二处理向量,结合本地的第一处理向量得到总处理向量。在主计算单元得到损失中间向量p之后,将其加密发给每个从计算单元。各个从计算单元按照步骤208-211,得到各自对应的第二平均梯度向量。
如此,通过以上初始化过程,主计算单元中存储了与全量样本的第一部分样本特征对应的第一平均梯度向量
Figure BDA0002235722670000158
以及各个样本的梯度值si;而从计算单元中存储了与全量样本的第二部分样本特征对应的第二平均梯度向量
Figure BDA0002235722670000159
以上的平均梯度向量,以及样本的梯度值,用于在后续的迭代过程中,计算梯度,调整模型参数。
在完成初始化之后,就可以通过随机采样进行多次迭代,来调整、优化模型参数。
图3示出根据一个实施例的多方联合训练的迭代过程。为了描述的简单,图3示出了主计算单元和一个从计算单元在第t次迭代中的执行过程。在本次迭代执行之前,主计算单元中维持有第一部分模型参数θm,并且存储有第一平均梯度向量
Figure BDA0002235722670000161
需要理解,每次迭代,主计算单元都会更新第一部分模型参数和第一平均梯度向量,因此,此时维持的第一部分模型参数θm具有当前值θt,m,而第一平均梯度向量
Figure BDA0002235722670000162
是上一次迭代(t-1次迭代)后更新并存储的第一平均梯度向量。如果本次迭代是首次迭代,即t=1,那么,此时维持的第一部分模型参数具有初始的参数值θ0,m,存储的第一平均梯度向量即为初始的第一平均梯度向量。
类似的,从计算单元中维持有第二部分模型参数θw,当前值为θt,w;并且存储有第二平均梯度向量
Figure BDA0002235722670000163
在本次迭代中,首先,在步骤301,主计算单元从训练样本集的n个样本中随机选择一个训练样本,称为第一样本,记为样本i。
在步骤302,主计算单元将第一样本对应的第一样本标识,例如I D-i,发送给从计算单元。
在步骤303,主计算单元根据该样本i的第一部分样本特征构成的第一特征向量
Figure BDA0002235722670000164
以及第一部分模型参数的当前值θt,m,确定第一处理值
Figure BDA0002235722670000165
也就是,用当前的第一部分模型参数处理第一特征向量,得到该第一处理值。在一个实施例中,上述处理可以是线性处理过程,因此,第一处理值
Figure BDA0002235722670000166
可以通过公式(7)得到:
Figure BDA0002235722670000167
其中,
Figure BDA0002235722670000168
表示参数向量θt,m的转置。
或者,公式(7)也可以表示为,对第一特征向量
Figure BDA0002235722670000169
进行转置,然后与参数向量θt,m相乘。
类似的,在步骤304,从计算单元根据样本i的第二部分样本特征构成的第二特征向量
Figure BDA00022357226700001610
以及第二部分模型参数的当前值θt,w,确定第二处理值
Figure BDA00022357226700001611
也就是,用当前的第二部分模型参数处理第二特征向量,得到该第二处理值。在一个具体例子中,第二处理值
Figure BDA0002235722670000171
可以通过公式(8)得到:
Figure BDA0002235722670000172
其中,
Figure BDA0002235722670000173
表示参数向量θt,w的转置。
可以理解,步骤303和304的执行相互独立,可以先后执行也可以并行执行,在此不限定其执行次序。
在从计算单元计算得到第二处理值
Figure BDA0002235722670000174
后,在步骤305,将该第二处理值
Figure BDA0002235722670000175
发送给主计算单元。
类似于前述的第二处理向量,第二处理值
Figure BDA0002235722670000176
是利用第二部分模型参数对样本i的第二部分样本特征处理之后得到的值,主计算单元无法根据该第二处理值反推出第二特征向量的信息。因此,在步骤305中直接发送第二处理值
Figure BDA0002235722670000177
并不会泄露从计算单元中存储的第二部分特征信息。
接着,在步骤306,主计算单元结合第一处理值
Figure BDA0002235722670000178
和第二处理值
Figure BDA0002235722670000179
确定该样本i的总处理值zi。具体的,主计算单元可以通过与初始化阶段计算总处理向量一致的方式,计算得到总处理值,例如按照以下公式(9):
Figure BDA00022357226700001710
此外,在步骤307,主计算单元读取本次迭代前存储的第一平均梯度向量,以及与该第一样本i对应的梯度值si,称为第一梯度值。
需要理解,每次迭代,主计算单元会进行随机采样,因此每次采样的样本一般是不同的。因此,此处读取的第一梯度值是上一次采样该样本i后,更新并存储的梯度值si。如果本次迭代是首次采样到样本i,那么此处读取的第一梯度值即为该样本i的初始梯度值。
之后,在步骤308,根据步骤306得到的总处理值zi,以及该第一样本i对应的标签值yi,得到针对第一样本i的损失中间值p’,并将损失中间值p’与第一梯度值si的差值作为该第一样本的本轮中间值pi
具体的,可以采用与初始化阶段中计算损失中间向量对应一致的方式,计算损失中间值p’。更具体而言,可以首先对该总处理值zi施加非线性映射函数,得到预测值,将预测值与标签值yi的差值作为损失中间值p’,其中上述非线性映射函数的取值范围与标签值的取值范围相对应。
典型的,在逻辑回归模型中,上述非线性映射函数采用sigmoid函数,如此,损失中间值p’即为:
Figure BDA0002235722670000181
进一步的,本轮中间值即为pi
Figure BDA0002235722670000182
在得到本轮中间值的基础上,在步骤309,根据存储的第一平均梯度向量
Figure BDA0002235722670000183
样本i的第一特征向量
Figure BDA0002235722670000184
和本轮中间值pi,更新第一部分模型参数θm
具体地,在该步骤中,可以首先根据第一特征向量
Figure BDA0002235722670000185
和本轮中间值pi,得到本轮梯度向量
Figure BDA0002235722670000186
根据第一平均梯度向量
Figure BDA0002235722670000187
和本轮梯度向量
Figure BDA0002235722670000188
得到本轮调整梯度Gt,m
Figure BDA0002235722670000189
然后,基于本轮调整梯度Gt,m,调整第一部分模型参数θm。具体地,可以根据以下公式(13)调整第一部分模型参数:
θt+1,m=θt,m-ηGt,m (13)
其中,θt,m为本轮(t轮)迭代中第一部分模型参数的当前值,η为预设的学习步长,θt+1,m为用于下一轮(t+1轮)迭代的第一部分模型参数的值。
如此,主计算单元实现了第一部分模型参数θm的更新。
此后,在步骤310,主计算单元还至少根据本轮中间值pi,更新第一梯度值si和第一平均梯度向量
Figure BDA00022357226700001810
具体地,可以在原第一梯度值的基础上,加上本轮中间值pi,如此得到更新的第一梯度值
Figure BDA00022357226700001811
即:
Figure BDA00022357226700001812
对于第一平均梯度向量
Figure BDA00022357226700001813
而言,可以按照以下公式(15)进行更新:
Figure BDA0002235722670000191
也就是,将前述的本轮梯度向量
Figure BDA0002235722670000192
对n个样本求平均,叠加在原第一平均梯度向量上,得到更新的第一平均梯度向量。
如此,主计算单元还实现了第一平均梯度向量,以及样本i的梯度值的更新。更新后的值用于后续迭代。
此外,为了使得从计算单元也相应地更新其中的第二部分模型参数和第二平均梯度向量,在步骤311,主计算单元将本轮中间值pi发送给从计算单元。
在步骤312,从计算单元根据其中存储的第二平均梯度向量
Figure BDA0002235722670000193
第二特征向量
Figure BDA0002235722670000194
和接收到的本轮中间值pi,更新第二部分模型参数θw
与步骤309类似的,在该步骤中,可以首先根据第二特征向量
Figure BDA0002235722670000195
和本轮中间值pi,得到本轮梯度向量
Figure BDA0002235722670000196
根据第二平均梯度向量
Figure BDA0002235722670000197
和本轮梯度向量
Figure BDA0002235722670000198
得到本轮调整梯度Gt,w
Figure BDA0002235722670000199
然后,基于本轮调整梯度Gt,w,调整第二部分模型参数θw。具体地,可以根据以下公式(17)调整第二部分模型参数:
θt+1,w=θt,w-ηGt,w (17)
其中,θt,w为本轮(t轮)迭代中第二部分模型参数的当前值,η为预设的学习步长,θt+1,w为用于下一轮(t+1轮)迭代的第二部分模型参数的值。
如此,从计算单元实现了第二部分模型参数θw的更新。
之后,在步骤313,从计算单元根据第二特征向量
Figure BDA00022357226700001910
和本轮中间值pi,更新第二平均梯度向量
Figure BDA00022357226700001911
与第一平均梯度向量
Figure BDA00022357226700001912
的更新类似的,可以按照以下公式(18)更新第二平均梯度向量
Figure BDA00022357226700001913
Figure BDA00022357226700001914
如此,从计算单元实现了第二平均梯度向量的更新,更新后的值用于后续迭代。
可以理解,在步骤308中计算得到本轮中间值pi之后,主计算单元更新其本地的模型参数和梯度向量的步骤309-310,与从计算单元更新其本地的模型参数和梯度向量的步骤311-313,相互独立,可以并行执行,或以任意先后顺序执行。
在以上的一轮迭代过程中,核心步骤之一是确定出针对本轮采样的本轮中间值pi,据此,主计算单元和从计算单元可以根据该本轮中间值,更新各自的模型参数。
在常规联合训练过程中,往往也涉及中间值的通信,但其中间值一般采用如公式(10)所示的损失中间值p’的形式。在公式(10)中,sigmoid函数将输入变量映射到(0,1)区间,而样本i标签取值为0或1。当损失中间值p’为负数时,可以反推出,样本i的标签值为1,否则标签值为0。因此,公式(10)形式的损失中间值会泄露样本i的标签信息。为了避免标签数据的泄露,在常规技术中,在通信损失中间值p’之前,也对其进行同态或半同态加密,从计算单元接收到加密的中间值后进行同态计算,之后发还给主计算单元解密。然而,可以理解,迭代的过程会进行多次,如果每次通信都进行加密和解密,而密文之间的计算和加密和解密操作非常耗时,这导致迭代过程效率低下。另外,本领域技术人员知道,同态或半同态加解密只支持对密文进行同态加和同态乘操作,而公式(10)中包含有非线性映射函数,这就需要对该函数做零附近的泰勒多项式近似,转换成线性形式,然后才能进行加解密。然而,这样的近似对于该中间值来说,显然会有失准确性。
而在如图3所示的实施例的迭代过程中,主计算单元和从计算单元通信的中间值采用公式(11)的形式,其中借鉴了SAGA算法的方差约减方式,得到本轮中间值pi,本轮中间值pi是样本i的损失中间值p’与上一次采样该样本i时存储的梯度值si的差。
通过公式(14)可以看到,在每轮迭代后,都会更新该轮采样的样本的梯度值,结合公式(11)可以得出,该梯度值实际上更新为:
Figure BDA0002235722670000211
那么,在步骤307中所读取的上一次采样该样本i后存储的梯度值si实际为:
Figure BDA0002235722670000212
其中,
Figure BDA0002235722670000213
是上次采样到样本i时得到的总处理值。
结合公式(11)和(20),可以得到:
Figure BDA0002235722670000214
也就是说,根据公式(11)得到的本轮中间值pi中,实际上是两次采样同一样本i的预测值的差值,其中标签值yi被抵消。
通过以上分析,如此计算得到的本轮中间值pi中并不包含标签信息,因此,可以直接发送给从计算单元而无需进行加解密。由此,大大提升了主计算单元和从计算单元的通信效率,进而提升了模型的训练效率。并且,由于不需要进行同态加密,也就不需要进行泰勒近似,通信的中间值是真实准确的中间值,不会影响准确度。
图3示出了一轮迭代(第t轮)的过程,该迭代过程可以反复进行,如此不断更新模型参数,直到到达预定的迭代轮数,或者满足预定的收敛条件。SAGA算法已经证明,采用方差约减的方式,相应更新模型参数和平均梯度,可以逐渐消除随机梯度间的方差,达到线性收敛速度,因此,收敛更快,所需的迭代次数更少。
如此,采用图3所示的迭代方式,在以上多个方面,提高联合训练的效率和准确度。
进一步地,为了更好地保护数据安全,避免隐私泄露,在一个实施例中,从计算单元在样本的真实的特征部分之外,引入噪声作为冗余特征,从而更进一步地增强特征数据的保护。下面描述引入噪声的情况下,联合训练的初始化过程和迭代过程。
图4示出根据一个实施例的多方联合训练的初始化过程。在图4的初始化过程中,从计算单元引入噪声部分。为此,从计算单元随机生成一个噪声矩阵X,该噪声矩阵X为d×n维矩阵,相当于,为n个样本中每个样本增加了d维的噪声冗余特征。更具体的,在一个例子中,从计算单元在预定范围的正态分布空间中进行随机采样,来生成上述噪声矩阵X。上述预定范围可以是一个较小的范围,例如(0,1),甚至(0,0.1)。
相应地,从计算单元除了维护逻辑回归模型的第二部分模型参数θw之外,还维护针对噪声部分训练的第三部分模型参数θ
图4中初始化过程中的步骤401-411与图2中的步骤201-211对应相似,以下主要描述不同的步骤。
在步骤401,主计算单元计算得到第一处理向量Zm
与图2不同的,在步骤402,从计算单元根据各个样本的第二部分样本特征构成的第二特征矩阵Xw,以及第二部分模型参数的初始值θ0,w,确定样本处理向量
Figure BDA0002235722670000221
此外,还根据生成的噪声矩阵X和第三部分模型参数的初始值θ0,∈,确定噪声处理向量
Figure BDA0002235722670000222
然后,基于上述样本处理向量和噪声处理向量,得到包含噪声部分的第二处理向量Zw,即:
Figure BDA0002235722670000223
其中,
Figure BDA0002235722670000224
表示第二特征矩阵Xw的转置,
Figure BDA0002235722670000225
表示噪声矩阵X的转置。
接着,在步骤403,从计算单元将该第二处理向量Zw发送给主计算单元。
在步骤404,主计算单元结合第一处理向量Zm和上述第二处理向量Zw,确定训练样本集的总处理向量Z。然后,在步骤405,主计算单元基于以上得到的总处理向量Z,以及各个样本的标签值构成的标签向量y,得到用于计算梯度的损失中间向量p。
在步骤406,主计算单元根据第一特征矩阵Xm和上述损失中间向量p,确定并存储初始的第一平均梯度
Figure BDA0002235722670000226
以及各个样本的初始梯度值si
此外,在步骤407,主计算单元采用同态或半同态加密算法,加密上述损失中间向量p,得到第一加密结果En(p),将该第一加密结果En(p)发送给从计算单元。
在步骤408,从计算单元基于其中的第二特征矩阵Xw对第一加密结果En(p)进行同态或半同态运算,得到第二加密结果
Figure BDA0002235722670000231
此外,从计算单元还基于噪声矩阵X,对第一加密结果En(p)进行同态或半同态运算,如下得到第三加密结果
Figure BDA0002235722670000232
Figure BDA0002235722670000233
然后,在步骤409,从计算单元将该第二加密结果
Figure BDA0002235722670000234
以及第三加密结果
Figure BDA0002235722670000235
发送给主计算单元。主计算单元接收到第二和第三加密结果之后,在步骤410,采用对应的解密算法,分别对其进行解密,并将解密结果发送给从计算单元,于是,从计算单元可以接收到对应的第二解密结果
Figure BDA0002235722670000236
和第三解密结果
Figure BDA0002235722670000237
相应的,在步骤411,从计算单元存储接收到的解密结果,将第二解密结果作为初始的第二平均梯度向量
Figure BDA0002235722670000238
将第三解密结果作为初始的第三平均梯度向量
Figure BDA0002235722670000239
其中第三平均梯度向量
Figure BDA00022357226700002310
是对应于噪声部分的平均梯度。
如此,通过以上初始化过程,主计算单元中存储了与全量样本的第一部分样本特征对应的第一平均梯度向量
Figure BDA00022357226700002311
以及各个样本的梯度值si;而从计算单元中存储了与全量样本的第二部分样本特征对应的第二平均梯度向量
Figure BDA00022357226700002312
以及与噪声部分对应的第三平均梯度向量
Figure BDA00022357226700002313
以上的各个平均梯度向量,以及样本的梯度值,用于在后续的迭代过程中,计算梯度,调整模型参数。
图5示出根据一个实施例的多方联合训练的迭代过程,在该迭代过程中,从计算单元引入噪声特征。图5所示迭代过程包含步骤501-515,其中步骤501-513与图3中的步骤301-313对应相似,以下主要描述不同的步骤。
首先,在步骤501,主计算单元随机采样第一样本i,并在步骤502,将第一样本i对应的第一样本标识发送给从计算单元。
在步骤503,主计算单元根据该样本i的第一部分样本特征构成的第一特征向量
Figure BDA0002235722670000241
以及第一部分模型参数的当前值θt,m,确定第一处理值
Figure BDA0002235722670000242
与图3不同的,在步骤504,从计算单元根据样本i的第二特征向量
Figure BDA0002235722670000243
以及第二部分模型参数的当前值θt,w,确定样本处理值
Figure BDA0002235722670000244
此外,从计算单元还针对本次采样生成一个噪声向量
Figure BDA0002235722670000245
具体地,可以通过在预定范围的正态分布空间中进行随机采样,来生成该噪声向量
Figure BDA0002235722670000246
该向量的维度为前述的d维。从计算单元根据该噪声向量
Figure BDA0002235722670000247
和针对噪声部分的第三部分模型参数θ的当前值θt,∈,确定噪声处理值
Figure BDA0002235722670000248
其中
Figure BDA0002235722670000249
为θt,∈的转置。然后,基于上述样本处理值和噪声处理值,如下得到包含噪声部分的第二处理值
Figure BDA00022357226700002410
Figure BDA00022357226700002411
于是,在步骤505,从计算单元将该第二处理值
Figure BDA00022357226700002412
发送给主计算单元。
之后的步骤506到511,主计算单元的处理过程与图3中的步骤306到311对应相同。步骤512和513,从计算单元的处理过程与图3中的步骤312和313对应相同。
在此之后还包括步骤514,从计算单元根据本轮迭代前存储的第三平均梯度向量
Figure BDA00022357226700002413
噪声向量
Figure BDA00022357226700002414
和接收到的本轮中间值pi,更新第三部分模型参数θ
与其他部分模型参数类似的,在该步骤中,可以首先根据噪声向量
Figure BDA00022357226700002415
和本轮中间值pi,得到本轮梯度向量
Figure BDA00022357226700002416
根据第三平均梯度向量
Figure BDA00022357226700002417
和本轮梯度向量
Figure BDA00022357226700002418
得到本轮调整梯度Gt,∈
Figure BDA00022357226700002419
然后,基于本轮调整梯度Gt,∈,调整第三部分模型参数θ。具体地,可以根据以下公式(26)调整第三部分模型参数:
θt+1,∈=θt,∈-ηGt,∈ (26)
其中,θt,∈为本轮(t轮)迭代中第三部分模型参数的当前值,η为预设的学习步长,θt+1,∈为用于下一轮(t+1轮)迭代的第三部分模型参数的值。
此外,在步骤515,从计算单元根据噪声向量
Figure BDA00022357226700002420
和本轮中间值pi,更新第三平均梯度向量
Figure BDA0002235722670000251
与第一平均梯度向量
Figure BDA0002235722670000252
的更新类似的,可以按照以下公式(27)更新第三平均梯度向量
Figure BDA0002235722670000253
Figure BDA0002235722670000254
如此,从计算单元还实现了用于噪声部分的第三部分模型参数θ的更新,以及第三平均梯度向量
Figure BDA0002235722670000255
的更新,更新后的值用于后续迭代中针对噪声部分的计算。
通过图5的过程,在迭代过程中,从计算单元针对采样的样本i添加噪声冗余特征,将包含冗余特征的第二处理值发送给主计算单元,如此进一步确保了从计算单元中特征信息不会泄露,进一步增强了联合训练过程中的数据安全性。
根据另一方面的实施例,提供了一种联合训练逻辑回归模型的装置,该装置可以部署在前述的主计算单元中,主计算单元可以实现为任何具有计算、处理能力的设备、平台或设备集群。如前所述,主计算单元存储有训练样本集中各个样本的标签值以及第一部分样本特征;参与联合训练的至少一个从计算单元各自存储有所述各个样本的第二部分样本特征,各个第二部分样本特征和所述第一部分样本特征共同构成全部样本特征。图6示出根据一个实施例的部署在主计算单元中的联合训练装置的示意性框图。如图6所示,该装置600包括迭代计算单元610,该迭代计算单元610包括:
采样模块611,配置为从所述训练样本集中选择第一样本,将所述第一样本对应的第一样本标识发送给所述至少一个从计算单元;
第一处理模块612,配置为根据所述第一样本的第一部分样本特征构成的第一特征向量,以及在所述主计算单元中训练的第一部分模型参数,确定第一处理值;
总处理模块613,配置为从所述至少一个从计算单元接收针对所述第一样本的至少一个第二处理值,并结合所述第一处理值确定所述第一样本的总处理值;其中所述第二处理值至少根据所述第一样本的第二部分样本特征,以及在各个从计算单元中训练的第二部分模型参数而确定;
第一梯度读取模块614,配置为读取本次迭代前存储的、与所述训练样本集的第一部分样本特征对应的第一平均梯度向量,以及与所述第一样本对应的第一梯度值;
中间值确定模块615,配置为根据所述总处理值以及所述第一样本对应的标签值,得到所述第一样本的损失中间值,将所述损失中间值与所述第一梯度值的差值作为本轮中间值;
第一参数更新模块616,配置为根据所述第一平均梯度向量,所述第一特征向量和所述本轮中间值,更新所述第一部分模型参数;
中间值发送模块617,配置为向所述至少一个从计算单元发送所述本轮中间值,用于更新所述第二部分模型参数;
第一梯度更新模块618,配置为至少根据所述本轮中间值,更新所述第一梯度值和第一平均梯度向量。
根据一个实施例,所述中间值确定模块615具体配置为,采用非线性映射函数,将所述总处理值变换为预测值,将所述预测值与所述标签值的差值作为所述损失中间值,其中所述非线性映射函数的取值范围与所述标签值的取值范围相对应。
根据一个实施例,第一参数更新模块616具体配置为:
根据所述第一特征向量和所述本轮中间值,得到本轮梯度向量;
根据所述第一平均梯度向量和所述本轮梯度向量,得到本轮调整梯度;
基于所述本轮调整梯度,调整所述第一部分模型参数的当前值。
在一个实施例中,上述装置600还包括初始化单元620,所述初始化单元620进一步包括(未示出):
第一向量确定模块,配置为根据所述训练样本集中各个样本的第一部分样本特征构成的第一特征矩阵,以及所述第一部分模型参数的初始值,确定第一处理向量;
总向量确定模块,配置为从所述至少一个从计算单元接收至少一个第二处理向量,并结合所述第一处理向量确定所述训练样本集的总处理向量,其中所述第二处理向量根据所述各个样本的第二部分样本特征和所述第二部分模型参数的初始值确定;
中间向量确定模块,配置为根据所述总处理向量,以及所述各个样本的标签值构成的标签向量,得到损失中间向量;
初始梯度确定模块,配置为根据所述第一特征矩阵和所述损失中间向量,确定并存储初始的第一平均梯度向量,并将所述损失中间向量中各个元素作为对应样本的初始梯度值。
根据一个实施例,所述初始化单元620还包括:
第一发送模块,配置为采用第一加密算法,加密所述损失中间向量,得到第一加密结果,将该第一加密结果发送给所述至少一个从计算单元,所述第一加密算法为同态或半同态加密算法;
接收模块,配置为从所述至少一个从计算单元接收至少一个第二加密结果,所述第二加密结果基于所述第一加密结果和由各个训练样本的第二部分样本特征构成的第二特征矩阵计算得到;
第二发送模块,配置为采用与所述第一加密算法对应的解密算法,解密所述至少一个第二加密结果,得到至少一个第二解密结果,并将其分别发送给所述至少一个从计算单元,作为其初始的第二平均梯度向量,所述第二平均梯度向量对应于训练样本集的第二部分样本特征。
进一步的,在一个实施例中,上述接收模块还配置为,从所述至少一个从计算单元接收至少一个第三加密结果,所述第三加密结果基于所述第一加密结果和生成的噪声特征计算得到;
所述初始化单元620还包括第三发送模块,配置为采用与所述第一加密算法对应的解密算法,解密所述至少一个第三加密结果,得到至少一个第三解密结果,并将其分别发送给所述至少一个从计算单元,作为其初始的第三平均梯度向量,所述第三平均梯度向量对应于噪声特征。
根据又一方面的实施例,提供了一种联合训练逻辑回归模型的装置,该装置可以部署在前述的从计算单元中,从计算单元可以实现为任何具有计算、处理能力的设备、平台或设备集群。如前所述,参与联合训练的主计算单元存储有训练样本集中各个样本的标签值以及第一部分样本特征;所述从计算单元存储有所述各个样本的第二部分样本特征,各个第二部分样本特征和所述第一部分样本特征共同构成全部样本特征。图7示出根据一个实施例的部署在从计算单元中的联合训练装置的示意性框图。如图7所示,该装置700包括迭代计算单元710,该迭代计算单元710包括:
样本确定模块711,配置为从所述主计算单元接收第一样本标识,根据该第一样本标识,从所述训练样本集中确定第一样本;
第二处理模块712,配置为至少根据所述第一样本的第二部分样本特征构成的第二特征向量,以及在所述第一从计算单元中训练的第二部分模型参数,确定第二处理值;
发送模块713,配置为将所述第二处理值发送给所述主计算单元,用于所述主计算单元结合第一处理值确定所述第一样本的总处理值;其中所述第一处理值根据所述第一样本的第一部分样本特征和在主计算单元中训练的第一部分模型参数确定;
第二梯度读取模块714,配置为读取本次迭代前存储的所述训练样本集的第二平均梯度向量;
中间值接收模块715,配置为从所述主计算单元接收本轮中间值,该本轮中间值是损失中间值与第一梯度值的差值,其中,损失中间值根据所述总处理值以及所述第一样本对应的标签值而确定,所述第一梯度值是本次迭代前主计算单元中存储的第一样本对应的梯度值;
第二参数更新模块716,配置为根据所述第二平均梯度向量,所述第二特征向量和所述本轮中间值,更新所述第二部分模型参数;
第二梯度更新模块717,配置为根据所述第二特征向量和所述本轮中间值,更新所述第二平均梯度向量。
根据一个实施例,所述第二参数更新模块716具体配置为:
根据所述第二特征向量和所述本轮中间值,得到本轮梯度向量;
根据所述第二平均梯度向量和所述本轮梯度向量,得到本轮调整梯度;
基于所述本轮调整梯度,调整所述第二部分模型参数的当前值。
根据一种实施方式,上述装置700还包括初始化单元720,所述初始化单元720进一步包括(未示出):
第二向量确定模块,配置为至少根据所述训练样本集中各个样本的第二部分样本特征构成的第二特征矩阵,以及所述第二部分模型参数的初始值,确定第二处理向量;
第二向量发送模块,配置为将所述第二处理向量发送给所述主计算单元,用于所述主计算单元结合第一处理向量确定所述训练样本集的总处理向量,其中所述第一处理向量根据各个样本的第一部分样本特征和所述第一部分模型参数的初始值确定;
第一接收模块,配置为从所述主计算单元接收第一加密结果,该第一加密结果采用第一加密算法加密损失中间向量得到,其中所述第一加密算法为同态或半同态加密算法,所述损失中间向量根据所述总处理向量以及所述各个样本的标签值构成的标签向量确定;
第二加密模块,配置为基于所述第二特征矩阵对所述第一加密结果进行同态或半同态运算,得到第二加密结果;
第二发送模块,配置为将所述第二加密结果发送给所述主计算单元;
第二接收模块,配置为从所述主计算单元接收针对所述第二加密结果进行解密得到的第二解密结果,作为初始的第二平均梯度向量。
根据一个实施例,在引入噪声的情况下,上述第二向量确定模块具体配置为:
根据所述第二特征矩阵以及所述第二部分模型参数的初始值,确定样本处理向量;
生成噪声矩阵,根据该噪声矩阵和针对噪声部分训练的第三部分模型参数的初始值,确定噪声处理向量;
基于所述样本处理向量和所述噪声处理向量,得到所述第二处理向量。
在引入噪声的情况下,上述初始化单元720还包括:
第三加密模块,配置为基于所述噪声矩阵对所述第一加密结果进行同态或半同态运算,得到第三加密结果;
第三发送模块,配置为将所述第三加密结果发送给所述主计算单元;
第三接收模块,配置为从所述主计算单元接收针对所述第三加密结果进行解密得到的第三解密结果,作为初始的第三平均梯度向量。
在引入噪声的实施例中,第二处理模块712具体配置为:
根据所述第二特征向量以及所述第二部分模型参数,确定样本处理值;
生成噪声向量,根据该噪声向量和所述第三部分模型参数,确定噪声处理值;
基于所述样本处理值和所述噪声处理值,得到所述第二处理值。
进一步的,在一个实施例中,第二处理模块712通过在预定范围的正态分布空间中进行随机采样,生成所述噪声向量。
在这样的情况下,上述迭代计算单元710还包括(未示出):
第三梯度读取模块,配置为读取本次迭代前存储的所述第三平均梯度向量;
第三参数更新模块,配置为根据所述噪声向量,所述本轮中间值,以及所述第三平均梯度向量,更新所述第三部分模型参数;以及,
第三梯度更新模块,配置为根据所述噪声向量和所述本轮中间值,更新所述第三平均梯度向量。
根据另一方面的实施例,还提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行结合图2到图5所描述的方法。
根据再一方面的实施例,还提供一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现结合图2到图5所述的方法。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。

Claims (21)

1.一种多个计算单元联合训练逻辑回归模型的方法,所述多个计算单元包括主计算单元和至少一个从计算单元,所述主计算单元存储有训练样本集中各个样本的标签值以及第一部分样本特征;所述至少一个从计算单元各自存储有所述各个样本的第二部分样本特征,所述方法应用于所述主计算单元,该方法包括多次迭代,每次迭代包括:
从所述训练样本集中选择第一样本,将所述第一样本对应的第一样本标识发送给所述至少一个从计算单元;
根据所述第一样本的第一部分样本特征构成的第一特征向量,以及在所述主计算单元中训练的第一部分模型参数,确定第一处理值;
从所述至少一个从计算单元接收针对所述第一样本的至少一个第二处理值,并结合所述第一处理值确定所述第一样本的总处理值;其中所述第二处理值至少根据所述第一样本的第二部分样本特征,以及在各个从计算单元中训练的第二部分模型参数而确定;
读取本次迭代前存储的、与所述训练样本集的第一部分样本特征对应的第一平均梯度向量,以及与所述第一样本对应的第一梯度值;
根据所述总处理值以及所述第一样本对应的标签值,得到所述第一样本的损失中间值,将所述损失中间值与所述第一梯度值的差值作为本轮中间值;
根据所述第一平均梯度向量,所述第一特征向量和所述本轮中间值,更新所述第一部分模型参数;
向所述至少一个从计算单元发送所述本轮中间值,用于更新所述第二部分模型参数;
至少根据所述本轮中间值,更新所述第一梯度值和第一平均梯度向量。
2.根据权利要求1所述的方法,其中,根据所述总处理值以及所述第一样本对应的标签值,得到所述第一样本的损失中间值,包括:
采用非线性映射函数,将所述总处理值变换为预测值,将所述预测值与所述标签值的差值作为所述损失中间值,其中所述非线性映射函数的取值范围与所述标签值的取值范围相对应。
3.根据权利要求1所述的方法,其中,根据所述第一平均梯度向量,所述第一特征向量和所述本轮中间值,更新所述第一部分模型参数,包括:
根据所述第一特征向量和所述本轮中间值,得到本轮梯度向量;
根据所述第一平均梯度向量和所述本轮梯度向量,得到本轮调整梯度;
基于所述本轮调整梯度,调整所述第一部分模型参数的当前值。
4.根据权利要求1所述的方法,其中,在所述多次迭代之前,还包括初始化过程,所述初始化过程包括:
根据所述训练样本集中各个样本的第一部分样本特征构成的第一特征矩阵,以及所述第一部分模型参数的初始值,确定第一处理向量;
从所述至少一个从计算单元接收至少一个第二处理向量,并结合所述第一处理向量确定所述训练样本集的总处理向量,其中所述第二处理向量根据所述各个样本的第二部分样本特征和所述第二部分模型参数的初始值确定;
根据所述总处理向量,以及所述各个样本的标签值构成的标签向量,得到损失中间向量;
根据所述第一特征矩阵和所述损失中间向量,确定并存储初始的第一平均梯度向量,并将所述损失中间向量中各个元素作为对应样本的初始梯度值。
5.根据权利要求4所述的方法,其中,所述初始化过程还包括:
采用第一加密算法,加密所述损失中间向量,得到第一加密结果,将该第一加密结果发送给所述至少一个从计算单元,所述第一加密算法为同态或半同态加密算法;
从所述至少一个从计算单元接收至少一个第二加密结果,所述第二加密结果基于所述第一加密结果和由各个训练样本的第二部分样本特征构成的第二特征矩阵计算得到;
采用与所述第一加密算法对应的解密算法,解密所述至少一个第二加密结果,得到至少一个第二解密结果,并将其分别发送给所述至少一个从计算单元,作为其初始的第二平均梯度向量,所述第二平均梯度向量对应于训练样本集的第二部分样本特征。
6.根据权利要求5所述的方法,其中,所述初始化过程还包括:
从所述至少一个从计算单元接收至少一个第三加密结果,所述第三加密结果基于所述第一加密结果和生成的噪声特征计算得到;
采用与所述第一加密算法对应的解密算法,解密所述至少一个第三加密结果,得到至少一个第三解密结果,并将其分别发送给所述至少一个从计算单元,作为其初始的第三平均梯度向量,所述第三平均梯度向量对应于噪声特征。
7.一种多个计算单元联合训练逻辑回归模型的方法,所述多个计算单元包括主计算单元和至少一个从计算单元,所述主计算单元存储有训练样本集中各个样本的标签值以及第一部分样本特征;所述至少一个从计算单元各自存储有所述各个样本的第二部分样本特征,所述方法应用于所述至少一个从计算单元中任意的第一从计算单元,该方法包括多次迭代,每次迭代包括:
从所述主计算单元接收第一样本标识,根据该第一样本标识,从所述训练样本集中确定第一样本;
至少根据所述第一样本的第二部分样本特征构成的第二特征向量,以及在所述第一从计算单元中训练的第二部分模型参数,确定第二处理值;
将所述第二处理值发送给所述主计算单元,用于所述主计算单元结合第一处理值确定所述第一样本的总处理值;其中所述第一处理值根据所述第一样本的第一部分样本特征和在主计算单元中训练的第一部分模型参数确定;
读取本次迭代前存储的所述训练样本集的第二平均梯度向量;
从所述主计算单元接收本轮中间值,该本轮中间值是损失中间值与第一梯度值的差值,其中,损失中间值根据所述总处理值以及所述第一样本对应的标签值而确定,所述第一梯度值是本次迭代前主计算单元中存储的第一样本对应的梯度值;
根据所述第二平均梯度向量,所述第二特征向量和所述本轮中间值,更新所述第二部分模型参数;
根据所述第二特征向量和所述本轮中间值,更新所述第二平均梯度向量。
8.根据权利要求7所述的方法,其中,根据所述第二平均梯度向量,所述第二特征向量和所述本轮中间值,更新所述第二部分模型参数,包括:
根据所述第二特征向量和所述本轮中间值,得到本轮梯度向量;
根据所述第二平均梯度向量和所述本轮梯度向量,得到本轮调整梯度;
基于所述本轮调整梯度,调整所述第二部分模型参数的当前值。
9.根据权利要求7所述的方法,其中,在所述多次迭代之前,还包括初始化过程,所述初始化过程包括:
至少根据所述训练样本集中各个样本的第二部分样本特征构成的第二特征矩阵,以及所述第二部分模型参数的初始值,确定第二处理向量;
将所述第二处理向量发送给所述主计算单元,用于所述主计算单元结合第一处理向量确定所述训练样本集的总处理向量,其中所述第一处理向量根据各个样本的第一部分样本特征和所述第一部分模型参数的初始值确定;
从所述主计算单元接收第一加密结果,该第一加密结果采用第一加密算法加密损失中间向量得到,其中所述第一加密算法为同态或半同态加密算法,所述损失中间向量根据所述总处理向量以及所述各个样本的标签值构成的标签向量确定;
基于所述第二特征矩阵对所述第一加密结果进行同态或半同态运算,得到第二加密结果;
将所述第二加密结果发送给所述主计算单元;
从所述主计算单元接收针对所述第二加密结果进行解密得到的第二解密结果,作为初始的第二平均梯度向量。
10.根据权利要求9所述的方法,其中,至少根据所述训练样本集中各个样本的第二部分样本特征构成的第二特征矩阵,以及所述第二部分模型参数的初始值,确定第二处理向量,包括:
根据所述第二特征矩阵以及所述第二部分模型参数的初始值,确定样本处理向量;
生成噪声矩阵,根据该噪声矩阵和针对噪声部分训练的第三部分模型参数的初始值,确定噪声处理向量;
基于所述样本处理向量和所述噪声处理向量,得到所述第二处理向量。
11.根据权利要求10所述的方法,其中,所述初始化过程还包括:
基于所述噪声矩阵对所述第一加密结果进行同态或半同态运算,得到第三加密结果;
将所述第三加密结果发送给所述主计算单元;
从所述主计算单元接收针对所述第三加密结果进行解密得到的第三解密结果,作为初始的第三平均梯度向量。
12.根据权利要求11所述的方法,其中,至少根据所述第一样本的第二部分样本特征构成的第二特征向量,以及在所述第一从计算单元中训练的第二部分模型参数,确定第二处理值,包括:
根据所述第二特征向量以及所述第二部分模型参数,确定样本处理值;
生成噪声向量,根据该噪声向量和所述第三部分模型参数,确定噪声处理值;
基于所述样本处理值和所述噪声处理值,得到所述第二处理值。
13.根据权利要求12所述的方法,其中,生成噪声向量包括:
在预定范围的正态分布空间中进行随机采样,生成所述噪声向量。
14.根据权利要求12所述的方法,还包括:
读取本次迭代前存储的所述第三平均梯度向量;
根据所述噪声向量,所述本轮中间值,以及所述第三平均梯度向量,更新所述第三部分模型参数;以及,
根据所述噪声向量和所述本轮中间值,更新所述第三平均梯度向量。
15.一种用于多个计算单元联合训练逻辑回归模型的装置,所述多个计算单元包括主计算单元和至少一个从计算单元,所述主计算单元存储有训练样本集中各个样本的标签值以及第一部分样本特征;所述至少一个从计算单元各自存储有所述各个样本的第二部分样本特征,所述装置部署于所述主计算单元,该装置包括迭代计算单元,该迭代计算单元包括:
采样模块,配置为从所述训练样本集中选择第一样本,将所述第一样本对应的第一样本标识发送给所述至少一个从计算单元;
第一处理模块,配置为根据所述第一样本的第一部分样本特征构成的第一特征向量,以及在所述主计算单元中训练的第一部分模型参数,确定第一处理值;
总处理模块,配置为从所述至少一个从计算单元接收针对所述第一样本的至少一个第二处理值,并结合所述第一处理值确定所述第一样本的总处理值;其中所述第二处理值至少根据所述第一样本的第二部分样本特征,以及在各个从计算单元中训练的第二部分模型参数而确定;
第一梯度读取模块,配置为读取本次迭代前存储的、与所述训练样本集的第一部分样本特征对应的第一平均梯度向量,以及与所述第一样本对应的第一梯度值;
中间值确定模块,配置为根据所述总处理值以及所述第一样本对应的标签值,得到所述第一样本的损失中间值,将所述损失中间值与所述第一梯度值的差值作为本轮中间值;
第一参数更新模块,配置为根据所述第一平均梯度向量,所述第一特征向量和所述本轮中间值,更新所述第一部分模型参数;
中间值发送模块,配置为向所述至少一个从计算单元发送所述本轮中间值,用于更新所述第二部分模型参数;
第一梯度更新模块,配置为至少根据所述本轮中间值,更新所述第一梯度值和第一平均梯度向量。
16.根据权利要求15所述的装置,还包括初始化单元,所述初始化单元包括:
第一向量确定模块,配置为根据所述训练样本集中各个样本的第一部分样本特征构成的第一特征矩阵,以及所述第一部分模型参数的初始值,确定第一处理向量;
总向量确定模块,配置为从所述至少一个从计算单元接收至少一个第二处理向量,并结合所述第一处理向量确定所述训练样本集的总处理向量,其中所述第二处理向量根据所述各个样本的第二部分样本特征和所述第二部分模型参数的初始值确定;
中间向量确定模块,配置为根据所述总处理向量,以及所述各个样本的标签值构成的标签向量,得到损失中间向量;
初始梯度确定模块,配置为根据所述第一特征矩阵和所述损失中间向量,确定并存储初始的第一平均梯度向量,并将所述损失中间向量中各个元素作为对应样本的初始梯度值。
17.根据权利要求16所述的装置,其中,所述初始化单元还包括:
第一发送模块,配置为采用第一加密算法,加密所述损失中间向量,得到第一加密结果,将该第一加密结果发送给所述至少一个从计算单元,所述第一加密算法为同态或半同态加密算法;
接收模块,配置为从所述至少一个从计算单元接收至少一个第二加密结果,所述第二加密结果基于所述第一加密结果和由各个训练样本的第二部分样本特征构成的第二特征矩阵计算得到;
第二发送模块,配置为采用与所述第一加密算法对应的解密算法,解密所述至少一个第二加密结果,得到至少一个第二解密结果,并将其分别发送给所述至少一个从计算单元,作为其初始的第二平均梯度向量,所述第二平均梯度向量对应于训练样本集的第二部分样本特征。
18.一种用于多个计算单元联合训练逻辑回归模型的装置,所述多个计算单元包括主计算单元和至少一个从计算单元,所述主计算单元存储有训练样本集中各个样本的标签值以及第一部分样本特征;所述至少一个从计算单元各自存储有所述各个样本的第二部分样本特征,所述装置部署于所述至少一个从计算单元中任意的第一从计算单元中,该装置包括迭代计算单元,该迭代计算单元包括:
样本确定模块,配置为从所述主计算单元接收第一样本标识,根据该第一样本标识,从所述训练样本集中确定第一样本;
第二处理模块,配置为至少根据所述第一样本的第二部分样本特征构成的第二特征向量,以及在所述第一从计算单元中训练的第二部分模型参数,确定第二处理值;
发送模块,配置为将所述第二处理值发送给所述主计算单元,用于所述主计算单元结合第一处理值确定所述第一样本的总处理值;其中所述第一处理值根据所述第一样本的第一部分样本特征和在主计算单元中训练的第一部分模型参数确定;
第二梯度读取模块,配置为读取本次迭代前存储的所述训练样本集的第二平均梯度向量;
中间值接收模块,配置为从所述主计算单元接收本轮中间值,该本轮中间值是损失中间值与第一梯度值的差值,其中,损失中间值根据所述总处理值以及所述第一样本对应的标签值而确定,所述第一梯度值是本次迭代前主计算单元中存储的第一样本对应的梯度值;
第二参数更新模块,配置为根据所述第二平均梯度向量,所述第二特征向量和所述本轮中间值,更新所述第二部分模型参数;
第二梯度更新模块,配置为根据所述第二特征向量和所述本轮中间值,更新所述第二平均梯度向量。
19.根据权利要求18所述的装置,还包括初始化单元,所述初始化单元包括:
第二向量确定模块,配置为至少根据所述训练样本集中各个样本的第二部分样本特征构成的第二特征矩阵,以及所述第二部分模型参数的初始值,确定第二处理向量;
第二向量发送模块,配置为将所述第二处理向量发送给所述主计算单元,用于所述主计算单元结合第一处理向量确定所述训练样本集的总处理向量,其中所述第一处理向量根据各个样本的第一部分样本特征和所述第一部分模型参数的初始值确定;
第一接收模块,配置为从所述主计算单元接收第一加密结果,该第一加密结果采用第一加密算法加密损失中间向量得到,其中所述第一加密算法为同态或半同态加密算法,所述损失中间向量根据所述总处理向量以及所述各个样本的标签值构成的标签向量确定;
第二加密模块,配置为基于所述第二特征矩阵对所述第一加密结果进行同态或半同态运算,得到第二加密结果;
第二发送模块,配置为将所述第二加密结果发送给所述主计算单元;
第二接收模块,配置为从所述主计算单元接收针对所述第二加密结果进行解密得到的第二解密结果,作为初始的第二平均梯度向量。
20.一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行权利要求1-14中任一项的所述的方法。
21.一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求1-14中任一项所述的方法。
CN201910982730.9A 2019-10-16 2019-10-16 多个计算单元联合训练逻辑回归模型的方法和装置 Active CN110728375B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201910982730.9A CN110728375B (zh) 2019-10-16 2019-10-16 多个计算单元联合训练逻辑回归模型的方法和装置
PCT/CN2020/108941 WO2021073234A1 (zh) 2019-10-16 2020-08-13 多个计算单元联合训练逻辑回归模型的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910982730.9A CN110728375B (zh) 2019-10-16 2019-10-16 多个计算单元联合训练逻辑回归模型的方法和装置

Publications (2)

Publication Number Publication Date
CN110728375A CN110728375A (zh) 2020-01-24
CN110728375B true CN110728375B (zh) 2021-03-19

Family

ID=69221341

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910982730.9A Active CN110728375B (zh) 2019-10-16 2019-10-16 多个计算单元联合训练逻辑回归模型的方法和装置

Country Status (2)

Country Link
CN (1) CN110728375B (zh)
WO (1) WO2021073234A1 (zh)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110728375B (zh) * 2019-10-16 2021-03-19 支付宝(杭州)信息技术有限公司 多个计算单元联合训练逻辑回归模型的方法和装置
CN111340614B (zh) * 2020-02-28 2021-05-18 深圳前海微众银行股份有限公司 基于联邦学习的样本采样方法、设备及可读存储介质
CN111461215B (zh) * 2020-03-31 2021-06-29 支付宝(杭州)信息技术有限公司 业务模型的多方联合训练方法、装置、系统及设备
CN111488995B (zh) * 2020-04-08 2021-12-24 北京字节跳动网络技术有限公司 用于评估联合训练模型的方法、装置和系统
CN111178547B (zh) * 2020-04-10 2020-07-17 支付宝(杭州)信息技术有限公司 一种基于隐私数据进行模型训练的方法及系统
CN111178549B (zh) * 2020-04-10 2020-07-07 支付宝(杭州)信息技术有限公司 保护数据隐私的双方联合训练业务预测模型的方法和装置
CN111177768A (zh) * 2020-04-10 2020-05-19 支付宝(杭州)信息技术有限公司 保护数据隐私的双方联合训练业务预测模型的方法和装置
CN111368336B (zh) * 2020-05-27 2020-09-04 支付宝(杭州)信息技术有限公司 基于秘密共享的训练方法、装置、电子设备及存储介质
CN111598186B (zh) * 2020-06-05 2021-07-16 腾讯科技(深圳)有限公司 基于纵向联邦学习的决策模型训练方法、预测方法及装置
CN111783142B (zh) 2020-07-06 2021-10-08 北京字节跳动网络技术有限公司 数据保护方法、装置、服务器和介质
CN112084520B (zh) * 2020-09-18 2021-03-23 支付宝(杭州)信息技术有限公司 保护数据隐私的双方联合训练业务预测模型的方法及装置
CN111935179B (zh) * 2020-09-23 2021-01-12 支付宝(杭州)信息技术有限公司 一种基于可信执行环境的模型训练方法和装置
CN113435544B (zh) * 2021-07-23 2022-05-17 支付宝(杭州)信息技术有限公司 一种联邦学习系统,方法与装置
CN113902473B (zh) * 2021-09-29 2024-06-14 支付宝(杭州)信息技术有限公司 业务预测系统的训练方法及装置
CN114067415A (zh) * 2021-11-26 2022-02-18 北京百度网讯科技有限公司 回归模型的训练方法、对象评估方法、装置、设备和介质
CN114386336B (zh) * 2022-03-22 2022-07-15 成都飞机工业(集团)有限责任公司 一种基于多方3d打印数据库联合训练的方法
CN114553395B (zh) * 2022-04-24 2022-07-26 蓝象智联(杭州)科技有限公司 一种风控场景下的纵向联邦特征衍生方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110210233A (zh) * 2019-04-19 2019-09-06 平安科技(深圳)有限公司 预测模型的联合构建方法、装置、存储介质及计算机设备
CN110263244A (zh) * 2019-02-14 2019-09-20 腾讯科技(深圳)有限公司 内容推荐方法、装置、存储介质和计算机设备
CN110276210A (zh) * 2019-06-12 2019-09-24 深圳前海微众银行股份有限公司 基于联邦学习的模型参数的确定方法及装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8340945B2 (en) * 2009-08-24 2012-12-25 International Business Machines Corporation Method for joint modeling of mean and dispersion
US10270599B2 (en) * 2017-04-27 2019-04-23 Factom, Inc. Data reproducibility using blockchains
CN109426861A (zh) * 2017-08-16 2019-03-05 阿里巴巴集团控股有限公司 数据加密、机器学习模型训练方法、装置及电子设备
CN109189825B (zh) * 2018-08-10 2022-03-15 深圳前海微众银行股份有限公司 横向数据切分联邦学习建模方法、服务器及介质
CN109886417B (zh) * 2019-03-01 2024-05-03 深圳前海微众银行股份有限公司 基于联邦学习的模型参数训练方法、装置、设备及介质
CN110276741B (zh) * 2019-03-08 2022-12-16 腾讯科技(深圳)有限公司 结节检测及其模型训练的方法和装置以及电子设备
US10430727B1 (en) * 2019-04-03 2019-10-01 NFL Enterprises LLC Systems and methods for privacy-preserving generation of models for estimating consumer behavior
CN110728375B (zh) * 2019-10-16 2021-03-19 支付宝(杭州)信息技术有限公司 多个计算单元联合训练逻辑回归模型的方法和装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110263244A (zh) * 2019-02-14 2019-09-20 腾讯科技(深圳)有限公司 内容推荐方法、装置、存储介质和计算机设备
CN110210233A (zh) * 2019-04-19 2019-09-06 平安科技(深圳)有限公司 预测模型的联合构建方法、装置、存储介质及计算机设备
CN110276210A (zh) * 2019-06-12 2019-09-24 深圳前海微众银行股份有限公司 基于联邦学习的模型参数的确定方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Adaptive Federated Learning in Resource Constrained Edge Computing Systems;Shiqiang Wang et al;《IEEE Journal on Selected Areas in Communications 》;20190630;第37卷(第6期);1205-1221 *
用于自然语言分布式表达的联合学习方法研究;田飞;《中国博士学位论文全文数据库(电子期刊)信息科技辑》;20160915;全文 *

Also Published As

Publication number Publication date
CN110728375A (zh) 2020-01-24
WO2021073234A1 (zh) 2021-04-22

Similar Documents

Publication Publication Date Title
CN110728375B (zh) 多个计算单元联合训练逻辑回归模型的方法和装置
CN111160573B (zh) 保护数据隐私的双方联合训练业务预测模型的方法和装置
CN112989368B (zh) 多方联合进行隐私数据处理的方法及装置
CN111178549B (zh) 保护数据隐私的双方联合训练业务预测模型的方法和装置
CN111241570B (zh) 保护数据隐私的双方联合训练业务预测模型的方法和装置
CN110753926B (zh) 用于数据加密的方法、系统和计算机可读存储介质
CN111177791B (zh) 保护数据隐私的双方联合训练业务预测模型的方法和装置
CN110490128B (zh) 一种基于加密神经网络的手写识别方法
CN111177768A (zh) 保护数据隐私的双方联合训练业务预测模型的方法和装置
CN111400766B (zh) 针对隐私数据进行多方联合降维处理的方法及装置
CN112541593B (zh) 基于隐私保护的联合训练业务模型的方法及装置
CN113098687B (zh) 生成安全计算协议的数据元组的方法及装置
CN112084520B (zh) 保护数据隐私的双方联合训练业务预测模型的方法及装置
CN112199706B (zh) 基于多方安全计算的树模型的训练方法和业务预测方法
CN114503509A (zh) 密钥-值映射承诺系统和方法
Tjell et al. Privacy in distributed computations based on real number secret sharing
JPWO2020071187A1 (ja) 秘密シグモイド関数計算システム、秘密ロジスティック回帰計算システム、秘密シグモイド関数計算装置、秘密ロジスティック回帰計算装置、秘密シグモイド関数計算方法、秘密ロジスティック回帰計算方法、プログラム
CN112016932A (zh) 测试方法、装置、服务器及介质
CN112507372B (zh) 实现隐私保护的多方协同更新模型的方法及装置
US20210390443A1 (en) Circuit, apparatus and method for calculating multiplicative inverse
WO2018216512A1 (ja) 秘密改ざん検知システム、秘密改ざん検知装置、秘密改ざん検知方法、およびプログラム
CN112183759A (zh) 模型训练方法、装置及系统
WO2019163636A1 (ja) 秘密計算装置、秘密計算認証システム、秘密計算方法、およびプログラム
CN117081721A (zh) 一种基于bgv同态加密的密文训练方法
CN114547684A (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