CN112182595A - 基于联邦学习的模型训练方法及装置 - Google Patents

基于联邦学习的模型训练方法及装置 Download PDF

Info

Publication number
CN112182595A
CN112182595A CN201910597881.2A CN201910597881A CN112182595A CN 112182595 A CN112182595 A CN 112182595A CN 201910597881 A CN201910597881 A CN 201910597881A CN 112182595 A CN112182595 A CN 112182595A
Authority
CN
China
Prior art keywords
value
data provider
model parameter
gradient
independent variable
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
CN201910597881.2A
Other languages
English (en)
Other versions
CN112182595B (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.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and 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 Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN201910597881.2A priority Critical patent/CN112182595B/zh
Priority to US16/921,207 priority patent/US20210004718A1/en
Publication of CN112182595A publication Critical patent/CN112182595A/zh
Application granted granted Critical
Publication of CN112182595B publication Critical patent/CN112182595B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • H04L9/3073Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves involving pairings, e.g. identity based encryption [IBE], bilinear mappings or bilinear pairings, e.g. Weil or Tate pairing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2107File encryption

Abstract

本发明实施例提出一种基于联邦学习的模型训练方法及装置。所述方法包括:接收第二数据提供方发送的第二原始自变量计算值;所述第二原始自变量计算值为第二数据提供方根据第二原始自变量和第二模型参数计算得到;根据第一数据提供方的第一模型参数初始值、第一原始自变量和所述第二原始自变量计算值,计算因变量估计值;计算所述第一数据提供方的因变量与所述因变量估计值的差值;根据所述差值,计算损失函数对第一模型参数的梯度值;根据所述损失函数对第一模型参数的梯度值更新第一模型参数。

Description

基于联邦学习的模型训练方法及装置
技术领域
本发明涉及计算机技术领域,尤其涉及一种基于联邦学习的模型训练方法及装置。
背景技术
随着互联网技术的发展,数据共享也越来越普遍。不同的数据拥有方可能相互之间都有数据共享的需求。为了在数据共享的时候实现数据不可见,但数据价值可见,提出了联邦学习的概念。
联邦学习是一种新型的分布式学习机制,它允许在不同的数据提供者所有的离散数据语料库的基础上进行模型训练,同时无需分享或泄露原始数据。根据数据分布的特征,联邦学习可以分为三种:横向联邦学习、纵向联邦学习和联邦转移学习。
在纵向联邦学习中,两个数据提供方将数据发送到一个第三方协作者处,由第三方协作者将相关模型参数和公共密钥发送到两个数据提供方,这两个数据提供方同时也是数据接收方。在此数据共享涉及了三方,需要第三方协作者为两个数据提供方所信任且不存在数据泄露的危险。协作者模式基于一个强假设:数据提供方和数据需求方均对第三方协作者信任,第三方协作者不会以任何形式主动或者被动泄露数据。但这个强假设是非常难以办到的。
发明内容
本发明实施例提供一种基于联邦学习的模型训练方法及装置,以解决现有技术中的一个或多个技术问题。
第一方面,本发明实施例提供了一种基于联邦学习的模型训练方法,包括:
接收第二数据提供方发送的第二原始自变量计算值;所述第二原始自变量计算值为第二数据提供方根据第二原始自变量和第二模型参数计算得到;
根据第一数据提供方的第一模型参数初始值、第一原始自变量和所述第二原始自变量计算值,计算因变量估计值;
计算所述第一数据提供方的因变量与所述因变量估计值的差值;
根据所述差值,计算损失函数对第一模型参数的梯度值;
根据所述损失函数对第一模型参数的梯度值更新第一模型参数。
在一种实施方式中,接收所述第二数据提供方发送的第二原始数据计算值之前,还包括:
产生一对密钥,将所述密钥中的公钥发送给第二数据提供方;
计算所述第一数据提供方的因变量与所述因变量估计值的差值之后,还包括:
利用所述密钥中的私钥对所述差值进行加密,得到加密差值并发送到第二数据提供方;
接收第二数据提供方发送的损失函数对第二模型参数的梯度加密值,所述损失函数对第二模型参数的梯度加密值为所述第二数据提供方利用所述公钥,对随机数和所述加密差值计算得到;
利用所述密钥中的私钥对所述损失函数对第二模型参数的梯度加密值,得到损失函数对第二模型参数的梯度值与所述随机数之和;
将所述损失函数对第二模型参数的梯度值与所述随机数之和发送到所述第二数据提供方。
在一种实施方式中,根据第一数据提供方的第一模型参数初始值、第一原始自变量和所述第二原始自变量计算值,计算因变量估计值,包括:
根据第一数据提供方的第一模型参数初始值和第一原始自变量,获得第一原始自变量计算值;
将所述第一原始自变量计算值和所述第二原始自变量计算值相加,得到自变量;
对所述自变量取sigmoid函数值,得到所述因变量估计值。
在一种实施方式中,根据所述差值,计算损失函数对第一模型参数的梯度值,包括:
根据下述公式,计算所述损失函数对所述第一模型参数的梯度值:
Figure BDA0002117754200000031
其中,n为因变量个数,yi为原始因变量,
Figure BDA0002117754200000032
为第一原始自变量,hΘ(xi1)为所述因变量估计值,xi1为所述自变量。
在一种实施方式中,所述第一数据提供方设置有参数服务器和多个工作节点。
第二方面,本发明实施例提供一种基于联邦学习的模型训练方法,包括:
根据第二模型参数和第二数据提供方的第二原始自变量,获得第二原始自变量计算值;
将所述第二原始自变量计算值发送给第一数据提供方;
接收第一数据提供方发送的因变量与因变量估计值的加密差值;所述加密差值为第一数据提供方利用私钥加密得到;所述差值为第一数据提供方根据第一数据提供方的因变量、第一数据提供方的第一自变量计算值以及所述第二原始自变量计算值计算得到;
利用接收第一数据提供方发送的公钥、所述加密差值、第二数据提供方的第二原始自变量和随机数,计算得到损失函数对第二模型参数的梯度加密值;
将所述损失函数对第二模型参数的梯度加密值发送到第一数据提供方;
接收所述第一数据提供方发送的所述损失函数对第二模型参数的梯度值与所述随机数之和;所述损失函数对第二模型参数的梯度值与所述随机数之和,为第一数据提供方利用所述私钥对所述损失函数对第二模型参数的梯度加密值解密得到;
根据所述损失函数对第二模型参数的梯度值,更新所述第二模型参数。
在一种实施方式中,利用接收第一数据提供方发送的公钥、所述加密差值、第二数据提供方的第二原始自变量和随机数,计算得到损失函数对第二模型参数的梯度加密值,包括:
利用第一数据提供方发送的公钥和下述公式,计算损失函数对第二模型参数的梯度加密值:
Figure BDA0002117754200000033
n为因变量个数,yi为因变量,
Figure BDA0002117754200000041
为第二原始自变量,hΘ(xi1)为所述因变量估计值,xi1为所述自变量之和,[[]]表示同态加密。
在一种实施方式中,所述第二数据提供方设置有参数服务器和多个工作节点。
第三方面,本发明实施例提供一种基于联邦学习的模型训练装置,包括:
第二原始自变量计算值接收模块:用于接收第二数据提供方发送的第二原始自变量计算值;所述第二原始自变量计算值为第二数据提供方根据第二原始自变量和第二模型参数计算得到;
因变量估计值计算模块:用于根据第一数据提供方的第一模型参数初始值、第一原始自变量和所述第二原始自变量计算值,计算因变量估计值;
差值计算模块:用于计算所述第一数据提供方的因变量与所述因变量估计值的差值;
第一梯度值计算模块:用于根据所述差值,计算损失函数对第一模型参数的梯度值;
第一模型参数更新模块:用于根据所述损失函数对第一模型参数的梯度值更新第一模型参数。
在一种实施方式中,所述装置还包括:
密钥模块:用于产生一对密钥,将所述密钥中的公钥发送给第二数据提供方;
加密模块:用于利用所述密钥中的私钥对所述差值进行加密,得到加密差值并发送到第二数据提供方;
梯度加密值接收模块;用于接收第二数据提供方发送的损失函数对第二模型参数的梯度加密值,所述损失函数对第二模型参数的梯度加密值为所述第二数据提供方利用所述公钥,对随机数和所述加密差值计算得到;
解密模块:用于利用所述密钥中的私钥对所述损失函数对第二模型参数的梯度加密值,得到损失函数对第二模型参数的梯度值与所述随机数之和;
解密值发送模块:用于将所述损失函数对第二模型参数的梯度值与所述随机数之和发送到所述第二数据提供方。
在一种实施方式中,所述因变量估计值计算模块包括:
第一原始自变量计算单元:用于根据第一数据提供方的第一模型参数初始值和第一原始自变量,获得第一原始自变量计算值;
自变量计算单元:用于将所述第一原始自变量计算值和所述第二原始自变量计算值相加,得到自变量;
因变量估计值计算单元:用于对所述自变量取sigmoid函数值,得到所述因变量估计值。
在一种实施方式中,所述第一梯度值计算模块还用于:
根据下述公式,计算所述损失函数对所述第一模型参数的梯度值:
Figure BDA0002117754200000051
其中,n为因变量个数,yi为原始因变量,
Figure BDA0002117754200000052
为第一原始自变量,hΘ(xi1)为所述因变量估计值,xi1为所述自变量。
在一种实施方式中,所述第一数据提供方设置有参数服务器和多个工作节点。
第四方面,本发明实施例提供一种基于联邦学习的模型训练装置,包括:
第二原始自变量计算模块:用于根据第二模型参数和第二数据提供方的第二原始自变量,获得第二原始自变量计算值;
第二原始自变量计算值发送模块:用于将所述第二原始自变量计算值发送给第一数据提供方;
加密差值发送模块:用于接收第一数据提供方发送的因变量与因变量估计值的加密差值;所述加密差值为第一数据提供方利用所述私钥加密得到;所述差值为第一数据提供方根据第一数据提供方的因变量、第一数据提供方的第一自变量计算值以及所述第二原始自变量计算值计算得到;
梯度加密值计算模块:用于利用接收第一数据提供方发送的公钥、所述加密差值、第二数据提供方的第二原始自变量和随机数,计算得到损失函数对第二模型参数的梯度加密值;
梯度加密值发送模块:用于将所述损失函数对第二模型参数的梯度加密值发送到第一数据提供方;
解密值接收模块:用于接收所述第一数据提供方发送的所述损失函数对第二模型参数的梯度值与所述随机数之和;所述损失函数对第二模型参数的梯度值与所述随机数之和,为第一数据提供方利用私钥对所述损失函数对第二模型参数的梯度加密值解密得到;
第二模型参数更新模块:用于根据所述损失函数对第二模型参数的梯度值,更新所述第二模型参数。
在一种实施方式中,所述梯度加密值计算模块还用于:
利用第一数据提供方发送的公钥和下述公式,计算损失函数对第二模型参数的梯度加密值:
Figure BDA0002117754200000061
n为因变量个数,yi为因变量,
Figure BDA0002117754200000062
为第二原始自变量,hΘ(xi1)为所述因变量估计值,xi1为所述自变量之和。
在一种实施方式中,所述第二数据提供方设置有参数服务器和多个工作节点。
第五方面,本发明实施例提供了一种基于联邦学习的模型训练设备,所述设备的功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
在一个可能的设计中,所述设备的结构中包括处理器和存储器,所述存储器用于存储支持所述设备执行上述模型训练方法的程序,所述处理器被配置为用于执行所述存储器中存储的程序。所述设备还可以包括通信接口,用于与其他设备或通信网络通信。
第六方面,本发明实施例提供了一种计算机可读存储介质,用于存储模型训练装置所用的计算机软件指令,其包括用于执行上述模型训练方法所涉及的程序。
上述技术方案中的一个技术方案具有如下优点或有益效果:本发明实施例中,数据仅需要在第一数据提供方和第二数据提供方之间交换,第一数据提供方拥有第一模型参数、第一原始自变量和因变量,第二数据提供方拥有第二模型参数、第二原始自变量。第一数据提供方和第一数据提供方相互不知晓对方的数据。第一数据提供方更新第一模型参数时,需要使用第二数据提供方的第二原始自变量,而第二数据提供方发送给第一数据提供方的数值为根据第二原始自变量和第二模型参数计算得到的,第以数据提供方无法根据一个第二自变量计算值反算出第二原始自变量和第二模型参数。从而在没有第三方协作者的情况下,能够保证第二数据提供方发送给第一数据提供方的数据的安全。
在本发明实施例中,由于第二原始自变量计算值根据第二数据提供方的第二原始自变量和第二模型参数计算得到,第一数据提供方在不预先知晓第二原始自变量或者第二模型参数的情况下,无法根据第二原始自变量计算值获得第二原始自变量和第二模型参数,从而保证了第二数据提供方的数据的安全性。同时,第二数据提供方能够利用公钥对第一数据提供方发送的数据进行计算,而不用知晓第一数据提供方的原始数据,从而保证了第一数据提供方的原始数据的安全性。发送给第一数据提供方的损失函数对第二模型参数的梯度加密值中包含随机数,这一随机数仅仅由第二数据提供方知晓,因此,第一数据提供方在对损失函数对第二模型参数的梯度值进行解密后,也无法知晓损失函数对第二模型参数的梯度值,从而保证第二数据提供方的数据安全。
上述概述仅仅是为了说明书的目的,并不意图以任何方式进行限制。除上述描述的示意性的方面、实施方式和特征之外,通过参考附图和以下的详细描述,本发明进一步的方面、实施方式和特征将会是容易明白的。
附图说明
在附图中,除非另外规定,否则贯穿多个附图相同的附图标记表示相同或相似的部件或元素。这些附图不一定是按照比例绘制的。应该理解,这些附图仅描绘了根据本发明公开的一些实施方式,而不应将其视为是对本发明范围的限制。
图1示出根据本发明实施例的基于联邦学习的模型训练方法的流程图。
图2示出根据本发明实施例的基于联邦学习的模型训练方法的流程图。
图3示出根据本发明实施例的基于联邦学习的模型训练方法的流程图。
图4示出根据本发明实施例的基于联邦学习的模型训练方法的流程图。
图5示出本发明实施例的模型训练过程中数据发送图。
图6示出根据本发明实施例的基于联邦学习的模型训练装置的结构框图。
图7示出根据本发明实施例的基于联邦学习的模型训练装置的结构框图。
图8示出根据本发明实施例的基于联邦学习的模型训练设备的结构框图。
具体实施方式
在下文中,仅简单地描述了某些示例性实施例。正如本领域技术人员可认识到的那样,在不脱离本发明的精神或范围的情况下,可通过各种不同方式修改所描述的实施例。因此,附图和描述被认为本质上是示例性的而非限制性的。
图1示出根据本发明实施例的基于联邦学习的模型训练方法的流程图。如图1所示,该模型训练方法包括:
步骤S11:接收第二数据提供方发送的第二原始自变量计算值。所述第二原始自变量计算值为第二数据提供方根据第二原始自变量和第二模型参数计算得到。
步骤S12:根据第一数据提供方的第一模型参数初始值、第一原始自变量和所述第二原始自变量计算值,计算因变量估计值。
步骤S13:计算所述第一数据提供方的因变量与所述因变量估计值的差值。
步骤S14:根据所述差值,计算损失函数对第一模型参数的梯度值。
步骤S15:根据所述损失函数对第一模型参数的梯度值更新第一模型参数。
在本发明实施例中,第一数据提供方可以是信息需求方,需要从第一数据提供方自身所拥有的数据和第二数据提供方所拥有的数据中获得的信息为因变量。在第一数据提供方的原始数据中,自变量和因变量。在第二数据提供方的原始数据中包括自变量,且第一数据提供方的自变量和第二数据提供方的自变量,与原始因变量之间存在一定的联系。第一自变量根据第一数据提供方提供的自变量计算得到,第二自变量根据第二数据提供方提供的自变量计算得到。在已知第一自变量、第二自变量的情况下,能够得到一个推算的因变量,这个推算的因变量和因变量之间存在一定的接近度。
比如,金融公司A和网络公司B分别为第一数据提供方和第二数据提供方,金融公司A需要得知某个新的贷款者还款的可能性。而第一数据提供方的原始数据中记录着多个贷款方的基本信息,例如性别年龄等,还记录有还款情况。第二数据提供方的原始数据中包括与第一数据提供方的原始数据中记的多个贷款方在网页上搜索贷款信息的记录、使用某个在线产品的注册时间等信息。根据这两个数据提供方提供的原始数据,可以从贷款方的基本信息、搜索记录等自变量与还款情况的因变量之间的关系。利用第一数据提供方和第二数据提供方提供的原始数据训练模型,可以根据新的贷款者的基本信息和网页搜索记录等自变量,预测出该贷款者的还款的可能性。
本发明实施例中,数据仅需要在第一数据提供方和第二数据提供方之间交换,第一数据提供方拥有第一模型参数、第一原始自变量和因变量,第二数据提供方拥有第二模型参数、第二原始自变量。第一数据提供方和第一数据提供方相互不知晓对方的数据。第一数据提供方更新第一模型参数时,需要使用第二数据提供方的第二原始自变量,而第二数据提供方发送给第一数据提供方的数值为根据第二原始自变量和第二模型参数计算得到的,第以数据提供方无法根据一个第二自变量计算值反算出第二原始自变量和第二模型参数。从而在没有第三方协作者的情况下,能够保证第二数据提供方发送给第一数据提供方的数据的安全。
在一种实施方式中,接收所述第二数据提供方发送的第二原始数据计算值之前,还包括:
产生一对密钥,将所述密钥中的公钥发送给第二数据提供方;
计算所述第一数据提供方的因变量与所述因变量估计值的差值之后,还包括:
利用所述密钥中的私钥对所述差值进行加密,得到加密差值并发送到第二数据提供方;
接收第二数据提供方发送的损失函数对第二模型参数的梯度加密值,所述损失函数对第二模型参数的梯度加密值为所述第二数据提供方利用所述公钥,对随机数和所述加密差值计算得到;
利用所述密钥中的私钥对所述损失函数对第二模型参数的梯度加密值,得到损失函数对第二模型参数的梯度值与所述随机数之和;
将所述损失函数对第二模型参数的梯度值与所述随机数之和发送到所述第二数据提供方。
在本发明实施例中,由于第一数据提供方需要发送给第二数据提供方的数据为因变量与所述因变量估计值的差值,其中包含因变量,为了保证第一数据提供方的原始数据的安全性,利用密钥对第一数据提供方发送给第二数据提供方的数据进行加密。密钥由产生密钥的一方持有,包括私钥和公钥。利用私钥可以对数据进行加密,利用公钥可以对私钥加密的数据进行计算。因而,本发明实施例能够保证对差值进行加密,并且将公钥发送给第二数据提供方,保证第二数据提供方能够在不知晓第一数据提供方的原始数据的情况下对第一数据提供方的数据进行计算,保证第一数据提供方的第一原始自变量和因变量的安全性。
在一种实施方式中,根据第一数据提供方的第一模型参数初始值、第一原始自变量和所述第二原始自变量计算值,计算因变量估计值,包括:
根据第一数据提供方的第一模型参数初始值和第一原始自变量,获得第一原始自变量计算值;
将所述第一原始自变量计算值和所述第二原始自变量计算值相加,得到自变量;
对所述自变量取sigmoid函数值,得到所述因变量估计值。Sigmoid函数是一个在生物学中常见的S型函数,也称为S型生长曲线,可以将一个实数映射到(0,1)的区间,也可以用来做二分类,具有平滑、易于求导的优点。
在本发明实施例中,假设自变量之和为Θx,估计函数为:
Figure BDA0002117754200000101
其中,e为自然常数。
在本发明具体实施例中,所述第一原始自变量计算值的计算公式为:
Figure BDA0002117754200000102
其中,ΘA为第一模型参数,
Figure BDA0002117754200000103
为第一原始自变量。所述第二原始自变量计算值的计算公式为:
Figure BDA0002117754200000104
其中,ΘB为第二模型参数,
Figure BDA0002117754200000105
为第二原始自变量。
在上述实施例的计算方式下,自变量之和为
Figure BDA0002117754200000106
在一种实施方式中,根据所述差值,计算损失函数对第一模型参数的梯度值,包括:
根据下述公式,计算所述损失函数对所述第一模型参数的梯度值:
Figure BDA0002117754200000111
其中,n为因变量个数,yi为原始因变量,
Figure BDA0002117754200000112
为第一原始自变量,hΘ(xi1)为所述因变量估计值,xi1为所述自变量。
在一种实施方式中,所述第一数据提供方设置有参数服务器和多个工作节点。
在本发明实施例中,数据提供方设置的工作节点越多,每轮训练花费的时间越少。本发明实施例提供一种分布式的联邦学习的实现框架,通过第一数据提供方的原始数据和第二数据提供方的原始数据进行模型训练,在原始数据不出本地的情况下,生成逻辑斯底回归算法(Logistic Regression,LR)模型,可通过模型服务实现数据的商业价值。
本发明实施例还提供一种基于联邦学习的模型训练方法,如图2所示,包括:
步骤S21:根据第二模型参数和第二数据提供方的第二原始自变量,获得第二原始自变量计算值。
步骤S22:将所述第二原始自变量计算值发送给第一数据提供方。
步骤S23:接收第一数据提供方发送的因变量与因变量估计值的加密差值;所述加密差值为第一数据提供方利用私钥加密得到;所述差值为第一数据提供方根据第一数据提供方的因变量、第一数据提供方的第一自变量计算值以及所述第二原始自变量计算值计算得到。
步骤S24:利用接收第一数据提供方发送的公钥、所述加密差值、第二数据提供方的第二原始自变量和随机数,计算得到损失函数对第二模型参数的梯度加密值。
步骤S25:将所述损失函数对第二模型参数的梯度加密值发送到第一数据提供方。
步骤S26:接收所述第一数据提供方发送的所述损失函数对第二模型参数的梯度值与所述随机数之和;所述损失函数对第二模型参数的梯度值与所述随机数之和,为第一数据提供方利用私钥对所述损失函数对第二模型参数的梯度加密值解密得到。
步骤S27:根据所述损失函数对第二模型参数的梯度值,更新所述第二模型参数。
在本发明实施例中,由于第二原始自变量计算值根据第二数据提供方的第二原始自变量和第二模型参数计算得到,第一数据提供方在不预先知晓第二原始自变量或者第二模型参数的情况下,无法根据第二原始自变量计算值获得第二原始自变量和第二模型参数,从而保证了第二数据提供方的数据的安全性。同时,第二数据提供方能够利用公钥对第一数据提供方发送的数据进行计算,而不用知晓第一数据提供方的原始数据,从而保证了第一数据提供方的原始数据的安全性。发送给第一数据提供方的损失函数对第二模型参数的梯度加密值中包含随机数,这一随机数仅仅由第二数据提供方知晓,因此,第一数据提供方在对损失函数对第二模型参数的梯度值进行解密后,也无法知晓损失函数对第二模型参数的梯度值,从而保证第二数据提供方的数据安全。
在本发明实施例中,可在第一数据提供方和第二数据提供方处分别训练一个子模型,在预测阶段,分别采用两个子模型获得一个预测结果,然后将预测结果整合为一个预测结果。
在一种实施方式中,利用接收第一数据提供方发送的公钥、所述加密差值、第二数据提供方的第二原始自变量和随机数,计算得到损失函数对第二模型参数的梯度加密值,包括:
利用第一数据提供方发送的公钥和下述公式,计算损失函数对第二模型参数的梯度加密值:
Figure BDA0002117754200000121
n为因变量个数,yi为因变量,
Figure BDA0002117754200000122
为第二原始自变量,hΘ(xi1)为所述因变量估计值,xi1为所述自变量之和,[[]]表示同态加密。
在一种实施方式中,所述第二数据提供方设置有参数服务器和多个工作节点。
本发明实施例能够根据第一数据提供方提供的原始数据和第二数据提供方提供的原始数据,对数据需求方所需要的信息进行估算,然后根据估算结果和实际的原始因变量之间的差值,计算损失函数相应的梯度值,根据梯度值更新模型参数,相当于根据估算结果和实际的原始因变量之间的差值更新模型参数。从而使得模型经过训练后,计算的估计函数与实际的原始因变量更加接近。使用本发明实施例提供的模型训练方法训练的模型,能够根据已知自变量对因变量进行估计,为数据需求方提供需要的信息。在联邦学习技术中,无需使用第三方协作者,也能够实现数据提供方和数据需求方之间的数据共享,同时保证数据的私密性。
在本发明一种示例中,本发明实施例提供的模型训练方法,在第一数据提供方和第二数据提供方两侧进行模型训练。在第一数据提供方执行的模型训练方法包括如图3所示的步骤:
步骤S31:创建一对秘钥,将密钥中的公共秘钥,也就是公钥发送给第二数据提供方。
步骤S32:初始化第一模型参数,根据第一模型参数计算第一自变量
Figure BDA0002117754200000131
以及接收第二数据提供方发送的第二自变量
Figure BDA0002117754200000132
步骤S33:根据第二自变量和第一数据提供方的第一自变量
Figure BDA0002117754200000133
计算自变量之和
Figure BDA0002117754200000134
步骤S34:根据自变量之和和估计函数,计算因变量估计值
Figure BDA0002117754200000135
步骤S35:计算第一数据提供方原始数据中的原始因变量和因变量估计值之差,得到残差,利用私钥进行加密后,将加密的残差
Figure BDA0002117754200000136
发送给第二数据提供方。
步骤S36:根据残差和下述公式,计算损失函数对所述第一模型参数的梯度值
Figure BDA0002117754200000137
以及损失量L:
Figure BDA0002117754200000138
n为因变量个数,yi为原始因变量,
Figure BDA0002117754200000139
为第一原始自变量,hΘ(xi1)为所述因变量估计值,xi1为所述自变量之和。
步骤S37:接收第二数据提供方发送的损失函数对第二模型参数的梯度加密值
Figure BDA00021177542000001310
和随机数加密值[[RB]]之和,对其解密,得到损失函数对第二模型参数的梯度值
Figure BDA0002117754200000141
和随机数之和
Figure BDA0002117754200000142
并将
Figure BDA0002117754200000143
发送给第二数据提供方。
步骤S38:根据损失函数对第一模型参数的梯度值和损失函数对第二模型参数的梯度值,更新第一模型参数。
在本发明实施例中,根据原始数据中的记录,原始因变量值可以为0或1,表示否或是。例如,贷款方是否还款。因变量估计值为根据原始数据预测的贷款方还款的概率,若接近原始因变量,则表示模型预测准确率高。
在第二数据提供方执行的模型训练方法包括如图4所示的步骤:
步骤S41:初始化第二模型参数,根据第二模型参数,计算第二自变量
Figure BDA0002117754200000144
并发送给第二数据提供方。
步骤S42:接收第一数据提供方发送给第二数据提供方的残差加密值。
步骤S43:根据残差加密值和下述公式,计算损失函数对第二模型参数的梯度加密值
Figure BDA0002117754200000145
生成随机数RB,将随机数加密,得到随机数加密值[[RB]]:
Figure BDA0002117754200000146
n为因变量个数,yi为原始因变量,
Figure BDA0002117754200000147
为第二原始自变量,hΘ(xi1)为所述因变量估计值,xi1为所述自变量之和。
步骤S44:将损失函数对第二模型参数的梯度加密值
Figure BDA0002117754200000148
和随机数加密值[[RB]]之和发送到第一数据提供方。
步骤S45:接收第一数据提供方解密的损失函数对第二模型参数的梯度值和随机数之和
Figure BDA0002117754200000149
并根据损失函数对第二模型参数的梯度值更新第二模型参数。
在本发明实施例中,[[]]表示同态加密,加密的数据在没有私钥的情况下不可被反解。
由于秘钥对在第一数据提供方处产生,第二数据提供方不知晓私钥,无法对第一数据提供方利用私钥加密的数据进行解密,但是却可以利用第一数据提供方发送的公钥对第一数据提供方发送的加密数据进行计算,计算结果仍然是加密数据,在发送给第一数据提供方进行解密。
图5示出本发明实施例的第一数据提供方和第二数据提供方之间的数据发送过程示意图。包括:
第一数据提供方51向第二数据提供方52发送公钥;
第二数据提供方52计算第二原始自变量计算值,并将其发送到第一数据提供方51;
第一数据提供方向51第二数据提供方52发送因变量和因变量估计值的加密残差;
第二数据提供方52向第一数据提供方51发送损失函数对第二模型参数的梯度加密值;
第一数据提供方51向第二数据提供方52发送对损失函数对第二模型参数的梯度加密值解密后的值。
在本发明示例中,基于联邦学习的模型可以包括两个子模型,第一子模型和第二子模型。可在第一数据提供方处训练第一子模型,在第二数据提供方处训练第二子模型,在最后使用模型预测因变量时,可采用第一子模型和第二子模型同时给出预测结果,最后结合两个子模型的预测结果给出最终预测结果。
采用Mnist手写数字识别的公开数据集和Citeseer科学索引的公开数据集对本发明实施例训练的基于联邦学习的模型进行测试,数据集的数据状况如表1所示。
数据集 数据集特征类型
Mnist 60000 784 连续特征
Citeseer 181395 105354 离散特征
表1
表2示出采用表1中的两个公开数据集对本发明实施例提供的模型进行测试的AUC(Area Under Curve,ROC曲线下与坐标轴围成的面积)值,根据表2可知,本申请实施例训练的模型的训练集的AUC指标和测试集的AUC指标均接近1,表示本发明实施例提供的方法训练的模型具有较好的效果。测试集为测试模型的数据集,训练集为训练模型的数据集。
Figure BDA0002117754200000151
Figure BDA0002117754200000161
表2
本发明实施例各装置中的各模块的功能可以参见上述方法中的对应描述,在此不再赘述。
本发明实施例还提供一种基于联邦学习的模型训练装置,结构如图6所示,包括:
第二原始自变量计算值接收模块61:用于接收第二数据提供方发送的第二原始自变量计算值;所述第二原始自变量计算值为第二数据提供方根据第二原始自变量和第二模型参数计算得到;
因变量估计值计算模块62:用于根据第一数据提供方的第一模型参数初始值、第一原始自变量和所述第二原始自变量计算值,计算因变量估计值;
差值计算模块63:用于计算所述第一数据提供方的因变量与所述因变量估计值的差值;
第一梯度值计算模块64:用于根据所述差值,计算损失函数对第一模型参数的梯度值;
第一模型参数更新模块65:用于根据所述损失函数对第一模型参数的梯度值更新第一模型参数。
在一种实施方式中,所述装置还包括:
密钥模块:用于产生一对密钥,将所述密钥中的公钥发送给第二数据提供方;
加密模块:用于利用所述密钥中的私钥对所述差值进行加密,得到加密差值并发送到第二数据提供方;
梯度加密值接收模块:用于接收第二数据提供方发送的损失函数对第二模型参数的梯度加密值,所述损失函数对第二模型参数的梯度加密值为所述第二数据提供方利用所述公钥,对随机数和所述加密差值计算得到;
解密模块:用于利用所述密钥中的私钥对所述损失函数对第二模型参数的梯度加密值,得到损失函数对第二模型参数的梯度值与所述随机数之和;
解密值发送模块:用于将所述损失函数对第二模型参数的梯度值与所述随机数之和发送到所述第二数据提供方。
在一种实施方式中,所述因变量估计值计算模块包括:
第一原始自变量计算单元:用于根据第一数据提供方的第一模型参数初始值和第一原始自变量,获得第一原始自变量计算值;
自变量计算单元:用于将所述第一原始自变量计算值和所述第二原始自变量计算值相加,得到自变量;
因变量估计值计算单元:用于对所述自变量取sigmoid函数值,得到所述因变量估计值。
在一种实施方式中,所述第一梯度值计算模块还用于:
根据下述公式,计算所述损失函数对所述第一模型参数的梯度值:
Figure BDA0002117754200000171
其中,n为因变量个数,yi为原始因变量,
Figure BDA0002117754200000172
为第一原始自变量,hΘ(xi1)为所述因变量估计值,xi1为所述自变量。
在一种实施方式中,所述第一数据提供方设置有参数服务器和多个工作节点。
本发明实施例还提供一种基于联邦学习的模型训练装置,结构如图7所示,包括:
第二原始自变量计算模块71:用于根据第二模型参数和第二数据提供方的第二原始自变量,获得第二原始自变量计算值;
第二原始自变量计算值发送模块72:用于将所述第二原始自变量计算值发送给第一数据提供方;
加密差值发送模块73:用于接收第一数据提供方发送的因变量与因变量估计值的加密差值;所述加密差值为第一数据提供方利用私钥加密得到;所述差值为第一数据提供方根据第一数据提供方的因变量、第一数据提供方的第一自变量计算值以及所述第二原始自变量计算值计算得到;
梯度加密值计算模块74:用于利用接收第一数据提供方发送的公钥、所述加密差值、第二数据提供方的第二原始自变量和随机数,计算得到损失函数对第二模型参数的梯度加密值;
梯度加密值发送模块75:用于将所述损失函数对第二模型参数的梯度加密值发送到第一数据提供方;
解密值接收模块76:用于接收所述第一数据提供方发送的所述损失函数对第二模型参数的梯度值与所述随机数之和;所述损失函数对第二模型参数的梯度值与所述随机数之和,为第一数据提供方利用私钥对所述损失函数对第二模型参数的梯度加密值解密得到;
第二模型参数更新模块77:用于根据所述损失函数对第二模型参数的梯度值,更新所述第二模型参数。
在一种实施方式中,所述梯度加密值计算模块还用于:
利用第一数据提供方发送的公钥和下述公式,计算损失函数对第二模型参数的梯度加密值:
Figure BDA0002117754200000181
n为因变量个数,yi为因变量,
Figure BDA0002117754200000182
为第二原始自变量,hΘ(xi1)为所述因变量估计值,xi1为所述自变量之和。
在一种实施方式中,所述第二数据提供方设置有参数服务器和多个工作节点。
图8示出根据本发明实施例的设备的结构框图。如图8所示,该装置/设备/终端/服务器包括:存储器910和处理器920,存储器910内存储有可在处理器920上运行的计算机程序。所述处理器920执行所述计算机程序时实现上述实施例中的基于联邦学习的模型训练方法。所述存储器910和处理器920的数量可以为一个或多个。
该装置/设备/终端/服务器还包括:
通信接口930,用于与外界设备进行通信,进行数据交互传输。
存储器910可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
如果存储器910、处理器920和通信接口930独立实现,则存储器910、处理器920和通信接口930可以通过总线相互连接并完成相互间的通信。所述总线可以是工业标准体系结构(ISA,Industry Standard Architecture)总线、外部设备互连(PCI,PeripheralComponentInterconnect)总线或扩展工业标准体系结构(EISA,Extended IndustryStandardArchitecture)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
可选的,在具体实现上,如果存储器910、处理器920及通信接口930集成在一块芯片上,则存储器910、处理器920及通信接口930可以通过内部接口完成相互间的通信。
本发明实施例提供了一种计算机可读存储介质,其存储有计算机程序,该程序被处理器执行时实现上述实施例中任一所述的方法。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读存储介质中。所述存储介质可以是只读存储器,磁盘或光盘等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到其各种变化或替换,这些都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (18)

1.一种基于联邦学习的模型训练方法,其特征在于,包括:
接收第二数据提供方发送的第二原始自变量计算值;所述第二原始自变量计算值为第二数据提供方根据第二原始自变量和第二模型参数计算得到;
根据第一数据提供方的第一模型参数初始值、第一原始自变量和所述第二原始自变量计算值,计算因变量估计值;
计算所述第一数据提供方的因变量与所述因变量估计值的差值;
根据所述差值,计算损失函数对第一模型参数的梯度值;
根据所述损失函数对第一模型参数的梯度值更新第一模型参数。
2.根据权利要求1所述的方法,其特征在于,接收所述第二数据提供方发送的第二原始数据计算值之前,还包括:
产生一对密钥,将所述密钥中的公钥发送给第二数据提供方;
计算所述第一数据提供方的因变量与所述因变量估计值的差值之后,还包括:
利用所述密钥中的私钥对所述差值进行加密,得到加密差值并发送到第二数据提供方;
接收第二数据提供方发送的损失函数对第二模型参数的梯度加密值,所述损失函数对第二模型参数的梯度加密值为所述第二数据提供方利用所述公钥,对随机数和所述加密差值计算得到;
利用所述密钥中的私钥对所述损失函数对第二模型参数的梯度加密值,得到损失函数对第二模型参数的梯度值与所述随机数之和;
将所述损失函数对第二模型参数的梯度值与所述随机数之和发送到所述第二数据提供方。
3.根据权利要求1所述的方法,其特征在于,根据第一数据提供方的第一模型参数初始值、第一原始自变量和所述第二原始自变量计算值,计算因变量估计值,包括:
根据第一数据提供方的第一模型参数初始值和第一原始自变量,获得第一原始自变量计算值;
将所述第一原始自变量计算值和所述第二原始自变量计算值相加,得到自变量;
对所述自变量取sigmoid函数值,得到所述因变量估计值。
4.根据权利要求3所述的方法,其特征在于,根据所述差值,计算损失函数对第一模型参数的梯度值,包括:
根据下述公式,计算所述损失函数对所述第一模型参数的梯度值:
Figure FDA0002117754190000021
其中,n为因变量个数,yi为原始因变量,
Figure FDA0002117754190000022
为第一原始自变量,hΘ(xi1)为所述因变量估计值,xi1为所述自变量。
5.根据权利要求1-4中任意一项所述的方法,其特征在于,所述第一数据提供方设置有参数服务器和多个工作节点。
6.一种基于联邦学习的模型训练方法,其特征在于,包括:
根据第二模型参数和第二数据提供方的第二原始自变量,获得第二原始自变量计算值;
将所述第二原始自变量计算值发送给第一数据提供方;
接收第一数据提供方发送的因变量与因变量估计值的加密差值;所述加密差值为第一数据提供方利用私钥加密得到;所述差值为第一数据提供方根据第一数据提供方的因变量、第一数据提供方的第一自变量计算值以及所述第二原始自变量计算值计算得到;
利用接收第一数据提供方发送的公钥、所述加密差值、第二数据提供方的第二原始自变量和随机数,计算得到损失函数对第二模型参数的梯度加密值;
将所述损失函数对第二模型参数的梯度加密值发送到第一数据提供方;
接收所述第一数据提供方发送的所述损失函数对第二模型参数的梯度值与所述随机数之和;所述损失函数对第二模型参数的梯度值与所述随机数之和,为第一数据提供方利用所述私钥对所述损失函数对第二模型参数的梯度加密值解密得到;
根据所述损失函数对第二模型参数的梯度值,更新所述第二模型参数。
7.根据权利要求6所述的方法,其特征在于,利用接收第一数据提供方发送的公钥、所述加密差值、第二数据提供方的第二原始自变量和随机数,计算得到损失函数对第二模型参数的梯度加密值,包括:
利用第一数据提供方发送的公钥和下述公式,计算损失函数对第二模型参数的梯度加密值:
Figure FDA0002117754190000031
n为因变量个数,yi为因变量,
Figure FDA0002117754190000032
为第二原始自变量,hΘ(xi1)为所述因变量估计值,xi1为所述自变量之和,[[]]表示同态加密。
8.根据权利要求6或7所述的方法,其特征在于,所述第二数据提供方设置有参数服务器和多个工作节点。
9.一种基于联邦学习的模型训练装置,其特征在于,包括:
第二原始自变量计算值接收模块:用于接收第二数据提供方发送的第二原始自变量计算值;所述第二原始自变量计算值为第二数据提供方根据第二原始自变量和第二模型参数计算得到;
因变量估计值计算模块:用于根据第一数据提供方的第一模型参数初始值、第一原始自变量和所述第二原始自变量计算值,计算因变量估计值;
差值计算模块:用于计算所述第一数据提供方的因变量与所述因变量估计值的差值;
第一梯度值计算模块:用于根据所述差值,计算损失函数对第一模型参数的梯度值;
第一模型参数更新模块:用于根据所述损失函数对第一模型参数的梯度值更新第一模型参数。
10.根据权利要求9所述的装置,其特征在于,所述装置还包括:
密钥模块:用于产生一对密钥,将所述密钥中的公钥发送给第二数据提供方;
加密模块:用于利用所述密钥中的私钥对所述差值进行加密,得到加密差值并发送到第二数据提供方;
梯度加密值接收模块:用于接收第二数据提供方发送的损失函数对第二模型参数的梯度加密值,所述损失函数对第二模型参数的梯度加密值为所述第二数据提供方利用所述公钥,对随机数和所述加密差值计算得到;
解密模块:用于利用所述密钥中的私钥对所述损失函数对第二模型参数的梯度加密值,得到损失函数对第二模型参数的梯度值与所述随机数之和;
解密值发送模块:用于将所述损失函数对第二模型参数的梯度值与所述随机数之和发送到所述第二数据提供方。
11.根据权利要求9所述的装置,其特征在于,所述因变量估计值计算模块包括:
第一原始自变量计算单元:用于根据第一数据提供方的第一模型参数初始值和第一原始自变量,获得第一原始自变量计算值;
自变量计算单元:用于将所述第一原始自变量计算值和所述第二原始自变量计算值相加,得到自变量;
因变量估计值计算单元:用于对所述自变量取sigmoid函数值,得到所述因变量估计值。
12.根据权利要求11所述的装置,其特征在于,所述第一梯度值计算模块还用于:
根据下述公式,计算所述损失函数对所述第一模型参数的梯度值:
Figure FDA0002117754190000041
其中,n为因变量个数,yi为原始因变量,
Figure FDA0002117754190000042
为第一原始自变量,hΘ(xi1)为所述因变量估计值,xi1为所述自变量。
13.根据权利要求9-12中任意一项所述的装置,其特征在于,所述第一数据提供方设置有参数服务器和多个工作节点。
14.一种基于联邦学习的模型训练装置,其特征在于,包括:
第二原始自变量计算模块:用于根据第二模型参数和第二数据提供方的第二原始自变量,获得第二原始自变量计算值;
第二原始自变量计算值发送模块:用于将所述第二原始自变量计算值发送给第一数据提供方;
加密差值发送模块:用于接收第一数据提供方发送的因变量与因变量估计值的加密差值;所述加密差值为第一数据提供方利用私钥加密得到;所述差值为第一数据提供方根据第一数据提供方的因变量、第一数据提供方的第一自变量计算值以及所述第二原始自变量计算值计算得到;
梯度加密值计算模块:用于利用接收第一数据提供方发送的公钥、所述加密差值、第二数据提供方的第二原始自变量和随机数,计算得到损失函数对第二模型参数的梯度加密值;
梯度加密值发送模块:用于将所述损失函数对第二模型参数的梯度加密值发送到第一数据提供方;
解密值接收模块:用于接收所述第一数据提供方发送的所述损失函数对第二模型参数的梯度值与所述随机数之和;所述损失函数对第二模型参数的梯度值与所述随机数之和,为第一数据提供方利用所述私钥对所述损失函数对第二模型参数的梯度加密值解密得到;
第二模型参数更新模块:用于根据所述损失函数对第二模型参数的梯度值,更新所述第二模型参数。
15.根据权利要求14所述的装置,其特征在于,所述梯度加密值计算模块还用于:
利用第一数据提供方发送的公钥和下述公式,计算损失函数对第二模型参数的梯度加密值:
Figure FDA0002117754190000051
n为因变量个数,yi为因变量,
Figure FDA0002117754190000052
为第二原始自变量,hΘ(xi1)为所述因变量估计值,xi1为所述自变量之和,[[]]表示同态加密。
16.根据权利要求14或15所述的装置,其特征在于,所述第二数据提供方设置有参数服务器和多个工作节点。
17.一种基于联邦学习的模型训练设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1至8中任一项所述的方法。
18.一种计算机可读存储介质,其存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1至8中任一项所述的方法。
CN201910597881.2A 2019-07-03 2019-07-03 基于联邦学习的模型训练方法及装置 Active CN112182595B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201910597881.2A CN112182595B (zh) 2019-07-03 2019-07-03 基于联邦学习的模型训练方法及装置
US16/921,207 US20210004718A1 (en) 2019-07-03 2020-07-06 Method and device for training a model based on federated learning

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910597881.2A CN112182595B (zh) 2019-07-03 2019-07-03 基于联邦学习的模型训练方法及装置

Publications (2)

Publication Number Publication Date
CN112182595A true CN112182595A (zh) 2021-01-05
CN112182595B CN112182595B (zh) 2024-03-26

Family

ID=73914529

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910597881.2A Active CN112182595B (zh) 2019-07-03 2019-07-03 基于联邦学习的模型训练方法及装置

Country Status (2)

Country Link
US (1) US20210004718A1 (zh)
CN (1) CN112182595B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112347500A (zh) * 2021-01-11 2021-02-09 腾讯科技(深圳)有限公司 分布式系统的机器学习方法、装置、系统、设备及存储介质
CN112906912A (zh) * 2021-04-01 2021-06-04 深圳市洞见智慧科技有限公司 纵向联邦学习中无可信第三方的回归模型训练方法及系统
CN113177674A (zh) * 2021-05-28 2021-07-27 恒安嘉新(北京)科技股份公司 网络诈骗的预警方法、装置、设备及介质
CN113542228A (zh) * 2021-06-18 2021-10-22 腾讯科技(深圳)有限公司 基于联邦学习的数据传输方法、装置以及可读存储介质

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021087073A1 (en) * 2019-10-30 2021-05-06 Via Science, Inc. Secure outsourcing of a multiplication
CN111428276B (zh) * 2020-03-19 2022-08-02 腾讯科技(深圳)有限公司 一种数据处理的方法、装置、设备和介质
US20220210140A1 (en) * 2020-12-30 2022-06-30 Atb Financial Systems and methods for federated learning on blockchain
CN113807534B (zh) * 2021-03-08 2023-09-01 京东科技控股股份有限公司 联邦学习模型的模型参数训练方法、装置和电子设备
CN112906052B (zh) * 2021-03-09 2022-12-23 西安电子科技大学 联邦学习中多用户梯度置换的聚合方法
CN113158550B (zh) * 2021-03-24 2022-08-26 北京邮电大学 一种联邦学习方法、装置、电子设备及存储介质
CN113159283B (zh) * 2021-03-31 2023-03-31 华为技术有限公司 一种基于联邦迁移学习的模型训练方法及计算节点
CN113807535B (zh) * 2021-04-01 2023-11-03 京东科技控股股份有限公司 联邦学习模型的训练方法、装置、电子设备和存储介质
CN113094180B (zh) * 2021-05-06 2023-10-10 苏州联电能源发展有限公司 无线联邦学习调度优化方法及装置
CN113139796B (zh) * 2021-05-10 2022-06-21 深圳市洞见智慧科技有限公司 基于纵向联邦学习的推荐方法及装置
CN113204443B (zh) * 2021-06-03 2024-04-16 京东科技控股股份有限公司 基于联邦学习框架的数据处理方法、设备、介质及产品
CN113434878B (zh) * 2021-06-25 2023-07-07 平安科技(深圳)有限公司 基于联邦学习的建模及应用方法、装置、设备及存储介质
CN113239391B (zh) * 2021-07-13 2023-01-10 深圳市洞见智慧科技有限公司 一种无第三方的逻辑回归联邦学习模型训练系统及方法
CN113435537B (zh) * 2021-07-16 2022-08-26 同盾控股有限公司 基于Soft GBDT的跨特征联邦学习方法、预测方法
CN113553377B (zh) * 2021-07-21 2022-06-21 湖南天河国云科技有限公司 基于区块链和联邦学习的数据共享方法及装置
CN113516256B (zh) * 2021-09-14 2021-12-03 深圳市洞见智慧科技有限公司 基于秘密共享、同态加密的无第三方联邦学习方法及系统
CN113543120B (zh) * 2021-09-17 2021-11-23 百融云创科技股份有限公司 一种基于联邦学习的移动终端信用反欺诈预估方法及系统
CN114021734B (zh) * 2021-10-14 2022-04-12 深圳致星科技有限公司 用于联邦学习和隐私计算的参数计算装置、系统及方法
CN114004363A (zh) * 2021-10-27 2022-02-01 支付宝(杭州)信息技术有限公司 联合更新模型的方法、装置及系统
CN113902137B (zh) * 2021-12-06 2022-04-08 腾讯科技(深圳)有限公司 流式模型训练方法、装置、计算机设备及存储介质
CN115378693B (zh) * 2022-08-18 2024-02-23 西安电子科技大学 一种用于纵向联邦学习数据对齐的隐匿集合求交方法
CN115640509A (zh) * 2022-12-26 2023-01-24 北京融数联智科技有限公司 一种联邦隐私计算中的数据相关性计算方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109167695A (zh) * 2018-10-26 2019-01-08 深圳前海微众银行股份有限公司 基于联邦学习的联盟网络构建方法、设备及可读存储介质
US20190012592A1 (en) * 2017-07-07 2019-01-10 Pointr Data Inc. Secure federated neural networks
CN109886417A (zh) * 2019-03-01 2019-06-14 深圳前海微众银行股份有限公司 基于联邦学习的模型参数训练方法、装置、设备及介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2015336949B2 (en) * 2014-10-24 2020-04-09 Commonwealth Scientific And Industrial Research Organisation Gradients over distributed datasets
US10536437B2 (en) * 2017-01-31 2020-01-14 Hewlett Packard Enterprise Development Lp Performing privacy-preserving multi-party analytics on vertically partitioned local data
US10985904B2 (en) * 2019-06-18 2021-04-20 International Business Machines Corporation Compressible (F)HE with applications to PIR

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190012592A1 (en) * 2017-07-07 2019-01-10 Pointr Data Inc. Secure federated neural networks
CN109167695A (zh) * 2018-10-26 2019-01-08 深圳前海微众银行股份有限公司 基于联邦学习的联盟网络构建方法、设备及可读存储介质
CN109886417A (zh) * 2019-03-01 2019-06-14 深圳前海微众银行股份有限公司 基于联邦学习的模型参数训练方法、装置、设备及介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
张曙光;咸鹤群;王利明;刘红燕;侯瑞涛;: "无可信第三方的加密重复数据安全删除方法", 密码学报, no. 03, 15 August 2018 (2018-08-15), pages 286 - 296 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112347500A (zh) * 2021-01-11 2021-02-09 腾讯科技(深圳)有限公司 分布式系统的机器学习方法、装置、系统、设备及存储介质
CN112906912A (zh) * 2021-04-01 2021-06-04 深圳市洞见智慧科技有限公司 纵向联邦学习中无可信第三方的回归模型训练方法及系统
CN113177674A (zh) * 2021-05-28 2021-07-27 恒安嘉新(北京)科技股份公司 网络诈骗的预警方法、装置、设备及介质
CN113542228A (zh) * 2021-06-18 2021-10-22 腾讯科技(深圳)有限公司 基于联邦学习的数据传输方法、装置以及可读存储介质
CN113542228B (zh) * 2021-06-18 2022-08-12 腾讯科技(深圳)有限公司 基于联邦学习的数据传输方法、装置以及可读存储介质

Also Published As

Publication number Publication date
CN112182595B (zh) 2024-03-26
US20210004718A1 (en) 2021-01-07

Similar Documents

Publication Publication Date Title
CN112182595A (zh) 基于联邦学习的模型训练方法及装置
CN110245510B (zh) 用于预测信息的方法和装置
JP7011083B2 (ja) 信用調査システム、信用調査データの記憶方法、装置及びコンピュータプログラム
CN109327421A (zh) 数据加密、机器学习模型训练方法、装置及电子设备
US20220141035A1 (en) Secure multi-party computation attribution
US20200159847A1 (en) Contribution of multiparty data aggregation using distributed ledger technology
CN110999200B (zh) 一种用于评估监测函数以确定是否满足触发条件的方法及系统
Sun et al. A searchable personal health records framework with fine-grained access control in cloud-fog computing
CN112199709A (zh) 基于多方的隐私数据联合训练模型的方法和装置
CN112818374A (zh) 一种模型的联合训练方法、设备、存储介质及程序产品
CN111027981B (zh) 多方联合训练针对IoT机具的风险评估模型的方法及装置
US20220374544A1 (en) Secure aggregation of information using federated learning
CN112905187B (zh) 编译方法、装置、电子设备及存储介质
CN113569263A (zh) 跨私域数据的安全处理方法、装置及电子设备
CN113051586A (zh) 联邦建模系统及方法、联邦模型预测方法、介质、设备
US9652767B2 (en) Method and system for maintaining privacy in scoring of consumer spending behavior
CN112101609B (zh) 关于用户还款及时性的预测系统、方法、装置及电子设备
CN113177674A (zh) 网络诈骗的预警方法、装置、设备及介质
CN117094773A (zh) 基于区块链隐私计算的在线迁移学习方法及系统
CN116432040A (zh) 基于联邦学习的模型训练方法、装置、介质以及电子设备
CN113989036B (zh) 一种不暴露入模变量的联邦学习预测方法及系统
CN114021732B (zh) 一种比例风险回归模型训练方法、装置、系统及存储介质
CN113657616B (zh) 联邦学习模型的更新方法和装置
CN113094735B (zh) 隐私模型训练的方法
CN113543120B (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