CN111523134B - 基于同态加密的模型训练方法、装置及系统 - Google Patents
基于同态加密的模型训练方法、装置及系统 Download PDFInfo
- Publication number
- CN111523134B CN111523134B CN202010630881.0A CN202010630881A CN111523134B CN 111523134 B CN111523134 B CN 111523134B CN 202010630881 A CN202010630881 A CN 202010630881A CN 111523134 B CN111523134 B CN 111523134B
- Authority
- CN
- China
- Prior art keywords
- data
- data owner
- gradient information
- random number
- value
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本说明书的实施例提供用于经由第一和第二数据拥有方协同训练逻辑回归模型的方法。第一和第二数据拥有方具有的数据按照垂直切分方式组成逻辑回归模型的训练样本,第一和第二数据拥有方具有的模型按照垂直切分方式组成逻辑回归模型。各个数据拥有方共享各自的公钥,使用各自的模型和数据确定各自的预测值,并且使用第一数据拥有方的公钥进行预测值加密。第二数据拥有方根据各个数据拥有方的加密预测值,确定逻辑回归模型的第一加密预测差值以及第一加密梯度信息。第一和第二数据拥有方利用第一加密预测差值和第一加密梯度信息,使用同态加密算法确定第一和第二数据拥有方处的梯度信息。各个数据拥有方分别使用各自的梯度信息更新各自的模型。
Description
技术领域
本说明书的实施例通常涉及人工智能领域,尤其涉及基于同态加密的模型训练方法、装置及系统。
背景技术
逻辑回归模型是机器学习领域广泛使用的回归/分类模型。在很多情况下,多个数据拥有方(例如,电子商务公司、快递公司和银行)各自拥有逻辑回归模型训练所使用的训练样本的不同部分数据。该多个数据拥有方通常想共同使用彼此的数据来统一训练逻辑回归模型,但又不想把各自的数据提供给其它各个数据拥有方以防止自己的数据被泄露。
面对这种情况,提出了能够保护数据安全的模型训练方法,其能够在保证数据拥有方的各自数据安全的情况下,由数据拥有方利用各自的隐私数据来协同训练逻辑回归模型。
发明内容
鉴于上述,本说明书的实施例提供用于经由第一和第二数据拥有方协同训练逻辑回归模型的方法,第一数据拥有方具有第一模型、第一数据、第一公钥和第一私钥,第二数据拥有方具有第二模型、第二数据、第二公钥、第二私钥和标签值,第一和第二数据按照垂直切分方式共同组成所述逻辑回归模型的训练样本,第一和第二模型按照垂直切分方式共同组成所述逻辑回归模型。利用该方法,能够在保证两个数据拥有方的各自数据安全的情况下实现基于同态加密的模型协同训练。
根据本说明书的实施例的一个方面,提供一种用于经由第一和第二数据拥有方协同训练逻辑回归模型的方法,第一数据拥有方具有第一模型、第一数据、第一公钥和第一私钥,第二数据拥有方具有第二模型、第二数据、第二公钥、第二私钥和标签值,所述第一和第二数据按照垂直切分方式共同组成所述逻辑回归模型的训练样本,所述第一和第二模型按照垂直切分方式共同组成所述逻辑回归模型,所述方法包括:在各个数据拥有方之间共享各自的公钥;在各个数据拥有方处分别使用各自的模型和数据确定各自的预测值,并且使用所述第一公钥来对所确定出的预测值进行加密;在所述第二数据拥有方处,获取所述第一数据提供方处的加密后的预测值,并根据各个数据拥有方处的加密后的预测值,确定所述逻辑回归模型的第一加密预测差值以及第一加密梯度信息;在所述第一数据拥有方和所述第二数据拥有方之间,利用所述第一加密预测差值和所述第一加密梯度信息,使用同态加密算法确定所述第一数据拥有方处的第一梯度信息和所述第二数据拥有方处的第二梯度信息;以及在所述第一数据拥有方和所述第二数据拥有方处,分别使用所述第一和第二梯度信息更新所述第一模型和所述第二模型。
可选地,在上述方面的一个示例中,在所述第一数据拥有方和所述第二数据拥有方之间,利用所述第一加密预测差值和所述第一加密梯度信息,使用同态加密算法确定所述第一数据拥有方处的第一梯度信息和所述第二数据拥有方处的第二梯度信息可以包括:在所述第二数据拥有方处,生成第一随机数和第二随机数,确定所述第一加密预测差值与所述第二随机数的第一和值、所述第一加密梯度信息与所述第一随机数的第二和值以及加密随机数,并将所述第一和值、所述第二和值以及所述加密随机数提供给所述第一数据拥有方,所述加密随机数通过使用所述第二公钥对所述第二随机数进行加密得到;在所述第一数据拥有方处,使用所述第一私钥来对所述第一和值和所述第二和值进行解密,并将解密后的第二和值提供给所述第二数据拥有方;在所述第一数据拥有方处,使用解密后的第一和值以及所述第一数据,确定所述第一数据拥有方处的第三梯度信息;在所述第一数据拥有方处,生成第三随机数,并且使用所述加密随机数、所述第一数据以及所述第三随机数,确定第二加密梯度信息并发送给所述第二数据拥有方;在所述第二数据拥有方处,根据解密后的第二和值和第一随机数,确定所述第二数据拥有方处的第二梯度信息,并且使用所述第二私钥对所述第二加密梯度信息进行解密,得到第四梯度信息并发送给所述第一数据拥有方;以及在所述第一数据拥有方处,使用所述第四梯度信息、所述第三随机数和所述第三梯度信息,确定所述第一数据拥有方处的第一梯度信息。
可选地,在上述方面的一个示例中,根据各个数据拥有方处的加密后的预测值,确定所述逻辑回归模型的第一加密预测差值以及第一加密梯度信息可以包括:计算所述第一和第二数据拥有方处的加密后的预测值的预测值和值;使用所述预测值和值以及所述标签值,根据多阶多项式公式展开来确定所述第一加密预测差值;以及使用所述第一加密预测差值和所述第二数据,确定所述第一加密梯度信息。
可选地,在上述方面的一个示例中,所述多阶多项式公式展开包括泰勒级数展开。
可选地,在上述方面的一个示例中,所述方法循环执行,直到满足循环结束条件,所述循环结束条件包括:预定循环次数;或者预测差值位于预定范围内。
根据本说明书的实施例的另一方面,提供一种用于经由第一和第二数据拥有方协同训练逻辑回归模型的方法,第一数据拥有方具有第一模型、第一数据、第一公钥和第一私钥,第二数据拥有方具有第二模型、第二数据、第二公钥、第二私钥和标签值,所述第一和第二数据按照垂直切分方式共同组成所述逻辑回归模型的训练样本,所述第一和第二模型按照垂直切分方式共同组成所述逻辑回归模型,所述方法由所述第一数据拥有方执行,所述方法包括:将所述第一公钥提供给所述第二数据拥有方,以及从所述第二数据拥有方获取所述第二公钥;使用所述第一模型和所述第一数据,确定所述第一数据拥有方处的第一预测值;使用所述第一公钥来对所述第一预测值进行加密,得到第一加密预测值,并将所述第一加密预测值提供给所述第二数据拥有方;在所述第一数据拥有方和所述第二数据拥有方之间,利用第一加密预测差值以及第一加密梯度信息,使用同态加密算法确定所述第一数据拥有方处的第一梯度信息和所述第二数据拥有方处的第二梯度信息,其中,所述第一加密预测差值和所述第一加密梯度信息是在所述第二数据拥有方处,根据各个数据拥有方处的加密后的预测值确定出;以及使用所述第一梯度信息更新所述第一数据拥有方处的第一模型。
可选地,在上述方面的一个示例中,在所述第一数据拥有方和所述第二数据拥有方之间,利用第一加密预测差值以及第一加密梯度信息,使用同态加密算法确定所述第一数据拥有方处的第一梯度信息和所述第二数据拥有方处的第二梯度信息包括:从所述第二数据拥有方获取第一和值、第二和值以及加密随机数,其中,所述第一和值是第一加密预测差值与第二随机数的和值,所述第二和值是第一加密梯度信息与第一随机数的和值,所述加密随机数通过使用所述第二公钥对所述第二随机数进行加密得到,所述第一随机数和第二随机数在所述第二数据拥有方处生成,所述第一加密预测差值和所述第一加密梯度信息在所述第二数据拥有方处根据各个数据拥有方处的加密后的预测值确定出;使用所述第一私钥来对所述第一和值和所述第二和值进行解密,并将解密后的第二和值提供给所述第二数据拥有方;使用解密后的第一和值和所述第一数据,确定所述第一数据拥有方处的第三梯度信息;生成第三随机数,并且使用所述加密随机数、所述第一数据以及所述第三随机数,确定第二加密梯度信息并发送给所述第二数据拥有方;以及使用所述第三随机数、所述第三梯度信息以及从所述第二数据拥有方获取的第四梯度信息,确定所述第一数据拥有方处的第一梯度信息,所述第四梯度信息是在所述第二数据拥有方处使用所述第二私钥对所述第二加密梯度信息进行解密而得到。
根据本说明书的实施例的另一方面,提供一种用于经由第一和第二数据拥有方协同训练逻辑回归模型的方法,第一数据拥有方具有第一模型、第一数据、第一公钥和第一私钥,第二数据拥有方具有第二模型、第二数据、第二公钥、第二私钥和标签值,所述第一和第二数据按照垂直切分方式共同组成所述逻辑回归模型的训练样本,所述第一和第二模型按照垂直切分方式共同组成所述逻辑回归模型,所述方法由所述第二数据拥有方执行,所述方法包括:将所述第二公钥提供给所述第一数据拥有方,以及从所述第一数据拥有方获取所述第一公钥;使用所述第二模型和所述第二数据,确定所述第二数据拥有方处的第二预测值;使用所述第一公钥对所述第二预测值进行加密,得到第二加密预测值,并从所述第一数据方获取第一加密预测值,所述第一加密预测值是在所述第一数据拥有方处对根据所述第一模型和所述第一数据确定出的第一预测值,使用所述第一公钥加密而得到;根据所述第一加密预测值和所述第二加密预测值,确定所述逻辑回归模型的第一加密预测差值和第一加密梯度信息;在所述第一数据拥有方和所述第二数据拥有方之间,利用所述第一加密预测差值和第一加密梯度信息,使用同态加密算法来确定所述第一数据拥有方处的第一梯度信息和所述第二数据拥有方处的第二梯度信息;以及使用所述第二梯度信息更新所述第二数据拥有方处的第二模型。
可选地,在上述方面的一个示例中,在所述第一数据拥有方和所述第二数据拥有方之间,利用所述第一加密预测差值和第一加密梯度信息,使用同态加密算法来确定所述第一数据拥有方处的第一梯度信息和所述第二数据拥有方处的第二梯度信息包括:生成第一随机数和第二随机数;确定所述第一加密预测差值与所述第二随机数的第一和值、所述第一加密梯度信息与所述第一随机数的第二和值以及加密随机数,并将所述第一和值、所述第二和值以及所述加密随机数提供给所述第一数据拥有方,所述加密随机数通过使用所述第二公钥对所述第二随机数进行加密得到;从所述第一数据拥有方获取解密后的第二和值以及第二加密梯度信息,其中,所述第二加密梯度信息在所述第一数据拥有方处根据所述加密随机数、所述第一数据以及所述第一数据拥有方处生成的第三随机数确定;使用解密后的第二和值和所述第一随机数,确定所述第二数据拥有方处的第二梯度信息;以及使用所述第二私钥对所述第二加密梯度信息进行解密,得到第四梯度信息并提供给所述第一数据拥有方。
根据本说明书的实施例的另一方面,提供一种用于经由第一和第二数据拥有方协同训练逻辑回归模型的装置,第一数据拥有方具有第一模型、第一数据、第一公钥和第一私钥,第二数据拥有方具有第二模型、第二数据、第二公钥、第二私钥和标签值,所述第一和第二数据按照垂直切分方式共同组成所述逻辑回归模型的训练样本,所述第一和第二模型按照垂直切分方式共同组成所述逻辑回归模型,所述装置应用于所述第一数据拥有方,所述装置包括:密钥共享单元,将所述第一公钥提供给所述第二数据拥有方,以及从所述第二数据拥有方获取所述第二公钥;预测值确定单元,使用所述第一模型和所述第一数据,确定所述第一数据拥有方处的第一预测值;加密单元,使用所述第一公钥来对所述第一预测值进行加密,得到第一加密预测值,并将所述第一加密预测值提供给所述第二数据拥有方;梯度信息确定单元,在所述第一数据拥有方和所述第二数据拥有方之间,利用第一加密预测差值以及第一加密梯度信息,使用同态加密算法确定所述第一数据拥有方处的第一梯度信息和所述第二数据拥有方处的第二梯度信息,其中,所述第一加密预测差值和所述第一加密梯度信息是在所述第二数据拥有方处,根据各个数据拥有方处的加密后的预测值确定出;以及模型更新单元,使用所述第一梯度信息更新所述第一数据拥有方处的第一模型。
可选地,在上述方面的一个示例中,所述梯度信息确定单元可以包括:获取模块,从所述第二数据拥有方获取第一和值、第二和值以及加密随机数,其中,所述第一和值是第一加密预测差值与第二随机数的和值,所述第二和值是第一加密梯度信息与第一随机数的和值,所述加密随机数通过使用所述第二公钥对所述第二随机数进行加密得到,所述第一随机数和第二随机数在所述第二数据拥有方处生成,所述第一加密预测差值和所述第一加密梯度信息在所述第二数据拥有方处根据各个数据拥有方处的加密后的预测值确定出;解密模块,使用所述第一私钥来对所述第一和值和所述第二和值进行解密,并将解密后的第二和值提供给所述第二数据拥有方;第一梯度信息确定模块,使用解密后的第一和值和所述第一数据,确定所述第一数据拥有方处的第三梯度信息;随机数生成模块,生成第三随机数;第二梯度信息确定模块,使用所述加密随机数、所述第一数据以及所述第三随机数,确定第二加密梯度信息并发送给所述第二数据拥有方;以及第三梯度信息确定模块,使用所述第三随机数、所述第三梯度信息以及从所述第二数据拥有方获取的第四梯度信息,确定所述第一数据拥有方处的第一梯度信息,所述第四梯度信息是在所述第二数据拥有方处使用所述第二私钥对所述第二加密梯度信息进行解密而得到。
根据本说明书的实施例的另一方面,提供一种用于经由第一和第二数据拥有方协同训练逻辑回归模型的装置,第一数据拥有方具有第一模型、第一数据、第一公钥和第一私钥,第二数据拥有方具有第二模型、第二数据、第二公钥、第二私钥和标签值,所述第一和第二数据按照垂直切分方式共同组成所述逻辑回归模型的训练样本,所述第一和第二模型按照垂直切分方式共同组成所述逻辑回归模型,所述装置应用于所述第二数据拥有方,所述装置包括:密钥共享单元,将所述第二公钥提供给所述第一数据拥有方,以及从所述第一数据拥有方获取所述第一公钥;预测值确定单元,使用所述第二模型和所述第二数据,确定所述第二数据拥有方处的第二预测值;加密单元,使用所述第一公钥对所述第二预测值进行加密,得到第二加密预测值;预测值获取单元,从所述第一数据方获取第一加密预测值,所述第一加密预测值是在所述第一数据拥有方处对根据所述第一模型和所述第一数据确定出的第一预测值,使用所述第一公钥加密而得到;预测差值确定单元,根据所述第一加密预测值和所述第二加密预测值,确定所述逻辑回归模型的第一加密预测差值;第一梯度信息确定单元,根据所述第一加密预测差值和所述第二数据,确定所述逻辑回归模型的第一加密梯度信息;第二梯度信息确定单元,在所述第一数据拥有方和所述第二数据拥有方之间,利用所述第一加密预测差值和第一加密梯度信息,使用同态加密算法来确定所述第一数据拥有方处的第一梯度信息和所述第二数据拥有方处的第二梯度信息;以及模型更新单元,使用所述第二梯度信息更新所述第二数据拥有方处的第二模型。
可选地,在上述方面的一个示例中,所述第二梯度信息确定单元可以包括:随机数生成模块,生成第一随机数和第二随机数;和值确定模块,确定所述第一加密预测差值与所述第二随机数的第一和值以及所述第一加密梯度信息与所述第一随机数的第二和值,并将所述第一和值和所述第二和值提供给所述第一数据拥有方;加密模块,使用所述第二公钥对所述第二随机数进行加密得到加密随机数,并将所述加密随机数提供给所述第一数据拥有方;获取模块,从所述第一数据拥有方获取解密后的第二和值以及第二加密梯度信息,其中,所述第二加密梯度信息在所述第一数据拥有方处根据所述加密随机数、所述第一数据以及所述第一数据拥有方处生成的第三随机数确定;以及梯度信息确定模块,使用解密后的第二和值和所述第一随机数,确定所述第二数据拥有方处的第二梯度信息,以及使用所述第二私钥对所述第二加密梯度信息进行解密,得到第四梯度信息,并将所述第四梯度信息提供给所述第一数据拥有方。
可选地,在上述方面的一个示例中,所述预测差值确定单元可以包括:预测值和值计算模块,计算所述第一和第二数据拥有方处的加密后的预测值的预测值和值;以及预测差值确定模块,使用所述预测值和值以及所述标签值,根据多阶多项式公式展开来确定所述第一加密预测差值。
可选地,在上述方面的一个示例中,所述多阶多项式公式展开包括泰勒级数展开。
根据本说明书的实施例的另一方面,提供一种用于经由第一和第二数据拥有方协同训练逻辑回归模型的系统,第一数据拥有方具有第一模型、第一数据、第一公钥和第一私钥,第二数据拥有方具有第二模型、第二数据、第二公钥、第二私钥和标签值,所述第一和第二数据按照垂直切分方式共同组成所述逻辑回归模型的训练样本,所述第一和第二模型按照垂直切分方式共同组成所述逻辑回归模型,所述系统包括:第一数据拥有方设备,包括如上所述的装置;以及第二数据拥有方设备,包括如上所述的装置。
根据本说明书的实施例的另一方面,提供一种计算设备,包括:至少一个处理器,以及与所述至少一个处理器耦合的存储器,所述存储器存储指令,当所述指令被所述至少一个处理器执行时,使得所述至少一个处理器执行如上所述的在第一数据拥有方侧执行的方法。
根据本说明书的实施例的另一方面,提供一种机器可读存储介质,其存储有可执行指令,所述指令当被执行时使得所述机器执行如上所述的在第一数据拥有方侧执行的方法。
根据本说明书的实施例的另一方面,提供一种计算设备,包括:至少一个处理器,以及与所述至少一个处理器耦合的存储器,所述存储器存储指令,当所述指令被所述至少一个处理器执行时,使得所述至少一个处理器执行如上所述的在第二数据拥有方处执行的方法。
根据本说明书的实施例的另一方面,提供一种机器可读存储介质,其存储有可执行指令,所述指令当被执行时使得所述机器执行如上所述的在第二数据拥有方侧执行的方法。
附图说明
通过参照下面的附图,可以实现对于本说明书的实施例内容的本质和优点的进一步理解。在附图中,类似组件或特征可以具有相同的附图标记。
图1示出了根据本说明书的实施例的经过垂直切分的数据的示例的示意图。
图2示出了示出了根据本说明书的实施例的用于经由两个数据拥有方来协同训练逻辑回归模型的系统的架构示意图。
图3示出了根据本说明书的实施例的用于经由两个数据拥有方来协同训练逻辑回归模型的方法的流程图。
图4示出了根据本说明书的实施例的基于同态加密的梯度信息确定过程的示例流程图。
图5示出了根据本说明书的实施例的用于经由两个数据拥有方来协同训练逻辑回归模型的装置的方框图。
图6示出了根据本说明书的实施例的梯度信息确定单元的一个示例的方框图。
图7示出了根据本说明书的实施例的用于经由两个数据拥有方来协同训练逻辑回归模型的装置的方框图。
图8示出了根据本说明书的实施例的梯度信息确定单元的一个示例的方框图。
图9示出了根据本说明书的实施例的用于实现第一数据拥有方处的逻辑回归模型训练过程的计算设备的示意图。
图10示出了根据本说明书的实施例的用于实现第二数据拥有方处的逻辑回归模型训练过程的计算设备的示意图。
具体实施方式
现在将参考示例实施方式讨论本文描述的主题。应该理解,讨论这些实施方式只是为了使得本领域技术人员能够更好地理解从而实现本文描述的主题,并非是对权利要求书中所阐述的保护范围、适用性或者示例的限制。可以在不脱离本说明书的实施例内容的保护范围的情况下,对所讨论的元素的功能和排列进行改变。各个示例可以根据需要,省略、替代或者添加各种过程或组件。例如,所描述的方法可以按照与所描述的顺序不同的顺序来执行,以及各个步骤可以被添加、省略或者组合。另外,相对一些示例所描述的特征在其它例子中也可以进行组合。
如本文中使用的,术语“包括”及其变型表示开放的术语,含义是“包括但不限于”。术语“基于”表示“至少部分地基于”。术语“一个实施例”和“一实施例”表示“至少一个实施例”。术语“另一个实施例”表示“至少一个其他实施例”。术语“第一”、“第二”等可以指代不同的或相同的对象。下面可以包括其他的定义,无论是明确的还是隐含的。除非上下文中明确地指明,否则一个术语的定义在整个说明书中是一致的。
在本说明书的实施例中,逻辑回归模型训练方案中所使用的训练样本集是经过垂直切分的训练样本集。术语“对训练样本集进行垂直切分”是指按照模块/功能(或者某种指定规则)来将该训练样本集切分为多个训练样本子集中,各个训练样本子集包含训练样本集中的每条训练样本的部分训练子样本,所有训练样本子集中所包含的部分训练子样本构成该条训练样本。在一个例子中,假设训练样本包括属性、,则经过垂直切分后,数据拥有方Alice拥有该训练样本的,以及数据拥有方Bob拥有该训练样本的和标签。在另一个例子中,假设训练样本包括属性、、,则经过垂直切分后,数据拥有方Alice拥有该训练样本的和 ,以及数据拥有方Bob拥有该训练样本的、和标签。除了这两个例子之外,还有其他可能的情况,这里不一一列举。在本说明书中,数据拥有方也可以称为训练参与方或者模型拥有方。
假设给定由d个属性(也称为特征)描述的属性值样本示例x T=(x 1 ; x 2 ;…; x d ),其中,x i 是x在第i个属性上的取值和T表示转置,那么逻辑回归模型为Y=1/(1+),其中,Y是预测值,以及W是逻辑回归模型的模型参数(即,本说明书的实施例中所述的模型)。在本说明书的实施例中,属性值样本也称为特征数据样本。
在本说明书的实施例中,各个数据拥有方各自拥有训练逻辑回归模型所使用的训练样本的不同部分数据。例如,以两个数据拥有方为例,假设训练样本集包括100个训练样本,每一个训练样本包含多个特征值和标签值,那么,第一数据拥有方拥有的数据可以是该100个训练样本中的每个训练样本的部分特征值,以及第二数据拥有方拥有的数据可以是该100个训练样本中的每个训练样本的部分特征值(例如,剩余特征值)和标签值。
下面将结合附图来详细描述根据本说明书的实施例的用于经由两个数据拥有方来协同训练逻辑回归模型的方法、装置以及系统的实施例。
图1示出了根据本说明书的实施例的经过垂直切分的训练样本集的示例的示意图。图1中示出了2个数据拥有方Alice和Bob,多个数据拥有方也类似。每个数据拥有方Alice和Bob拥有训练样本集中的所有训练样本中的每条训练样本的部分训练子样本,对于每条训练样本,数据拥有方Alice和Bob拥有的部分训练子样本组合在一起,可以构成该训练样本的完整内容。比如,假设某个训练样本的内容包括属性特征(下文中称为“特征样本”)、,则经过垂直切分后,数据拥有方Alice拥有该训练样本的,以及数据拥有方Bob拥有该训练样本的和标签(下文中称为“标签值”)。
图2示出了示出了根据本说明书的实施例的用于经由两个数据拥有方来协同训练逻辑回归模型的系统1(下文中称为模型训练系统1)的架构示意图。
如图2所示,模型训练系统1包括第一数据拥有方设备10以及第二数据拥有方设备20。第一数据拥有方设备10以及第二数据拥有方设备20可以通过例如但不局限于互联网或局域网等的网络30相互通信。在本说明书的实施例中,第一数据拥有方设备10以及第二数据拥有设备20也可以称为训练参与方设备。其中,第一数据拥有方设备10不具有标签值,以及第二数据拥有方设备20具有标签值。
在本说明书的实施例中,每个数据拥有方设备具有一个子模型,并且两个数据拥有方设备所具有的2个子模型按照垂直切分的方式共同组成待训练的逻辑回归模型。第一数据拥有方设备10和第二数据拥有方设备20分别具有本地数据,第一数据拥有方设备10和第二数据拥有方设备20的本地数据按照垂直切分的方式共同组成用于模型训练的训练样本集,并且训练样本集包括特征数据集,即,图1中示出的。每一个数据拥有方所拥有的子模型以及对应的本地数据是该数据拥有方的秘密,不能被其他数据拥有方获悉或者完整地获悉。
在本说明书的实施例中,逻辑回归模型和各个数据拥有方的子模型分别使用权重向量W和权重子向量Wi来表示,其中,i用于表示数据拥有方的序号或标识(例如,a和b)。预测值和标签值分别使用预测值向量和标签值向量Y来表示。
在本说明书的实施例中,第一数据拥有方设备10以及第二数据拥有方设备20可以是任何合适的具有计算能力的计算设备。所述计算设备包括但不限于:个人计算机、服务器计算机、工作站、桌面型计算机、膝上型计算机、笔记本计算机、移动计算设备、智能电话、平板计算机、蜂窝电话、个人数字助理(PDA)、手持装置、消息收发设备、可佩戴计算设备、消费电子设备等等。
图3示出了根据本说明书的实施例的用于经由两个训练参与方来协同训练逻辑回归模型的方法的流程图。在图3中示出的训练方法中,第一数据拥有方Alice具有第一模型Wa和第一数据Xa,第二数据拥有方Bob具有第二模型Wb、第二数据Xb和标签值Y。第一模型Wa和第二模型Wb按照垂直切分方式共同组成逻辑回归模型W,以及第一数据Xa和第二数据Xb按照垂直切分方式共同组成逻辑回归模型W的训练样本。此外,第一数据拥有方Alice具有第一公钥Pka和第一私钥Ska,以及第二数据拥有方Bob具有第二公钥Pkb和第二私钥Skb。这里,第一数据Xa和第二数据Xb分别是Alice和Bob的私有数据,例如,Alice和Bob本地收集的数据。
如图3所示,首先,在301,第一数据拥有方Alice、第二数据拥有方Bob初始化其子模型的子模型参数,即,权重子向量Wa和Wb,以获得其子模型参数的初始值,并且将已执行训练循环次数t初始化为零。这里,假设循环过程的结束条件为执行预定次数训练循环,例如,执行T次训练循环。
在如上初始化后,在302, Alice和Bob分别共享各自的公钥。具体地,Alice将第一公钥Pka提供给Bob,以及Bob将第二公钥Pkb提供给Alice。
接着,循环执行303到310的操作,直到满足循环结束条件,即,达到预定循环次数。
具体地,在303,Alice使用第一模型Wa和第一数据Xa来得到Alice处的第一预测值Ua=Wa*Xa,以及Bob使用第二模型Wb和第二数据Xb来得到Bob处的第二预测值Ub= Wb*Xb。
在304,在Alice和Bob处,分别使用第一公钥Pka来对Ua和Ub进行加密,得到加密后的第一预测值[Ua]a以及加密后的第二预测值[Ub]a。然后,在305,Alice将加密后的第一预测值[Ua]a提供给Bob。
在接收到加密后的第一预测值[Ua]a后,Bob根据各个数据拥有方处的加密后的预测值(加密后的第一预测值[Ua]a以及加密后的第二预测值[Ub]a),确定逻辑回归模型的第一加密预测差值以及第一加密梯度信息。
具体地,在306,Bob对加密后的第一预测值[Ua]a以及加密后的第二预测值[Ub]a进行求和,得到预测值和值[Z]a=[Ua]a+[Ub]a,即,逻辑回归模型W的加密后的预测值。
在307,Bob使用所得到的预测值和值[Z]a以及标签值Y,根据多阶多项式公式展开来确定第一加密预测差值[d]a。在本说明书中,多阶多项式公式展开可以包括泰勒公式展开,或者其他形式的多阶多项式公式展开。下面以泰勒公式展开为例来进行具体说明。下面的描述过程也适用于其它形式的多阶多项式公式展开。
具体地,在每次训练循环过程中,在得到[Z]a后,可以利用针对激活函数的泰勒公式展开,得到第一加密预测差值[d]a。在采用一阶泰勒公式展开的情况下,[d]a=[Z]a / 4 +[0.5- Y]a。至于在进行泰勒公式展开时,需要近似到几次项,可以基于应用场景所需要的准确度来确定。
在得到第一加密预测差值[d]a后,在308,使用第一加密预测差值[d]a和第二数据Xb,确定第一加密梯度信息[Gb]a=[d]a*Xb。
接着,在309,在第一数据拥有方Alice和第二数据拥有方Bob之间,利用第一加密预测差值[d]a和第一加密梯度信息[Gb]a,使用同态加密算法确定第一数据拥有方处的第一梯度信息Ga和第二数据拥有方处的第二梯度信息Gb。
图4示出了根据本说明书的实施例的基于同态加密的梯度信息确定过程的示例流程图。
如图4所示,在401,在第二数据拥有方Bob处,生成第一随机数mask1和第二随机数mask2,并且在402,确定第一加密预测差值[d]a与第二随机数mask2的第一和值[d+mask2]a,以及第一加密梯度信息[Gb]a与第一随机数mask1的第二和值[Gb+mask1]a。此外,还使用第二公钥Pkb对第二随机数mask2进行加密得到加密随机数[mask2]b。
在403,Bob将第一和值[d+mask2]a、第二和值[Gb+mask1]a以及加密随机数[mask2]b提供给Alice。
在404,Alice使用第一私钥Ska来对第二和值[Gb+mask1]a进行解密,并在405,将解密后的第二和值A=Gb+mask1提供给Bob。在406,Bob使用解密后的第二和值A和第一随机数mask1,确定出Bob处的第二梯度信息Gb=A-mask1。
在409,Alice生成第三随机数mask3,并且在410,Alice使用加密随机数[mask2]b、第一数据Xa以及第三随机数mask3,确定第二加密梯度信息,并在411,将第二加密梯度信息发送给Bob。
在接收到第四梯度信息后,Alice使用第三梯度信息、第四梯度信息和第三随机数mask3,确定Alice处的第一梯度信息Ga。具体地,在414,根据第四梯度信息和第三随机数mask3,计算出,接着,在415,根据所计算出的B和第三梯度信息,得到第一梯度信息。
在如上得到Alice处的第一梯度信息Ga和Bob处的第二梯度信息后,回到图3,在310,Alice使用Ga来更新第一模型Wa(n+1)=Wa(n)- learning_rate * Ga,以及Bob使用Gb来更新第二模型Wb(n+1)=Wb(n)- learning_rate * Gb,其中,learning_rate是学习率,Wa(n)和Wb(n)是当前的第一模型和第二模型,以及Wa(n+1)和Wb(n+1)是更新后的第一模型和第二模型。
在本说明书中,图3中示出的模型训练过程可以是循环过程。在不满足循环条件时,将Wa(n+1)和Wb(n+1)作为下一循环的当前模型来执行下一循环,即,执行303到310的操作,直到满足循环结束条件。
这里要说明的是,在上述的示例中,训练循环过程的结束条件是指达到预定循环次数。在本说明书实施例的其它示例中,训练循环过程的结束条件也可以是所确定出的总预测差值位于预定范围内,即,总预测差值E小于预定阈值。
利用图3中示出的模型训练方法,能够在保证两个数据拥有方的各自数据安全的情况下实现基于同态加密的模型协同训练。
图5示出了根据本说明书的实施例的用于经由两个数据拥有方来协同训练逻辑回归模型的装置(下文中称为模型训练装置)500的示意图。第一数据拥有方Alice具有第一模型Wa和第一数据Xa,第二数据拥有方Bob具有第二模型Wb、第二数据Xb和标签值Y。第一模型Wa和第二模型Wb按照垂直切分方式共同组成逻辑回归模型W,以及第一数据Xa和第二数据Xb按照垂直切分方式共同组成逻辑回归模型W的训练样本。此外,第一数据拥有方Alice具有第一公钥Pka和第一私钥Ska,以及第二数据拥有方Bob具有第二公钥Pkb和第二私钥Skb。模型训练装置500应用于第一数据拥有方。
如图5所示,模型训练装置500包括密钥共享单元510、预测值确定单元520、加密单元530、梯度信息确定单元540和模型更新单元550。
密钥共享单元510被配置为将第一公钥Pka提供给第二数据拥有方Bob,以及从第二数据拥有方Bob获取第二公钥Pkb。密钥共享单元510的操作可以参考上面参照图3描述的302的操作。
预测值确定单元520被配置为使用第一模型Wa和第一数据Xa,确定第一数据拥有方处的第一预测值Ua=Wa*Xa。预测值确定单元520的操作可以参考上面参照图3描述的303的操作。
加密单元530被配置为使用第一公钥Pka来对第一预测值Ua进行加密,得到第一加密预测值[Ua]a,并将第一加密预测值[Ua]a提供给第二数据拥有方Bob。加密单元530的操作可以参考上面参照图3描述的304和305的操作。
梯度信息确定单元540被配置为在第一数据拥有方Alice和第二数据拥有方Bob之间,利用第一加密预测差值[d]a以及第一加密梯度信息[Gb]a,使用同态加密算法确定第一数据拥有方Alice处的第一梯度信息Ga和第二数据拥有方Bob处的第二梯度信息Gb。这里,第一加密预测差值[d]a和第一加密梯度信息[Gb]a是在第二数据拥有方Bob处,根据各个数据拥有方处的加密后的预测值[Ua]a和[Ub]a确定出。梯度信息确定单元540的操作可以参考上面参照图3描述的309的操作。
模型更新单元550被配置为使用第一梯度信息Ga更新第一数据拥有方Alice处的第一模型Wa。模型更新单元550的操作可以参考上面参照图3描述的310的操作。
图6示出了根据本说明书的实施例的梯度信息确定单元540的一个示例的方框图。如图6所示,梯度信息确定单元540包括获取模块541、解密模块542、第一梯度信息确定模块543、随机数生成模块544、第二梯度信息确定模块545和第三梯度信息确定模块546。
获取模块541被配置为从第二数据拥有方Bob获取第一和值[d+mask2]a、第二和值[Gb+mask1]a以及加密随机数[mask2]b。第一和值[d+mask2]a是第一加密预测差值[d]a与第二随机数mask2的和值,第二和值[Gb+mask1]a是第一加密梯度信息[Gb]a与第一随机数mask1的和值,加密随机数[mask2]b通过使用第二公钥对Pkb对第二随机数mask2进行加密得到。第一随机数mask1和第二随机数mask2在第二数据拥有方Bob处生成。获取模块541的操作可以参考上面参照图4描述的403的操作。
解密模块542被配置为使用第一私钥Ska来对第一和值[d+mask2]a和第二和值[Gb+mask1]a进行解密,并将解密后的第二和值[Gb+mask1]a提供给第二数据拥有方Bob。解密模块542的操作可以参考上面参照图4描述的404、405和407的操作。
第一梯度信息确定模块543被配置为使用解密后的第一和值d+mask2和第一数据Xa,确定第一数据拥有方Alice处的第三梯度信息。第一梯度信息确定模块543的操作可以参考上面参照图4描述的408的操作。
随机数生成模块544被配置为生成第三随机数mask3。随机数生成模块544的操作可以参考上面参照图4描述的409的操作。
第二梯度信息确定模块545被配置为使用加密随机数[mask2]b、第一数据Xa以及第三随机数mask3,确定第二加密梯度信息,并将第二加密梯度信息发送给第二数据拥有方Bob。第二梯度信息确定模块545的操作可以参考上面参照图4描述的410和411的操作。
第三梯度信息确定模块546被配置为使用第三随机数mask3、第三梯度信息以及从第二数据拥有方获取的第四梯度信息,确定第一数据拥有方处的第一梯度信息Ga。第四梯度信息是在第二数据拥有方Bob处使用第二私钥Skb对第二加密梯度信息进行解密而得到。第三梯度信息确定模块546的操作可以参考上面参照图4描述的413到415的操作。
要说明的是,在图6中示出的示例中,第一梯度信息确定模块543、第二梯度信息确定模块545和第三梯度信确定模块546被示出为三个不同的组件。在本说明书的其它实施例中,第一梯度信息确定模块543、第二梯度信息确定模块545和第三梯度信确定模块546中的任意两个或全部可以使用单个模块来实现。
图7示出了根据本说明书的实施例的用于经由两个数据拥有方来协同训练逻辑回归模型的装置(下文中称为模型训练装置)700的示意图。第一数据拥有方Alice具有第一模型Wa和第一数据Xa,第二数据拥有方Bob具有第二模型Wb、第二数据Xb和标签值Y。第一模型Wa和第二模型Wb按照垂直切分方式共同组成逻辑回归模型W,以及第一数据Xa和第二数据Xb按照垂直切分方式共同组成逻辑回归模型W的训练样本。此外,第一数据拥有方Alice具有第一公钥Pka和第一私钥Ska,以及第二数据拥有方Bob具有第二公钥Pkb和第二私钥Skb。模型训练装置700应用于第二数据拥有方。
如图7所示,模型训练装置包括密钥共享单元710、预测值确定单元720、加密单元730、预测值获取单元740、预测差值确定单元750、第一梯度信息确定单元760、第二梯度信息确定单元770和模型更新单元780。
密钥共享单元710被配置为将第二公钥Pkb提供给第一数据拥有方Alice,以及从第一数据拥有方Alice获取第一公钥Pka。密钥共享单元710的操作可以参考上面参照图3描述的302的操作。
预测值确定单元720被配置为使用第二模型Wb和第二数据Xb,确定第二数据拥有方Bob处的第二预测值Ub=Wb*Xb。预测值确定单元720的操作可以参考上面参照图3描述的303的操作。
加密单元730被配置为使用第一公钥Pka对第二预测值Ub进行加密,得到第二加密预测值[Ub]a。加密单元730的操作可以参考上面参照图3描述的304的操作。
预测值获取单元740被配置为从第一数据方Bob获取第一加密预测值[Ua]a,第一加密预测值[Ua]a是在第一数据拥有方Alice处对根据第一模型Wa和第一数据Xa确定出的第一预测值Ua=Wa*Xa,使用第一公钥Pka加密而得到。预测值获取单元740的操作可以参考上面参照图3描述的305的操作。
预测差值确定单元750被配置为根据第一加密预测值[Ua]a和第二加密预测值[Ub]a,确定逻辑回归模型的第一加密预测差值[d]a。预测差值确定单元750的操作可以参考上面参照图3描述的306和307的操作。
在一个示例中,预测差值确定单元750可以包括预测值和值计算模块(未示出)和预测差值确定模块(未示出)。预测值和值计算模块被配置为计算第一和第二数据拥有方处的加密后的预测值的预测值和值[Z]a=[Ua]a+[Ub]a。预测差值确定模块被配置为使用预测值和值[Z]a以及标签值Y,根据多阶多项式公式展开来确定出第一加密预测差值[d]a。
第一梯度信息确定单元760被配置为根据第一加密预测差值[d]a和第二数据Xb,确定逻辑回归模型的第一加密梯度信息[Gb]a=[d]a*Xb。第一梯度信息确定单元760的操作可以参考上面参照图3描述的308的操作。
第二梯度信息确定单元770被配置为在第一数据拥有方Alice和第二数据拥有方Bob之间,利用第一加密预测差值[d]a和第一加密梯度信息[Gb]a,使用同态加密算法来确定第一数据拥有方处的第一梯度信息Ga和第二数据拥有方处的第二梯度信息Gb。第二梯度信息确定单元770的操作可以参考上面参照图3描述的309的操作。
模型更新单元780被配置为使用所述第二梯度信息Gb更新第二数据拥有方Bob处的第二模型Wb。模型更新单元780的操作可以参考上面参照图3描述的310的操作。
图8示出了根据本说明书的实施例的第二梯度信息确定单元770的一个示例的方框图。如图8所示,第二梯度信息确定单元770可以包括随机数生成模块771、和值确定模块772、加密模块773、获取模块774和梯度信息确定模块775。
随机数生成模块771被配置为生成第一随机数mask1和第二随机数mask2。随机数生成模块771的操作可以参考上面参照图4描述的401的操作。
和值确定模块772被配置为确定第一加密预测差值[d]a与第二随机数mask2的第一和值[d+mask2]a以及第一加密梯度信息[Gb]a与第一随机数mask1的第二和值[Gb+mask1]a,并将第一和值[d+mask2]a和第二和值[Gb+mask1]a提供给第一数据拥有方Alice。
加密模块773被配置为使用第二公钥Pkb对第二随机数mask2进行加密得到加密随机数[mask2]b,并将加密随机数[mask2]b提供给第一数据拥有方Bob。
获取模块774被配置为从第一数据拥有方Alice获取解密后的第二和值A=Gb+mask1以及第二加密梯度信息。第二加密梯度信息在第一数据拥有方Alice处根据加密随机数[mask2]b、第一数据Xa以及第一数据拥有方处Alice处生成的第三随机数mask3确定。
梯度信息确定模块775被配置为使用解密后的第二和值Gb+mask1以及第一随机数mask1,确定第二数据拥有方Bob处的第二梯度信息Gb,以及使用第二私钥Skb对第二加密梯度信息进行解密,得到第四梯度信息,并将第四梯度信息提供给第一数据拥有方Alice。
如上参照图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执行在存储器中存储或编码的至少一个计算机可读指令(即,上述以软件形式实现的元素)。
在一个实施例中,在存储器中存储计算机可执行指令,其当执行时使得至少一个处理器1010:将第二公钥提供给第一数据拥有方,以及从第一数据拥有方获取第一公钥;使用第二模型和第二数据,确定第二数据拥有方处的第二预测值;使用第一公钥对第二预测值进行加密,得到第二加密预测值,并从第一数据方获取第一加密预测值,所述第一加密预测值是在第一数据拥有方处对根据第一模型和第一数据确定出的第一预测值,使用第一公钥加密而得到;根据第一加密预测值和第二加密预测值,确定逻辑回归模型的第一加密预测差值和第一加密梯度信息;在第一数据拥有方和第二数据拥有方之间,利用第一加密预测差值和第一加密梯度信息,使用同态加密算法来确定第一数据拥有方处的第一梯度信息和第二数据拥有方处的第二梯度信息;以及使用第二梯度信息更新第二数据拥有方处的第二模型。
应该理解,在存储器中存储的计算机可执行指令当执行时使得至少一个处理器1010进行本说明书的实施例的各个实施例中以上结合图1-8描述的各种操作和功能。
根据一个实施例,提供了一种比如机器可读介质(例如,非暂时性机器可读介质)的程序产品。机器可读介质可以具有指令(即,上述以软件形式实现的元素),该指令当被机器执行时,使得机器执行本说明书的实施例的各个实施例中以上结合图1-8描述的各种操作和功能。具体地,可以提供配有可读存储介质的系统或者装置,在该可读存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机或处理器读出并执行存储在该可读存储介质中的指令。
在这种情况下,从可读介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此机器可读代码和存储机器可读代码的可读存储介质构成了本发明的一部分。
可读存储介质的实施例包括软盘、硬盘、磁光盘、光盘(如CD-ROM、CD-R、CD-RW、DVD-ROM、DVD-RAM、DVD-RW、DVD-RW)、磁带、非易失性存储卡和ROM。可选择地,可以由通信网络从服务器计算机上或云上下载程序代码。
本领域技术人员应当理解,上面公开的各个实施例可以在不偏离发明实质的情况下做出各种变形和修改。因此,本发明的保护范围应当由所附的权利要求书来限定。
需要说明的是,上述各流程和各系统结构图中不是所有的步骤和单元都是必须的,可以根据实际的需要忽略某些步骤或单元。各步骤的执行顺序不是固定的,可以根据需要进行确定。上述各实施例中描述的装置结构可以是物理结构,也可以是逻辑结构,即,有些单元可能由同一物理实体实现,或者,有些单元可能分由多个物理实体实现,或者,可以由多个独立设备中的某些部件共同实现。
以上各实施例中,硬件单元或模块可以通过机械方式或电气方式实现。例如,一个硬件单元、模块或处理器可以包括永久性专用的电路或逻辑(如专门的处理器,FPGA或ASIC)来完成相应操作。硬件单元或处理器还可以包括可编程逻辑或电路(如通用处理器或其它可编程处理器),可以由软件进行临时的设置以完成相应操作。具体的实现方式(机械方式、或专用的永久性电路、或者临时设置的电路)可以基于成本和时间上的考虑来确定。
上面结合附图阐述的具体实施方式描述了示例性实施例,但并不表示可以实现的或者落入权利要求书的保护范围的所有实施例。在整个本说明书中使用的术语“示例性”意味着“用作示例、实例或例示”,并不意味着比其它实施例“优选”或“具有优势”。出于提供对所描述技术的理解的目的,具体实施方式包括具体细节。然而,可以在没有这些具体细节的情况下实施这些技术。在一些实例中,为了避免对所描述的实施例的概念造成难以理解,公知的结构和装置以框图形式示出。
本说明书的实施例内容的上述描述被提供来使得本领域任何普通技术人员能够实现或者使用本说明书的实施例内容。对于本领域普通技术人员来说,对本说明书的实施例内容进行的各种修改是显而易见的,并且,也可以在不脱离本说明书的实施例内容的保护范围的情况下,将本文所定义的一般性原理应用于其它变型。因此,本说明书的实施例内容并不限于本文所描述的示例和设计,而是与符合本文公开的原理和新颖性特征的最广范围相一致。
Claims (13)
1.一种用于经由第一和第二数据拥有方协同训练逻辑回归模型的方法,第一数据拥有方具有第一模型、第一数据、第一公钥和第一私钥,第二数据拥有方具有第二模型、第二数据、第二公钥、第二私钥和标签值,所述第一和第二数据按照垂直切分方式共同组成所述逻辑回归模型的训练样本,所述第一和第二模型按照垂直切分方式共同组成所述逻辑回归模型,所述方法包括:
在所述第一和第二数据拥有方之间共享各自的公钥;
在所述第一和第二数据拥有方处分别使用各自的模型和数据确定各自的预测值,并且使用所述第一公钥来对所确定出的预测值进行同态加密;
在所述第二数据拥有方处,获取所述第一数据拥有方处的加密后的预测值,计算所述第一和第二数据拥有方处的加密后的预测值的预测值和值;使用所述预测值和值以及所述标签值,根据多阶多项式公式展开来确定第一加密预测差值;以及使用所述第一加密预测差值和所述第二数据,确定第一加密梯度信息;
在所述第二数据拥有方处,生成第一随机数和第二随机数,确定所述第一加密预测差值与所述第二随机数经过同态加密求和得到的第一和值、所述第一加密梯度信息与所述第一随机数经过同态加密求和得到的第二和值以及加密随机数,并将所述第一和值、所述第二和值以及所述加密随机数提供给所述第一数据拥有方,所述加密随机数通过使用所述第二公钥对所述第二随机数进行加密得到;
在所述第一数据拥有方处,使用所述第一私钥来对所述第一和值和所述第二和值进行解密,并将解密后的第二和值提供给所述第二数据拥有方;
在所述第一数据拥有方处,使用解密后的第一和值以及所述第一数据,确定所述第一数据拥有方处的第三梯度信息;
在所述第一数据拥有方处,生成第三随机数,并且使用所述加密随机数、所述第一数据以及所述第三随机数,确定第二加密梯度信息并发送给所述第二数据拥有方;
在所述第二数据拥有方处,根据解密后的第二和值和第一随机数,确定所述第二数据拥有方处的第二梯度信息,并且使用所述第二私钥对所述第二加密梯度信息进行解密,得到第四梯度信息并发送给所述第一数据拥有方;
在所述第一数据拥有方处,使用所述第四梯度信息、所述第三随机数和所述第三梯度信息,确定所述第一数据拥有方处的第一梯度信息;以及
在所述第一数据拥有方和所述第二数据拥有方处,分别使用所述第一和第二梯度信息更新所述第一模型和所述第二模型。
2.如权利要求1所述的方法,其中,所述多阶多项式公式展开包括泰勒级数展开。
3.如权利要求1或2所述的方法,其中,所述方法循环执行,直到满足循环结束条件,所述循环结束条件包括:
预定循环次数;或者
预测差值位于预定范围内。
4.一种用于经由第一和第二数据拥有方协同训练逻辑回归模型的方法,第一数据拥有方具有第一模型、第一数据、第一公钥和第一私钥,第二数据拥有方具有第二模型、第二数据、第二公钥、第二私钥和标签值,所述第一和第二数据按照垂直切分方式共同组成所述逻辑回归模型的训练样本,所述第一和第二模型按照垂直切分方式共同组成所述逻辑回归模型,所述方法由所述第一数据拥有方执行,所述方法包括:
将所述第一公钥提供给所述第二数据拥有方,以及从所述第二数据拥有方获取所述第二公钥;
使用所述第一模型和所述第一数据,确定所述第一数据拥有方处的第一预测值;
使用所述第一公钥来对所述第一预测值进行加密,得到第一加密预测值,并将所述第一加密预测值提供给所述第二数据拥有方;
从所述第二数据拥有方获取第一和值、第二和值以及加密随机数,其中,所述第一和值是第一加密预测差值与第二随机数经过同态加密求和得到的和值,所述第二和值是第一加密梯度信息与第一随机数经过同态加密求和得到的和值,所述加密随机数通过使用所述第二公钥对所述第二随机数进行加密得到,所述第一随机数和第二随机数在所述第二数据拥有方处生成,所述第一加密预测差值和所述第一加密梯度信息在所述第二数据拥有方处根据所述第一和第二数据拥有方处的加密后的预测值确定出;
使用所述第一私钥来对所述第一和值和所述第二和值进行解密,并将解密后的第二和值提供给所述第二数据拥有方;
使用解密后的第一和值和所述第一数据,确定所述第一数据拥有方处的第三梯度信息;
生成第三随机数,并且使用所述加密随机数、所述第一数据以及所述第三随机数,确定第二加密梯度信息并发送给所述第二数据拥有方;以及
使用所述第三随机数、所述第三梯度信息以及从所述第二数据拥有方获取的第四梯度信息,确定所述第一数据拥有方处的第一梯度信息,所述第四梯度信息是在所述第二数据拥有方处使用所述第二私钥对所述第二加密梯度信息进行解密而得到;以及
使用所述第一梯度信息更新所述第一数据拥有方处的第一模型,
其中,所述第一加密预测差值和所述第一加密梯度信息是在所述第二数据拥有方处按照下述方式确定出:
计算所述第一和第二数据拥有方处的加密后的预测值的预测值和值;
使用所述预测值和值以及所述标签值,根据多阶多项式公式展开来确定第一加密预测差值;以及
使用所述第一加密预测差值和所述第二数据,确定第一加密梯度信息。
5.一种用于经由第一和第二数据拥有方协同训练逻辑回归模型的方法,第一数据拥有方具有第一模型、第一数据、第一公钥和第一私钥,第二数据拥有方具有第二模型、第二数据、第二公钥、第二私钥和标签值,所述第一和第二数据按照垂直切分方式共同组成所述逻辑回归模型的训练样本,所述第一和第二模型按照垂直切分方式共同组成所述逻辑回归模型,所述方法由所述第二数据拥有方执行,所述方法包括:
将所述第二公钥提供给所述第一数据拥有方,以及从所述第一数据拥有方获取所述第一公钥;
使用所述第二模型和所述第二数据,确定所述第二数据拥有方处的第二预测值;
使用所述第一公钥对所述第二预测值进行加密,得到第二加密预测值,并从所述第一数据拥有方获取第一加密预测值,所述第一加密预测值是在所述第一数据拥有方处对根据所述第一模型和所述第一数据确定出的第一预测值,使用所述第一公钥加密而得到;
计算所述第一和第二数据拥有方处的加密后的预测值的预测值和值;
使用所述预测值和值以及所述标签值,根据多阶多项式公式展开来确定第一加密预测差值;
使用所述第一加密预测差值和所述第二数据,确定第一加密梯度信息;
生成第一随机数和第二随机数;
确定所述第一加密预测差值与所述第二随机数经过同态加密求和得到的第一和值、所述第一加密梯度信息与所述第一随机数经过同态加密求和得到的第二和值以及加密随机数,并将所述第一和值、所述第二和值以及所述加密随机数提供给所述第一数据拥有方,所述加密随机数通过使用所述第二公钥对所述第二随机数进行加密得到;
从所述第一数据拥有方获取解密后的第二和值以及第二加密梯度信息,其中,所述第二加密梯度信息在所述第一数据拥有方处根据所述加密随机数、所述第一数据以及所述第一数据拥有方处生成的第三随机数确定;
使用解密后的第二和值和所述第一随机数,确定所述第二数据拥有方处的第二梯度信息;
使用所述第二私钥对所述第二加密梯度信息进行解密,得到第四梯度信息并提供给所述第一数据拥有方;以及
使用所述第二梯度信息更新所述第二数据拥有方处的第二模型。
6.一种用于经由第一和第二数据拥有方协同训练逻辑回归模型的装置,第一数据拥有方具有第一模型、第一数据、第一公钥和第一私钥,第二数据拥有方具有第二模型、第二数据、第二公钥、第二私钥和标签值,所述第一和第二数据按照垂直切分方式共同组成所述逻辑回归模型的训练样本,所述第一和第二模型按照垂直切分方式共同组成所述逻辑回归模型,所述装置应用于所述第一数据拥有方,所述装置包括:
密钥共享单元,将所述第一公钥提供给所述第二数据拥有方,以及从所述第二数据拥有方获取所述第二公钥;
预测值确定单元,使用所述第一模型和所述第一数据,确定所述第一数据拥有方处的第一预测值;
加密单元,使用所述第一公钥来对所述第一预测值进行加密,得到第一加密预测值,并将所述第一加密预测值提供给所述第二数据拥有方;
梯度信息确定单元,在所述第一数据拥有方和所述第二数据拥有方之间,利用第一加密预测差值以及第一加密梯度信息,使用同态加密算法确定所述第一数据拥有方处的第一梯度信息和所述第二数据拥有方处的第二梯度信息;以及
模型更新单元,使用所述第一梯度信息更新所述第一数据拥有方处的第一模型,
其中,所述梯度信息确定单元包括:
获取模块,从所述第二数据拥有方获取第一和值、第二和值以及加密随机数,其中,所述第一和值是第一加密预测差值与第二随机数经过同态加密求和得到的和值,所述第二和值是第一加密梯度信息与第一随机数经过同态加密求和得到的和值,所述加密随机数通过使用所述第二公钥对所述第二随机数进行加密得到,所述第一随机数和第二随机数在所述第二数据拥有方处生成,所述第一加密预测差值和所述第一加密梯度信息在所述第二数据拥有方处根据所述第一和第二数据拥有方处的加密后的预测值确定出;
解密模块,使用所述第一私钥来对所述第一和值和所述第二和值进行解密,并将解密后的第二和值提供给所述第二数据拥有方;
第一梯度信息确定模块,使用解密后的第一和值和所述第一数据,确定所述第一数据拥有方处的第三梯度信息;
随机数生成模块,生成第三随机数;
第二梯度信息确定模块,使用所述加密随机数、所述第一数据以及所述第三随机数,确定第二加密梯度信息并发送给所述第二数据拥有方;以及
第三梯度信息确定模块,使用所述第三随机数、所述第三梯度信息以及从所述第二数据拥有方获取的第四梯度信息,确定所述第一数据拥有方处的第一梯度信息,所述第四梯度信息是在所述第二数据拥有方处使用所述第二私钥对所述第二加密梯度信息进行解密而得到,
其中,所述第一加密预测差值和所述第一加密梯度信息是在所述第二数据拥有方处按照下述方式确定出:
计算所述第一和第二数据拥有方处的加密后的预测值的预测值和值;
使用所述预测值和值以及所述标签值,根据多阶多项式公式展开来确定第一加密预测差值;以及
使用所述第一加密预测差值和所述第二数据,确定第一加密梯度信息。
7.一种用于经由第一和第二数据拥有方协同训练逻辑回归模型的装置,第一数据拥有方具有第一模型、第一数据、第一公钥和第一私钥,第二数据拥有方具有第二模型、第二数据、第二公钥、第二私钥和标签值,所述第一和第二数据按照垂直切分方式共同组成所述逻辑回归模型的训练样本,所述第一和第二模型按照垂直切分方式共同组成所述逻辑回归模型,所述装置应用于所述第二数据拥有方,所述装置包括:
密钥共享单元,将所述第二公钥提供给所述第一数据拥有方,以及从所述第一数据拥有方获取所述第一公钥;
预测值确定单元,使用所述第二模型和所述第二数据,确定所述第二数据拥有方处的第二预测值;
加密单元,使用所述第一公钥对所述第二预测值进行加密,得到第二加密预测值;
预测值获取单元,从所述第一数据拥有方获取第一加密预测值,所述第一加密预测值是在所述第一数据拥有方处对根据所述第一模型和所述第一数据确定出的第一预测值,使用所述第一公钥加密而得到;
预测差值确定单元,根据所述第一加密预测值和所述第二加密预测值,确定所述逻辑回归模型的第一加密预测差值;
第一梯度信息确定单元,根据所述第一加密预测差值和所述第二数据,确定所述逻辑回归模型的第一加密梯度信息;
第二梯度信息确定单元,在所述第一数据拥有方和所述第二数据拥有方之间,利用所述第一加密预测差值和第一加密梯度信息,使用同态加密算法来确定所述第一数据拥有方处的第一梯度信息和所述第二数据拥有方处的第二梯度信息;以及
模型更新单元,使用所述第二梯度信息更新所述第二数据拥有方处的第二模型,
其中,所述第二梯度信息确定单元包括:
随机数生成模块,生成第一随机数和第二随机数;
和值确定模块,确定所述第一加密预测差值与所述第二随机数经过同态加密求和得到的第一和值以及所述第一加密梯度信息与所述第一随机数经过同态加密求和得到的第二和值,并将所述第一和值和所述第二和值提供给所述第一数据拥有方;
加密模块,使用所述第二公钥对所述第二随机数进行加密得到加密随机数,并将所述加密随机数提供给所述第一数据拥有方;
获取模块,从所述第一数据拥有方获取解密后的第二和值以及第二加密梯度信息,其中,所述第二加密梯度信息在所述第一数据拥有方处根据所述加密随机数、所述第一数据以及所述第一数据拥有方处生成的第三随机数确定;以及
梯度信息确定模块,使用解密后的第二和值和所述第一随机数,确定所述第二数据拥有方处的第二梯度信息,以及使用所述第二私钥对所述第二加密梯度信息进行解密,得到第四梯度信息,并将所述第四梯度信息提供给所述第一数据拥有方,
其中,所述预测差值确定单元包括:
预测值和值计算模块,计算所述第一和第二数据拥有方处的加密后的预测值的预测值和值;
预测差值确定模块,使用所述预测值和值以及所述标签值,根据多阶多项式公式展开来确定所述第一加密预测差值。
8.如权利要求7所述的装置,其中,所述多阶多项式公式展开包括泰勒级数展开。
9.一种用于经由第一和第二数据拥有方协同训练逻辑回归模型的系统,第一数据拥有方具有第一模型、第一数据、第一公钥和第一私钥,第二数据拥有方具有第二模型、第二数据、第二公钥、第二私钥和标签值,所述第一和第二数据按照垂直切分方式共同组成所述逻辑回归模型的训练样本,所述第一和第二模型按照垂直切分方式共同组成所述逻辑回归模型,所述系统包括:
第一数据拥有方设备,包括如权利要求6所述的装置;以及
第二数据拥有方设备,包括如权利要求7所述的装置。
10.一种计算设备,包括:
至少一个处理器,以及
与所述至少一个处理器耦合的存储器,所述存储器存储指令,当所述指令被所述至少一个处理器执行时,使得所述至少一个处理器执行如权利要求4所述的方法。
11.一种机器可读存储介质,其存储有可执行指令,所述指令当被执行时使得所述机器执行如权利要求4所述的方法。
12.一种计算设备,包括:
至少一个处理器,以及
与所述至少一个处理器耦合的存储器,所述存储器存储指令,当所述指令被所述至少一个处理器执行时,使得所述至少一个处理器执行如权利要求5所述的方法。
13.一种机器可读存储介质,其存储有可执行指令,所述指令当被执行时使得所述机器执行如权利要求5所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010630881.0A CN111523134B (zh) | 2020-07-03 | 2020-07-03 | 基于同态加密的模型训练方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010630881.0A CN111523134B (zh) | 2020-07-03 | 2020-07-03 | 基于同态加密的模型训练方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111523134A CN111523134A (zh) | 2020-08-11 |
CN111523134B true CN111523134B (zh) | 2020-11-03 |
Family
ID=71910139
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010630881.0A Active CN111523134B (zh) | 2020-07-03 | 2020-07-03 | 基于同态加密的模型训练方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111523134B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111737337B (zh) * | 2020-08-14 | 2020-12-08 | 支付宝(杭州)信息技术有限公司 | 基于数据隐私保护的多方数据转换方法、装置及系统 |
CN111967050B (zh) * | 2020-08-24 | 2023-11-21 | 支付宝(杭州)信息技术有限公司 | 两方数据分组统计方法、装置及系统 |
CN117034000A (zh) * | 2023-03-22 | 2023-11-10 | 浙江明日数据智能有限公司 | 纵向联邦学习的建模方法、装置、存储介质以及电子设备 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111062487B (zh) * | 2019-11-28 | 2021-04-20 | 支付宝(杭州)信息技术有限公司 | 基于数据隐私保护的机器学习模型特征筛选方法及装置 |
CN111125735B (zh) * | 2019-12-20 | 2021-11-02 | 支付宝(杭州)信息技术有限公司 | 一种基于隐私数据进行模型训练的方法及系统 |
CN110929887B (zh) * | 2020-02-17 | 2020-07-03 | 支付宝(杭州)信息技术有限公司 | 逻辑回归模型训练方法、装置及系统 |
-
2020
- 2020-07-03 CN CN202010630881.0A patent/CN111523134B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN111523134A (zh) | 2020-08-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110929870B (zh) | 图神经网络模型训练方法、装置及系统 | |
CN111061963B (zh) | 基于多方安全计算的机器学习模型训练及预测方法、装置 | |
CN111523134B (zh) | 基于同态加密的模型训练方法、装置及系统 | |
CN111523673B (zh) | 模型训练方法、装置及系统 | |
CN111723404B (zh) | 联合训练业务模型的方法及装置 | |
US9077539B2 (en) | Server-aided multi-party protocols | |
CN112052942B (zh) | 神经网络模型训练方法、装置及系统 | |
CN111741020B (zh) | 基于数据隐私保护的公共数据集确定方法、装置及系统 | |
CN110929887B (zh) | 逻辑回归模型训练方法、装置及系统 | |
CN112101531B (zh) | 基于隐私保护的神经网络模型训练方法、装置及系统 | |
CN111523556B (zh) | 模型训练方法、装置及系统 | |
CN112132270A (zh) | 基于隐私保护的神经网络模型训练方法、装置及系统 | |
CN111737756B (zh) | 经由两个数据拥有方进行的xgb模型预测方法、装置及系统 | |
CN111523674B (zh) | 模型训练方法、装置及系统 | |
CN112183759B (zh) | 模型训练方法、装置及系统 | |
CN112183757B (zh) | 模型训练方法、装置及系统 | |
CN111523675B (zh) | 模型训练方法、装置及系统 | |
CN111738453B (zh) | 基于样本加权的业务模型训练方法、装置及系统 | |
EP3364397B1 (en) | Secret authentication code adding device, secret authentification code adding method, and program | |
CN113992393B (zh) | 用于纵向联邦学习的模型更新的方法、设备、系统和介质 | |
CN114547684A (zh) | 一种保护隐私数据的多方联合训练树模型的方法及装置 | |
Ziegeldorf et al. | SHIELD: A framework for efficient and secure machine learning classification in constrained environments | |
CN112183565B (zh) | 模型训练方法、装置及系统 | |
CN112183566B (zh) | 模型训练方法、装置及系统 | |
CN112183564B (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40036319 Country of ref document: HK |