CN113992393B - 用于纵向联邦学习的模型更新的方法、设备、系统和介质 - Google Patents

用于纵向联邦学习的模型更新的方法、设备、系统和介质 Download PDF

Info

Publication number
CN113992393B
CN113992393B CN202111247889.XA CN202111247889A CN113992393B CN 113992393 B CN113992393 B CN 113992393B CN 202111247889 A CN202111247889 A CN 202111247889A CN 113992393 B CN113992393 B CN 113992393B
Authority
CN
China
Prior art keywords
communication device
ciphertext
gradient
blinded
blinding
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
CN202111247889.XA
Other languages
English (en)
Other versions
CN113992393A (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.)
China Telecom Corp Ltd
Original Assignee
China Telecom Corp 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 China Telecom Corp Ltd filed Critical China Telecom Corp Ltd
Priority to CN202111247889.XA priority Critical patent/CN113992393B/zh
Publication of CN113992393A publication Critical patent/CN113992393A/zh
Application granted granted Critical
Publication of CN113992393B publication Critical patent/CN113992393B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • H04L63/0442Network 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 wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

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

Abstract

本公开涉及用于纵向联邦学习的模型更新的方法、设备、系统和介质。由第一通信设备执行的方法包括:从第二通信设备接收第一中间参数密文;将接收到的第一中间参数密文和由第一通信设备产生的第二中间参数密文进行聚合,得到聚合参数密文;基于聚合参数密文,得到第一通信设备的梯度密文;使用第一随机数对第一通信设备的梯度密文进行盲化,并将盲化后的第一通信设备的梯度密文发送给第二通信设备;使用第一随机数对从第二通信设备接收到的盲化后的第一通信设备的梯度进行去盲化,以得到第一通信设备的梯度,从而使用该梯度对第一通信设备的本地模型进行更新。通过该技术方案,能够对本地模型进行更新而无需协调方,进一步提高了数据的安全性。

Description

