CN115169589B - 一种参数更新方法、数据处理方法及相关设备 - Google Patents

一种参数更新方法、数据处理方法及相关设备 Download PDF

Info

Publication number
CN115169589B
CN115169589B CN202211084999.3A CN202211084999A CN115169589B CN 115169589 B CN115169589 B CN 115169589B CN 202211084999 A CN202211084999 A CN 202211084999A CN 115169589 B CN115169589 B CN 115169589B
Authority
CN
China
Prior art keywords
ciphertext
parameter
vector
data
identification
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202211084999.3A
Other languages
English (en)
Other versions
CN115169589A (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 Real AI Technology Co Ltd
Original Assignee
Beijing Real AI 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 Real AI Technology Co Ltd filed Critical Beijing Real AI Technology Co Ltd
Priority to CN202211084999.3A priority Critical patent/CN115169589B/zh
Publication of CN115169589A publication Critical patent/CN115169589A/zh
Application granted granted Critical
Publication of CN115169589B publication Critical patent/CN115169589B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Computer Hardware Design (AREA)
  • Medical Informatics (AREA)
  • Evolutionary Computation (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请实施例提供了一种参数更新方法、数据处理方法及相关设备,可以应用于联邦学习场景。该方法包括:获取模型的第一参数、模型的第二参数、第一数据以及训练数据的标签值;将同态加密后的第二参数发送给第二设备;获取第一向量与第二向量;基于第一向量与第二向量确定模型的预测值;基于第一数据与误差计算第一梯度,并使用第一梯度更新第一参数;将同态加密后的误差发送给第二设备,以使得第二设备使用同态加密后的误差更新同态加密后的第二参数。通过第一设备初始化整个模型,将第二参数同态加密后发给第二设备。且后续第一设备发送给第二设备的误差也是同态加密后的。第二设备在参数更新的过程中使用的是密文,从而降低第二设备猜出第一设备处标签值的风险。

Description

一种参数更新方法、数据处理方法及相关设备
技术领域
本申请实施例涉及通信技术领域,尤其涉及一种参数更新方法、数据处理方法及相关设备。
背景技术
联邦学习是指参与机器学习的各方在不泄露隐私数据的情况下,完成模型的训练过程。这里的不泄露隐私数据,包括原始数据、训练过程中的间接数据,这些间接数据可以推导出原始数据(如梯度信息)。逻辑回归是常用的机器学习算法,目前存在将逻辑回归进行联邦改造的案例。其中,同态加密是用来保护隐私数据不被泄露的技术手段。
以两个节点参与的逻辑回归为例描述模型训练过程。首先,第一节点持有一部分特征A和标签,第二节点持有另一部分特征B,两个节点分别要保护自己的特征、标签以及模型训练中的梯度信息。在模型训练阶段,第二节点将模型与特征B的内积发送给第一节点。第一节点计算模型与特征A的内积,第一节点再使用本侧得到的内积与接收到的内积共同计算梯度信息,进而更新模型。
然而,在模型的迭代过程中,随着拟合的跟进,尤其是第一节点没有特征或者特征较少的情况下,第二节点有一定概率可以猜测出第一节点处标签的真实值,导致信息泄露的问题。
发明内容
本申请实施例提供了一种参数更新方法,可以通过第一设备初始化整个模型,并将第二参数同态加密后发给第二设备。且后续第一设备发送给第二设备的误差也是同态加密后的。第二设备在参数更新的过程中使用的是密文,从而降低第二设备猜出第一设备处标签值的风险。
本申请实施例第一方面提供了一种参数更新方法,可以应用于联邦学习场景。该方法可以由第一设备执行,也可以由第一设备的部件(例如处理器、芯片、或芯片系统等)执行。该方法包括:获取第一信息,第一信息包括:模型的第一参数、模型的第二参数、第一数据以及训练数据的标签值,训练数据包括第一数据与第二设备处的第二数据;将同态加密后的第二参数发送给第二设备;基于第一数据与第一参数生成第一向量;获取第二向量,第二向量与同态加密后的第二参数相关;基于第一向量与第二向量确定模型的预测值;基于第一数据与误差计算第一梯度,并使用第一梯度更新第一参数,误差为第一数据的标签值与预测值的差值;将同态加密后的误差发送给第二设备,以使得第二设备使用同态加密后的误差更新同态加密后的第二参数,第一参数与同态加密后的第二参数用于实现隐私计算任务。
本申请实施例中,一方面,第一设备初始化整个模型,并将第二参数同态加密后发给第二设备。且后续第一设备发送给第二设备的误差也是同态加密后的。即,第二设备在参数更新的过程中使用的是密文,从而降低第二设备猜出第一设备处标签值的风险。另一方面,相较于现有技术中使用随机数掩饰梯度的步骤,本申请实施例中第二设备持有的第二参数始终是密文的,即第二设备持有的始终是密文状态下的分量,无需现有技术中使用随机数掩饰梯度的步骤。此外,通过该种方式还可以实现第一设备与第二设备对隐私计算任务的联合推理。
可选地,上述步骤:获取第二向量,包括:接收第二设备发送的第二向量密文,第二向量密文由第二数据与同态加密后的第二参数生成;解密第二向量密文以得到第二向量。
可选地,上述步骤还包括:获取公钥与私钥,私钥用于解密使用公钥加密的数据;向第二设备发送公钥,公钥用于第二设备生成第二向量密文。
该种可能的实现方式中,通过第一设备使用公钥进行同态加密,使用私钥进行同态解密。第二设备使用公钥进行同态加密。通过公钥与私钥的配合,一方面,可以提升第一设备与第二设备之间传输的数据隐私安全。另一方面,可以提升第一设备处的数据防止第二设备解密获取,减少第二设备获取第一设备处明文数据的可能。
本申请实施例第二方面提供了一种参数更新方法,可以应用于联邦学习场景。该方法可以由第二设备执行,也可以由第二设备的部件(例如处理器、芯片、或芯片系统等)执行。该方法包括:获取第二数据;接收第一设备发送的模型的第二参数密文;基于第二数据与第二参数密文生成第二向量密文;向第一设备发送第二向量密文;接收第一设备发送的误差密文,误差密文由第二向量密文处理得到;基于误差密文更新第二参数密文,第二参数密文用于实现隐私计算任务。
本申请实施例中,一方面,由第一设备初始化整个模型,并接收第一设备发送的第二参数密文。且后续第二设备接收第一设备发送的也是同态加密后的误差。第二设备在参数更新的过程中使用的是密文,从而降低第二设备猜出第一设备处标签值的风险。另一方面,相较于现有技术中使用随机数掩饰梯度的步骤,本申请实施例中第二设备持有的第二参数始终是密文的,即第二设备持有的始终是密文状态下的分量,无需现有技术中使用随机数掩饰梯度的步骤。
可选地,上述步骤还包括:接收第一设备发送的公钥,公钥用于同态加密;基于第二数据与第二参数密文生成第二向量密文,包括:基于公钥、第二数据以及第二参数密文生成第二向量密文。
该种可能的实现方式中,通过第一设备使用公钥进行同态加密,使用私钥进行同态解密。第二设备使用公钥进行同态加密。通过公钥与私钥的配合,一方面,可以提升第一设备与第二设备之间传输的数据隐私安全。另一方面,可以提升第一设备处的数据防止第二设备解密获取,减少第二设备获取第一设备处明文数据的可能。
本申请实施例第三方面提供了一种参数更新方法,可以应用于联邦学习场景。该方法可以由第一设备执行,也可以由第一设备的部件(例如处理器、芯片、或芯片系统等)执行。该方法包括:获取第一标识密文,第一标识密文为同态加密后的第一标识,第一标识关联于第一设备处的第一子数据与其他设备处的第三子数据;向第二设备发送第一标识密文,第一标识密文用于第二设备计算第一密文,第一密文用于第一设备确定第二设备是否存储有第三子数据;接收第二设备发送的第一标识密文对应的查询结果;查询结果包括第一密文与第二密文;第一密文用于指示第二设备是否存储有第三子数据,在第二设备存储有第三子数据的情况下,第二密文为同态加密后的第三子数据;或者,查询结果包括第一密文与向量密文;第一密文用于指示第二设备是否存储有第三子数据,在第二设备存储有第三子数据的情况下,向量密文用于第一设备确定第一标识的最终预测结果。该最终预测结果根据第一设备处模型的第一参数与第二设备处模型的第二参数处理得到。
本申请实施例中,由于第一设备发送给第二设备的是第一标识密文,在第一标识是第一设备的客户名字(例如,李四、孙七等)等信息的场景下,第二设备无法获知第一标识密文的明文(即客户名字:李四、孙七等)。且第二设备在计算第一密文、第二密文、向量密文的过程是在加密的场景下,减少第二设备猜测出第一设备处第一标识等信息。提升联合查询或联合预测场景下各方的隐私安全。
可选地,上述在查询结果包括第一密文与第二密文,且第一密文用于指示第二设备存储有第三子数据的情况下,方法还包括:解密第二密文以得到第三子数据。
该种可能的实现方式中,在第一密文指示第二设备存储有第三子数据的情况下,第一设备可以通过解密第二密文获取第三子数据,提升第一设备查询的效率。
可选地,上述在查询结果包括第一密文与向量密文,且第一密文用于指示第二设备存储有第三子数据的情况下,方法还包括:解密向量密文以得到第二预测结果;基于第一子数据获取第一预测结果;基于第一预测结果与第二预测结果确定第一标识的最终预测结果。
该种可能的实现方式中,在第一密文指示第二设备存储有第三子数据的情况下,第一设备可以根据解密向量密文获取的一个预测分量与本地数据获取的另一个预测分量,确定第一标识的最终预测结果。进而提升第一设备与第二设备进行联合预测的效率。
可选地,上述步骤还包括:若第一密文为0,确定第二设备存储有第三子数据。
该种可能的实现方式中,在第二设备存储的第二标识密文包括第一标识密文的情况下,可以通过第一密文进行同态解密后数值为0,方便第一设备确定第二设备存储有第三子数据。
可选地,上述步骤还包括:若第一密文不为0,确定第二设备未存储有第三子数据。
该种可能的实现方式中,在第二设备存储的第二标识密文不包括第一标识密文的情况下,可以通过第一密文进行同态解密后数值不为0,方便第一设备确定第二设备未存储有第三子数据。
本申请实施例第四方面提供了一种参数更新方法,可以应用于联邦学习场景。该方法可以由第二设备执行,也可以由第二设备的部件(例如处理器、芯片、或芯片系统等)执行。该方法包括:构建映射关系,映射关系用于表示第二标识密文与数据密文之间的对应关系,第二标识密文是第二标识同态加密后的密文,第二标识用于指示第二设备存储的第二子数据,数据密文是第二子数据同态加密后的密文;接收第一设备发送的第一标识密文,第一标识关联于第一设备处的第一子数据与其他设备处的第三子数据;基于第一标识密文与第二标识密文确定第一密文,第一密文用于第一设备确定第二设备是否存储有第三子数据;基于第一密文与映射关系确定第二密文或向量密文;第一密文用于指示第二设备是否存储有第三子数据;在第二设备存储有第三子数据的情况下,第二密文为同态加密后的第三子数据,向量密文用于第一设备确定第一标识的最终预测结果,最终预测结果根据第一设备处模型的第一参数与第二设备处模型的第二参数处理得到;向第一设备发送第一标识密文对应的查询结果;查询结果包括第一密文与第二密文;或者,查询结果包括第一密文与向量密文。
本申请实施例中,由于第二设备接收的是第一设备发送的第一标识密文,在第一标识是第一设备的客户名字(例如,李四、孙七等)等信息的场景下,第二设备无法获知第一标识密文的明文(即客户名字:李四、孙七等)。且第二设备在计算第一密文、第二密文、向量密文的过程是在加密的场景下,减少第二设备猜测出第一设备处第一标识等信息。提升联合查询或联合预测场景下各方的隐私安全。
可选地,上述步骤基于第一标识密文与第二标识密文确定第一密文,包括:将第二标识密文中的各标识密文分别与第一标识密文相减,并使用各相减后的结果相乘以得到第一密文。
该种可能的实现方式中,通过上述计算得到的第一密文,可以使得第一设备解密第一密文之后,基于第一密文是否为0快速确定出第二设备是否存储有第三子数据。例如,在第二设备存储的第二标识密文包括第一标识密文的情况下,可以通过第一密文进行同态解密后数值为0,方便第一设备确定第二设备存储有第三子数据。
本申请实施例第五方面提供了一种第一设备,可以应用于联邦学习场景。该第一设备包括:获取单元,用于获取第一信息,第一信息包括:模型的第一参数、模型的第二参数、第一数据以及训练数据的标签值,训练数据包括第一数据与第二设备处的第二数据;发送单元,用于将同态加密后的第二参数发送给第二设备;生成单元,用于基于第一数据与第一参数生成第一向量;获取单元,还用于获取第二向量,第二向量与同态加密后的第二参数相关;确定单元,用于基于第一向量与第二向量确定模型的预测值;计算单元,用于基于第一数据与误差计算第一梯度,并使用第一梯度更新第一参数,误差为第一数据的标签值与预测值的差值;发送单元,还用于将同态加密后的误差发送给第二设备,以使得第二设备使用同态加密后的误差更新同态加密后的第二参数,第一参数与同态加密后的第二参数用于实现隐私计算任务。
可选地,上述的获取单元,具体用于接收第二设备发送的第二向量密文,第二向量密文由第二数据与同态加密后的第二参数生成;获取单元,具体用于解密第二向量密文以得到第二向量。
可选地,上述的获取单元,还用于获取公钥与私钥,私钥用于解密使用公钥加密的数据;发送单元,还用于向第二设备发送公钥,公钥用于第二设备生成第二向量密文。
本申请实施例第六方面提供了一种第二设备,可以应用于联邦学习场景。该第二设备包括:获取单元,用于获取第二数据;接收单元,用于接收第一设备发送的模型的第二参数密文;生成单元,用于基于第二数据与第二参数密文生成第二向量密文;发送单元,用于向第一设备发送第二向量密文;接收单元,还用于接收第一设备发送的误差密文,误差密文由第二向量密文处理得到;更新单元,用于基于误差密文更新第二参数密文,第二参数密文用于实现隐私计算任务。
可选地,上述的接收单元,还用于接收第一设备发送的公钥,公钥用于同态加密;生成单元,具体用于基于公钥、第二数据以及第二参数密文生成第二向量密文。
本申请实施例第七方面提供了一种第一设备,可以应用于联邦学习场景。该第一设备包括:获取单元,用于获取第一标识密文,第一标识密文为同态加密后的第一标识,第一标识关联于第一设备处的第一子数据与其他设备处的第三子数据;发送单元,用于向第二设备发送第一标识密文,第一标识密文用于第二设备计算第一密文,第一密文用于第一设备确定第二设备是否存储有第三子数据;接收单元,用于接收第二设备发送的第一标识密文对应的查询结果;查询结果包括第一密文与第二密文;第一密文用于指示第二设备是否存储有第三子数据,在第二设备存储有第三子数据的情况下,第二密文为同态加密后的第三子数据;或者,查询结果包括第一密文与向量密文;第一密文用于指示第二设备是否存储有第三子数据,在第二设备存储有第三子数据的情况下,向量密文用于第一设备确定第一标识的最终预测结果。最终预测结果根据第一设备处模型的第一参数与第二设备处模型的第二参数处理得到。
可选地,上述在查询结果包括第一密文与第二密文,且第一密文用于指示第二设备存储有第三子数据的情况下,第一设备还包括:解密单元,用于解密第二密文以得到第三子数据。
可选地,上述在查询结果包括第一密文与向量密文,且第一密文用于指示第二设备存储有第三子数据的情况下,获取单元,还用于基于第一子数据获取第一预测结果;第一设备还包括:解密单元,用于解密向量密文以得到第二预测结果;确定单元,用于基于第一预测结果与第二预测结果确定第一标识的最终预测结果。
本申请实施例第八方面提供了一种第二设备,可以应用于联邦学习场景。该第二设备包括:构建单元,用于构建映射关系,映射关系用于表示第二标识密文与数据密文之间的对应关系,第二标识密文是第二标识同态加密后的密文,第二标识用于指示第二设备存储的第二子数据,数据密文是第二子数据同态加密后的密文;接收单元,用于接收第一设备发送的第一标识密文,第一标识关联于第一设备处的第一子数据与其他设备处的第三子数据;确定单元,用于基于第一标识密文与第二标识密文确定第一密文,第一密文用于第一设备确定第二设备是否存储有第三子数据;确定单元,还用于基于第一密文与映射关系确定第二密文或向量密文;第一密文用于指示第二设备是否存储有第三子数据;在第二设备存储有第三子数据的情况下,第二密文为同态加密后的第三子数据,向量密文用于第一设备确定第一标识的最终预测结果,最终预测结果根据第一设备处模型的第一参数与第二设备处模型的第二参数处理得到;发送单元,用于向第一设备发送第一标识密文对应的查询结果;查询结果包括第一密文与第二密文;或者,查询结果包括第一密文与向量密文。
可选地,上述的确定单元,具体用于将第二标识密文中的各标识密文分别与第一标识密文相减,并使用各相减后的结果相乘以得到第一密文。
本申请第九方面提供了一种第一设备,包括:处理器,处理器与存储器耦合,存储器用于存储程序或指令,当程序或指令被处理器执行时,使得该第一设备实现上述第一方面或第一方面的任意可能的实现方式中的方法,或者使得该第一设备实现上述第三方面或第三方面的任意可能的实现方式中的方法。
本申请第十方面提供了一种第二设备,包括:处理器,处理器与存储器耦合,存储器用于存储程序或指令,当程序或指令被处理器执行时,使得该第二设备实现上述第二方面或第二方面的任意可能的实现方式中的方法,使得该第二设备实现上述第四方面或第四方面的任意可能的实现方式中的方法。
本申请第十一方面提供了一种通信系统,包括:上述第九方面的第一设备,和/或上述第十方面的第二设备。
本申请第十二方面提供了一种计算机可读介质,其上存储有计算机程序或指令,当计算机程序或指令在计算机上运行时,使得计算机执行前述第一方面或第一方面的任意可能的实现方式中的方法,或者使得计算机执行前述第二方面或第二方面的任意可能的实现方式中的方法,或者使得计算机执行前述第三方面或第三方面的任意可能的实现方式中的方法,或者使得计算机执行前述第四方面或第四方面的任意可能的实现方式中的方法。
本申请第十三方面提供了一种计算机程序产品,该计算机程序产品在计算机上执行时,使得计算机执行前述第一方面或第一方面的任意可能的实现方式中的方法,使得计算机执行前述第一方面或第一方面的任意可能的实现方式中的方法,使得计算机执行前述第二方面或第二方面的任意可能的实现方式中的方法,使得计算机执行前述第三方面或第三方面的任意可能的实现方式中的方法,使得计算机执行前述第四方面或第四方面的任意可能的实现方式中的方法。
从以上技术方案可以看出,本申请实施例具有以下优点:第一设备初始化整个模型,并将第二参数同态加密后发给第二设备。且后续第一设备发送给第二设备的误差也是同态加密后的。即,第二设备在参数更新的过程中使用的是密文,进而降低第二设备猜出标签值的风险,解决了信息泄露的问题。另外,由于第一设备发送给第二设备的是第一标识密文,在第一标识是第一设备的客户名字(例如,李四、孙七等)等信息的场景下,第二设备无法获知第一标识密文的明文(即客户名字:李四、孙七等)。且第二设备在计算第一密文、第二密文、向量密文的过程是在加密的场景下,减少第二设备猜测出第一设备处第一标识等信息。提升联合查询或联合预测场景下各方的隐私安全。
附图说明
图1为本申请实施例提供的参数更新方法的一个流程示意图;
图2为本申请实施例提供的数据处理方法的另一个流程示意图;
图3为本申请实施例提供的数据处理方法的另一个流程示意图;
图4为本申请实施例提供的第一设备的一个结构示意图;
图5为本申请实施例提供的第二设备的一个结构示意图;
图6为本申请实施例提供的第一设备的另一个结构示意图;
图7为本申请实施例提供的第二设备的另一个结构示意图;
图8为本申请实施例提供的第一设备的另一个结构示意图;
图9为本申请实施例提供的第二设备的另一个结构示意图。
具体实施方式
为了便于理解,下面先对本申请实施例主要涉及的相关术语和概念进行介绍。
1、联邦学习
联邦学习是指参与机器学习的各方在不泄露隐私数据的情况下,完成模型的训练过程。这里的不泄露隐私数据,包括原始数据、训练过程中的间接数据,这些间接数据可以推导出原始数据(如梯度信息)。
2、同态加密
同态加密是指:原数据u1和u2进行加密得到[u1]和[u2]。运用同态加密可以得到。[u1]+u2=[u1+u2];[u1]+[u2]=[u1+u2];[u1]*u2=[u1*u2];[u1]*[u2]=[u1*u2];即在密文状态下进行乘法运算和加法运算,得到的密文结果。解密后与不在加密状态下运算的结果一致。本申请实施例中对于一个N,[ ]表示同态加密,同态加密后的N可以记作[N]。
下面对本申请实施例提供的参数更新方法进行详细的介绍。该方法可以由第一设备/第一设备的部件(例如处理器、芯片、或芯片系统等)执行。也可以由第二设备/第二设备的部件(例如处理器、芯片、或芯片系统等)执行。当然,该方法还可以由第一设备与第二设备构成的系统执行。该方法可以应用于联邦学习场景,请参阅图1,本申请实施例提供的参数更新方法的一个流程示意图,该方法可以包括步骤101至步骤111。下面对步骤101至步骤111进行详细说明。
步骤101,第一设备获取第一信息。
本申请实施例中第一设备获取第一信息的方式有多种,可以是通过基于用户操作获取第一信息的方式,也可以是通过接收其他设备发送的方式,还可以是从数据库中选取的方式等,具体此处不做限定。
本申请实施例中的第一信息包括:模型的第一参数(
Figure 71514DEST_PATH_IMAGE002
)、模型的第二参数(
Figure 519813DEST_PATH_IMAGE004
)、第一数据(
Figure 158605DEST_PATH_IMAGE006
)以及训练数据(
Figure 819393DEST_PATH_IMAGE008
)的标签值,训练数据包括第一数据()与第二设备处的第二数据(
Figure 164924DEST_PATH_IMAGE010
)。其中,
Figure DEST_PATH_IMAGE011
与也可以理解为是模型的两个分量。第一数据可以是第一设备处的本地数据。
本步骤也可以理解为,第一设备初始化整个模型。
步骤102,第二设备获取第二数据。
本申请实施例中,第二设备获取第二数据的方式与前述第一设备获取第一信息的方式类似,也可以是基于用户操作(例如,拍摄图像、录制语音、上传文本等)的方式、接收其他设备发送的方式、数据库中选取的方式等。具体此处不做限定。
可选地,第二数据可以是第二设备处的本地数据。
步骤103,第一设备将同态加密后的第二参数发送给第二设备。
第一设备获取第一信息之后,将同态加密后的第二参数发送给第二设备。相应的,第二设备接收第一设备发送的同态加密后的第二参数。其中,同态加密后的第二参数可以称为第二参数密文。
该步骤中,第二设备获取的是加密后的第二参数密文。换句话说,第二设备持有的始终是密文状态下模型的分量。
步骤104,第二设备基于第二数据与第二参数密文生成第二向量密文。
第二设备接收第一设备发送的第二参数密文之后,可以基于第二数据与第二参数密文生成第二向量密文。
具体的,第二向量密文由第二数据与第二参数密文相乘得到。
可选地,本步骤的表达式可以是:
Figure 738119DEST_PATH_IMAGE013
。其中,
Figure 536311DEST_PATH_IMAGE015
表示第二向量密文,
Figure 790DEST_PATH_IMAGE017
表示第二参数密文,
Figure DEST_PATH_IMAGE018
表示第二数据(即第二设备的本地数据)。
步骤105,第二设备向第一设备发送第二向量密文。
第二设备生成第二向量密文之后,向第一设备发送第二向量密文。相应的,第一设备接收第二设备发送的第二向量密文。
步骤106,第一设备获取第二向量。
本申请实施例中,第一设备获取第二向量的方式有多种,可以通过解密上述步骤105中接收到的第二向量密文的方式获取,也可以通过其他方式获取,具体此处不做限定。
其中,该第二向量与同态加密后的第二参数相关。具体的,该第二向量由上述的第二向量密文解密得到。
步骤107,第一设备基于第一数据与第一参数生成第一向量。
第一设备基于第一数据与第一参数生成第一向量。具体的,第一向量由第一数据与第一参数相乘得到。
可选地,本步骤的表达式可以是:
Figure DEST_PATH_IMAGE020
。其中,
Figure DEST_PATH_IMAGE022
表示第一向量,
Figure 767539DEST_PATH_IMAGE002
表示第一参数,
Figure 292061DEST_PATH_IMAGE023
表示第一数据(即第一设备的本地数据)。
步骤108,第一设备基于第一向量与第二向量确定模型的预测值。
第一设备获取第一向量与第二向量之后,可以基于第一向量与第二向量确定模型的预测值。
具体的,第一向量与第二向量相加以得到预测值。
可选地,本步骤的表达式可以是:
Figure 577549DEST_PATH_IMAGE025
表示预测值,
Figure 580140DEST_PATH_IMAGE022
表示第一向量,
Figure 634684DEST_PATH_IMAGE027
表示第二向量。
步骤109,第一设备基于第一数据与误差计算第一梯度,并使用第一梯度更新第一参数。
第一设备获取预测值之后,可以基于第一数据与误差计算第一梯度,并使用该第一梯度更新第一参数。
具体的,先计算第一数据的标签值与预测值的差值以得到误差。再将第一数据与误差相乘以得到第一梯度,并使用该第一梯度更新第一参数。
可选地,本步骤中误差的表达式可以是:
Figure 595686DEST_PATH_IMAGE029
Figure 102891DEST_PATH_IMAGE031
。使用第一梯度更新第一参数的表达式可以是:
Figure 145059DEST_PATH_IMAGE002
=
Figure 709901DEST_PATH_IMAGE033
步骤110,第一设备将同态加密后的误差发送给第二设备。
第一设备获取误差之后,将同态加密后的误差发送给第二设备。相应的,第二设备接收第一设备发送的同态加密后的误差。其中,同态加密后的误差可以称为误差密文。
可选地,本步骤中的误差密文的表达式可以是
Figure 576226DEST_PATH_IMAGE035
步骤111,第二设备基于误差密文更新第二参数密文。
第二设备接收到误差密文之后,使用该误差密文更新步骤103获取的第二参数密文。该更新后的第二参数密文与第一参数用于实现隐私计算任务(例如,分类、检测、定位、分割等)。即第一参数与同态加密后的第二参数用于实现隐私计算任务。
可选地,本步骤中误差密文的表达式可以是:
Figure 570727DEST_PATH_IMAGE035
。使用误差密文更新第二参数密文的表达式可以是:
Figure 679235DEST_PATH_IMAGE037
。另外,对于更新过程中的停止条件可以是模型收敛,也可以是更新次数达到阈值等,具体此处不做限定。
本实施例中的各个步骤之间可以没有时序限定。例如,本实施例中的步骤102可以在步骤101之前,也可以在步骤101之后。又例如,步骤107可以在步骤106之后,也可以在步骤103之前。
本申请实施例中,一方面,第一设备初始化整个模型,并将第二参数同态加密后发给第二设备。且后续第一设备发送给第二设备的误差也是同态加密后的。即,第二设备在参数更新的过程中使用的是密文,从而降低第二设备猜出第一设备处标签值的风险。另一方面,相较于现有技术中使用随机数掩饰梯度的步骤,本申请实施例中第二设备持有的第二参数始终是密文的,即第二设备持有的始终是密文状态下的分量,无需现有技术中使用随机数掩饰梯度的步骤。此外,通过该种方式还可以实现第一设备与第二设备对隐私计算任务的联合推理。
进一步的,为了提升数据的私密传输。第一设备在本实施例之前可以获取公钥和私钥,私钥用于解密使用公钥加密的数据。第一设备可以向第二设备发送公钥,该公钥用于第二设备生成第二向量密文。
可选地,第一设备可以生成公钥和私钥,或者接收控制器发送的公钥和私钥。相应的,第二设备接收第一设备或控制器发送的公钥,该公钥用于同态加密。
该种情况下,同态加密的计算需要用到该公钥。例如,前述图1所示实施例的步骤104中,第二设备基于公钥、第二数据以及第二参数密文生成第二向量密文。又例如,前述图1所示实施例的步骤106中,第一设备使用私钥对第二向量密文解密,以得到第二向量。又例如,前述图1所示实施例的步骤111中,第二设备基于私钥与误差密文更新第二参数密文。
上面对本申请实施例提供的参数更新方法进行了描述,下面对本申请实施例提供的数据处理方法进行描述。或者理解为,图1所示的实施例是训练过程中的更新参数方法,图2所示的实施例是推理过程中的数据处理方法。
下面对本申请实施例提供的数据处理方法进行详细的介绍。该方法可以由第一设备/第一设备的部件(例如处理器、芯片、或芯片系统等)执行。也可以由第二设备/第二设备的部件(例如处理器、芯片、或芯片系统等)执行。当然,该方法还可以由第一设备与第二设备构成的系统执行。该方法可以应用于联邦学习场景,请参阅图2,本申请实施例提供的数据处理方法的一个流程示意图,该方法可以包括步骤201至步骤206。下面对步骤201至步骤206进行详细说明。
步骤201,第一设备获取第一标识密文。
第一设备存储有第一子数据与模型的第一参数(也可以称为模型的一个分量)。第一设备获取第一标识,并对第一标识进行同态加密以得到第一标识密文。其中,第一设备获取第一标识的方式可以是用户输入的,也可以是其他设备发送的等等,具体此处不做限定。
另外,第一标识关联于第一设备处的第一子数据与其他设备处的第三子数据。
示例1,第一标识为李四,且第一标识同态加密后的密文为A。
示例2,第一标识为孙七,且第一标识同态加密后的密文为Z。
步骤202,第一设备向第二设备发送第一标识密文。
第一设备获取第一标识密文之后,向第二设备发送第一标识密文。相应的,第二设备接收第一设备发送的第一标识密文。该第一标识密文用于第二设备计算第一密文,第一密文用于第一设备确定第二设备是否存储有第三子数据。
步骤203,第二设备构建映射关系。
第二设备存储有第二子数据与模型的第二参数密文(也可以称为模型的另一个分量的密文)。
第二设备构建映射关系,映射关系用于表示第二标识密文与数据密文之间的对应关系,该第二标识密文是第二标识同态加密后的密文,第二标识用于指示第二设备存储的第二子数据,数据密文是第二子数据同态加密后的密文。
可选地,映射关系可以用映射函数C()表示,第二标识用ID表示,第二标识密文用[ID]表示,第二子数据用
Figure 708371DEST_PATH_IMAGE018
表示,数据密文用[
Figure DEST_PATH_IMAGE038
]表示。则C([ID])=[
Figure 276755DEST_PATH_IMAGE038
]。
示例性的,第二标识与第二子数据如表1所示。
表1
用户姓名(第二标识) 用户标签(第二子数据)
张三 1
李四 2
王五 3
赵六 4
其中,C([张三])=[1],C([李四])=[2],C([王五])=[3],C([赵六])=[4]。
步骤204,第二设备基于第一标识密文与第二标识密文确定第一密文。
第二设备接收第一设备发送的第一标识密文之后,基于第一标识密文与第二标识密文确定第一密文。该第一密文用于第一设备确定第二设备是否存储有第三子数据。
具体的,第二设备将第二标识密文分别与第一标识密文相减,并将相减后的结果相乘以得到第一密文。当然,为了提升隐私安全,上述相减后的结果相乘后还可以再乘以一个随机数以得到第一密文。
在一种可能实现的方式中,若第二标识密文包括第一标识密文,则相减后相乘的结果为0。即说明第二标识密文中有标识密文与第一标识密文相同,即第二设备存储有第三子数据。或者说第二标识对应的第二子数据包括第三子数据。
在另一种可能实现的方式中,若第二标识密文不包括第一标识密文,则相减后相乘的结果不为0。即说明第二标识密文中没有标识密文与第一标识密文的差值为0,即第二设备未存储有第三子数据。或者说第二标识对应的第二子数据不包括第三子数据。
示例性的,延续上述示例1与表1,第一标识密文为[李四]。第一密文=随机数*(A-[张三])*(A-[李四])*(A-[王五])*(A-[赵六])=随机数*([李四]-[张三])*([李四]-[李四])*([李四]-[王五])*([李四]-[赵六])=0。
示例性的,延续上述示例2与表1,第一标识密文为[孙七]。第一密文=随机数*(Z-[张三])*(Z-[李四])*(Z-[王五])*(Z-[赵六])=随机数*([孙七]-[张三])*([孙七]-[李四])*([孙七]-[王五])*([孙七]-[赵六])
Figure DEST_PATH_IMAGE040
0。
为了方便后续描述,第一密文可以称为B(A),A为第一标识密文,B()为上述的相减后相乘等操作。
步骤205,第二设备基于第一密文与映射关系确定第二密文或向量密文。
第二设备获取第一密文之后,可以基于第一密文与映射关系确定第二密文或向量密文。在第二设备存储有第三子数据的情况下,第二密文为同态加密后的第三子数据。向量密文用于第一设备确定第一标识的最终预测结果。该最终预测结果根据第一设备处模型的第一参数与第二设备处模型的第二参数处理得到。
其中,该最终预测结果根据第一设备处模型的第一参数与第二设备处模型的第二参数处理得到。其中,第二设备处模型的第二参数可以是同态加密后的第二参数(即可以结合图1所示实施例),也可以是明文的第二参数等,具体此处不做限定。
本步骤中,基于第一设备发送第一标识密文的目的不同,获取的密文有所不同,下面分别描述。
第一种,第一设备发送第一标识密文的目的是查询其他设备处与第一标识密文对应的第三子数据。第二设备基于第一密文与映射关系确定第二密文。
该种情况下,本实施例可以理解为是数据查询场景,第一设备基于第一标识密文获取对应的查询结果。第二设备获取第一密文之后,再基于第一密文与映射关系确定第二密文。
具体的,第二设备使用第一标识密文在映射关系关查找与第一标识密文对应的数据密文。并将查到的数据密文加上第一密文以得到第二密文。当然,为了提升隐私安全,也可以第一密文与随机数相乘后与查到的数据密文相加以得到第二密文。
假设,第二密文记作D(A),则本步骤可以记作:D(A)=C(A)+随机数*B(A)。
示例性的,延续上述示例1,D(A)=C(A)+随机数*B(A)=2+0=2。
示例性的,延续上述示例2,D(Z)=C(Z)+随机数*B(Z)=2+未知数=未知数。即该示例下,由于第二设备未存储有第三子数据,或者说第二设备存储的第二子数据不包括第三子数据,导致查询失败。
第二种,第一设备发送第一标识密文的目的是查询其他设备处于第一标识密文对应的第三子数据的第二预测结果(即预测分量)。第二设备基于第一密文与映射关系确定向量密文(即预测分量)。
该种情况下,本实施例可以理解为是数据预测场景,第一设备基于第一标识密文获取第二设备处该第一标识对应的预测结果分量。
该种情况下,第二设备可以如上述第一种中计算第二密文的方式计算第二密文之后,使用本地存储的第二参数密文与第二密文相乘以得到第二预测结果。
假设,第二密文记作D(A),第二参数密文记作为
Figure 24131DEST_PATH_IMAGE017
,向量密文记作
Figure 172216DEST_PATH_IMAGE015
。则
Figure 55858DEST_PATH_IMAGE042
当然,若第一密文不为0,说明向量密文为无效值,预测失败。若第一密文为0,说明向量密文的明文为第二预测结果。
步骤206,第二设备向第一设备发送第一标识密文对应的查询结果。
第二设备向第一设备发送第一标识密文对应的查询结果。相应的,第一设备接收第二设备发送的第一标识密文对应的查询结果。
本步骤与前述步骤205中的两个情况类似,查询结果也可以分为对应的两种情况,下面分别描述。
第一种,查询结果包括第一密文与第二密文。
该种情况下,查询结果包括第一密文与第二密文。第一密文用于指示第二设备是否存储有第三子数据,在第二设备存储有第三子数据的情况下,第二密文为同态加密后的第三子数据。
第一设备接收第二设备发送的第一密文与第二密文之后。若解密第一密文为0,则确定第二设备存储有第三子数据,并解密第二密文以得到第三子数据。若解密第一密文不为0,则说明第二设备未存储有第三子数据,即查询失败。
示例性的,延续上述示例1与示例2,该分支的方法可以如图3所示。其中,图3中查询方为第一设备,被查询方为第二设备,标签为第二设备存储的第二子数据。
第二种,查询结果包括第一密文与向量密文。
该种情况下,查询结果包括第一密文与向量密文。第一密文用于指示第二设备是否存储有第三子数据,在第二设备存储有第三子数据的情况下,向量密文用于第一设备确定第一标识的最终预测结果。或者说向量密文为第一标识对应预测结果的一个分量。
第一设备接收第二设备发送的第一密文与向量密文之后。若解密第一密文为0,则解密向量密文以得到第二预测结果。基于本地存储的第一子数据获取第一预测结果。再基于第二预测结果与第一预测结果确定第一标识的最终预测结果。若解密第一密文不为0,则说明第二设备不包括第三子数据,即推理失败。
示例性的,下面举例描述:最终预测结果是如何根据第一设备处模型的第一参数与第二设备处模型的第二参数处理得到。假设,向量密文记作
Figure 155664DEST_PATH_IMAGE015
,第一设备解密向量密文以得到第二向量
Figure DEST_PATH_IMAGE043
(即第二预测结果),第一设备在使用本地的第一子数据
Figure DEST_PATH_IMAGE044
与模型的第一参数
Figure 187074DEST_PATH_IMAGE002
计算得到第一预测结果
Figure 873270DEST_PATH_IMAGE045
。具体的,
Figure 876998DEST_PATH_IMAGE020
。并结合第一预测结果
Figure 256027DEST_PATH_IMAGE045
与第二预测结果
Figure 205092DEST_PATH_IMAGE043
得到第一标识对应的最终预测结果。例如,最终预测结果=
Figure DEST_PATH_IMAGE046
+
Figure DEST_PATH_IMAGE047
本实施例中的各个步骤之间可以没有时序限定。例如,本实施例中的步骤203可以在步骤202之后,也可以在步骤201之前。
本实施例也可以称为匿踪查询方法。本实施例中,由于第一设备发送给第二设备的是第一标识密文,在第一标识是第一设备的客户名字(例如,李四、孙七等)等信息的场景下,第二设备无法获知第一标识密文的明文(即客户名字:李四、孙七等)。且第二设备在计算第一密文、第二密文、向量密文的过程是在加密的场景下,减少第二设备猜测出第一设备处第一标识等信息。提升联合查询或联合预测场景下各方的隐私安全。
进一步的,为了提升数据的私密传输。第一设备在本实施例之前可以获取公钥和私钥,私钥用于解密使用公钥加密的数据。
可选地,第一设备可以生成公钥和私钥,或者接收控制器发送的公钥和私钥。相应的,第二设备接收第一设备或控制器发送的公钥。
该种情况下,同态加密的计算需要用到该公钥。例如,前述图2所示实施例的步骤203中,第二设备基于公钥构建映射关系。又例如,前述图2所示实施例的步骤204中,第二设备基于公钥、第一标识密文与第二标识密文确定第一密文。又例如,第一设备使用私钥解密以下一项或多项密文:第一密文、第二密文以及向量密文。
上面对本申请实施例中的参数更新方法与数据处理方法进行了描述,下面对本申请实施例提供的方法中涉及的设备进行描述。
请参阅图4,本申请实施例中第一设备的一个实施例包括:
获取单元401,用于获取第一信息,第一信息包括:模型的第一参数、模型的第二参数、第一数据以及训练数据的标签值,训练数据包括第一数据与第二设备处的第二数据;
发送单元402,用于将同态加密后的第二参数发送给第二设备;
生成单元403,用于基于第一数据与第一参数生成第一向量;
获取单元401,还用于获取第二向量,第二向量与同态加密后的第二参数相关;
确定单元404,用于基于第一向量与第二向量确定模型的预测值;
计算单元405,用于基于第一数据与误差计算第一梯度,并使用第一梯度更新第一参数,误差为第一数据的标签值与预测值的差值;
发送单元402,还用于将同态加密后的误差发送给第二设备,以使得第二设备使用同态加密后的误差更新同态加密后的第二参数。第一参数与同态加密后的第二参数用于实现隐私计算任务。
本实施例中,第一设备中各单元所执行的操作与前述图1所示实施例中描述的类似,此处不再赘述。
本实施例中,一方面,第一设备初始化整个模型,发送单元402将第二参数同态加密后发给第二设备。且后续发送单元402发送给第二设备的误差也是同态加密后的。即,第二设备在参数更新的过程中使用的是密文,从而降低第二设备猜出第一设备处标签值的风险。另一方面,相较于现有技术中使用随机数掩饰梯度的步骤,本申请实施例中第二设备持有的第二参数始终是密文的,即第二设备持有的始终是密文状态下的分量,无需现有技术中使用随机数掩饰梯度的步骤。此外,通过该种方式还可以实现第一设备与第二设备对隐私计算任务的联合推理。
请参阅图5,本申请实施例中第二设备的一个实施例包括:
获取单元501,用于获取第二数据;
接收单元502,用于接收第一设备发送的模型的第二参数密文;
生成单元503,用于基于第二数据与第二参数密文生成第二向量密文;
发送单元504,用于向第一设备发送第二向量密文;
接收单元502,还用于接收第一设备发送的误差密文,误差密文由第二向量密文处理得到;
更新单元505,用于基于误差密文更新第二参数密文。第二参数密文用于实现隐私计算任务。
本实施例中,第一设备中各单元所执行的操作与前述图2与图3所示实施例中描述的类似,此处不再赘述。
本实施例中,一方面,由第一设备初始化整个模型,接收单元502接收第一设备发送的第二参数密文。且后续接收单元502接收第一设备发送的也是同态加密后的误差。第二设备在参数更新的过程中使用的是密文,从而降低第二设备猜出第一设备处标签值的风险。另一方面,相较于现有技术中使用随机数掩饰梯度的步骤,本申请实施例中第二设备持有的第二参数始终是密文的,即第二设备持有的始终是密文状态下的分量,无需现有技术中使用随机数掩饰梯度的步骤。
请参阅图6,本申请实施例中第一设备的另一个实施例包括:
获取单元601,用于获取第一标识密文,第一标识密文为同态加密后的第一标识,第一标识关联于第一设备处的第一子数据与其他设备处的第三子数据;
发送单元602,用于向第二设备发送第一标识密文,第一标识密文用于第二设备计算第一密文,第一密文用于第一设备确定第二设备是否存储有第三子数据;
接收单元603,用于接收第二设备发送的第一标识密文对应的查询结果;
查询结果包括第一密文与第二密文;第一密文用于指示第二设备是否存储有第三子数据,在第二设备存储有第三子数据的情况下,第二密文为同态加密后的第三子数据;
或者,查询结果包括第一密文与向量密文;第一密文用于指示第二设备是否存储有第三子数据,在第二设备存储有第三子数据的情况下,向量密文用于第一设备确定第一标识的最终预测结果。最终预测结果根据第一设备处模型的第一参数与第二设备处模型的第二参数处理得到。
可选地,第一设备还可以包括:解密单元604,用于解密第二密文以得到第三子数据。
可选地,获取单元601,还用于基于第一子数据获取第一预测结果;第一设备还包括:解密单元604,用于解密向量密文以得到第二预测结果;第一设备还可以包括:确定单元605,用于基于第一预测结果与第二预测结果确定第一标识的最终预测结果。
本实施例中,第一设备中各单元所执行的操作与前述图1所示实施例中描述的类似,此处不再赘述。
本实施例中,由于发送单元602发送给第二设备的是第一标识密文,在第一标识是第一设备的客户名字(例如,李四、孙七等)等信息的场景下,第二设备无法获知第一标识密文的明文(即客户名字:李四、孙七等)。且第二设备在计算第一密文、第二密文、向量密文的过程是在加密的场景下,减少第二设备猜测出第一设备处第一标识等信息。提升联合查询或联合预测场景下各方的隐私安全。
请参阅图7,本申请实施例中第二设备的另一个实施例包括:
构建单元701,用于构建映射关系,映射关系用于表示第二标识密文与数据密文之间的对应关系,第二标识密文是第二标识同态加密后的密文,第二标识用于指示第二设备存储的第二子数据,数据密文是第二子数据同态加密后的密文;
接收单元702,用于接收第一设备发送的第一标识密文,第一标识关联于第一设备处的第一子数据与其他设备处的第三子数据;
确定单元703,用于基于第一标识密文与第二标识密文确定第一密文,第一密文用于第一设备确定第二设备是否存储有第三子数据;
确定单元703,还用于基于第一密文与映射关系确定第二密文或向量密文;第一密文用于指示第二设备是否存储有第三子数据;在第二设备存储有第三子数据的情况下,第二密文为同态加密后的第三子数据,向量密文用于第一设备确定第一标识的最终预测结果;最终预测结果根据第一设备处模型的第一参数与第二设备处模型的第二参数处理得到。
发送单元704,用于向第一设备发送第一标识密文对应的查询结果;
查询结果包括第一密文与第二密文;
或者,查询结果包括第一密文与向量密文。
本实施例中,第一设备中各单元所执行的操作与前述图2与图3所示实施例中描述的类似,此处不再赘述。
本实施例中,由于接收单元702接收的是第一设备发送的第一标识密文,在第一标识是第一设备的客户名字(例如,李四、孙七等)等信息的场景下,第二设备无法获知第一标识密文的明文(即客户名字:李四、孙七等)。且第二设备在计算第一密文、第二密文、向量密文的过程是在加密的场景下,减少第二设备猜测出第一设备处第一标识等信息。提升联合查询或联合预测场景下各方的隐私安全。
参阅图8,本申请提供的另一种第一设备的结构示意图。该第一设备可以包括处理器801、存储器802和通信端口803。该处理器801、存储器802和通信端口803通过线路互联。其中,存储器802中存储有程序指令和数据。
存储器802中存储了前述图1所示对应的实施方式中,由第一设备执行的步骤对应的程序指令以及数据。
处理器801,用于执行前述图1所示实施例中任一实施例所示的由第一设备执行的步骤。
通信端口803可以用于进行数据的接收和发送,用于执行前述图1所示实施例中任一实施例中与获取、发送、接收相关的步骤。
一种实现方式中,第一设备可以包括相对于图8更多或更少的部件,本申请对此仅仅是示例性说明,并不作限定。
参阅图9,本申请提供的另一种第二设备的结构示意图。该第二设备可以包括处理器901、存储器902和通信端口903。该处理器901、存储器902和通信端口903通过线路互联。其中,存储器902中存储有程序指令和数据。
存储器902中存储了前述图2或图3所示对应的实施方式中,由第二设备执行的步骤对应的程序指令以及数据。
处理器901,用于执行前述图2或图3所示实施例中任一实施例所示的由第二设备执行的步骤。
通信端口903可以用于进行数据的接收和发送,用于执行前述图2或图3所示实施例中任一实施例中与获取、发送、接收相关的步骤。
一种实现方式中,第二设备可以包括相对于图9更多或更少的部件,本申请对此仅仅是示例性说明,并不作限定。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,read-onlymemory)、随机存取存储器(RAM,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。

Claims (12)

1.一种参数更新方法,其特征在于,所述方法应用于第一设备,所述方法包括:
获取第一信息,所述第一信息包括:模型的第一参数、所述模型的第二参数、第一数据以及训练数据的标签值,所述训练数据包括所述第一数据与第二设备处的第二数据;
将同态加密后的第二参数发送给所述第二设备;
基于所述第一数据与所述第一参数生成第一向量;
获取第二向量,所述第二向量与同态加密后的第二参数相关;
基于所述第一向量与所述第二向量确定所述模型的预测值;
基于所述第一数据与误差计算第一梯度,并使用所述第一梯度更新所述第一参数,所述误差为所述第一数据的标签值与所述预测值的差值;
将同态加密后的误差发送给所述第二设备,以使得所述第二设备使用同态加密后的误差更新同态加密后的第二参数,所述第一参数与所述同态加密后的第二参数用于实现隐私计算任务;
所述获取第二向量,包括:
接收所述第二设备发送的第二向量密文,所述第二向量密文由所述第二数据与所述同态加密后的第二参数生成;
解密所述第二向量密文以得到所述第二向量。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取公钥与私钥,所述私钥用于解密使用所述公钥加密的数据;
向所述第二设备发送所述公钥,所述公钥用于所述第二设备生成所述第二向量密文。
3.一种参数更新方法,其特征在于,所述方法应用于第二设备,所述方法包括:
获取第二数据;
接收第一设备发送的模型的第二参数密文;
基于所述第二数据与第二参数密文生成第二向量密文;
向所述第一设备发送所述第二向量密文;
接收所述第一设备发送的误差密文,所述误差密文由所述第二向量密文处理得到;
基于所述误差密文更新第二参数密文,所述第二参数密文用于实现隐私计算任务;
所述方法还包括:
接收所述第一设备发送的公钥,所述公钥用于同态加密;
所述基于所述第二数据与第二参数密文生成第二向量密文,包括:
基于所述公钥、所述第二数据以及所述第二参数密文生成所述第二向量密文。
4.一种数据处理方法,其特征在于,所述方法应用于第一设备,所述方法包括:
获取第一标识密文,所述第一标识密文为同态加密后的第一标识,所述第一标识关联于所述第一设备处的第一子数据与其他设备处的第三子数据;
向第二设备发送所述第一标识密文,所述第一标识密文用于所述第二设备计算第一密文,所述第一密文用于所述第一设备确定所述第二设备是否存储有所述第三子数据;
接收所述第二设备发送的所述第一标识密文对应的查询结果;
所述查询结果包括所述第一密文与第二密文;所述第一密文用于指示所述第二设备是否存储有所述第三子数据,在所述第二设备存储有所述第三子数据的情况下,所述第二密文为同态加密后的第三子数据;
或者,所述查询结果包括所述第一密文与向量密文;所述第一密文用于指示所述第二设备是否存储有所述第三子数据,在所述第二设备存储有所述第三子数据的情况下,所述向量密文用于所述第一设备确定所述第一标识的最终预测结果,所述最终预测结果根据所述第一设备处模型的第一参数与所述第二设备处所述模型的第二参数处理得到。
5.根据权利要求4所述的方法,其特征在于,在所述查询结果包括所述第一密文与所述第二密文,且所述第一密文用于指示所述第二设备存储有所述第三子数据的情况下,所述方法还包括:
解密所述第二密文以得到所述第三子数据。
6.根据权利要求4或5所述的方法,其特征在于,在所述查询结果包括所述第一密文与所述向量密文,且所述第一密文用于指示所述第二设备存储有所述第三子数据的情况下,所述方法还包括:
解密所述向量密文以得到第二预测结果;
基于所述第一子数据获取第一预测结果;
基于所述第一预测结果与所述第二预测结果确定所述第一标识的最终预测结果。
7.一种数据处理方法,其特征在于,所述方法应用于第二设备,所述方法包括:
构建映射关系,所述映射关系用于表示第二标识密文与数据密文之间的对应关系,所述第二标识密文是第二标识同态加密后的密文,所述第二标识用于指示所述第二设备存储的第二子数据,所述数据密文是所述第二子数据同态加密后的密文;
接收第一设备发送的第一标识密文,所述第一标识关联于所述第一设备处的第一子数据与其他设备处的第三子数据;
基于所述第一标识密文与所述第二标识密文确定第一密文,所述第一密文用于所述第一设备确定所述第二设备是否存储有所述第三子数据;
基于所述第一密文与所述映射关系确定第二密文或向量密文;所述第一密文用于指示所述第二设备是否存储有所述第三子数据;在所述第二设备存储有所述第三子数据的情况下,所述第二密文为同态加密后的第三子数据,所述向量密文用于所述第一设备确定所述第一标识的最终预测结果,所述最终预测结果根据所述第一设备处模型的第一参数与所述第二设备处所述模型的第二参数处理得到;
向所述第一设备发送所述第一标识密文对应的查询结果;
所述查询结果包括所述第一密文与所述第二密文;
或者,所述查询结果包括所述第一密文与所述向量密文。
8.根据权利要求7所述的方法,其特征在于,所述基于所述第一标识密文与所述第二标识密文确定第一密文,包括:
将所述第二标识密文中的各标识密文分别与所述第一标识密文相减,并使用各相减后的结果相乘以得到所述第一密文。
9.一种第一设备,其特征在于,包括:处理器,所述处理器与存储器耦合,所述存储器用于存储程序或指令,当所述程序或指令被所述处理器执行时,使得所述第一设备执行如权利要求1或2所述的方法,或者使得所述第一设备执行如权利要求4至6中任一项所述的方法。
10.一种第二设备,其特征在于,包括:处理器,所述处理器与存储器耦合,所述存储器用于存储程序或指令,当所述程序或指令被所述处理器执行时,使得所述第二设备执行如权利要求3所述的方法,或者使得所述第二设备执行如权利要求7或8所述的方法。
11.一种通信系统,其特征在于,所述通信系统包括如权利要求9所述的第一设备,和/或如权利要求10所述的第二设备。
12.一种计算机存储介质,其特征在于,包括计算机指令,当所述计算机指令在终端设备上运行时,使得所述终端设备执行如权利要求1至8中任一项所述的方法。
CN202211084999.3A 2022-09-06 2022-09-06 一种参数更新方法、数据处理方法及相关设备 Active CN115169589B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211084999.3A CN115169589B (zh) 2022-09-06 2022-09-06 一种参数更新方法、数据处理方法及相关设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211084999.3A CN115169589B (zh) 2022-09-06 2022-09-06 一种参数更新方法、数据处理方法及相关设备

Publications (2)

Publication Number Publication Date
CN115169589A CN115169589A (zh) 2022-10-11
CN115169589B true CN115169589B (zh) 2023-01-24

Family

ID=83481648

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211084999.3A Active CN115169589B (zh) 2022-09-06 2022-09-06 一种参数更新方法、数据处理方法及相关设备

Country Status (1)

Country Link
CN (1) CN115169589B (zh)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10320752B2 (en) * 2014-10-24 2019-06-11 National Ict Australia Limited Gradients over distributed datasets
CN109325584B (zh) * 2018-08-10 2021-06-25 深圳前海微众银行股份有限公司 基于神经网络的联邦建模方法、设备及可读存储介质
CN109886417B (zh) * 2019-03-01 2024-05-03 深圳前海微众银行股份有限公司 基于联邦学习的模型参数训练方法、装置、设备及介质
CN112906912A (zh) * 2021-04-01 2021-06-04 深圳市洞见智慧科技有限公司 纵向联邦学习中无可信第三方的回归模型训练方法及系统

Also Published As

Publication number Publication date
CN115169589A (zh) 2022-10-11

Similar Documents

Publication Publication Date Title
Liu et al. An efficient privacy-preserving outsourced calculation toolkit with multiple keys
US9736128B2 (en) System and method for a practical, secure and verifiable cloud computing for mobile systems
US20210173618A1 (en) Converting a boolean masked value to an arithmetically masked value for cryptographic operations
Boneh et al. Private database queries using somewhat homomorphic encryption
US10630472B2 (en) Method and system for providing encrypted data on a client
US20140233727A1 (en) Method for secure substring search
US8345861B2 (en) Sharing a secret using polynomial division over GF(Q)
US20090138698A1 (en) Method of searching encrypted data using inner product operation and terminal and server therefor
Fay Introducing the counter mode of operation to compressed sensing based encryption
CN112906044A (zh) 多方安全计算方法、装置、设备及存储介质
JP5432736B2 (ja) 暗号化された情報のためのキーワード検索システム、キーワード検索方法、検索要求装置、検索代行装置、プログラム、記録媒体
CN108933650B (zh) 数据加解密的方法及装置
CN112865953B (zh) 基于辅助服务器的安全多方计算方法、装置和系统
Peng Danger of using fully homomorphic encryption: A look at Microsoft SEAL
CN111586142A (zh) 一种安全多方计算方法及系统
CN115630713A (zh) 样本标识符不相同下的纵向联邦学习方法、设备和介质
US20180034626A1 (en) Terminal device, database server, and calculation system
CN113806795B (zh) 一种两方隐私集合并集计算方法和装置
CN112860790B (zh) 数据管理方法、系统、装置
CN115169589B (zh) 一种参数更新方法、数据处理方法及相关设备
Chen et al. Cryptanalysis and improvement of DeepPAR: Privacy-preserving and asynchronous deep learning for industrial IoT
EP3376706B1 (en) Method and system for privacy-preserving order statistics in a star network
CN113806760B (zh) 获取特征间相关系数方法、装置、电子设备及存储介质
CN115642999A (zh) 一种用于私有信息高效检索的方法及系统
CN115412246A (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