CN110704860A - 提升安全性的纵向联邦学习方法、设备、系统及存储介质 - Google Patents
提升安全性的纵向联邦学习方法、设备、系统及存储介质 Download PDFInfo
- Publication number
- CN110704860A CN110704860A CN201911128849.6A CN201911128849A CN110704860A CN 110704860 A CN110704860 A CN 110704860A CN 201911128849 A CN201911128849 A CN 201911128849A CN 110704860 A CN110704860 A CN 110704860A
- Authority
- CN
- China
- Prior art keywords
- encrypted
- random number
- data
- gradient value
- party
- 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.)
- Pending
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
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Physics & Mathematics (AREA)
- Medical Informatics (AREA)
- Mathematical Physics (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computing Systems (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Alarm Systems (AREA)
Abstract
本发明公开了一种提升安全性的纵向联邦学习方法、设备、系统及存储介质,所述方法包括:接收各数据方发送的加随机数加密梯度值,其中,各数据方加密交换用于计算梯度值的中间结果计算得到各自模型参数对应的加密梯度值,并对加密梯度值加上各自的第一随机数得到加随机数加密梯度值;对加随机数加密梯度值进行解密得到加随机数梯度值;将加随机数梯度值对应返回给各数据方,以供各数据方对加随机数梯度值消除随机数得到梯度值,并采用梯度值更新各自的模型参数;迭代训练得到训练完成的逻辑回归模型。本发明实现了在联合第三方进行纵向联邦逻辑回归建模的方案中,避免第三方联合其中一方窃取数据的可能性,提高了逻辑回归建模的安全性。
Description
技术领域
本发明涉及机器学习技术领域,尤其涉及一种提升安全性的纵向联邦学习方法、设备、系统及存储介质。
背景技术
随着机器学习技术的发展,目前,逻辑回归模型被广泛地应用于各种分类问题。当逻辑回归模型的训练数据纵向分布于各个数据方时,由于各个数据方所拥有的训练数据可能涉及隐私,为保证建模过程不会泄露各数据方的数据隐私,各数据方可以通过纵向联邦的方式进行联合建模。但是,现有的联合第三方进行纵向联邦逻辑回归建模的实现方案中,在每轮计算梯度时,数据方将加密的梯度值发送给第三方(协作方),如果第三方和其中一方联合起来窃取另一方的数据,就能够获取到完整的模型,从而可能推导出另一方的原始数据,导致另一方的原始数据泄露。因此,目前的联合第三方进行纵向联邦逻辑回归建模的实现方案存在安全性低的问题。
发明内容
本发明的主要目的在于提供一种提升安全性的纵向联邦学习方法、设备、系统及存储介质,旨在解决目前的联合第三方进行纵向联邦逻辑回归建模的实现方案存在安全性低的问题。
为实现上述目的,本发明提供一种提升安全性的纵向联邦学习方法,所述提升安全性的纵向联邦学习方法应用于参与纵向联邦逻辑回归建模的协作方,所述协作方与拥有训练数据的各数据方通信连接,各数据方各自拥有逻辑回归模型的一部分,所述提升安全性的纵向联邦学习方法包括:
接收各数据方发送的加随机数加密梯度值,其中,各数据方加密交换用于计算梯度值的中间结果,计算得到各自模型参数对应的加密梯度值,并对所述加密梯度值加上各自的第一随机数得到所述加随机数加密梯度值;
对所述加随机数加密梯度值进行解密得到加随机数梯度值;
将所述加随机数梯度值对应返回给各数据方,以供各数据方对所述加随机数梯度值消除随机数得到梯度值,并采用所述梯度值更新各自的模型参数;
迭代训练直到检测到满足预设停止条件时得到训练完成的逻辑回归模型。
可选地,所述对所述加随机数加密梯度值进行解密得到加随机数梯度值的步骤之后,还包括:
对所述加随机数梯度值加上第二随机数以更新所述加随机数梯度值,并对所述第二随机数进行加密得到加密随机数,其中,所述第二随机数与所述第一随机数不相同;
所述将所述加随机数梯度值对应返回给各数据方的步骤包括:
将更新后的所述加随机数梯度值和所述加密随机数对应返回给各数据方,以供各数据方采用所述加密随机数对所述加随机数梯度值消除随机数,并采用消除随机数的结果更新各自的加密模型参数;
所述迭代训练直到检测到满足预设停止条件时得到训练完成的逻辑回归模型的步骤包括:
迭代训练直到满足预设停止条件时停止训练,并接收各数据方发送的训练完成的加密模型参数;
对所述训练完成的加密模型参数进行解密得到训练完成的逻辑回归模型。
可选地,所述接收各数据方发送的加随机数加密梯度值的步骤之前,还包括:
向各数据方发送同态加密的加密密钥;
所述接收各数据方发送的加随机数加密梯度值的步骤包括:
接收各数据方发送的加随机数加密梯度值,其中,各数据方采用所述加密密钥加密交换用于计算梯度值的中间结果,计算各自模型参数对应的加密梯度值,并对所述加密梯度值加上各自的第一随机数得到所述加随机数加密梯度值;
所述对所述加随机数加密梯度值进行解密得到加随机数梯度值的步骤包括:
采用与所述加密密钥对应的解密密钥对所述加随机数加密梯度值进行解密得到加随机数梯度值。
此外,为实现上述目的,本发明还提供一种提升安全性的纵向联邦学习方法,所述提升安全性的纵向联邦学习方法应用于参与纵向联邦逻辑回归建模的数据方,所述数据方与协作方、其他数据方通信连接,各数据方各自拥有逻辑回归模型的一部分,所述提升安全性的纵向联邦学习方法包括:
与其他数据方加密交换用于计算梯度值的中间结果,计算得到本地模型参数对应的加密梯度值;
对所述加密梯度值加上第一随机数得到加随机数加密梯度值;
将所述加随机数加密梯度值发送给协作方,以供协作方对各数据方发送的所述加随机数加密梯度值进行解密得到加随机数梯度值,并对应返回给各数据方;
对从协作方接收到的所述加随机数梯度值消除随机数得到梯度值,并采用所述梯度值更新所述本地模型参数;
迭代训练直到检测到满足预设停止条件时得到训练完成的逻辑回归模型。
可选地,所述与其他数据方加密交换用于计算梯度值的中间结果,计算得到本地模型参数对应的加密梯度值的步骤之前,还包括:
接收协作方发送的同态加密的加密密钥;
所述与其他数据方加密交换用于计算梯度值的中间结果,计算得到本地模型参数对应的加密梯度值的步骤包括:
采用所述加密密钥与其他数据方加密交换用于计算梯度值的中间结果,计算得到本地模型参数对应的加密梯度值;
所述将所述加随机数加密梯度值发送给协作方,以供协作方对各数据方发送的所述加随机数加密梯度值进行解密得到加随机数梯度值,并对应返回给各数据方的步骤包括:
将所述加随机数加密梯度值发送给协作方,以供协作方采用与所述加密密钥对应的解密密钥对各数据方发送的所述加随机数加密梯度值进行解密,得到加随机数梯度值并对应返回给各数据方。
可选地,所述数据方是拥有数据标签的数据应用方,所述中间结果包括用于计算梯度值的第一加密中间结果和通过计算得到的第二加密中间结果,所述采用所述加密密钥与其他数据方加密交换用于计算梯度值的中间结果,计算得到本地模型参数对应的加密梯度值的步骤包括:
接收其他数据方发送的用于计算梯度值的第一加密中间结果,其中,其他数据方采用各自本地的特征数据和本轮参数更新中的基础模型参数计算得到第一中间结果,并采用所述加密密钥对所述第一中间结果进行加密得到所述第一加密中间结果;
采用各所述第一加密中间结果和本地的数据标签计算得到第二加密中间结果;
将所述第二加密中间结果返回给其他数据方,以供其他数据方采用所述第二加密中间结果和各自本地的特征数据计算得到各自模型参数对应的加密梯度值;
采用所述第二加密中间结果和本地的特征数据计算得到本地模型参数对应的加密梯度值。
此外,为实现上述目的,本发明还提供一种提升安全性的纵向联邦学习设备,所述提升安全性的纵向联邦学习设备为如上所述的协作方,所述提升安全性的纵向联邦学习设备包括存储器、处理器和存储在所述存储器上并可在所述处理器上运行的提升安全性的纵向联邦学习程序,所述提升安全性的纵向联邦学习程序被所述处理器执行时实现如上所述的提升安全性的纵向联邦学习方法的步骤。
此外,为实现上述目的,本发明还提供一种提升安全性的纵向联邦学习设备,所述提升安全性的纵向联邦学习设备为如上所述的数据方,所述提升安全性的纵向联邦学习设备包括存储器、处理器和存储在所述存储器上并可在所述处理器上运行的提升安全性的纵向联邦学习程序,所述提升安全性的纵向联邦学习程序被所述处理器执行时实现如上所述的提升安全性的纵向联邦学习方法的步骤。
此外,为实现上述目的,本发明还提供一种提升安全性的纵向联邦学习系统,所述提升安全性的纵向联邦学习系统包括如上所述的协作方和至少一个如上所述的数据方。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有提升安全性的纵向联邦学习程序,所述提升安全性的纵向联邦学习程序被处理器执行时实现如上所述的提升安全性的纵向联邦学习方法的步骤。
本发明中,通过协作方接收各个数据方发送的加随机数加密梯度值,其中,各个数据方加密交换用于计算梯度值的中间结果,计算得到各自模型参数对应的加密梯度值,并对加密梯度值加上各自的随机数,得到加随机数加密梯度值;协作方对加随机数加密梯度值进行解密得到加随机数梯度值并返回给对应的数据方,供各数据方对加随机数梯度值进行消除随机数后得到梯度值,并采用梯度值更新各自的模型参数,迭代训练直到得到训练完成的逻辑回归模型。实现了在联合第三方进行纵向联邦逻辑回归建模的方案中,避免第三方联合其中一方窃取数据的可能性,提高了逻辑回归建模的安全性。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的结构示意图;
图2为本发明提升安全性的纵向联邦学习方法第一实施例的流程示意图;
图3为本发明实施例涉及的一种联合第三方进行纵向联邦逻辑回归建模的流程示意图;
图4为本发明实施例涉及的另一种联合第三方进行纵向联邦逻辑回归建模的流程示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例提供了一种提升安全性的纵向联邦学习设备,所述提升安全性的纵向联邦学习设备是参与纵向联邦逻辑回归建模的协作方,参照图1,图1是本发明实施例方案涉及的硬件运行环境的结构示意图。
需要说明的是,图1即可为提升安全性的纵向联邦学习设备的硬件运行环境的结构示意图。本发明实施例提升安全性的纵向联邦学习设备可以是PC,也可以是智能手机、智能电视机、平板电脑、便携计算机等具有显示功能的终端设备。
如图1所示,该提升安全性的纵向联邦学习设备可以包括:处理器1001,例如CPU,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
可选地,提升安全性的纵向联邦学习设备还可以包括摄像头、RF(RadioFrequency,射频)电路,传感器、音频电路、WiFi模块等等。本领域技术人员可以理解,图1中示出的提升安全性的纵向联邦学习设备结构并不构成对提升安全性的纵向联邦学习设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及提升安全性的纵向联邦学习程序。
在图1所示的提升安全性的纵向联邦学习设备中,网络接口1004主要用于连接参与纵向联邦逻辑回归建模的各个数据方,与各个数据方进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的提升安全性的纵向联邦学习程序,并执行以下操作:
接收各数据方发送的加随机数加密梯度值,其中,各数据方加密交换用于计算梯度值的中间结果,计算得到各自模型参数对应的加密梯度值,并对所述加密梯度值加上各自的第一随机数得到所述加随机数加密梯度值;
对所述加随机数加密梯度值进行解密得到加随机数梯度值;
将所述加随机数梯度值对应返回给各数据方,以供各数据方对所述加随机数梯度值消除随机数得到梯度值,并采用所述梯度值更新各自的模型参数;
迭代训练直到检测到满足预设停止条件时得到训练完成的逻辑回归模型。
进一步地,所述对所述加随机数加密梯度值进行解密得到加随机数梯度值的步骤之后,处理器1001可以用于调用存储器1005中存储的提升安全性的纵向联邦学习程序,还执行以下操作:
对所述加随机数梯度值加上第二随机数以更新所述加随机数梯度值,并对所述第二随机数进行加密得到加密随机数,其中,所述第二随机数与所述第一随机数不相同;
所述将所述加随机数梯度值对应返回给各数据方的步骤包括:
将更新后的所述加随机数梯度值和所述加密随机数对应返回给各数据方,以供各数据方采用所述加密随机数对所述加随机数梯度值消除随机数,并采用消除随机数的结果更新各自的加密模型参数;
所述迭代训练直到检测到满足预设停止条件时得到训练完成的逻辑回归模型的步骤包括:
迭代训练直到满足预设停止条件时停止训练,并接收各数据方发送的训练完成的加密模型参数;
对所述训练完成的加密模型参数进行解密得到训练完成的逻辑回归模型。
进一步地,所述接收各数据方发送的加随机数加密梯度值的步骤之前,处理器1001可以用于调用存储器1005中存储的提升安全性的纵向联邦学习程序,还执行以下操作:
向各数据方发送同态加密的加密密钥;
所述接收各数据方发送的加随机数加密梯度值的步骤包括:
接收各数据方发送的加随机数加密梯度值,其中,各数据方采用所述加密密钥加密交换用于计算梯度值的中间结果,计算各自模型参数对应的加密梯度值,并对所述加密梯度值加上各自的第一随机数得到所述加随机数加密梯度值;
所述对所述加随机数加密梯度值进行解密得到加随机数梯度值的步骤包括:
采用与所述加密密钥对应的解密密钥对所述加随机数加密梯度值进行解密得到加随机数梯度值。
此外,本发明实施例还提出一种提升安全性的纵向联邦学习设备,所述提升安全性的纵向联邦学习设备是参与纵向联邦逻辑回归建模的数据方,所述提升安全性的纵向联邦学习设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的提升安全性的纵向联邦学习设备程序,所述提升安全性的纵向联邦学习设备程序被所述处理器执行时实现如下所述的提升安全性的纵向联邦学习设备方法的步骤:
与其他数据方加密交换用于计算梯度值的中间结果,计算得到本地模型参数对应的加密梯度值;
对所述加密梯度值加上第一随机数得到加随机数加密梯度值;
将所述加随机数加密梯度值发送给协作方,以供协作方对各数据方发送的所述加随机数加密梯度值进行解密得到加随机数梯度值,并对应返回给各数据方;
对从协作方接收到的所述加随机数梯度值消除随机数得到梯度值,并采用所述梯度值更新所述本地模型参数;
迭代训练直到检测到满足预设停止条件时得到训练完成的逻辑回归模型。
进一步地,所述与其他数据方加密交换用于计算梯度值的中间结果,计算得到本地模型参数对应的加密梯度值的步骤之前,处理器可以用于调用存储器中存储的提升安全性的纵向联邦学习程序,还执行以下操作:
接收协作方发送的同态加密的加密密钥;
所述与其他数据方加密交换用于计算梯度值的中间结果,计算得到本地模型参数对应的加密梯度值的步骤包括:
采用所述加密密钥与其他数据方加密交换用于计算梯度值的中间结果,计算得到本地模型参数对应的加密梯度值;
所述将所述加随机数加密梯度值发送给协作方,以供协作方对各数据方发送的所述加随机数加密梯度值进行解密得到加随机数梯度值,并对应返回给各数据方的步骤包括:
将所述加随机数加密梯度值发送给协作方,以供协作方采用与所述加密密钥对应的解密密钥对各数据方发送的所述加随机数加密梯度值进行解密,得到加随机数梯度值并对应返回给各数据方。
进一步地,所述数据方是拥有数据标签的数据应用方,所述中间结果包括用于计算梯度值的第一加密中间结果和通过计算得到的第二加密中间结果,所述采用所述加密密钥与其他数据方加密交换用于计算梯度值的中间结果,计算得到本地模型参数对应的加密梯度值的步骤包括:
接收其他数据方发送的用于计算梯度值的第一加密中间结果,其中,其他数据方采用各自本地的特征数据和本轮参数更新中的基础模型参数计算得到第一中间结果,并采用所述加密密钥对所述第一中间结果进行加密得到所述第一加密中间结果;
采用各所述第一加密中间结果和本地的数据标签计算得到第二加密中间结果;
将所述第二加密中间结果返回给其他数据方,以供其他数据方采用所述第二加密中间结果和各自本地的特征数据计算得到各自模型参数对应的加密梯度值;
采用所述第二加密中间结果和本地的特征数据计算得到本地模型参数对应的加密梯度值。
基于上述的硬件结构,提出本发明提升安全性的纵向联邦学习方法的各个实施例。
参照图2,本发明提升安全性的纵向联邦学习方法第一实施例提供一种提升安全性的纵向联邦学习方法,需要说明的是,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。所述提升安全性的纵向联邦学习方法应用于参与纵向联邦逻辑回归建模的协作方,所述协作方与拥有训练数据的各数据方通信连接,各数据方各自拥有逻辑回归模型的一部分,所述协作方和数据方可以是服务器,也可以是PC、智能手机、智能电视机、平板电脑、便携计算机等终端设备,所述提升安全性的纵向联邦学习方法包括:
步骤S10,接收各数据方发送的加随机数加密梯度值,其中,各数据方加密交换用于计算梯度值的中间结果,计算得到各自模型参数对应的加密梯度值,并对所述加密梯度值加上各自的第一随机数得到所述加随机数加密梯度值;
为解决目前的联合第三方进行纵向联邦逻辑回归建模的实现方案中,若第三方与其中一方联合起来窃取另一方的数据,则能够获取到完整的模型,从而能够根据多次参数更新的结果推导出另一方的原始数据,导致另一方的数据泄露,联合建模安全性低的问题,在本实施例中,提出一种纵向联邦逻辑回归模型的安全建模方法。
具体地,各个数据方各自本地拥有一部分训练数据,并且各方数据在特征维度上重叠较少,在用户维度上重叠较多,其中一个数据方拥有数据标签;各方可采用加密样本对齐的方式,确定各方共同拥有的用户,再采用各方共同用户对应的数据联合训练逻辑回归模型。在本实施例中,将拥有数据标签的数据方称为数据应用方(Guest),将仅拥有特征数据的数据方称为数据提供方(Host),数据提供方可以有多个。
需要说明的是,逻辑回归建模即是指通过训练数据来对逻辑回归模型进行训练,以确定逻辑回归模型中的各个模型参数的过程。训练过程是迭代更新模型参数的过程。
在一次模型参数更新过程中,协作方(Arbiter)接收各个数据方发送的加随机数加密梯度值。其中,各个数据方加密交换用于计算梯度值的中间结果,计算得到各自模型参数对应的加密梯度值,并对各自模型参数对应的加密梯度值加上各自的第一随机数,得到加随机数加密梯度值。各个数据方可以是在各自本地采用随机数生成算法生成该第一随机数。应当理解的是,各个数据方的第一随机数是在各个数据方本地随机生成的,因此协作方和其他数据方无法获知该第一随机数。一个数据方在多次模型更新中所使用的第一随机数可以相同,但是为了避免协作方通过数据方在多次模型更新中发送的加随机数加密梯度值抵消掉随机数,从而获知数据方的梯度值,进而推导出数据方的原始数据,数据方在多次模型更新中所使用的第一随机数最好不相同。
需要说明的是,各个数据方对用于计算梯度值的中间结果进行加密的加密密钥可以是协作方提前发送的,也可以是由其他设备发送的,如专门用于发送密钥的密钥服务器。若是由协作方发送的,则协作方本地拥有与加密密钥对应的解密密钥。若由密钥服务器发送,则密钥服务器将与加密密钥对应的解密密钥发送给协作方。加密密钥和解密密钥可以是采用同态加密算法生成的密钥,同态加密算法可以是Paillier算法,同态加密算法的效果是对经过同态加密的数据进行处理得到一个输出,将这一输出进行解密,其结果与用同一方法处理未加密的原始数据得到的输出结果是一样的。
步骤S20,对所述加随机数加密梯度值进行解密得到加随机数梯度值;
协作方对各个数据方对应的加随机数加密梯度值进行解密,得到各个数据方对应的加随机数梯度值。需要说明的是,协作方采用与数据方的加密密钥对应的解密密钥对加随机数梯度值进行解密。
步骤S30,将所述加随机数梯度值对应返回给各数据方,以供各数据方对所述加随机数梯度值消除随机数得到梯度值,并采用所述梯度值更新各自的模型参数;
协作方将各个数据方对应的加随机数梯度值对应返回给各个数据方。各个数据方对各自的加随机数梯度值消除随机数得到各自模型参数对应的梯度值,并采用各自模型参数对应的梯度值更新各自的模型参数。具体地,各个数据方将各自的加随机数梯度值减去各自的第一随机数,即可得到各自模型参数对应的梯度值。
步骤S40,迭代训练直到检测到满足预设停止条件时得到训练完成的逻辑回归模型。
迭代训练,即采用上述计算梯度值、更新模型参数的方法,多次更新各个数据方的模型参数,直到检测到满足预设停止条件时停止训练,得到的最终的模型参数即作为训练完成的逻辑回归模型的模型参数。其中,预设停止条件可以是损失函数收敛、或前后两轮参数更新中的模型参数差值小于预设阈值、或迭代训练次数大于预设次数、或迭代训练时间大于预设时间。
需要说明的是,在训练完成后,各个数据方可以将各自拥有的部分逻辑回归模型的模型参数发送给其他数据方,使得各个数据方都拥有完整的逻辑回归模型,从而单独使用完整的逻辑回归模型完成分类任务。也可以是各个数据方分别拥有逻辑回归模型的一部分的模型参数,各个数据方联合协作方来使用逻辑回归模型完成分类任务。
进一步地,所述步骤S10之前还包括:
步骤S50,向各数据方发送同态加密的加密密钥;
协作方可采用预设的同态加密算法生成加密密钥和解密密钥,并将加密密钥分发给各个数据方,保留解密密钥。由于解密密钥由协作方保留,所以数据方无法对采用加密密钥进行加密的数据进行解密,从而无法获得原始的数据。
所述步骤S10包括:
步骤S101,接收各数据方发送的加随机数加密梯度值,其中,各数据方采用所述加密密钥加密交换用于计算梯度值的中间结果,计算各自模型参数对应的加密梯度值,并对所述加密梯度值加上各自的第一随机数得到所述加随机数加密梯度值;
协作方接收各个数据方发送的加随机数加密梯度值,其中,各个数据方采用加密密钥加密交换用于计算梯度值的中间结果,计算各自模型参数对应的加密梯度值,并对各自模型参数对应的加密梯度值加上各自的第一随机数,得到各自的加随机数加密梯度值。具体地,数据方各自计算用于计算梯度值的中间结果,并采用加密密钥对中间结果进行加密,交换加密的中间结果,并采用加密的中间结果计算各自模型参数对应的加密梯度值。
所述步骤S20包括:
步骤S201,采用与所述加密密钥对应的解密密钥对所述加随机数加密梯度值进行解密得到加随机数梯度值。
协作方采用与加密密钥对应的解密密钥对各个数据方对应的加随机数加密梯度值进行解密,得到各个数据方对应的加随机数梯度值。
在本实施例中,协作方接收到的是各个数据方发送的加随机数加密梯度值,由于各个数据方对加密梯度值加上了各自的随机数,而协作方无法获知数据方的随机数,因此协作方即使拥有解密密钥,采用解密密钥对加随机数加密梯度值进行解密,得到也是的加随机数的梯度值,而不是数据方的原始梯度值,从而使得协作方与其中一方联合也窃取不到完整的模型,进而无法推导出另一方的原始数据,提高了联合第三方进行纵向联邦逻辑回归建模的安全性。
参照图3,以下对本实施例中协作方与数据方联合建模的原理和过程进行说明:
逻辑回归模型是一种监督学习分类模型,其实现了给定数据集到{0,1}的一种映射。逻辑回归模型的损失函数对模型参数的梯度值计算公式如下:
其中,N为样本数,w为逻辑回归模型中的模型参数,y为数据标签,x是特征变量,α是相关系数。对式子(1)求泰勒展开式,可以得到下面的式子(2)。而式子(2)中只包含数乘和加法运算,因此可以在加法同态加密的状态下,用密文计算得到。其中最后一项αW为高阶无穷小,因而可以忽略。
将上述式子(2)拆成两部分,d和x,其中d的定义为:
(3)
其中y设定为1或者-1,因此,上述式子(3)可以写成:
定义u=wx。Host是拥有特征数据xh的数据提供方,Guest是拥有特征数据xg和数据标签yg的数据应用方。Host和Guest均拥有逻辑回归模型的一部分,即Host拥有与特征数据xh对应的那部分模型的模型参数wh,Guest拥有与特征数据xg对应的那部分模型的模型参数wg。为了区分Host和Guest的u,分别定义为uh=whxh,ug=wgxg。
Host和Guest需要计算各自这一部分逻辑回归模型的模型参数的梯度值,分别是gh和gg,上述uh、ug和d即是用于计算梯度值的中间结果。
1、Host端采用本地的特征数据xh和本轮参数更新的基础模型参数wh计算出uh,并对uh进行加密得到[[uh]],将[[uh]]发送给Guest端。其中,[[]]表示同态加密。
2、Guest端采用本地的特征数据xg和本轮模型参数更新的基础模型参数wg计算得到ug,根据[[uh]]、ug和本地的数据标签yg计算得到[[d]],将[[d]]发送给Host。具体地,
3、Host采用[[d]]和自身的xh,计算得到自己这一部分逻辑回归模型的模型参数的加密梯度值[[gh]]。,并加上随机数r1h,得到加随机数加密梯度值[[gh]]+r1h,发送给Arbiter。
4、Guest也根据[[d]]和自身的xg,计算得到自己这一部分逻辑回归模型的模型参数的加密梯度值[[gg]],并加上随机数r1g,得到加随机数加密梯度值[[gg]]+r1g,发送给Arbiter。
5、Arbiter对[[gh]]+r1h解密得到gh+r1h,对[[gg]]+r1g解密得到gg+r1g。将gh+r1h返回给Host端,将gg+r1g返回给Guest端。
6、Host端对gh+r1h消除随机数,即减去r1h得到gh,根据gh更新wh。
7、Guest端对gg+r1g消除随机数,即减去r1g得到gg,根据gg更新wg。
由于Arbiter只能够得到Host端和Guest端的加随机数梯度值和,又无法获知Host端和Guest端本地产生的随机数,因此,Arbiter无法联合其中一方窃取另一方的梯度值,从而无法推导另一方的原始数。
因此,本实施例中,通过协作方接收各个数据方发送的加随机数加密梯度值,其中,各个数据方加密交换用于计算梯度值的中间结果,计算得到各自模型参数对应的加密梯度值,并对加密梯度值加上各自的随机数,得到加随机数加密梯度值;协作方对加随机数加密梯度值进行解密得到加随机数梯度值并返回给对应的数据方,供各数据方对加随机数梯度值进行消除随机数后得到梯度值,并采用梯度值更新各自的模型参数,迭代训练直到得到训练完成的逻辑回归模型。实现了在联合第三方进行纵向联邦逻辑回归建模的方案中,避免第三方联合其中一方窃取数据的可能性,提高了逻辑回归建模的安全性。
进一步地,基于上述第一实施例,本发明提升安全性的纵向联邦学习方法第二实施例提供一种提升安全性的纵向联邦学习方法。在本实施例中,所述步骤S20之后,还包括:
步骤S60,对所述加随机数梯度值加上第二随机数以更新所述加随机数梯度值,并对所述第二随机数进行加密得到加密随机数,其中,所述第二随机数与所述第一随机数不相同;
进一步地,在第一实施例的基础上,由于协作方能够对数据方发送的加随机数加密梯度值进行解密,为数据方提供了一个解密的接口,因此,数据方可能会恶意地将其他数据方发送的加密的中间结果发送给协作方进行解密,从而套取到其他数据方的中间结果,进而根据中间结果推断出其他数据方的原始数据。在本实施例中,为进一步解决该问题,提出协作方通过加随机数进行安全保护的机制。
具体地,协作方在解密得到各个数据方对应的加随机数梯度值后,在各个加随机数梯度值上分别加上第二随机数,以更新加随机数梯度值,也即,更新后的加随机数梯度值是在原加随机数梯度值上加了一个随机数。第二随机数可以是由协作方通过随机数生成算法生成的随机数,可以是生成多个不同的随机数,分别对应加在各个加随机数梯度值上,也可以是各个加随机数梯度值加上相同的随机数。协作方每一轮参数更新所加的第二随机数可以相同,但为避免数据方通过协作方在多次模型更新中发送的加随机数梯度值抵消掉随机数,从而获知原始加随机数梯度值,协作方在多次模型更新中所使用的第二随机数可以不相同。由于第一随机数是由数据方随机数生成的,第二随机数是由协作方随机数生成的,第二随机数和第一随机数不相同,因此,双方均无法获知对方的随机数。
协作方将第二随机数进行加密,加密所采用的加密密钥与数据方所采用的加密密钥相同。
所述步骤S30包括:
步骤S301,将更新后的所述加随机数梯度值和所述加密随机数对应返回给各数据方,以供各数据方采用所述加密随机数对所述加随机数梯度值消除随机数,并采用消除随机数的结果更新各自的加密模型参数;
协作方将更新后的加随机数梯度值和加密随机数对应返回给各数据方。各个数据方采用加密随机数对各自的加随机数梯度值消除随机数,具体地,各个数据方在各自加随机数梯度值的基础上减去加密随机数和各自的第一随机数,得到消除随机数的结果。由于是在加随机数梯度值的基础上减去加密随机数,因此,根据同态加密中明文减去密文得到密文的原理,得到的消除随机数的结果是加密梯度值。各个数据方采用消除随机数得到的加密梯度值更新各自的加密模型参数。需要说明的是,由于各个数据方采用的是加密梯度值来更新模型参数,所以,迭代训练过程中,各个数据方仅能得到加密的模型参数,采用加密梯度值更新的也是加密模型参数。
所述步骤S40包括:
步骤S401,迭代训练直到满足预设停止条件时停止训练,并接收各数据方发送的训练完成的加密模型参数;
协作方与各数据方按照上述计算梯度值和更新模型参数的方法,迭代训练直到检测到满足预设停止条件时停止训练。各个数据方将训练完成的加密模型参数发送给协作方,协作方接收各个数据方发送的训练完成的加密模型参数。
步骤S402,对所述训练完成的加密模型参数进行解密得到训练完成的逻辑回归模型。
协作方对各个训练完成的加密模型参数进行解密,得到各个数据方对应的训练完成的模型参数,组合起来即是训练完成的完整的逻辑回归模型。协作方可以将完整的逻辑回归模型发送给各个数据方,也可以是将各个数据方对应的那部分模型发送给各个数据方。
参照图4,以下在第一实施例中协作方与数据方联合建模的原理和过程说明的基础上,对本实施例中协作方加随机数方案的原理和过程进行进一步说明:
1、Host端采用本地的特征数据xh和本轮参数更新的基础模型参数[[wh]]计算出[[uh]],将[[uh]]发送给Guest端。
2、Guest端采用本地的特征数据xg和本轮模型参数更新的基础模型参数[[wg]]计算得到[[ug]],根据[[uh]]、[[ug]]和本地的数据标签yg计算得到[[d]],将[[d]]发送给Host。具体地,
3、Host采用[[d]]和自身的xh,计算得到自己这一部分逻辑回归模型的模型参数的加密梯度值[[gh]]。,并加上随机数r1h,得到加随机数加密梯度值[[gh]]+r1h,发送给Arbiter。
4、Guest也根据[[d]]和自身的xg,计算得到自己这一部分逻辑回归模型的模型参数的加密梯度值[[gg]],并加上随机数r1g,得到加随机数加密梯度值[[gg]]+r1g,发送给Arbiter。
5、Arbiter对[[gh]]+r1h解密得到gh+r1h,对[[gg]]+r1g解密得到gg+r1g后,Arbiter在gh+r1h上再加上r2,得到gh+r1h+r2,在gg+r1g上再加上r2,得到gg+r1g+r2,并对r2加密得到[[r2]]。Arbiter将gh+r1h+r2和[[r2]]返回给Host端,将gg+r1g+r2和[[r2]]返回给Guest端。
6、Host端采用[[r2]]和r1h对gh+r1h+r2消除随机数,得到[[gh]],并采用[[gh]]更新[[wh]]。在训练完成后,将[[wh]]发送给Arbiter。
7、Guest端采用[[r2]]和r1g对gg+r1g+r2消除随机数,得到[[gg]],并采用[[gg]]更新[[wg]]。在训练完成后,将[[wg]]发送给Arbiter。
8、Arbiter对[[wh]]解密得到wh,对[[wg]]解密得到wg,wh和wg就是训练完成的逻辑回归模型的最终模型参数。
在本实施例中,由于协作方在对各个数据方发送的加随机数加密梯度值进行解密后,不是将解密结果直接发送给各个数据方,而是在解密结果上再加上自己这一方的随机数,使得数据方不能够得到解密后的原始数据,从而不能够利用协作方的这一解密接口窃取其他数据方的数据,从而进一步提高了联合第三方进行纵向联邦逻辑回归建模的安全性。并且,协作方将自己这一方的随机数采用加密的方式发送给数据方,供数据方消除加随机数梯度值中的随机数的同时,不暴露自己一方的随机数,在最后训练完成时再对各个数据方的加密模型参数进行解密,获得最终训练完成的逻辑回归模型,避免了在训练过程中数据方窃取另一数据方数据。
进一步地,基于上述第一和第二实施例,本发明提升安全性的纵向联邦学习方法第三实施例提供一种提升安全性的纵向联邦学习方法。在本实施例中,所述提升安全性的纵向联邦学习方法应用于参与纵向联邦逻辑回归建模的数据方,所述数据方与协作方、其他数据方通信连接,各数据方各自拥有逻辑回归模型的一部分,所述提升安全性的纵向联邦学习方法包括:
步骤A10,与其他数据方加密交换用于计算梯度值的中间结果,计算得到本地模型参数对应的加密梯度值;
在一次模型参数更新过程中,数据方与其他数据方加密交换用于计算梯度值的中间结果,计算得到本地模型参数对应的加密梯度值。同样地,其他数据方也计算得到各自本地模型参数对应的加密梯度值。
需要说明的是,各个数据方对用于计算梯度值的中间结果进行加密的加密密钥可以是协作方提前发送的,也可以是由其他设备发送的,如专门用于发送密钥的密钥服务器。若是由协作方发送的,则协作方本地拥有与加密密钥对应的解密密钥。若由密钥服务器发送,则密钥服务器将与加密密钥对应的解密密钥发送给协作方。加密密钥和解密密钥可以是采用同态加密算法生成的密钥,同态加密算法可以是Paillier算法,同态加密算法的效果是对经过同态加密的数据进行处理得到一个输出,将这一输出进行解密,其结果与用同一方法处理未加密的原始数据得到的输出结果是一样的。
步骤A20,对所述加密梯度值加上第一随机数得到加随机数加密梯度值;
数据方对本地模型参数对应的该加密梯度值加上第一随机数,得到加随机数加密梯度值。各个数据方可以是在各自本地采用随机数生成算法生成该第一随机数。应当理解的是,各个数据方的第一随机数是在各个数据方本地随机生成的,因此协作方和其他数据方无法获知该第一随机数。一个数据方在多次模型更新中所使用的第一随机数可以相同,但是为了避免协作方通过数据方在多次模型更新中发送的加随机数加密梯度值抵消掉随机数,从而获知数据方的梯度值,进而推导出数据方的原始数据,数据方在多次模型更新中所使用的第一随机数最好不相同。
步骤A30,将所述加随机数加密梯度值发送给协作方,以供协作方对各数据方发送的所述加随机数加密梯度值进行解密得到加随机数梯度值,并对应返回给各数据方;
数据方将加随机数加密梯度值发送给协作方。协作方接收各个数据方发送的加随机数加密梯度值,对各个数据方对应的加随机数加密梯度值进行解密,得到各个数据方对应的加随机数梯度值。需要说明的是,协作方采用与数据方的加密密钥对应的解密密钥对加随机数梯度值进行解密。
步骤A40,对从协作方接收到的所述加随机数梯度值消除随机数得到梯度值,并采用所述梯度值更新所述本地模型参数;
协作方将各个数据方对应的加随机数梯度值对应返回给各个数据方。数据方对接收到的加随机数梯度值消除随机数得到本地模型参数对应的梯度值,并采用本地模型参数对应的梯度值更新本地模型参数。具体地,各个数据方将各自的加随机数梯度值减去各自的第一随机数,即可得到各自模型参数对应的梯度值。
步骤A50,迭代训练直到检测到满足预设停止条件时得到训练完成的逻辑回归模型。
迭代训练,即采用上述计算梯度值、更新模型参数的方法,多次更新各个数据方的模型参数,直到检测到满足预设停止条件时停止训练,得到的最终的模型参数即作为训练完成的逻辑回归模型的模型参数。其中,预设停止条件可以是损失函数收敛、或前后两轮参数更新中的模型参数差值小于预设阈值、或迭代训练次数大于预设次数、或迭代训练时间大于预设时间。
需要说明的是,在训练完成后,各个数据方可以将各自拥有的部分逻辑回归模型的模型参数发送给其他数据方,使得各个数据方都拥有完整的逻辑回归模型,从而单独使用完整的逻辑回归模型完成分类任务。也可以是各个数据方分别拥有逻辑回归模型的一部分的模型参数,各个数据方联合协作方来使用逻辑回归模型完成分类任务。
进一步地,所述步骤A10之前,还包括:
步骤A60,接收协作方发送的同态加密的加密密钥;
协作方可采用预设的同态加密算法生成加密密钥和解密密钥,并将加密密钥分发给各个数据方,保留解密密钥。由于解密密钥由协作方保留,所以数据方无法对采用加密密钥进行加密的数据进行解密,从而无法获得原始的数据。数据方接收协作方发送的同态加密的加密密钥。
所述步骤A10包括:
步骤A101,采用所述加密密钥与其他数据方加密交换用于计算梯度值的中间结果,计算得到本地模型参数对应的加密梯度值;
数据方采用该加密密钥与其他数据方加密交换用于计算梯度值的中间结果,计算得到本地模型参数对应的加密梯度值。具体地,数据方计算用于计算梯度值的中间结果,并采用加密密钥对中间结果进行加密,与其他数据方交换加密的中间结果,并采用加密的中间结果计算本地模型参数对应的加密梯度值。
所述步骤A30包括:
步骤A301,将所述加随机数加密梯度值发送给协作方,以供协作方采用与所述加密密钥对应的解密密钥对各数据方发送的所述加随机数加密梯度值进行解密,得到加随机数梯度值并对应返回给各数据方。
数据方将加随机数加密梯度值发送给协作方。协作方接收各个数据方发送的加随机数加密梯度值,并采用与加密密钥对应的解密密钥对各个数据方对应的加随机数加密梯度值进行解密,得到各个数据方对应的加随机数梯度值,并对应返回给各个数据方。
进一步地,当数据方是拥有数据标签的数据应用方,其他数据方是仅拥有特征数据的数据提供方时,所述中间结果包括用于计算梯度值的第一加密中间结果和通过计算得到的第二加密中间结果,所述步骤A101包括:
步骤A1011,接收其他数据方发送的用于计算梯度值的第一加密中间结果,其中,其他数据方采用各自本地的特征数据和本轮参数更新中的基础模型参数计算得到第一中间结果,并采用所述加密密钥对所述第一中间结果进行加密得到所述第一加密中间结果;
数据应用方接收其他数据方发送的用于计算梯度值的第一加密中间结果。其中,其他数据方采用各自本地的特征数据和本轮参数更新中的基础模型参数计算得到第一中间结果,并采用加密密钥对第一中间结果进行加密,得到第一加密中间结果。具体地,采用第一实施例中的例子进行说明,Host(其他数据方)采用本地的特征数据xh和本轮参数更新的基础模型参数wh计算出第一中间结果uh,并对uh进行加密得到第一加密中间结果[[uh]],将[[uh]]发送给Guest(数据应用方)。
步骤A1012,采用各所述第一加密中间结果和本地的数据标签计算得到第二加密中间结果;
数据应用方采用各第一加密中间结果和本地的数据标签计算得到第二加密中间结果。具体地,采用第一实施例中的例子进行说明,Guest端采用本地的特征数据xg和本轮模型参数更新的基础模型参数wg计算得到ug,根据第一加密中间结果[[uh]]、ug和本地的数据标签yg计算得到第二加密中间结果[[d]]。
步骤A1013,将所述第二加密中间结果返回给其他数据方,以供其他数据方采用所述第二加密中间结果和各自本地的特征数据计算得到各自模型参数对应的加密梯度值;
数据应用方将第二加密中间结果返回给其他数据方。其他数据方采用第二加密中间结果和各自本地的特征数据计算得到各自模型参数对应的加密梯度值。具体地,采用第一实施例中的例子进行说明,Host采用[[d]]和自身的xh,计算得到自己这一部分逻辑回归模型的模型参数的加密梯度值[[gh]]。
步骤A1014,采用所述第二加密中间结果和本地的特征数据计算得到本地模型参数对应的加密梯度值。
数据应用方也采用第二加密中间结果和本地的特征数据计算得到本地模型参数对应的加密梯度值。具体地,Guest也根据[[d]]和自身的xg,计算得到自己这一部分逻辑回归模型的模型参数的加密梯度值[[gg]]。
本实施例中,通过数据方与其他数据方加密交换用于计算梯度值的中间结果,计算得到本地模型参数对应的加密梯度值,并对加密梯度值加上随机数得到加随机数加密梯度值,发送给协作方。使得协作方只能获得加随机数的梯度值,而不能获得原始的梯度值,从而无法联合其中一方通过原始梯度值推导另一方的原始数据。接收协作方发送的加随机数梯度值,并对加随机数梯度值消除随机数得到梯度值,根据梯度值更新本地模型参数。迭代训练直到得到训练完成的逻辑回归模型。实现了在联合第三方进行纵向联邦逻辑回归建模的方案中,避免第三方联合其中一方窃取数据的可能性,提高了逻辑回归建模的安全性。
此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有提升安全性的纵向联邦学习程序,所述提升安全性的纵向联邦学习程序被处理器执行时实现如上所述提升安全性的纵向联邦学习方法的步骤。
本发明提升安全性的纵向联邦学习设备和计算机可读存储介质的具体实施方式的拓展内容与上述提升安全性的纵向联邦学习方法各实施例基本相同,在此不做赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种提升安全性的纵向联邦学习方法,其特征在于,所述提升安全性的纵向联邦学习方法应用于参与纵向联邦逻辑回归建模的协作方,所述协作方与拥有训练数据的各数据方通信连接,各数据方各自拥有逻辑回归模型的一部分,所述提升安全性的纵向联邦学习方法包括:
接收各数据方发送的加随机数加密梯度值,其中,各数据方加密交换用于计算梯度值的中间结果,计算得到各自模型参数对应的加密梯度值,并对所述加密梯度值加上各自的第一随机数得到所述加随机数加密梯度值;
对所述加随机数加密梯度值进行解密得到加随机数梯度值;
将所述加随机数梯度值对应返回给各数据方,以供各数据方对所述加随机数梯度值消除随机数得到梯度值,并采用所述梯度值更新各自的模型参数;
迭代训练直到检测到满足预设停止条件时得到训练完成的逻辑回归模型。
2.如权利要求1所述的提升安全性的纵向联邦学习方法,其特征在于,所述对所述加随机数加密梯度值进行解密得到加随机数梯度值的步骤之后,还包括:
对所述加随机数梯度值加上第二随机数以更新所述加随机数梯度值,并对所述第二随机数进行加密得到加密随机数,其中,所述第二随机数与所述第一随机数不相同;
所述将所述加随机数梯度值对应返回给各数据方的步骤包括:
将更新后的所述加随机数梯度值和所述加密随机数对应返回给各数据方,以供各数据方采用所述加密随机数对所述加随机数梯度值消除随机数,并采用消除随机数的结果更新各自的加密模型参数;
所述迭代训练直到检测到满足预设停止条件时得到训练完成的逻辑回归模型的步骤包括:
迭代训练直到满足预设停止条件时停止训练,并接收各数据方发送的训练完成的加密模型参数;
对所述训练完成的加密模型参数进行解密得到训练完成的逻辑回归模型。
3.如权利要求1或2任一项所述的提升安全性的纵向联邦学习方法,其特征在于,所述接收各数据方发送的加随机数加密梯度值的步骤之前,还包括:
向各数据方发送同态加密的加密密钥;
所述接收各数据方发送的加随机数加密梯度值的步骤包括:
接收各数据方发送的加随机数加密梯度值,其中,各数据方采用所述加密密钥加密交换用于计算梯度值的中间结果,计算各自模型参数对应的加密梯度值,并对所述加密梯度值加上各自的第一随机数得到所述加随机数加密梯度值;
所述对所述加随机数加密梯度值进行解密得到加随机数梯度值的步骤包括:
采用与所述加密密钥对应的解密密钥对所述加随机数加密梯度值进行解密得到加随机数梯度值。
4.一种提升安全性的纵向联邦学习方法,其特征在于,所述提升安全性的纵向联邦学习方法应用于参与纵向联邦逻辑回归建模的数据方,所述数据方与协作方、其他数据方通信连接,各数据方各自拥有逻辑回归模型的一部分,所述提升安全性的纵向联邦学习方法包括:
与其他数据方加密交换用于计算梯度值的中间结果,计算得到本地模型参数对应的加密梯度值;
对所述加密梯度值加上第一随机数得到加随机数加密梯度值;
将所述加随机数加密梯度值发送给协作方,以供协作方对各数据方发送的所述加随机数加密梯度值进行解密得到加随机数梯度值,并对应返回给各数据方;
对从协作方接收到的所述加随机数梯度值消除随机数得到梯度值,并采用所述梯度值更新所述本地模型参数;
迭代训练直到检测到满足预设停止条件时得到训练完成的逻辑回归模型。
5.如权利要求4所述的提升安全性的纵向联邦学习方法,其特征在于,所述与其他数据方加密交换用于计算梯度值的中间结果,计算得到本地模型参数对应的加密梯度值的步骤之前,还包括:
接收协作方发送的同态加密的加密密钥;
所述与其他数据方加密交换用于计算梯度值的中间结果,计算得到本地模型参数对应的加密梯度值的步骤包括:
采用所述加密密钥与其他数据方加密交换用于计算梯度值的中间结果,计算得到本地模型参数对应的加密梯度值;
所述将所述加随机数加密梯度值发送给协作方,以供协作方对各数据方发送的所述加随机数加密梯度值进行解密得到加随机数梯度值,并对应返回给各数据方的步骤包括:
将所述加随机数加密梯度值发送给协作方,以供协作方采用与所述加密密钥对应的解密密钥对各数据方发送的所述加随机数加密梯度值进行解密,得到加随机数梯度值并对应返回给各数据方。
6.如权利要求5所述的提升安全性的纵向联邦学习方法,其特征在于,所述数据方是拥有数据标签的数据应用方,所述中间结果包括用于计算梯度值的第一加密中间结果和通过计算得到的第二加密中间结果,所述采用所述加密密钥与其他数据方加密交换用于计算梯度值的中间结果,计算得到本地模型参数对应的加密梯度值的步骤包括:
接收其他数据方发送的用于计算梯度值的第一加密中间结果,其中,其他数据方采用各自本地的特征数据和本轮参数更新中的基础模型参数计算得到第一中间结果,并采用所述加密密钥对所述第一中间结果进行加密得到所述第一加密中间结果;
采用各所述第一加密中间结果和本地的数据标签计算得到第二加密中间结果;
将所述第二加密中间结果返回给其他数据方,以供其他数据方采用所述第二加密中间结果和各自本地的特征数据计算得到各自模型参数对应的加密梯度值;
采用所述第二加密中间结果和本地的特征数据计算得到本地模型参数对应的加密梯度值。
7.一种提升安全性的纵向联邦学习设备,其特征在于,所述所述提升安全性的纵向联邦学习设备包括存储器、处理器和存储在所述存储器上并可在所述处理器上运行的提升安全性的纵向联邦学习程序,所述提升安全性的纵向联邦学习程序被所述处理器执行时实现如权利要求1至3中任一项所述的提升安全性的纵向联邦学习方法的步骤。
8.一种提升安全性的纵向联邦学习设备,其特征在于,所述提升安全性的纵向联邦学习设备包括存储器、处理器和存储在所述存储器上并可在所述处理器上运行的提升安全性的纵向联邦学习程序,所述提升安全性的纵向联邦学习程序被所述处理器执行时实现如权利要求4至6中任一项所述的提升安全性的纵向联邦学习方法的步骤。
9.一种提升安全性的纵向联邦学习系统,其特征在于,所述提升安全性的纵向联邦学习系统包括参与纵向联邦逻辑回归建模的协作方和至少两个数据方,其中,所述协作方是如权利要求7所述的提升安全性的纵向联邦学习设备,所述数据方是如权利要求8所述的提升安全性的纵向联邦学习设备。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有提升安全性的纵向联邦学习程序,所述提升安全性的纵向联邦学习程序被处理器执行时实现如权利要求1至6中任一项所述的提升安全性的纵向联邦学习方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911128849.6A CN110704860A (zh) | 2019-11-18 | 2019-11-18 | 提升安全性的纵向联邦学习方法、设备、系统及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911128849.6A CN110704860A (zh) | 2019-11-18 | 2019-11-18 | 提升安全性的纵向联邦学习方法、设备、系统及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110704860A true CN110704860A (zh) | 2020-01-17 |
Family
ID=69207146
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911128849.6A Pending CN110704860A (zh) | 2019-11-18 | 2019-11-18 | 提升安全性的纵向联邦学习方法、设备、系统及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110704860A (zh) |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111177791A (zh) * | 2020-04-10 | 2020-05-19 | 支付宝(杭州)信息技术有限公司 | 保护数据隐私的双方联合训练业务预测模型的方法和装置 |
CN111353167A (zh) * | 2020-02-26 | 2020-06-30 | 深圳前海微众银行股份有限公司 | 基于多提供方的数据判别方法、装置、设备及存储介质 |
CN111861099A (zh) * | 2020-06-02 | 2020-10-30 | 光之树(北京)科技有限公司 | 联邦学习模型的模型评估方法及装置 |
CN112001500A (zh) * | 2020-08-13 | 2020-11-27 | 星环信息科技(上海)有限公司 | 基于纵向联邦学习系统的模型训练方法、设备及存储介质 |
CN112102939A (zh) * | 2020-07-24 | 2020-12-18 | 西安电子科技大学 | 心脑血管疾病参考信息预测系统、方法、装置及电子设备 |
CN112149160A (zh) * | 2020-08-28 | 2020-12-29 | 山东大学 | 基于同态伪随机数的联邦学习隐私保护方法及系统 |
CN112668038A (zh) * | 2020-06-02 | 2021-04-16 | 华控清交信息科技(北京)有限公司 | 一种模型训练方法、装置和电子设备 |
CN112668037A (zh) * | 2020-06-02 | 2021-04-16 | 华控清交信息科技(北京)有限公司 | 一种模型训练方法、装置和电子设备 |
CN112818369A (zh) * | 2021-02-10 | 2021-05-18 | 中国银联股份有限公司 | 一种联合建模方法及装置 |
CN112906912A (zh) * | 2021-04-01 | 2021-06-04 | 深圳市洞见智慧科技有限公司 | 纵向联邦学习中无可信第三方的回归模型训练方法及系统 |
CN113128700A (zh) * | 2021-03-23 | 2021-07-16 | 同盾控股有限公司 | 安全多方计算的联邦模型训练加速的方法和系统 |
CN113434898A (zh) * | 2021-05-22 | 2021-09-24 | 西安电子科技大学 | 一种非交互式的隐私保护逻辑回归联邦训练方法及系统 |
CN113449318A (zh) * | 2021-06-18 | 2021-09-28 | 北京明朝万达科技股份有限公司 | 一种数据分级模型训练方法、装置、数据分级方法、装置 |
CN113505894A (zh) * | 2021-06-02 | 2021-10-15 | 北京航空航天大学 | 纵向联邦学习线性回归和逻辑回归模型训练方法及装置 |
CN113537633A (zh) * | 2021-08-09 | 2021-10-22 | 中国电信股份有限公司 | 基于纵向联邦学习的预测方法、装置、设备、介质和系统 |
WO2021239006A1 (zh) * | 2020-05-27 | 2021-12-02 | 支付宝(杭州)信息技术有限公司 | 基于秘密共享的训练方法、装置、电子设备及存储介质 |
CN113806759A (zh) * | 2020-12-28 | 2021-12-17 | 京东科技控股股份有限公司 | 联邦学习模型的训练方法、装置、电子设备和存储介质 |
CN115018087A (zh) * | 2022-07-26 | 2022-09-06 | 北京融数联智科技有限公司 | 一种多方纵向逻辑回归算法模型的训练方法及系统 |
CN115983407A (zh) * | 2023-03-17 | 2023-04-18 | 北京邮电大学 | 一种纵向联邦逻辑回归训练方法及装置 |
-
2019
- 2019-11-18 CN CN201911128849.6A patent/CN110704860A/zh active Pending
Cited By (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111353167A (zh) * | 2020-02-26 | 2020-06-30 | 深圳前海微众银行股份有限公司 | 基于多提供方的数据判别方法、装置、设备及存储介质 |
CN111177791B (zh) * | 2020-04-10 | 2020-07-17 | 支付宝(杭州)信息技术有限公司 | 保护数据隐私的双方联合训练业务预测模型的方法和装置 |
CN111177791A (zh) * | 2020-04-10 | 2020-05-19 | 支付宝(杭州)信息技术有限公司 | 保护数据隐私的双方联合训练业务预测模型的方法和装置 |
WO2021239006A1 (zh) * | 2020-05-27 | 2021-12-02 | 支付宝(杭州)信息技术有限公司 | 基于秘密共享的训练方法、装置、电子设备及存储介质 |
CN112668037B (zh) * | 2020-06-02 | 2024-04-05 | 华控清交信息科技(北京)有限公司 | 一种模型训练方法、装置和电子设备 |
CN111861099A (zh) * | 2020-06-02 | 2020-10-30 | 光之树(北京)科技有限公司 | 联邦学习模型的模型评估方法及装置 |
CN112668038A (zh) * | 2020-06-02 | 2021-04-16 | 华控清交信息科技(北京)有限公司 | 一种模型训练方法、装置和电子设备 |
CN112668037A (zh) * | 2020-06-02 | 2021-04-16 | 华控清交信息科技(北京)有限公司 | 一种模型训练方法、装置和电子设备 |
CN112102939B (zh) * | 2020-07-24 | 2023-08-04 | 西安电子科技大学 | 心脑血管疾病参考信息预测系统、方法、装置及电子设备 |
CN112102939A (zh) * | 2020-07-24 | 2020-12-18 | 西安电子科技大学 | 心脑血管疾病参考信息预测系统、方法、装置及电子设备 |
CN112001500A (zh) * | 2020-08-13 | 2020-11-27 | 星环信息科技(上海)有限公司 | 基于纵向联邦学习系统的模型训练方法、设备及存储介质 |
CN112149160A (zh) * | 2020-08-28 | 2020-12-29 | 山东大学 | 基于同态伪随机数的联邦学习隐私保护方法及系统 |
CN113806759A (zh) * | 2020-12-28 | 2021-12-17 | 京东科技控股股份有限公司 | 联邦学习模型的训练方法、装置、电子设备和存储介质 |
CN112818369A (zh) * | 2021-02-10 | 2021-05-18 | 中国银联股份有限公司 | 一种联合建模方法及装置 |
CN112818369B (zh) * | 2021-02-10 | 2024-03-29 | 中国银联股份有限公司 | 一种联合建模方法及装置 |
CN113128700A (zh) * | 2021-03-23 | 2021-07-16 | 同盾控股有限公司 | 安全多方计算的联邦模型训练加速的方法和系统 |
CN112906912A (zh) * | 2021-04-01 | 2021-06-04 | 深圳市洞见智慧科技有限公司 | 纵向联邦学习中无可信第三方的回归模型训练方法及系统 |
CN113434898A (zh) * | 2021-05-22 | 2021-09-24 | 西安电子科技大学 | 一种非交互式的隐私保护逻辑回归联邦训练方法及系统 |
CN113505894A (zh) * | 2021-06-02 | 2021-10-15 | 北京航空航天大学 | 纵向联邦学习线性回归和逻辑回归模型训练方法及装置 |
CN113505894B (zh) * | 2021-06-02 | 2023-12-15 | 北京航空航天大学 | 纵向联邦学习线性回归和逻辑回归模型训练方法及装置 |
CN113449318B (zh) * | 2021-06-18 | 2024-03-19 | 北京明朝万达科技股份有限公司 | 一种数据分级模型训练方法、装置、数据分级方法、装置 |
CN113449318A (zh) * | 2021-06-18 | 2021-09-28 | 北京明朝万达科技股份有限公司 | 一种数据分级模型训练方法、装置、数据分级方法、装置 |
CN113537633B (zh) * | 2021-08-09 | 2023-04-18 | 中国电信股份有限公司 | 基于纵向联邦学习的预测方法、装置、设备、介质和系统 |
CN113537633A (zh) * | 2021-08-09 | 2021-10-22 | 中国电信股份有限公司 | 基于纵向联邦学习的预测方法、装置、设备、介质和系统 |
CN115018087B (zh) * | 2022-07-26 | 2023-05-09 | 北京融数联智科技有限公司 | 一种多方纵向逻辑回归算法模型的训练方法及系统 |
CN115018087A (zh) * | 2022-07-26 | 2022-09-06 | 北京融数联智科技有限公司 | 一种多方纵向逻辑回归算法模型的训练方法及系统 |
CN115983407A (zh) * | 2023-03-17 | 2023-04-18 | 北京邮电大学 | 一种纵向联邦逻辑回归训练方法及装置 |
CN115983407B (zh) * | 2023-03-17 | 2023-05-30 | 北京邮电大学 | 一种纵向联邦逻辑回归训练方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110704860A (zh) | 提升安全性的纵向联邦学习方法、设备、系统及存储介质 | |
CN109886417B (zh) | 基于联邦学习的模型参数训练方法、装置、设备及介质 | |
US11750591B2 (en) | Key attestation statement generation providing device anonymity | |
US10581812B2 (en) | Device, system and method for fast and secure proxy re-encryption | |
US8509449B2 (en) | Key protector for a storage volume using multiple keys | |
WO2019071886A1 (zh) | 软电话加解密方法、装置及计算机可读存储介质 | |
CN109728906B (zh) | 基于非对称密钥池的抗量子计算非对称加密方法和系统 | |
CN109214201B (zh) | 一种数据共享方法、终端设备及计算机可读存储介质 | |
CN112003696B (zh) | Sm9密钥生成方法、系统、电子设备、装置及存储介质 | |
CN108199847B (zh) | 数字安全处理方法、计算机设备及存储介质 | |
CN113609781B (zh) | 基于联邦学习的汽车生产模具优化方法、系统、设备及介质 | |
JP2016158189A (ja) | 鍵付替え方向制御システムおよび鍵付替え方向制御方法 | |
CN111586142B (zh) | 一种安全多方计算方法及系统 | |
CN109905229B (zh) | 基于群组非对称密钥池的抗量子计算Elgamal加解密方法和系统 | |
CN110807528A (zh) | 特征相关性计算方法、设备及计算机可读存储介质 | |
JPWO2018016330A1 (ja) | 通信端末、サーバ装置、プログラム | |
US9479330B2 (en) | Method, information service system and program for information encryption/decryption | |
CN114003950A (zh) | 基于安全计算的联邦机器学习方法、装置、设备及介质 | |
CN111008400A (zh) | 数据处理方法、装置及系统 | |
CN111555880A (zh) | 数据碰撞方法、装置、存储介质及电子设备 | |
CN114117406A (zh) | 一种数据处理方法、装置、设备及存储介质 | |
CN115412246A (zh) | 不经意传输方法、装置、设备和存储介质 | |
JP2024510658A (ja) | マルチソースデータのデータ処理方法、装置、電子機器、及び記憶媒体 | |
CN112400295B (zh) | 管理与单个公共密钥相关联的多个用户设备的中央私密密钥 | |
JPWO2018043466A1 (ja) | データ抽出システム、データ抽出方法、登録装置及びプログラム |
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 |