用于纵向联邦学习的模型更新的方法、设备、系统和介质
技术领域
本公开大体上涉及数据安全领域,更具体地,涉及数据安全领域中用于纵向联邦学习的模型更新的方法、设备、系统和介质。
背景技术
联邦学习作为近年来新型的分布式机器学习技术,极大地解决了数据孤岛的问题,能在满足数据隐秘性和安全性的同时,在联邦学习的学习组内的各参与方之间共享与数据特征有关的一些参数,使得参与方联合训练出的模型的性能优于单个参与方仅基于本地数据训练出的模型的性能,甚至使得原本仅基于本地数据无法训练出模型的参与方也能够在其它参与方的帮助下训练出自己的模型。因此,联邦学习对于各参与方的机器性能和功能都具有极大的改进。
纵向联邦学习作为联邦学习的一个分支,同样具有联邦学习的上述技术优点。纵向联邦学习通常发生在各参与方的数据样本有较大的重叠但样本特征的重叠度不高的场景下。例如,同一地区的银行和商场具有较多相同的用户,但是由于该银行和商场向这些用户提供不同的服务,因此它们拥有这些用户不同方面的数据。由于数据监管等的需要,它们的用户数据不能共享,但它们可以采用纵向联邦学习技术来共享与用户数据相关的一些特征,从而帮助对方更全面地训练本地模型,使得在保证参与方本地数据安全性的同时能够使参与方的本地模型更加准确,具有更高的预测性能等。
在纵向联邦学习的模型训练的每个迭代轮次中,各个参与方基于各自持有的训练数据和本地模型计算本轮次的中间参数,再通过参与方之间的交互实现本轮次参与方各自梯度的联合计算,使得各个参与方能够利用各自的梯度完成对持有的本地模型的更新。
上述纵向联邦学习梯度联合计算过程较常见的实现方式分为两个步骤:一是,通过对各参与方中间参数的加法同态加密以及密文交换,完成各自梯度的密态计算(这里的密态计算是指在加密状态下进行的计算);二是,由协调方完成对各参与方梯度密文的解密。虽然这种方式既能确保各参与方原始训练数据不出管理域,又能保证各参与方的中间参数或梯度不会被其他方获取,但这要求协调方的公正性,不会与某个参与方合谋。该问题的本质是协调方持有与各参与方对中间参数或梯度等进行加密所使用的公钥对应的私钥,可以拿到各参与方的梯度明文。
针对协调方能拿到各方梯度明文的问题,一种解决方法是,各参与方加法同态加密各自梯度后,再对梯度密文进行随机数加法盲化,从而使得协调方解密得到的是盲化后的梯度明文而非梯度明文。由于加法同态加密算法特性,这使得这个安全提升的方法能普遍有效。
然而,该安全提升的解决方法由于协调方的存在仍然存在问题。例如,由于协调方需要收集联邦学习的参与方的各种信息,因此协调方能够获得与模型训练过程中产生的参数有关的额外信息,使得参与方的数据仍然存在泄露的可能性。另外,在实际应用中,往往由参与方之一来担任协调方。究竟应该由谁来担任协调方,往往成为联邦学习在实际应用场景落地的阻碍。此外,无论是参与方还是第三方来担任协调方,协调方的存在都意味着需要投入更多的计算能力和运维能力。
因此,希望能够提供一种方式,使得在纵向联邦学习的过程中无需协调方的参与,由此进一步保证参与方的数据安全性。
发明内容
本公开提供了一种用于纵向联邦学习的模型更新的方法、设备、系统和介质,能够去除纵向联邦学习中的协调方,使得各参与方的数据更加安全。
根据本公开的一方面,提供了一种用于纵向联邦学习的模型更新的方法,其中,第一通信设备和第二通信设备构成纵向联邦学习的学习组,所述方法由第一通信设备执行,包括:从第二通信设备接收第一中间参数密文,其中,第一中间参数密文是第二通信设备使用其公钥对基于第二通信设备的本地模型和本地训练数据得到的第一中间参数进行加密产生的,以及其中,第二通信设备具有公钥和私钥对,该公钥被第二通信设备预先发送给第一通信设备;将接收到的第一中间参数密文和由第一通信设备产生的第二中间参数密文进行聚合,得到聚合参数密文,其中,第二中间参数密文是第一通信设备使用第二通信设备的公钥对基于第一通信设备的本地模型和本地训练数据得到的第二中间参数进行加密产生的;基于聚合参数密文,得到第一通信设备的梯度密文;使用第一随机数对第一通信设备的梯度密文进行盲化,并将盲化后的第一通信设备的梯度密文发送给第二通信设备,以使第二通信设备使用其私钥对盲化后的第一通信设备的梯度密文进行解密,从而得到盲化后的第一通信设备的梯度;使用第一随机数对从第二通信设备接收到的盲化后的第一通信设备的梯度进行去盲化,以得到第一通信设备的梯度,从而使用该梯度对第一通信设备的本地模型进行更新。
根据本公开的另一方面,提供了一种用于纵向联邦学习的模型更新的方法,其中,第一通信设备和第二通信设备构成纵向联邦学习的学习组,所述方法由第二通信设备执行,包括:向第一通信设备发送第一中间参数密文,以使第一通信设备将接收到的第一中间参数密文和第二中间参数密文进行聚合来得到聚合参数密文,其中,第一中间参数密文是第二通信设备使用其公钥对基于第二通信设备的本地模型和本地训练数据得到的第一中间参数进行加密产生的,其中,第二通信设备具有公钥和私钥对,该公钥被第二通信设备预先发送给第一通信设备,以及其中,第二中间参数密文是第一通信设备使用第二通信设备的公钥对基于第一通信设备的本地模型和本地训练数据得到的第二中间参数进行加密产生的;从第一通信设备接收盲化后的第一通信设备的梯度密文,其中,盲化后的第一通信设备的梯度密文是第一通信设备使用第一随机数对第一通信设备的梯度密文进行盲化得到的,第一通信设备的梯度密文是第一通信设备基于聚合参数密文得到的;使用第二通信设备的私钥对盲化后的第一通信设备的梯度密文进行解密,以得到盲化后的第一通信设备的梯度;将盲化后的第一通信设备的梯度发送给第一通信设备,以使第一通信设备使用第一随机数对盲化后的第一通信设备的梯度进行去盲化,从而得到第一通信设备的梯度,以便使用该梯度对第一通信设备的本地模型进行更新。
根据本公开的再一方面,提供了一种通信设备,包括:存储器,存储器,所述存储器存储有计算机可执行指令;以及处理器,所述处理器与所述存储器耦接,所述计算机可执行指令当被所述处理器执行时使所述处理器执行上述方法。
根据本公开的又一方面,提供了一种通信系统,包括构成纵向联邦学习的学习组的第一通信设备和第二通信设备,其中,第一通信设备和第二通信设备分别被配置为执行上述相应方法。
根据本公开的又一方面,提供了一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令当被处理器执行时使所述处理器执行上述方法。
根据本公开的又一方面,提供了一种用于纵向联邦学习的模型更新的装置,包括:用于执行上述方法的步骤的部件。
根据上述技术方案,通过仅仅在参与方之间进行信息交互,就能够完成本地模型的更新,从而无需协调方的介入,因此可以避免梯度明文信息等泄露给协调方,使得各参与方的数据更加安全。此外,由于不再需要像已有技术那样将参与方之一设置为协调方,可以避免参与方之间信息获得量、计算能力投入、运维投入不平衡的问题。
通过以下参照附图对本公开的示例性实施例的详细描述,本公开的其它特征及其优点将会变得清楚。
附图说明
构成说明书的一部分的附图描述了本公开的实施例,并且连同说明书一起用于解释本公开的原理。
图1是根据本公开实施例的实施纵向联邦学习的系统的示意图。
图2是根据本公开实施例的用于纵向联邦学习的模型更新的方法的流程示意图。
图3是根据本公开实施例的用于纵向联邦学习的模型更新的方法的另一流程示意图。
图4是根据本公开实施例的用于纵向联邦学习的模型更新的方法的再一流程示意图。
图5是根据本公开实施例的通信设备的结构框图。
图6是根据本公开实施例的通信系统的结构框图。
具体实施方式
现在将参照附图来详细描述本公开的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
首先参考图1,描述根据本公开实施例的实施纵向联邦学习的系统100的示意图。
系统100包括第一通信设备110和第二通信设备120,两者构成纵向联邦学习的学习组,共同实施纵向联邦学习技术以联合训练各自的本地模型。第一通信设备110和第二通信设备120可以是服务器、超级计算机等具有信息处理能力的装置以及装置集合。它们分别属于不同的机构或企业(例如,银行、商场、网络运营商等),分别具有各自的训练数据,包含用户不同的特征分量。这些训练数据由于监管、安全性等的需要,不能被泄露,更无法与参与方共享。第一通信设备110和第二通信设备120均具有本地模型以基于本地数据进行相关预测。例如,银行的本地模型可以预测向某一用户发放信贷的风险,商场的本地模型可以预测某一用户偏好的产品,网络运营商的本地模型可以预测适合于某一用户的通信套餐等。本地模型包含的参数可以通过第一通信设备110和第二通信设备120共同实施联邦学习来得到。
第一通信设备110在本文中又可以被称为GUEST方,它是建模发起方。GUEST方不仅具有训练数据,还具有与训练数据对应的标签数据。第二通信设备120在本文中又可以被称为HOST方,它是建模响应方。HOST方具有训练数据,并且可以没有与训练数据对应的标签数据。
GUEST方和HOST方通过执行下述方法,能够在彼此之间交互信息以得到更新本地模型的梯度,同时不会泄露本地数据也无需协调方的介入,这增强了数据安全性。
图2中示出了根据本公开实施例的用于纵向联邦学习的模型更新的方法200的流程示意图。通过执行方法200,可以计算得到GUEST方的梯度以更新GUEST方的本地模型。由于在方法200的执行中不涉及协调方,因此能够避免模型训练相关数据的泄露,从而进一步保证数据的安全性。
在S210中,GUEST方从HOST方接收第一中间参数密文。其中,第一中间参数密文是HOST方使用其公钥对基于HOST方的本地模型和本地训练数据得到的第一中间参数进行加密产生的。
得到第一中间参数的方式可以借助于已有的公式,如下述的公式(1)。此外,HOST方具有公钥和私钥对,该公钥在S210之前可以被发送给GUEST方,以使得GUEST可以用HOST方的公钥对信息进行加密,以实现同态加密算法等。
在S220中,GUEST方将接收到的第一中间参数密文和由GUEST方产生的第二中间参数密文进行聚合,得到聚合参数密文。其中,第二中间参数密文是GUEST方使用HOST方的公钥对基于GUEST方的本地模型和本地训练数据得到的第二中间参数进行加密产生的。
得到第二中间参数的方式可以借助于已有的公式,如下述的公式(2)。这里的聚合可以是加法关系。
在S230中,GUEST方基于聚合参数密文,得到GUEST方的梯度密文。
得到该梯度密文的方式可以在加密状态下借助于已有的公式,如下述的公式(6)。
在S240中,GUEST方用第一随机数对GUEST方的梯度密文进行盲化,并将盲化后的GUEST方的梯度密文发送给HOST方,以使HOST方使用其私钥对盲化后的GUEST方的梯度密文进行解密,从而得到盲化后的GUEST方的梯度。
第一随机数可以通过预定长度的随机比特(例如100比特)产生。在已有的技术中,随机数的不当选择可能使盲化结果无效。这个问题的根源在于能有效进行盲化处理的随机数的选取范围与梯度明文的大小有关,无法提前预知。比如,在梯度为小于1的小数的情况下,如果随机数是一个整数,则无法实现有效盲化,反之亦然。在本公开的实施例中,由于随机数的选择与计算机实现中的比特长度有关,因此能够避免随机数的不当选择而导致加法盲化方式失效的问题。
在对于特定密文产生随机数之后,随机数为常数,对密文进行盲化需要使用常数密态倍乘运算,这样的运算是本领域技术人员熟知和常用的运算。
在S250中,GUEST方使用第一随机数对从HOST方接收到的盲化后的GUEST方的梯度进行去盲化,以得到GUEST方的梯度,从而使用该梯度对GUEST方的本地模型进行更新。
使用梯度对模型进行更新的方式可以采用已有技术中的方式,在此不再赘述。
GUEST方通过利用方法200,能够与HOST方进行模型训练相关参数的交互以更新自己的本地模型,从而在本地模型的更新过程中无需协调方的参与,避免了将梯度明文信息等泄露给协调方,使得数据的安全性得到了进一步提高。
图3中进一步示出了根据本公开实施例的用于纵向联邦学习的模型更新的方法300的流程示意图。通过执行方法300,不仅可以计算得到GUEST方的梯度以更新GUEST方的本地模型,而且可以计算得到HOST方的梯度以更新HOST方的本地模型。
在S310中,进行密钥的配置。具体而言,HOST方(也可以被称为第二通信设备)生成加法同态加密公钥和私钥对(pk,sk),并将公钥pk发送给GUEST方(也可以被称为第一通信设备)。该加法同态加密算法支持常数密态倍乘运算。
在S320中,进行本地中间参数的计算和加密。具体而言,GUEST方和HOST方分别在各自的当前本地模型(wG和wH)和持有的训练数据(XG和XH)上计算本地中间参数(两个集合和/>),并使用上述公钥进行加密而得到密文(/>和/>);HOST方将其本地中间参数密文/>发送给GUEST方。
其中,wG和wH分别是GUEST方和HOST方的模型参数或模型输出,可以用向量来表示;XG和XH分别是GUEST方和HOST方的训练数据的集合,包括i个训练数据和/>每个训练数据可以用向量来表示;/>和/>分别是GUEST方和HOST方通过以下现有公式计算的中间参数,均可以用数值来表示;{}表示由多个元素构成的集合;以及[]pk表示用HOST方的公钥进行加密的结果。
在S330中,进行密态聚合。具体而言,GUEST方将两方的本地中间参数进行密态聚合计算,得到聚合参数密文{[di]pk}。例如,可以将HOST方的中间参数密文和GUEST方的中间参数密文/>相加,来得到聚合参数密文{[di]pk}。
在S340中,对聚合参数密文进行盲化保护。具体而言,GUEST方针对每一个聚合参数di,分别选取通过预定比特长度产生的随机数ri,采用乘法盲化方法对聚合参数密文进行盲化,得到盲化后的聚合参数密文{[ri·di]pk}。然后,GUEST方将盲化后的聚合参数密文发送给HOST方。
在S350中,进行HOST方的梯度的计算。具体而言,a)HOST方使用本地的训练数据和在S340中接收到的聚合参数密文{[ri·di]pk},计算己方的盲化后的梯度因子密文并将该盲化后的梯度因子密文发送给GUEST方;b)GUEST方使用随机数ri进行去盲化以得到/>然后对该集合中的每个元素进行密态聚合以得到HOST方的部分梯度密文[∑(xi·di)]pk,并将该部分梯度密文返回给HOST方;以及c)HOST方使用私钥sk对接收到的部分梯度密文[∑(xi·di)]pk进行解密,并基于解密后的结果根据下述已有公式(5)进一步计算其梯度gH,从而根据gH对HOST方的本地模型进行更新。
在S360中,进行GUEST方的梯度的计算。具体而言,a)GUEST方使用聚合参数密文{[di]pk}密态计算梯度密文[gG]pk,再使用通过预定比特长度产生的随机数rG进行盲化以得到盲化后的梯度密文[rG·gG]pk,并将该盲化后的梯度密文发送给HOST方;b)HOST方使用私钥sk为GUEST方的盲化后的梯度密文进行解密,得到GUEST方的盲化后的梯度明文rG·gG,并将该盲化后的梯度明文发送给GUEST方;以及c)GUEST方使用随机数rG对接收到的盲化后的梯度明文rG·gG进行去盲化以得到GUEST方梯度gG,从而根据gG对GUEST方的本地模型进行更新。
上述S350和S360的执行不一定要求S350必须在S360之前,本领域技术人员可以理解,S350也可以在S360之后执行,S350还可以与S360并行执行,两者执行的顺序没有必然的限制,只要能够在每一步骤执行之前具有需要处理的参数即可。
上述方法采用了加法同态加密算法,去除了纵向联邦学习的协调方,不仅能够确保原始数据和中间参数的安全性,而且能够使纵向联邦学习更具有公平性。此外,上述方法采用了随机数乘法盲化方法,降低了随机数选择的限制要求,使数据盲化保护更有效。
在图4中进一步示出了根据本公开实施例的用于纵向联邦学习的模型更新的方法400的流程示意图。方法400涉及两个参与方的纵向联邦学习,可以在其中应用纵向联邦线性回归学习算法。由于协调方的去除,可以进一步增强数据的安全性并使联邦学习更有公平性。
可以采用已有的方法,将HOST方和GUEST方的本地数据通过样本对齐形成训练数据标识集合D,HOST方持有的训练数据表示为GUEST方持有的训练数据表示为每次迭代过程需要通过现有的公式(1)至(6)计算以下中间变量:
其中,wH,wG分别为当前HOST方本地模型和GUEST方本地模型的模型参数或模型输出;分别为HOST方和GUEST方标识为i的训练数据,每个训练数据可以包括多个特征分量;L为损失函数值;yi是GUEST方的与/>对应的标签数据;λ是双方协商一致或预先配置到双方的固定常数;以及公式(5)和(6)中的两个偏导分别为HOST方和GUEST方更新各自本地模型所需的梯度。
约定使用[X]pk来标记X在同态加密公钥pk下产生的密文,使用{xi}来标记代表元素形如xi的集合或序列。
训练过程的一轮迭代计算描述如下。
在S410中,HOST方(也可以被称为第二通信设备)生成加法同态加密的公钥和私钥对(pkH,skH),GUEST方(也可以被称为第一通信设备)生成普通公钥加密的公钥和私钥对(pkG,skG),并且两方相互交换公钥。交换公钥的顺序没有限制。密钥的长度至少为1024比特。加法同态加密算法可以选用Paillier同态加密算法,普通公钥加密算法可选用RSA、SM2等。
在S420中,HOST方计算并加密本地中间参数。具体而言,a)HOST方针对对齐样本集合中每个样本计算/>并使用公钥pkH加密得到HOST方的本地中间参数密文b)计算/> 并使用公钥pkH加密得到密文/>
在S430中,GUEST方计算并加密本地中间参数。具体而言,a)GUEST方针对对齐样本集合中每个样本计算/>并使用公钥pkH加密得到GUEST方的本地中间参数密文/>b)计算/>并使用公钥pkH加密得到密文/>
S420和S430的执行顺序没有特别的限制,两者可以并行执行。
在S440中,HOST方将密文和/>发送给GUEST方。
在S450中,GUEST方计算聚合参数密文 并为每个di独立选取随机数/>进行盲化以得到盲化后的聚合参数密文/>并将该结果发送给HOST方。
在S460中,GUEST方密态计算损失函数值密文和GUEST方的梯度密文,对其进行盲化后发给HOST解密。具体而言,a)GUEST方计算由它和HOST方构成的学习组的损失函数值密文 选择随机数/>进行盲化,并将盲化结果/>发送给HOST方;b)GUEST方计算GUEST方梯度密文选择随机数/>进行盲化,并将GUEST方的盲化后的梯度密文/>发送给HOST方。
在S470中,HOST方为和/>进行解密,并且还密态计算自己的盲化后的梯度因子密文,再将该盲化后的梯度因子密文发送给GUEST方去盲化并密态聚合,以根据GUEST方返回的数据计算己方的梯度并更新本地模型。具体而言,a)HOST方使用私钥skH对盲化后的学习组的损失函数值密文/>和GUEST方的盲化后的梯度密文/>解密,得到盲化后的损失函数值/> 和GUEST方的盲化后的梯度/>然后使用GUEST方的公钥pkG对/>和/>加密后发给GUEST方;b)HOST方使用/>和本地的训练数据来计算HOST方的盲化后的梯度因子密文/>并将其发送给GUEST方;c)GUEST方使用随机数逐项对HOST方的盲化后的梯度因子密文进行去盲化,并进行密态聚合(即,在加密状态下进行相加),得到HOST方的部分梯度密文/>并将其返还给HOST方;d)HOST方使用私钥skH对HOST方的部分梯度密文进行解密,得到其部分梯度并进一步计算其完整梯度为/> 于是,HOST方可以使用HOST方的梯度/>将其本地模型更新为/>其中,G是HOST方和GUEST方协商一致或预先配置到双方的固定常数。
在S480中,GUEST方恢复出其梯度,更新其本地模型,并判断模型训练是否收敛。具体而言,a)GUEST方使用其私钥skG对从HOST方接收到的用pkG加密的进行解密,得到/>并使用/>进行去盲化而得到GUEST方自己的梯度/>然后将该梯度用于自己本地模型的更新/>b)GUEST方使用其私钥skG对从HOST方接收到的用pkG加密的/>进行解密,得到/>并使用/>进行去盲化得到损失函数值L,然后基于损失函数值L进行收敛判断;c)GUEST方将收敛判断得到的指示模型训练是否收敛的标志发送给HOST方。
当基于损失函数值L确定模型训练没有收敛时,GUEST方将指示没有收敛的标志发送给HOST方,于是双方重新开始执行上述S420至S480。当基于损失函数值L确定模型训练收敛时,GUEST方将指示收敛的标志发送给HOST方,于是双方停止执行联邦学习。在停止执行联邦学习之后,双方可以在预定触发条件下重新开始执行上述S420至S480,甚至可以在重新执行上述S420至S480之前重新执行S410。所述预定触发条件可以是预定时间段,也可以是接收到预定触发信号,还可以是特定事件的发生,例如某一方掉线后重新上线等。
步骤S450中的随机数和步骤S460中的随机数/>和/>均可以通过定长随机比特(例如100比特)来产生,采用这种方式可以降低去盲化时产生的误差。
本领域技术人员可以理解,上述各步骤不一定按照所描述的顺序执行,而是可能并行执行,也可能颠倒顺序执行。只要各步骤所需的处理参数已经存在,该步骤就可以被执行。
上述技术方案利用支持常数密态倍乘运算的加法同态加密算法和随机数乘法盲化法,重构了两个参与方的纵向联邦学习流程,去除了已有技术中普遍存在的协调方,使得参与纵向联邦学习的数据提供方在信息获得量、计算能力投入、运维投入等方面具有更好的平衡和公平性,更易于实际业务的推广,也更有助于数据安全性的保证。
上面描绘了根据本公开实施例的用于纵向联邦学习的模型更新的方法,下面将结合图5至6描绘根据本公开实施例的通信设备和通信系统的结构框图。
图5示出了根据本公开实施例的通信设备500的结构框图。图5所示的通信设备500可以是第一通信设备,也可以是第二通信设备,例如服务器、专用计算机、其它信息处理设备等。通信设备500包括存储器510和处理器520。存储器510可以是只读存储器、光盘、硬盘、磁盘、闪存或其它任何非易失性存储介质。存储器510可以存储用于实现方法200至400中的至少一个中的一个或多个步骤的计算机可执行指令。
处理器520可以例如通过总线耦接至存储器510,可以作为一个或多个集成电路来实施,例如微处理器或微控制器。该处理器520用于执行存储器510中存储的用于实现方法200至400中的至少一个中的一个或多个步骤的计算机可执行指令。通过所述计算机可执行指令的执行,使得在纵向联邦学习中无需协调方的参与,进一步提高了数据安全性。
图6示出了根据本公开实施例的通信系统600的结构框图。图6所示的通信系统600可以包括第一通信设备610和第二通信设备620。第一通信设备610和第二通信设备620可以分别被配置为执行方法200至400中的至少一个中的GUEST方和HOST方的操作。
如现有计算机装置中那样,通信设备500以及通信系统600中的第一通信设备610和第二通信设备620可以通过读写接口连接至外部存储装置以便调用外部数据,还可以通过网络接口连接至网络或者其他计算机装置,此处不再进行详细描述。
尽管未在图中示出,但是本领域技术人员可以理解,根据上述方法可以实现用于纵向联邦学习的模型更新的装置。该装置可以包括多个部件,每个部件可以被配置为执行上述方法中的相应步骤。这些部件中的每一个可以通过一个或多个处理器来实现,并且可以以软件、硬件、固件或其任意组合实现。
本领域内的技术人员应明白,本公开的实施例可提供为方法、装置、或计算机程序产品。因此,本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机可用程序代码的计算机可用非瞬时性存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本公开是参照根据本公开实施例的方法、设备(系统)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
至此,已经详细描述了本公开。为了避免遮蔽本公开的构思,没有描述本领域所公知的一些细节。本领域技术人员根据上面的描述,完全可以明白如何实施这里公开的技术方案。
可能以许多方式来实现本公开的方法和系统。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本公开的方法和系统。用于所述方法的步骤的上述顺序仅是为了进行说明,本公开的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本公开实施为记录在记录介质中的程序,这些程序包括用于实现根据本公开的方法的机器可读指令。因而,本公开还覆盖存储用于执行根据本公开的方法的程序的记录介质。
虽然已经通过示例对本公开的一些特定实施例进行了详细说明,但是本领域的技术人员应该理解,以上示例仅是为了进行说明,而不是为了限制本公开的范围。本领域的技术人员应该理解,可在不脱离本公开的范围和精神的情况下,对以上实施例进行修改。本公开的范围由所附权利要求来限定。

