CN117634633A - 用于联邦学习的方法和联邦学习系统 - Google Patents
用于联邦学习的方法和联邦学习系统 Download PDFInfo
- Publication number
- CN117634633A CN117634633A CN202210975529.XA CN202210975529A CN117634633A CN 117634633 A CN117634633 A CN 117634633A CN 202210975529 A CN202210975529 A CN 202210975529A CN 117634633 A CN117634633 A CN 117634633A
- Authority
- CN
- China
- Prior art keywords
- gradient
- inner product
- encryption
- machine learning
- learning model
- 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
- 238000000034 method Methods 0.000 title claims abstract description 47
- 238000010801 machine learning Methods 0.000 claims description 153
- 230000006870 function Effects 0.000 claims description 13
- 238000012417 linear regression Methods 0.000 claims description 9
- 238000007477 logistic regression Methods 0.000 claims description 9
- 238000010586 diagram Methods 0.000 description 7
- HPTJABJPZMULFH-UHFFFAOYSA-N 12-[(Cyclohexylcarbamoyl)amino]dodecanoic acid Chemical compound OC(=O)CCCCCCCCCCCNC(=O)NC1CCCCC1 HPTJABJPZMULFH-UHFFFAOYSA-N 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 230000000644 propagated effect Effects 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 239000003999 initiator Substances 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 230000004931 aggregating effect Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 238000012252 genetic analysis Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本公开提供一种用于联邦学习的方法和联邦学习系统。参与方包括具有用户的第一数据和标签信息的第一方和具有用户的第二数据的第二方,方法包括:通过第一方基于第一加密内积和标签信息来计算第一加密梯度,并将第一加密梯度发送到服务器;通过第二方基于第二加密内积来计算第二加密梯度,并将第二加密梯度发送到服务器;通过服务器获得第一解密梯度和第二解密梯度,并将第一解密梯度和第二解密梯度分别发送到第一方和第二方;通过第一方基于第一解密梯度训练第一模型直到第一模型的特征参数收敛;和通过第二方基于第二解密梯度训练第二模型直到第二模型的特征参数收敛。
Description
技术领域
本公开及计算机技术领域,更具体地,涉及一种用于联邦学习的方法和联邦学习系统。
背景技术
联邦学习是一种分布式加密机器学习技术范式,因其可兼顾大数据合作需求和隐私安全保护,近两年发展极为迅速。联邦学习是一个机器学习框架,能有效帮助多个参与方在满足用户隐私保护、数据安全和政府法规的要求下,进行数据使用和机器学习建模。联邦学习作为分布式的机器学习范式,可以有效解决数据孤岛问题,让参与方在不共享数据的基础上联合建模,能从技术上打破数据孤岛,实现人工智能的协作。联邦学习可适用于数据集上具有相同的样本空间、不同的特征空间的参与方所组成的联邦学习场景。在参与方共同训练联邦模型的过程中,需要各参与方进行大量的数据传输,为了保障数据的隐私安全,各参与方在传输数据信息之前需要各自对其数据进行加密,保证己方真实数据不出本地。
然而,现阶段主流的联邦学习框架对大量数据进行加密和解密操作均需要花费较长的时间,这就大大降低了通过联邦学习进行联合建模的效率,因此,如何提升联邦学习过程中数据的加密与解密效率成为了一个亟需解决的技术问题。
发明内容
本公开的目的在于提供一种用于联邦学习的方法和联邦学习系统。
在一个总体的方面,提供一种用于联邦学习的方法,参与方至少包括第一方和第二方,第一方具有用户的第一数据和标签信息,第二方具有用户的第二数据,所述方法包括:通过第一方,基于第一数据和第一方的第一机器学习模型的特征参数,通过统一计算设备架构编程来使用从服务器接收的公钥执行并行同态加密运算以获得第一加密内积,基于第一加密内积和标签信息来计算第一加密梯度,并将第一加密梯度发送到服务器;通过第二方,基于第二数据和第二方的第二机器学习模型的特征参数,通过统一计算设备架构编程来使用公钥执行并行同态加密运算以获得第二加密内积,基于第二加密内积来计算第二加密梯度,并将第二加密梯度发送到服务器;通过服务器,将第一加密梯度和第二加密梯度分别划分为多个第一加密梯度数据块和多个第二加密梯度数据块,通过统一计算设备架构编程来使用私钥对所述多个第一加密梯度数据块和所述多个第二加密梯度数据块分别进行并行同态解密运算以获得第一解密梯度和第二解密梯度,并将第一解密梯度和第二解密梯度分别发送到第一方和第二方;通过第一方,基于第一解密梯度训练第一机器学习模型,直到第一机器学习模型的特征参数收敛;和通过第二方,基于第二解密梯度训练第二机器学习模型,直到第二机器学习模型的特征参数收敛,其中,基于第一加密内积和标签信息来计算第一加密梯度的步骤包括:从第二方接收第二加密内积;基于第一加密内积、第二加密内积和标签信息并行计算聚合内积信息;基于聚合内积信息和第一数据来计算第一加密梯度,其中,基于第二加密内积来计算第二加密梯度的步骤包括:从第一方接收聚合内积信息;基于聚合内积信息和第二数据来计算第二加密梯度。
可选地,执行并行同态加密运算以获得第一加密内积的步骤包括:基于第一数据和第一方的第一机器学习模型的特征参数来计算第一中间内积;将第一中间内积划分为多个第一中间子内积;通过统一计算设备架构编程来使用从服务器接收的公钥对所述多个第一中间子内积进行并行同态加密运算以获得第一加密内积,其中,执行并行同态加密运算以获得第二加密内积的步骤包括:基于第二数据和第二方的第二机器学习模型的特征参数来计算第二中间内积;将第二中间内积划分为多个第二中间子内积;通过统一计算设备架构编程来使用从服务器接收的公钥对所述多个第二中间子内积进行并行同态加密运算以获得第二加密内积。
可选地,基于第一加密内积、第二加密内积和标签信息并行计算聚合内积信息的步骤包括:使用公钥对标签信息进行并行加密以获得加密标签信息;对第一加密内积与第二加密内积进行同态加密运算中的相加以获得相加结果;和对相加结果与加密标签信息进行同态加密运算中的相减以获得聚合内积信息。
可选地,基于聚合内积信息和第一数据来计算第一加密梯度的步骤包括:对第一数据与聚合内积信息进行同态加密运算中的相乘以获得第一相乘结果;对第一相乘结果与第一加密梯度掩码进行同态加密运算中的相加以获得第一加密梯度,其中,第一加密梯度掩码由第一方通过使用公钥对第一预定梯度掩码进行加密来获得,其中,基于第二数据和聚合内积信息来计算第二加密梯度的步骤包括:对第二数据与聚合内积信息进行同态加密运算中的相乘以获得第二相乘结果;对第二相乘结果与第二加密梯度掩码进行同态加密运算中的相乘以获得第二加密梯度,其中,第二加密梯度掩码由第二方通过使用公钥对第二预定梯度掩码进行加密来获得。
可选地,基于第一解密梯度训练第一机器学习模型的步骤包括:将第一解密梯度与第一预定梯度掩码之间的差计算为第一梯度;将第一机器学习模型的特征参数减去第一机器学习模型学习率与第一梯度之间的乘积的结果作为第一机器学习模型的本轮训练后的特征参数;基于第一机器学习模型的本轮训练后的特征参数训练第一机器学习模型,直到第一机器学习模型的特征参数收敛,其中,基于第二解密梯度训练第二机器学习模型的步骤包括:将第二解密梯度与第二预定梯度掩码之间的差计算为第二梯度;将第二机器学习模型的特征参数减去第二机器学习模型的学习率与第二梯度之间的乘积的结果作为第二机器学习模型的本轮训练后的特征参数;基于第二机器学习模型的本轮训练后的特征参数训练第二机器学习模型,直到第二机器学习模型的特征参数收敛。
可选地,第一中间内积是第一数据与第一机器学习模型的特征参数之间的内积,第二中间内积是第二数据与第二机器学习模型的特征参数之间的内积,或者其中,第一中间内积和第二中间内积可分别通过等式u=[u1,u2,u3]来计算,u1=[u1,...,uj,...,um], 其中m表示第一数据或第二数据的样本总数,d表示第一数据或第二数据的当前样本特征数目,θ表示第一机器模型或第二机器学习模型的特征参数。
可选地,基于第一加密内积、第二加密内积和标签信息计算聚合内积信息的步骤包括:使用函数f(x)=α+β*x+γ*x3来近似sigmoid函数其中,其中,α,β,γ为超参数,基于下面等式来计算聚合内积信息:其中,Enc(d)表示聚合内积信息,∑、+、*和-分别表示同态加密运算中的求和符号、加号、乘号和减号,Enc(u1)表示第一加密内积,Enc(u2)表示第二加密内积,Enc(y)表示与标签信息对应的加密标签信息。
可选地,第一机器学习模型和第二机器学习模型分别是线性回归模型、逻辑回归模型和集成树模型中的一个或多个。
在一个总体的方面,提供一种联邦学习系统,参与方至少包括第一方和第二方,第一方具有用户的第一数据和标签信息,第二方具有用户的第二数据,所述联邦学习系统包括:与第一方对应的第一计算装置,被配置为:基于第一数据和第一方的第一机器学习模型的特征参数,通过统一计算设备架构编程来使用从服务器接收的公钥执行并行同态加密运算以获得第一加密内积,基于第一加密内积和标签信息来计算第一加密梯度,并将第一加密梯度发送到服务器;与第二方对应的第二计算装置,被配置为:基于第二数据和第二方的第二机器学习模型的特征参数,通过统一计算设备架构编程来使用公钥执行并行同态加密运算以获得第二加密内积,基于第二加密内积来计算第二加密梯度,并将第二加密梯度发送到服务器;服务器,被配置为:将第一加密梯度和第二加密梯度分别划分为多个第一加密梯度数据块和多个第二加密梯度数据块,通过统一计算设备架构编程来使用私钥对所述多个第一加密梯度数据块和所述多个第二加密梯度数据块分别进行并行同态解密运算以获得第一解密梯度和第二解密梯度,并将第一解密梯度和第二解密梯度分别发送到第一方和第二方;其中,第一计算装置还被配置为:基于第一解密梯度训练第一机器学习模型,直到第一机器学习模型的特征参数收敛,其中,第二计算装置还被配置为:基于第二解密梯度训练第二机器学习模型,直到第二机器学习模型的特征参数收敛,其中,第一计算装置被配置为:从第二方接收第二加密内积;基于第一加密内积、第二加密内积和标签信息并行计算聚合内积信息;基于聚合内积信息和第一数据来计算第一加密梯度,其中,第二计算装置被配置为:从第一方接收聚合内积信息;基于聚合内积信息和第二数据来计算第二加密梯度。
可选地,第一计算装置被配置为:基于第一数据和第一方的第一机器学习模型的特征参数来计算第一中间内积;将第一中间内积划分为多个第一中间子内积;通过统一计算设备架构编程来使用从服务器接收的公钥对所述多个第一中间子内积进行并行同态加密运算以获得第一加密内积,其中,第二计算装置被配置为:基于第二数据和第二方的第二机器学习模型的特征参数来计算第二中间内积;将第二中间内积划分为多个第二中间子内积;通过统一计算设备架构编程来使用从服务器接收的公钥对所述多个第二中间子内积进行并行同态加密运算以获得第二加密内积。
可选地,第一计算装置被配置为:使用公钥对标签信息进行并行加密以获得加密标签信息;对第一加密内积与第二加密内积进行同态加密运算中的相加以获得相加结果;和对相加结果与加密标签信息进行同态加密运算中的相减以获得聚合内积信息。
可选地,第一计算装置被配置为:对第一数据与聚合内积信息进行同态加密运算中的相乘以获得第一相乘结果;对第一相乘结果与第一加密梯度掩码进行同态加密运算中的相加以获得第一加密梯度,其中,第一加密梯度掩码由第一方通过使用公钥对第一预定梯度掩码进行加密来获得,其中,第二计算装置被配置为:对第二数据与聚合内积信息进行同态加密运算中的相乘以获得第二相乘结果;对第二相乘结果与第二加密梯度掩码进行同态加密运算中的相乘以获得第二加密梯度,其中,第二加密梯度掩码由第二方通过使用公钥对第二预定梯度掩码进行加密来获得。
可选地,第一计算装置被配置为:将第一解密梯度与第一预定梯度掩码之间的差计算为第一梯度;将第一机器学习模型的特征参数减去第一机器学习模型学习率与第一梯度之间的乘积的结果作为第一机器学习模型的本轮训练后的特征参数;基于第一机器学习模型的本轮训练后的特征参数训练第一机器学习模型,直到第一机器学习模型的特征参数收敛,其中,基于第二解密梯度训练第二机器学习模型的步骤包括:将第二解密梯度与第二预定梯度掩码之间的差计算为第二梯度;将第二机器学习模型的特征参数减去第二机器学习模型的学习率与第二梯度之间的乘积的结果作为第二机器学习模型的本轮训练后的特征参数;基于第二机器学习模型的本轮训练后的特征参数训练第二机器学习模型,直到第二机器学习模型的特征参数收敛。
可选地,第一中间内积是第一数据与第一机器学习模型的特征参数之间的内积,第二中间内积是第二数据与第二机器学习模型的特征参数之间的内积,或者其中,第一中间内积和第二中间内积可分别通过等式u=[u1,u2,u3]来计算,u1=[u1,...,uj,...,um], 其中m表示第一数据或第二数据的样本总数,d表示第一数据或第二数据的当前样本特征数目,θ表示第一机器模型或第二机器学习模型的特征参数。
可选地,第一计算装置被配置为:用函数f(x)=α+β*x+γ*x3近似sigmoid函数α,β,γ为超参数,基于下面等式计算聚合内积信息:其中,Enc(d)表示聚合内积信息,∑、+、*和-分别表示同态加密运算中的求和符号、加号、乘号和减号,Enc(u1)表示第一加密内积,Enc(u2)表示第二加密内积,Enc(y)表示与标签信息对应的加密标签信息。
可选地,第一机器学习模型和第二机器学习模型分别是线性回归模型、逻辑回归模型和集成树模型中的一个或多个。
在一个总体的方面,提供一种存储指令的计算机可读存储介质,其中,当所述指令被至少一个计算装置运行时,促使所述至少一个计算装置执行如上所述的任一方法。
根据一个或多个实施例,由于可在第一方、第二方和服务器分别通过统一计算设备架构编程来对各自的数据进行加密和/或解密,因此,大大提高了联邦学习中的加密和/或解密的效率并减少了加密和/或解密所需要的时间。
根据一个或多个实施例,第一方可通过将第一内积划分为多个子数据并使用统一计算设备架构(CDUA)编程对多个子数据进行并行加密来获得第一加密内积。在该示例中,由于可通过使用CUDA编程技术实现了可同时对第一内积的多个子数据进行加密的运算,因此,并行加密的第一内积的数字量级可达百万级,从而大大提高了联邦学习中的加密的效率并减少了加密所需要的时间。
根据一个或多个实施例,第二方可通过将第二内积划分为多个子数据并使用统一计算设备架构编程对多个子数据进行并行加密来获得第二加密内积。在该示例中,由于可通过使用统一计算设备架构编程技术实现了可同时对第二内积的多个子数据进行加密的运算,因此,并行加密的第二内积的数字量级可达百万级,从而大大提高了联邦学习中的加密的效率并减少了加密所需要的时间。
根据一个或多个实施例,由于可通过使用统一计算设备架构编程技术实现了可同时对第一加密梯度的多个第一加密梯度数据块和第一加密梯度的多个第一加密梯度数据块进行解密的运算,因此,并行解密的第一加密梯度的多个第一加密梯度数据块和第一加密梯度的多个第一加密梯度数据块的数字量级可达百万级,从而大大提高了联邦学习中的解密的效率并减少了解密所需要的时间。
根据一个或多个实施例,由于第一方在加密的过程中使用了仅第一方知晓的第一加密梯度掩码,因此,第一方可以更好保护加密数据。
根据一个或多个实施例,由于第二方在加密的过程中使用了仅第二方知晓的第二加密梯度掩码,因此,第二方可以更好保护加密数据。
根据一个或多个实施例,由于第一方使用的近似函数是三次多项式函数,因此,近似结果更为准确,使得第一机器学习模型和第二机器学习模型的训练结果更准确。
附图说明
从下面结合附图对本申请实施例的详细描述中,本申请的这些和/或其他方面和优点将变得更加清楚并更容易理解,其中:
图1是示出根据本公开的实施例的用于联邦学习的方法;
图2是示出根据本公开的实施例的联邦学习系统;
图3示出根据本公开的实施例的用于联邦学习的方法的示意图;
图4示出根据本公开的实施例的并行加密/解密的示意图。
在下文中,将结合附图详细描述本申请,贯穿附图,相同或相似的元件将用相同或相似的标号来指示。
具体实施方式
在下面的具体实施方式中,阐述了许多具体细节以便提供对公开的透彻理解。然而,本领域技术人员将理解,可在没有这些具体细节的情况下实践公开的方面。在其他实例下,公知的方法、过程、组件和电路未被详细描述,以免模糊在此公开的主题。
贯穿本说明书的对“一个实施例”的引用表示:结合该实施例描述的特定的特征、结构或特性可包括在在此公开的至少一个实施例中。因此,贯穿本说明书的不同地方的短语“在一个实施例中”或“在实施例中”或“根据一个实施例”(或具有类似含义的其他短语)的出现可不必都指示同一实施例。此外,在一个或多个实施例中,可以以任何合适的方式组合特定的特征、结构或特性。在这方面,如在此使用的,词“示例性”表示“用作示例、实例或说明”。在此描述为“示例性”的任何实施例不应被解释为一定比其他实施例优选或有利。此外,在一个或多个实施例中,可以以任何合适的方式组合特定的特征、结构或特性。此外,根据在此讨论的上下文,单数术语可包括对应的复数形式,并且复数术语可包括对应的单数形式。
在此使用的术语仅为了描述一些示例实施例的目的,而不意在限制要求保护的主题。如在此使用的,除非上下文另外清楚地指示,否则单数形式也意在包括复数形式。还将理解,术语“包括”在本说明书中使用时,说明存在陈述的特征、整体、步骤、操作、元件和/或组件,但不排除存在或添加一个或多个其他特征、整体、步骤、操作、元件、组件和/或它们的组。如在此使用的,除非明确地如此定义,否则术语“第一”、“第二”等被用作它们之后的名词的标签,并且不表示任何类型的顺序(例如,空间、时间、逻辑等)。此外,可在两个或更多个附图之间使用相同的参考标号来表示具有相同或相似功能的部件、组件、块、电路、单元或模块。然而,这样的用法仅为了简化说明和易于讨论,并不表示这样的组件或单元的构造或架构细节在所有实施例之间都相同,或者这样的共同引用的部件/模块是实现在此公开的示例实施例中的一些的唯一方式。
将理解,当元件或层被称为“在”另一元件或层“上”、“连接到”或“结合到”另一元件或层时,它可直接在另一元件或层上、直接连接到或直接结合到另一元件或层,或者可存在中间元件或层。相反,当元件被称为“直接在”另一元件或层“上”、“直接连接到”或“直接结合到”另一元件或层时,不存在中间元件或层。相同的标号始终表示相同的元件。如在此使用的,术语“和/或”包括相关所列项中的一个或多个的任何组合和所有组合。
如在此使用的,除非明确地如此定义,否则术语“第一”、“第二”等被用作它们之后的名词的标签,并且不表示任何类型的顺序(例如,空间、时间、逻辑等)。此外,可在两个或更多个附图之间使用相同的参考标号来表示具有相同或相似功能的部件、组件、块、电路、单元或模块。然而,这样的用法仅为了简化说明和易于讨论,并不表示这样的组件或单元的构造或架构细节在所有实施例之间都相同,或者这样的共同引用的部件/模块是实现在此公开的示例实施例中的一些的唯一方式。
除非另外定义,否则在此使用的所有术语(包括技术术语和科学术语)具有与本主题所属领域的普通技术人员通常理解的含义相同的含义。还将理解,除非在此明确地如此定义,否则术语(诸如,在通用词典中定义的术语)应当被解释为具有与它们在相关领域的上下文中的含义一致的含义,并且将不以理想化或过于形式化的含义进行解释。
如在此使用的,术语“模块”表示被配置为提供在此结合模块描述的功能的软件、固件和/或硬件的任何组合。例如,软件可实现为软件包、代码和/或指令集或指令,并且在此描述的任何实施方式中使用的术语“硬件”可包括例如单独地或以任何组合的组装件、硬连线电路、可编程电路、状态机电路和/或存储由可编程电路执行的指令的固件。模块可共同地或单独地实现为形成较大系统的一部分的电路(例如但不限于集成电路(IC)、片上系统(SoC)、组装件等)。
图1是示出根据本公开的实施例的用于联邦学习的方法。
在联邦学习中,参与方可至少包括多个参与方(例如,第一方和第二方)。第一方具有用户的第一数据和标签信息,并且可被称为发起者,第二方具有用户的第二数据,并且可被称为合作者。
联邦学习可被应用于样本分类、回归预测、图像识别、基因分析、自然语言等各种场景。
在一个非限制性示例中,联邦学习可应用于商品推荐场景。在商品推荐场景中,第一数据和第二数据可以是与消费行为相关的样本。这种情况下,在第一机器学习模型和第二机器学习模型被训练好之后,第一机器学习模型和第二机器学习模型可分别用于执行商品推荐任务。
在实施例中,第一方提供的第一数据包括用于识别用户的特征、用户信息特征、用于识别商品的特征、商品信息特征、消费历史特征中的至少一个等。例如,用于识别用户的特征可以是用户ID、诸如电话和手机号的通信方式、证件号码、会员号、电子邮件地址等特征。用户信息特征可以是包括在用户信息表中的特征,例如,用户资产、工作单位、教育经历、月收入等。用于识别商品的特征可以是产品ID、产品名称等。商品信息特征可以是名称、产地、生产商、产品收益等。消费历史特征可以表示用户的消费历史,例如,消费历史特征可以是针对特定用户标注是否购买特定商品的标签(Label)。此外,用于识别用户的特征、用户信息特征、用于识别商品的特征、商品信息特征、消费历史特征可以分布在不同的数据集或数据表中。例如,第一数据可以通过使用用户ID+产品ID+时间作为主键对营销记录表、营销反馈表、客户信息表、产品信息表、客户行为表、产品购买表等进行拼表,从而得到一张具备用户ID、产品ID、时间、是否购买(label)、用户资产、产品收益等信息的样本集。
在实施例中,第二方提供的第二数据至少包括用于识别用户的特征、消费习惯特征。例如,用于识别用户的特征可以是用户ID、诸如电话和手机号的通信方式、证件号码、会员号、电子邮件地址等特征。消费习惯可以是与时序相关的特征,例如,消费时间、消费金额、消费类型、消费场所、购买商品的喜好或倾向等。此外,用于识别用户的特征、消费习惯特征可以分布在不同的数据集或数据表中。例如,第二数据可以通过使用用户ID+时间作为主键对营销记录表、营销反馈表、客户信息表、产品信息表、客户行为表、产品购买表等进行拼表,从而得到一张具备用户ID、时间、消费金额、消费类型等信息的样本集。
需要说明的是,上面示出的第一数据和第二数据的示例仅是为了描述商品推荐应用场景而示出的示例。第一数据和第二数据的范围不限于上面的示例。
需要说明的是,为示出方便,这里主要描述在两方(发起方(即,第一方)、合作方(即,第二方))参与的联邦学习(例如,纵向联邦学习)的场景下执行用于联邦学习的方法。但该方法并不限于此,可拓展至多方的纵向联邦学习。此外,还可以根据增加或省略联邦学习框架中的某些步骤。
参照图1,在步骤S110中,可通过第一方计算第一加密梯度,并将第一加密梯度发送到服务器。更具体地讲,第一方(例如,与第一方对应的第一计算装置)可基于第一数据和第一方的第一机器学习模型的特征参数,通过统一计算设备架构编程来使用从服务器接收的公钥执行并行同态加密运算以获得第一加密内积,基于第一加密内积和标签信息来计算第一加密梯度,并将第一加密梯度发送到服务器。
在一个实施例中,第一方可基于第一数据和第一方的第一机器学习模型的特征参数来计算第一中间内积;将第一中间内积划分为多个第一中间子内积;通过统一计算设备架构编程来使用从服务器接收的公钥对所述多个第一中间子内积进行并行同态加密运算以获得第一加密内积。
这里,服务器可以是不同于第一方和第二方的计算装置,并且可具有私钥和公钥。在一个示例中,第一机器学习模型可以是线性回归模型、逻辑回归模型和集成树模型中的一个或多个,并且不限于此。在训练开始前,第一机器学习模型可具有初始化的特征参数。此外,标签信息可以是与用户的第一数据对应的标签信息。
此外,在一个示例中,当第一机器学习模型对应于线性回归模型时,第一中间内积可以是第一数据与第一机器学习模型的特征参数之间的内积。在另一个示例中,当第一机器学习模型对应于逻辑回归模型时,第一中间内积可以是通过等式u=[u1,u2,u3]来计算,u1=[u1,...,uj,...,um], 其中m表示第一数据或第二数据的样本总数,d表示第一数据或第二数据的当前样本特征数目,θ表示第一机器模型或第二机器学习模型的特征参数。然而,本发明不限于此,当第一机器学习模型对应于其他机器学习模型时,第一中间内积也可以是其他机器学习模型的基于第一数据和特征参数而计算的中间结果。
在一个实施例中,第一方可从第二方接收第二加密内积,基于第一加密内积、第二加密内积和标签信息计算聚合内积信息,并基于聚合内积信息和第一数据来计算第一加密梯度。
在一个示例中,当第一机器学习模型对应于线性回归模型时,第一方可使用公钥对标签信息进行并行加密以获得加密标签信息,对第一加密内积与第二加密内积进行同态加密运算中的相加以获得相加结果,并对相加结果与加密标签信息进行同态加密运算中的相减以获得聚合内积信息。
在另一个示例中,当第一机器学习模型对应于逻辑回归模型时,第一方使用函数f(x)=α+β*x+γ*x3来近似sigmoid函数,其中, 其中,α,β,γ为超参数。然后,基于下面的等式来计算聚合内积信息:
其中,Enc(d)表示聚合内积信息,∑、+、*和-分别表示同态加密运算中的求和符号、加号、乘号和减号,Enc(u1)表示第一加密内积,Enc(u2)表示第二加密内积,Enc(y)表示与标签信息对应的加密标签信息。在该示例中,由于本发明采用的近似函数是三次多项式函数,因此,近似结果更为准确。
此外,第一方可对第一数据与聚合内积信息进行同态加密运算中的相乘以获得第一相乘结果,并对第一相乘结果与第一加密梯度掩码进行同态加密运算中的相加以获得第一加密梯度,其中,第一加密梯度掩码由第一方通过使用公钥对第一预定梯度掩码进行加密来获得。
由于可通过使用统一计算设备架构(CUDA编程技术)实现了可同时对第一中间内积的多个子数据进行加密的运算,因此,并行加密的第一内积的数字量级可达百万级,从而大大提高了联邦学习中的加密的效率并减少了加密所需要的时间。
在步骤S120中,可通过第二方计算第二加密梯度,并将第二加密梯度发送到服务器。更具体地讲,第二方(例如,与第二方对应的第二计算装置)可以基于第二数据和第二方的第二机器学习模型的特征参数,通过统一计算设备架构编程来使用公钥执行并行同态加密运算以获得第二加密内积,基于第二加密内积来计算第二加密梯度,并将第二加密梯度发送到服务器。
在一个实施例中,第二方可基于第二数据和第二方的第二机器学习模型的特征参数来计算第二中间内积;将第二中间内积划分为多个第二中间子内积;通过统一计算设备架构编程来使用从服务器接收的公钥对所述多个第二中间子内积进行并行同态加密运算以获得第二加密内积。
在一个示例中,第二机器学习模型可以是线性回归模型、逻辑回归模型和集成树模型中的一个或多个,并且不限于此。在训练开始前,第二机器学习模型可具有初始化的特征参数。在一个实施例中,第一机器学习模型和第二机器学习模型可以是同一模型,即,具有类似的参数。
此外,在一个示例中,当第二机器学习模型对应于线性回归模型时,第二中间内积可以是第二数据与第二机器学习模型的特征参数之间的内积。在另一个示例中,当第二机器学习模型对应于逻辑回归模型时,第二中间内积可以是通过等式u=[u1,u2,u3]来计算,u1=[u1,...,uj,...,um], 其中m表示第二数据或第二数据的样本总数,d表示第二数据或第二数据的当前样本特征数目,θ表示第二机器模型或第二机器学习模型的特征参数。然而,本发明不限于此,当第二机器学习模型对应于其他机器学习模型时,第二中间内积也可以是其他机器学习模型的基于第二数据和特征参数而计算的中间结果。
在一个实施例中,第二方可从第一方接收聚合内积信息;基于聚合内积信息和第二数据来计算第二加密梯度由于可通过使用统一计算设备架构编程技术实现了可同时对第二中间内积的多个子数据进行加密的运算,因此,并行加密的第二内积的数字量级可达百万级,从而大大提高了联邦学习中的加密的效率并减少了加密所需要的时间。
此外,第一方可将聚合内积信息发送给第二方。在一个实施例中,第二方对第二数据与聚合内积信息进行同态加密运算中的相乘以获得第二相乘结果,对第二相乘结果与第二加密梯度掩码进行同态加密运算中的相乘以获得第二加密梯度。第二加密梯度掩码由第二方通过使用从服务器接收的公钥对第二预定梯度掩码进行加密来获得。由于第二方在加密的过程中使用了仅第二方知晓的第二加密梯度掩码,因此,第二方可以更好保护加密数据。
在步骤S130中,服务器可计算第一解密梯度和第二解密梯度,并将第一解密梯度和第二解密梯度分别发送到第一方和第二方。更具体地讲,服务器,将第一加密梯度和第二加密梯度分别划分为多个第一加密梯度数据块和多个第二加密梯度数据块,通过统一计算设备架构编程来使用私钥对所述多个第一加密梯度数据块和所述多个第二加密梯度数据块分别进行并行同态解密运算以获得第一解密梯度和第二解密梯度,并将第一解密梯度和第二解密梯度分别发送到第一方和第二方。
由于可通过使用统一计算设备架构编程技术实现了可同时对第一加密梯度的多个第一加密梯度数据块和第一加密梯度的多个第一加密梯度数据块进行解密的运算,因此,并行解密的第一加密梯度的多个第一加密梯度数据块和第一加密梯度的多个第一加密梯度数据块的数字量级可达百万级,从而大大提高了联邦学习中的解密的效率并减少了解密所需要的时间。
在步骤S140中,可通过第一方,基于第一解密梯度训练第一机器学习模型,直到第一机器学习模型的特征参数收敛。
在一个实施例中,第一方可将第一解密梯度与第一预定梯度掩码之间的差计算为第一梯度,将第一机器学习模型的特征参数减去第一机器学习模型学习率与第一梯度之间的乘积的结果作为第一机器学习模型的本轮训练后的特征参数,并基于第一机器学习模型的本轮训练后的特征参数训练第一机器学习模型,直到第一机器学习模型的特征参数收敛。
在步骤S150中,可通过第二方,基于第二解密梯度训练第二机器学习模型,直到第二机器学习模型的特征参数收敛。
在一个实施例中,第二方可将第二解密梯度与第二预定梯度掩码之间的差计算为第二梯度,将第二机器学习模型的特征参数减去第二机器学习模型的学习率与第二梯度之间的乘积的结果作为第二机器学习模型的本轮训练后的特征参数,并基于第二机器学习模型的本轮训练后的特征参数训练第二机器学习模型,直到第二机器学习模型的特征参数收敛。这里,通过联邦学习的训练,第一机器学习模型和第二机器学习模型均被训练,直到第一机器学习模型和第二机器学习模型的特征参数均收敛。
根据本发明的用于联邦学习的方法,由于可在第一方、第二方和服务器分别通过统一计算设备架构编程来对各自的数据进行加密和/或解密,因此,大大提高了联邦学习中的加密和/或解密的效率并减少了加密和/或解密所需要的时间。
图2是示出根据本公开的实施例的联邦学习系统。
参照图2,联邦学习系统200可包括与第一方对应的第一计算装置210、与第二方对应的第二计算装置220和服务器230。
其中,第一计算装置210,被配置为:基于第一数据和第一方的第一机器学习模型的特征参数,通过统一计算设备架构编程来使用从服务器230接收的公钥执行并行同态加密运算以获得第一加密内积,基于第一加密内积和标签信息来计算第一加密梯度,并将第一加密梯度发送到服务器230;
第二计算装置220,被配置为:基于第二数据和第二方的第二机器学习模型的特征参数,通过统一计算设备架构编程来使用公钥执行并行同态加密运算以获得第二加密内积,基于第二加密内积来计算第二加密梯度,并将第二加密梯度发送到服务器230;
服务器230,被配置为:将第一加密梯度和第二加密梯度分别划分为多个第一加密梯度数据块和多个第二加密梯度数据块,通过统一计算设备架构编程来使用私钥对所述多个第一加密梯度数据块和所述多个第二加密梯度数据块分别进行并行同态解密运算以获得第一解密梯度和第二解密梯度,并将第一解密梯度和第二解密梯度分别发送到第一方和第二方。
上面已经参照图1描述了分别由第一计算装置210、第二计算装置220和服务器230执行操作,为了简洁,后续不再重复对由第一计算装置210、第二计算装置220和服务器230执行的具体操作进行描述。
图3示出根据本公开的实施例的用于联邦学习的方法的示意图。
参照图3,根据本公开的实施例的用于联邦学习的方法可包括如下步骤:
1.服务器将公钥分发给各个参与者(即,各个方);
2.参与者i(i=1,2,...,N)初始化己方拥有特征对应的特征参数θi,梯度掩码mi,并利用公钥并行给梯度掩码mi加密得到Enc(mi);
3.参与者i(i=1,2,...,N)计算己方数据xi与参数θi的内积ui=xiθi,并对ui进行并行同态加密运算,得到Enc(ui);并将其发送给拥有标签信息的参与者。
4.拥有标签信息的参与者计算并行地聚合加密内积信息 其中“∑”和“-”代表同态加密运算中的求和符号和减号,Enc(y)表示加密的标签信息,并将加密后的聚合内积信息Enc(d)发送给其他参与者;
5.参与者i(i=1,2,...,N)得到Enc(d)之后,计算加密梯度 其中“*”和“+”代表同态加密运算中的乘号和加号,之后将加密梯度发送给服务器;
6.服务器利用私钥并行解密得到并将其发送给各自参与者;
7.参与者i(i=1,2,...,N)得到后,计算真实梯度并更新其参数θi=θi-η*gi,其中η代表学习率;
8.重复3~7步骤直到参数收敛。
图3中的根据本公开的实施例的用于联邦学习的方法可示出不同单元之间的数据传输和由各个单元执行的操作。
图3中的根据本公开的实施例的用于联邦学习的方法可对应于第一机器学习模型和第二机器学习模型是线性回归模型的示例。
在其他示例中,例如,当第一机器学习模型和第二机器学习模型是逻辑回归模型时,根据本公开的实施例的用于联邦学习的方法可包括如下步骤:
1.服务器将公钥分发给各个参与者;
2.参与者i(i=1,2,...,N)初始化己方拥有特征对应的特征参数θi,梯度掩码mi,并利用公钥并行给梯度掩码mi加密得到Enc(mi);各参与者对其数据的连续特征进行分桶操作,以获得下述步骤3中的参数之和。
3.参与者i(i=1,2,...,N)计算己方数据xi所对应的参数之和u1=[u1,...,uj,...,um],其中m表示样本总数,d表示当前样本特征数目,并将其拼接起来得到u=[u1,u2,u3]。之后对u进行并行同态加密运算,得到Enc(u);并将其发送给拥有数据标签信息的参与者;
4.拥有标签信息的参与者使用函数f(x)=α+β*x+γ*x3来近似sigmoid函数其中α,β,γ为超参数。之后计算并行地聚合加密内积信息 其中“∑”、“+”、“*”和“-”分别代表同态加密运算中的求和符号、加号、乘号和减号,并将加密后的聚合内积信息Enc(d)发送给其他参与者;
5.参与者i(i=1,2,...,N)得到Enc(d)之后,计算加密梯度 其中“*”和“+”代表同态加密运算中的乘号和加号,之后将加密梯度发送给服务器;
6.服务器利用私钥并行解密得到并将其发送给各自参与者;
7.参与者i(i=1,2,...,N)得到后,计算真实梯度并更新其参数θi=θi-η*gi,其中η代表学习率;
8.重复3~7步骤直到参数收敛。
在该示例中,本发明使用的近似函数是三次多项式函数,使得近似结果更为准确,使得第一机器学习模型和第二机器学习模型的训练结果更准确。
图4示出根据本公开的实施例的并行加密/解密的示意图。
参照图4,根据本公开的实施例的并行加密/解密,可将数据Enc(P)划分为多个数据块,并利用CUDA编程对多个数据块进行并行加密。此外,根据本公开的实施例的并行加密/解密,可将数据Dec(Q)划分为多个数据块,并利用CUDA编程对多个数据块进行并行解密。
本说明书中描述的主题和操作的实施例可以以数字电子电路、或者以计算机软件、固件或硬件(包括本说明书中公开的结构和它们在结构上的等同物)、或者以它们中的一个或多个的组合来实现。本说明书中描述的主题的实施例可被实现为编码在计算机存储介质上以通过数据处理设备执行或控制数据处理设备的操作的一个或多个计算机程序(即,计算机程序指令中的一个或多个模块)。可选地或此外,程序指令可被编码在人工生成的传播信号(例如,机器生成的电信号、光信号或电磁信号)上,该传播信号被生成以将用于传输的信息编码到合适的接收器设备来由数据处理设备执行。计算机存储介质可以是或被包括在计算机可读存储装置、计算机可读存储基底、随机或串行存取存储器阵列或装置、或它们的组合中。此外,当计算机存储介质不是传播信号时,计算机存储介质可以是编码在人工生成的传播信号中的计算机程序指令的源或目的地。计算机存储介质也可以是或被包括在一个或多个单独的物理组件或介质(例如,多个CD、磁盘或其他存储装置)中。此外,本说明书中描述的操作可被实现为数据处理设备对存储在一个或多个计算机可读存储装置上或从其他源接收的数据执行的操作。
虽然本说明书可包含许多具体的实施细节,但是实施细节不应被解释为对任何要求保护的主题的范围的限制,而是应当被解释为对特定实施例具体的特征的描述。本说明书中的在单独实施例的上下文中描述的特定特征也可以在单个实施例中以组合来实现。相反,在单个实施例的上下文中描述的各种特征也可以在多个实施例中单独地实现或以任何合适的子组合来实现。此外,尽管以上可将特征描述为以特定组合起作用,甚至最初这样被要求保护,但是在一些情况下,来自要求保护的组合的一个或多个特征可从该组合被删除,并且要求保护的组合可涉及子组合或子组合的变化。
类似地,虽然在附图中以特定顺序描述操作,但这不应被理解为需要以示出的特定次序或按顺序次序执行这样的操作或者执行所有示出的操作以获得期望的结果。在特定情况下,多任务处理和并行处理可能是有利的。此外,在上述实施例中的各种系统组件的分离不应当被理解为在所有实施例中需要这样的分离,应理解:描述的程序组件和系统通常可被一起集成在单个软件产品中,或者封装在多个软件产品中。
因此,在此已经描述了主题的具体实施例。其他实施例在所附权利要求的范围内。在一些情况下,权利要求中所阐述的动作可以以不同的次序被执行,并且仍然实现期望的结果。此外,附图中描述的处理不一定需要示出的特定次序或顺序次序来获得期望的结果。在特定实施方式中,多任务处理和并行处理可能是有利的。
如本领域技术人员将意识到的,在此描述的创新构思可在广泛的应用中被修改和改变。因此,要求保护的主题的范围不应限于以上讨论的任何具体示例性教导,而是由所附权利要求来限定。
Claims (10)
1.一种用于联邦学习的方法,参与方至少包括第一方和第二方,第一方具有用户的第一数据和标签信息,第二方具有用户的第二数据,所述方法包括:
通过第一方,基于第一数据和第一方的第一机器学习模型的特征参数,通过统一计算设备架构编程来使用从服务器接收的公钥执行并行同态加密运算以获得第一加密内积,基于第一加密内积和标签信息来计算第一加密梯度,并将第一加密梯度发送到服务器;
通过第二方,基于第二数据和第二方的第二机器学习模型的特征参数通过统一计算设备架构编程来使用公钥执行并行同态加密运算以获得第二加密内积,基于第二加密内积来计算第二加密梯度,并将第二加密梯度发送到服务器;
通过服务器,将第一加密梯度和第二加密梯度分别划分为多个第一加密梯度数据块和多个第二加密梯度数据块,通过统一计算设备架构编程来使用私钥对所述多个第一加密梯度数据块和所述多个第二加密梯度数据块分别进行并行同态解密运算以获得第一解密梯度和第二解密梯度,并将第一解密梯度和第二解密梯度分别发送到第一方和第二方;
通过第一方,基于第一解密梯度训练第一机器学习模型,直到第一机器学习模型的特征参数收敛;和
通过第二方,基于第二解密梯度训练第二机器学习模型,直到第二机器学习模型的特征参数收敛,
其中,基于第一加密内积和标签信息来计算第一加密梯度的步骤包括:
从第二方接收第二加密内积;
基于第一加密内积、第二加密内积和标签信息并行计算聚合内积信息;
基于聚合内积信息和第一数据来计算第一加密梯度,
其中,基于第二加密内积来计算第二加密梯度的步骤包括:
从第一方接收聚合内积信息;
基于聚合内积信息和第二数据来计算第二加密梯度。
2.根据权利要求1所述的方法,其中,执行并行同态加密运算以获得第一加密内积的步骤包括:
基于第一数据和第一方的第一机器学习模型的特征参数来计算第一中间内积;
将第一中间内积划分为多个第一中间子内积;
通过统一计算设备架构编程来使用从服务器接收的公钥对所述多个第一中间子内积进行并行同态加密运算以获得第一加密内积,
其中,执行并行同态加密运算以获得第二加密内积的步骤包括:
基于第二数据和第二方的第二机器学习模型的特征参数来计算第二中间内积;
将第二中间内积划分为多个第二中间子内积;
通过统一计算设备架构编程来使用从服务器接收的公钥对所述多个第二中间子内积进行并行同态加密运算以获得第二加密内积。
3.根据权利要求2所述的方法,其中,基于第一加密内积、第二加密内积和标签信息并行计算聚合内积信息的步骤包括:
使用公钥对标签信息进行并行加密以获得加密标签信息;
对第一加密内积与第二加密内积进行同态加密运算中的相加以获得相加结果;和
对相加结果与加密标签信息进行同态加密运算中的相减以获得聚合内积信息。
4.根据权利要求2所述的方法,其中,基于聚合内积信息和第一数据来计算第一加密梯度的步骤包括:
对第一数据与聚合内积信息进行同态加密运算中的相乘以获得第一相乘结果;
对第一相乘结果与第一加密梯度掩码进行同态加密运算中的相加以获得第一加密梯度,
其中,第一加密梯度掩码由第一方通过使用公钥对第一预定梯度掩码进行加密来获得,
其中,基于第二数据和聚合内积信息来计算第二加密梯度的步骤包括:
对第二数据与聚合内积信息进行同态加密运算中的相乘以获得第二相乘结果;
对第二相乘结果与第二加密梯度掩码进行同态加密运算中的相乘以获得第二加密梯度,
其中,第二加密梯度掩码由第二方通过使用公钥对第二预定梯度掩码进行加密来获得。
5.根据权利要求4所述的方法,其中,基于第一解密梯度训练第一机器学习模型的步骤包括:
将第一解密梯度与第一预定梯度掩码之间的差计算为第一梯度;
将第一机器学习模型的特征参数减去第一机器学习模型学习率与第一梯度之间的乘积的结果作为第一机器学习模型的本轮训练后的特征参数;
基于第一机器学习模型的本轮训练后的特征参数训练第一机器学习模型,直到第一机器学习模型的特征参数收敛,
其中,基于第二解密梯度训练第二机器学习模型的步骤包括:
将第二解密梯度与第二预定梯度掩码之间的差计算为第二梯度;
将第二机器学习模型的特征参数减去第二机器学习模型的学习率与第二梯度之间的乘积的结果作为第二机器学习模型的本轮训练后的特征参数;
基于第二机器学习模型的本轮训练后的特征参数训练第二机器学习模型,直到第二机器学习模型的特征参数收敛。
6.根据权利要求1所述的方法,其中,第一中间内积是第一数据与第一机器学习模型的特征参数之间的内积,第二中间内积是第二数据与第二机器学习模型的特征参数之间的内积,或者
其中,第一中间内积和第二中间内积可分别通过等式u=[u1,u2,u3]来计算,u1=[u1,...,uj,...,um],其中m表示第一数据或第二数据的样本总数,d表示第一数据或第二数据的当前样本特征数目,θ表示第一机器模型或第二机器学习模型的特征参数。
7.根据权利要求1所述的方法,其中,基于第一加密内积、第二加密内积和标签信息并行计算聚合内积信息的步骤包括:
使用函数f(x)=α+β*x+γ*x3来近似sigmoid函数 其中,其中,α,β,γ为超参数,
基于下面的等式来并行计算聚合内积信息:
其中,Enc(d)表示聚合内积信息,∑、+、*和-分别表示同态加密运算中的求和符号、加号、乘号和减号,Enc(u1)表示第一加密内积,Enc(u2)表示第二加密内积,Enc(y)表示与标签信息对应的加密标签信息。
8.根据权利要求1所述的方法,其中,第一机器学习模型和第二机器学习模型分别是线性回归模型、逻辑回归模型和集成树模型中的一个或多个。
9.一种联邦学习系统,参与方至少包括第一方和第二方,第一方具有用户的第一数据和标签信息,第二方具有用户的第二数据,所述联邦学习系统包括:
与第一方对应的第一计算装置,被配置为:基于第一数据和第一方的第一机器学习模型的特征参数通过统一计算设备架构编程来使用从服务器接收的公钥执行并行同态加密运算以获得第一加密内积,基于第一加密内积和标签信息来计算第一加密梯度,并将第一加密梯度发送到服务器;
与第二方对应的第二计算装置,被配置为:基于第二数据和第二方的第二机器学习模型的特征参数,通过统一计算设备架构编程来使用公钥执行并行同态加密运算以获得第二加密内积,基于第二加密内积来计算第二加密梯度,并将第二加密梯度发送到服务器;
服务器,被配置为:将第一加密梯度和第二加密梯度分别划分为多个第一加密梯度数据块和多个第二加密梯度数据块,通过统一计算设备架构编程来使用私钥对所述多个第一加密梯度数据块和所述多个第二加密梯度数据块分别进行并行同态解密运算以获得第一解密梯度和第二解密梯度,并将第一解密梯度和第二解密梯度分别发送到第一方和第二方;
其中,第一计算装置还被配置为:基于第一解密梯度训练第一机器学习模型,直到第一机器学习模型的特征参数收敛,
其中,第二计算装置还被配置为:基于第二解密梯度训练第二机器学习模型,直到第二机器学习模型的特征参数收敛,
其中,第一计算装置被配置为:
从第二方接收第二加密内积;
基于第一加密内积、第二加密内积和标签信息并行计算聚合内积信息;
基于聚合内积信息和第一数据来计算第一加密梯度,
其中,第二计算装置被配置为:
从第一方接收聚合内积信息;
基于聚合内积信息和第二数据来计算第二加密梯度。
10.一种存储指令的计算机可读存储介质,其中,当所述指令被至少一个计算装置运行时,促使所述至少一个计算装置执行如权利要求1至8中的任一权利要求所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210975529.XA CN117634633A (zh) | 2022-08-15 | 2022-08-15 | 用于联邦学习的方法和联邦学习系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210975529.XA CN117634633A (zh) | 2022-08-15 | 2022-08-15 | 用于联邦学习的方法和联邦学习系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117634633A true CN117634633A (zh) | 2024-03-01 |
Family
ID=90029199
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210975529.XA Pending CN117634633A (zh) | 2022-08-15 | 2022-08-15 | 用于联邦学习的方法和联邦学习系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117634633A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117972793A (zh) * | 2024-03-28 | 2024-05-03 | 中电科网络安全科技股份有限公司 | 一种纵向联邦树模型训练方法、装置、设备及存储介质 |
-
2022
- 2022-08-15 CN CN202210975529.XA patent/CN117634633A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117972793A (zh) * | 2024-03-28 | 2024-05-03 | 中电科网络安全科技股份有限公司 | 一种纵向联邦树模型训练方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112199702B (zh) | 一种基于联邦学习的隐私保护方法、存储介质及系统 | |
Al Badawi et al. | Privft: Private and fast text classification with homomorphic encryption | |
CN112989368B (zh) | 多方联合进行隐私数据处理的方法及装置 | |
US11354539B2 (en) | Encrypted data model verification | |
CN111723404B (zh) | 联合训练业务模型的方法及装置 | |
CN111177791B (zh) | 保护数据隐私的双方联合训练业务预测模型的方法和装置 | |
CN112541593B (zh) | 基于隐私保护的联合训练业务模型的方法及装置 | |
CN111428887B (zh) | 一种基于多个计算节点的模型训练控制方法、装置及系统 | |
CN113542228B (zh) | 基于联邦学习的数据传输方法、装置以及可读存储介质 | |
CN105144625A (zh) | 隐私保护矩阵因子分解的方法和系统 | |
CN111563267B (zh) | 用于联邦特征工程数据处理的方法和装置 | |
CN113033823B (zh) | 一种模型训练方法、系统及装置 | |
CN114611128B (zh) | 一种纵向联邦学习方法、装置、系统、设备及存储介质 | |
CN113836809B (zh) | 基于区块链和联邦学习的跨行业数据联合建模方法及系统 | |
CN117634633A (zh) | 用于联邦学习的方法和联邦学习系统 | |
Khan et al. | Vertical federated learning: A structured literature review | |
CN116070709A (zh) | 纵向联邦学习中逻辑回归模型的训练方法及系统 | |
Shukur et al. | Asymmetrical novel hyperchaotic system with two exponential functions and an application to image encryption | |
CN111859440B (zh) | 基于混合协议的分布式隐私保护逻辑回归模型的样本分类方法 | |
Deng et al. | Non-interactive and privacy-preserving neural network learning using functional encryption | |
CN114462626B (zh) | 联邦模型训练方法、装置、终端设备以及存储介质 | |
CN115186876A (zh) | 保护数据隐私的两方联合训练业务预测模型的方法及装置 | |
CN115409512A (zh) | 异常信息检测方法、装置、计算机设备、存储介质 | |
CN115130568A (zh) | 支持多参与方的纵向联邦Softmax回归方法及系统 | |
Abdullah | Survey: Privacy-Preserving in Deep Learning based on Homomorphic Encryption |
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 |