Claims (13)

1.一种用于纵向联邦学习的模型更新的方法,其中,第一通信设备和第二通信设备构成纵向联邦学习的学习组,所述方法由第一通信设备执行,包括:
从第二通信设备接收第一中间参数密文,其中,第一中间参数密文是第二通信设备使用其公钥对基于第二通信设备的本地模型和本地训练数据得到的第一中间参数进行加密产生的,以及其中,第二通信设备具有公钥和私钥对,该公钥被第二通信设备预先发送给第一通信设备;
将接收到的第一中间参数密文和由第一通信设备产生的第二中间参数密文进行聚合,得到聚合参数密文,其中,第二中间参数密文是第一通信设备使用第二通信设备的公钥对基于第一通信设备的本地模型和本地训练数据得到的第二中间参数进行加密产生的;
基于聚合参数密文,得到第一通信设备的梯度密文;
使用第一随机数对第一通信设备的梯度密文进行盲化,并将盲化后的第一通信设备的梯度密文发送给第二通信设备,以使第二通信设备使用其私钥对盲化后的第一通信设备的梯度密文进行解密,从而得到盲化后的第一通信设备的梯度;
使用第一随机数对从第二通信设备接收到的盲化后的第一通信设备的梯度进行去盲化,以得到第一通信设备的梯度,从而使用该梯度对第一通信设备的本地模型进行更新。
2.根据权利要求1所述的方法,其中,在第一通信设备得到聚合参数密文之后,所述方法进一步包括:
使用第二随机数对聚合参数密文进行盲化,并将盲化后的聚合参数密文发送给第二通信设备,以使第二通信设备基于第二通信设备的本地训练数据和盲化后的聚合参数密文得到盲化后的第二通信设备的部分梯度因子密文;
使用第二随机数对从第二通信设备接收到的盲化后的第二通信设备的部分梯度因子密文进行去盲化以得到第二通信设备的部分梯度因子密文,并将第二通信设备的部分梯度因子密文相加以得到第二通信设备的部分梯度密文;
将第二通信设备的部分梯度密文发送给第二通信设备,以使第二通信设备使用其私钥对第二通信设备的部分梯度密文进行解密,并根据解密得到的第二通信设备的部分梯度计算第二通信设备的梯度,从而基于该梯度对第二通信设备的本地模型进行更新。
3.根据权利要求1或2所述的方法,进一步包括:
基于由第一通信设备产生的第一损失函数值密文和从第二通信设备接收的第二损失函数值密文,计算学习组的损失函数值密文,其中,第一损失函数值密文是第一通信设备使用第二通信设备的公钥对基于第一通信设备的本地模型和本地训练数据得到的第一损失函数值进行加密产生的,第二损失函数值密文是第二通信设备使用其公钥对基于第二通信设备的本地模型和本地训练数据得到的第二损失函数值进行加密产生的;
使用第三随机数对学习组的损失函数值密文进行盲化,并将盲化后的学习组的损失函数值密文发送给第二通信设备,以使第二通信设备使用其私钥对盲化后的学习组的损失函数值密文进行解密,从而得到盲化后的学习组的损失函数值;
从第二通信设备接收另一盲化后的学习组的损失函数值密文,所述另一盲化后的学习组的损失函数值密文是第二通信设备使用第一通信设备的公钥对盲化后的学习组的损失函数值进行加密产生的,其中,第一通信设备具有与第二通信设备的公钥和私钥对不同的公钥和私钥对,第一通信设备的公钥被预先发送给第二通信设备;
使用第一通信设备的私钥对所述另一盲化后的学习组的损失函数值密文进行解密,以得到盲化后的学习组的损失函数值,并使用第三随机数对盲化后的学习组的损失函数值进行去盲化以得到学习组的损失函数值;
根据学习组的损失函数值确定模型训练是否收敛,并将指示模型训练是否收敛的标志发送给第二通信设备。
4.根据权利要求3所述的方法,其中,当所述标志指示模型训练没有收敛时,重新开始执行接收第一中间参数密文的步骤,直到根据新得到的学习组的损失函数值再次确定模型训练是否收敛。
5.根据权利要求3所述的方法,其中,第一随机数、第二随机数和第三随机数中的至少一个是通过预定长度的随机比特产生的。
6.根据权利要求1或2所述的方法,其中,所述使用第一随机数对从第二通信设备接收到的盲化后的第一通信设备的梯度进行去盲化,以得到第一通信设备的梯度包括:
从第二通信设备接收另一盲化后的第一通信设备的梯度密文,所述另一盲化后的第一通信设备的梯度密文是第二通信设备使用第一通信设备的公钥对盲化后的第一通信设备的梯度进行加密产生的,其中,第一通信设备具有与第二通信设备的公钥和私钥对不同的公钥和私钥对,第一通信设备的公钥被预先发送给第二通信设备;
使用第一通信设备的私钥对所述另一盲化后的第一通信设备的梯度密文进行解密,以得到盲化后的第一通信设备的梯度,并使用第一随机数对盲化后的第一通信设备的梯度进行去盲化,以得到第一通信设备的梯度。
7.一种用于纵向联邦学习的模型更新的方法,其中,第一通信设备和第二通信设备构成纵向联邦学习的学习组,所述方法由第二通信设备执行,包括:
向第一通信设备发送第一中间参数密文,以使第一通信设备将接收到的第一中间参数密文和第二中间参数密文进行聚合来得到聚合参数密文,其中,第一中间参数密文是第二通信设备使用其公钥对基于第二通信设备的本地模型和本地训练数据得到的第一中间参数进行加密产生的,其中,第二通信设备具有公钥和私钥对,该公钥被第二通信设备预先发送给第一通信设备,以及其中,第二中间参数密文是第一通信设备使用第二通信设备的公钥对基于第一通信设备的本地模型和本地训练数据得到的第二中间参数进行加密产生的;
从第一通信设备接收盲化后的第一通信设备的梯度密文,其中,盲化后的第一通信设备的梯度密文是第一通信设备使用第一随机数对第一通信设备的梯度密文进行盲化得到的,第一通信设备的梯度密文是第一通信设备基于聚合参数密文得到的;
使用第二通信设备的私钥对盲化后的第一通信设备的梯度密文进行解密,以得到盲化后的第一通信设备的梯度;
将盲化后的第一通信设备的梯度发送给第一通信设备,以使第一通信设备使用第一随机数对盲化后的第一通信设备的梯度进行去盲化,从而得到第一通信设备的梯度,以便使用该梯度对第一通信设备的本地模型进行更新。
8.根据权利要求7所述的方法,进一步包括:
从第一通信设备接收盲化后的聚合参数密文,其中,盲化后的聚合参数密文是第一通信设备使用第二随机数对聚合参数密文进行盲化得到的;
基于第二通信设备的本地训练数据和盲化后的聚合参数密文得到盲化后的第二通信设备的部分梯度因子密文;
将盲化后的第二通信设备的部分梯度因子密文发送给第一通信设备,以使第一通信设备使用第二随机数对从第二通信设备接收到的盲化后的第二通信设备的部分梯度因子密文进行去盲化,从而得到第二通信设备的部分梯度因子密文,并将第二通信设备的部分梯度因子密文相加以得到第二通信设备的部分梯度密文;
从第一通信设备接收第二通信设备的部分梯度密文;
使用第二通信设备的私钥对第二通信设备的部分梯度密文进行解密,并根据解密得到的第二通信设备的部分梯度计算第二通信设备的梯度,从而基于该梯度对第二通信设备的本地模型进行更新。
9.一种通信设备,包括:
存储器,所述存储器存储有计算机可执行指令;以及
处理器,所述处理器与所述存储器耦接,所述计算机可执行指令当被所述处理器执行时使所述处理器执行根据权利要求1-8中任一项所述的方法。
10.一种通信系统,包括构成纵向联邦学习的学习组的第一通信设备和第二通信设备,其中,
第一通信设备被配置为:
从第二通信设备接收第一中间参数密文;
将接收到的第一中间参数密文和由第一通信设备产生的第二中间参数密文进行聚合,得到聚合参数密文,其中,第二中间参数密文是第一通信设备使用第二通信设备的公钥对基于第一通信设备的本地模型和本地训练数据得到的第二中间参数进行加密产生的,以及其中,第二通信设备具有公钥和私钥对,该公钥被第二通信设备预先发送给第一通信设备;
基于聚合参数密文,得到第一通信设备的梯度密文;
使用第一随机数对第一通信设备的梯度密文进行盲化,并将盲化后的第一通信设备的梯度密文发送给第二通信设备;
使用第一随机数对从第二通信设备接收到的盲化后的第一通信设备的梯度进行去盲化,以得到第一通信设备的梯度,从而使用该梯度对第一通信设备的本地模型进行更新,以及
第二通信设备被配置为:
向第一通信设备发送第一中间参数密文,其中,第一中间参数密文是第二通信设备使用其公钥对基于第二通信设备的本地模型和本地训练数据得到的第一中间参数进行加密产生的;
从第一通信设备接收盲化后的第一通信设备的梯度密文;
使用第二通信设备的私钥对盲化后的第一通信设备的梯度密文进行解密,以得到盲化后的第一通信设备的梯度;
将盲化后的第一通信设备的梯度发送给第一通信设备。
11.根据权利要求10所述的通信系统,其中,
第一通信设备被进一步配置为:
使用第二随机数对聚合参数密文进行盲化,并将盲化后的聚合参数密文发送给第二通信设备;
使用第二随机数对从第二通信设备接收到的盲化后的第二通信设备的部分梯度因子密文进行去盲化以得到第二通信设备的部分梯度因子密文;
将第二通信设备的部分梯度因子密文相加以得到第二通信设备的部分梯度密文;
将第二通信设备的部分梯度密文发送给第二通信设备,以及
第二通信设备被进一步配置为:
从第一通信设备接收盲化后的聚合参数密文;
基于第二通信设备的本地训练数据和盲化后的聚合参数密文得到盲化后的第二通信设备的部分梯度因子密文;
将盲化后的第二通信设备的部分梯度因子密文发送给第一通信设备;
从第一通信设备接收第二通信设备的部分梯度密文;
使用第二通信设备的私钥对第二通信设备的部分梯度密文进行解密;
根据解密得到的第二通信设备的部分梯度计算第二通信设备的梯度,从而基于该梯度对第二通信设备的本地模型进行更新。
12.一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令当被处理器执行时使所述处理器执行根据权利要求1-8中任一项所述的方法。
13.一种用于纵向联邦学习的模型更新的装置,包括:用于执行根据权利要求1-8中任一项所述的方法的步骤的部件。
CN202111247889.XA 2021-10-26 2021-10-26 用于纵向联邦学习的模型更新的方法、设备、系统和介质 Active CN113992393B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111247889.XA CN113992393B (zh) 2021-10-26 2021-10-26 用于纵向联邦学习的模型更新的方法、设备、系统和介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111247889.XA CN113992393B (zh) 2021-10-26 2021-10-26 用于纵向联邦学习的模型更新的方法、设备、系统和介质

Publications (2)

Publication Number Publication Date
CN113992393A CN113992393A (zh) 2022-01-28
CN113992393B true CN113992393B (zh) 2023-10-03

Family

ID=79741618

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111247889.XA Active CN113992393B (zh) 2021-10-26 2021-10-26 用于纵向联邦学习的模型更新的方法、设备、系统和介质

Country Status (1)

Country Link
CN (1) CN113992393B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117648999B (zh) * 2024-01-30 2024-04-23 上海零数众合信息科技有限公司 联邦学习回归模型损失函数评估方法、装置及电子设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110572253A (zh) * 2019-09-16 2019-12-13 济南大学 一种联邦学习训练数据隐私性增强方法及系统
CN113037460A (zh) * 2021-03-03 2021-06-25 北京工业大学 基于同态加密和秘密共享的联邦学习隐私保护方法
CN113163366A (zh) * 2021-04-25 2021-07-23 武汉理工大学 车联网中基于联邦学习的隐私保护模型聚合系统及方法
CN113434878A (zh) * 2021-06-25 2021-09-24 平安科技(深圳)有限公司 基于联邦学习的建模及应用方法、装置、设备及存储介质
CN113537633A (zh) * 2021-08-09 2021-10-22 中国电信股份有限公司 基于纵向联邦学习的预测方法、装置、设备、介质和系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110572253A (zh) * 2019-09-16 2019-12-13 济南大学 一种联邦学习训练数据隐私性增强方法及系统
CN113037460A (zh) * 2021-03-03 2021-06-25 北京工业大学 基于同态加密和秘密共享的联邦学习隐私保护方法
CN113163366A (zh) * 2021-04-25 2021-07-23 武汉理工大学 车联网中基于联邦学习的隐私保护模型聚合系统及方法
CN113434878A (zh) * 2021-06-25 2021-09-24 平安科技(深圳)有限公司 基于联邦学习的建模及应用方法、装置、设备及存储介质
CN113537633A (zh) * 2021-08-09 2021-10-22 中国电信股份有限公司 基于纵向联邦学习的预测方法、装置、设备、介质和系统

Also Published As

Publication number Publication date
CN113992393A (zh) 2022-01-28

Similar Documents

Publication Publication Date Title
CN111209334B (zh) 基于区块链的电力终端数据安全管理方法
US10944566B2 (en) Methods and systems for supporting fairness in secure computations
CN109040076B (zh) 一种数据处理方法、系统、装置、设备及介质
CN110190945B (zh) 基于多加密的线性回归隐私保护方法及系统
CN111783129A (zh) 一种保护隐私的数据处理方法及系统
CN110289968A (zh) 私钥恢复、协同地址的创建、签名方法及装置、存储介质
CN116506201B (zh) 一种基于大数据的网络通信安全防护系统
CN113051590A (zh) 一种数据处理方法和相关设备
CN107204997A (zh) 管理云存储数据的方法和装置
CN112818369A (zh) 一种联合建模方法及装置
CN111523134B (zh) 基于同态加密的模型训练方法、装置及系统
CN112241537A (zh) 纵向联邦学习建模方法、系统、介质及设备
CN112000978B (zh) 隐私数据的输出方法、数据处理系统及存储介质
CN113992393B (zh) 用于纵向联邦学习的模型更新的方法、设备、系统和介质
US11563566B2 (en) Key splitting
CN116882524A (zh) 一种满足参与方的个性化隐私保护需求的联邦学习方法和系统
CN112380404B (zh) 数据过滤方法、装置及系统
CN112132578B (zh) 一种基于区块链的高效交易处理方法、追踪方法及装置
CN111737756B (zh) 经由两个数据拥有方进行的xgb模型预测方法、装置及系统
CN117034287A (zh) 基于隐私计算互联互通技术的多方联合建模安全增强方法
CN111294196B (zh) 一种信号发送及接收方法、装置、电子设备及存储介质
CN112637233B (zh) 一种基于多用户数据的安全求均值方法
US10972271B2 (en) Secret authentication code adding device, secret authentication code adding method, and program
CN116415267A (zh) 一种联合学习模型迭代更新方法、装置、系统及存储介质
CN111737337B (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