CN113449872B - 基于联邦学习的参数处理方法、装置和系统 - Google Patents

基于联邦学习的参数处理方法、装置和系统 Download PDF

Info

Publication number
CN113449872B
CN113449872B CN202010216295.1A CN202010216295A CN113449872B CN 113449872 B CN113449872 B CN 113449872B CN 202010216295 A CN202010216295 A CN 202010216295A CN 113449872 B CN113449872 B CN 113449872B
Authority
CN
China
Prior art keywords
electronic device
electronic
mask
parameter
server
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
CN202010216295.1A
Other languages
English (en)
Other versions
CN113449872A (zh
Inventor
蒋精华
洪爵
徐坤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN202010216295.1A priority Critical patent/CN113449872B/zh
Publication of CN113449872A publication Critical patent/CN113449872A/zh
Application granted granted Critical
Publication of CN113449872B publication Critical patent/CN113449872B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2107File encryption

Abstract

本申请公开了一种基于联邦学习的参数处理方法、装置和系统,涉及大数据技术领域。具体实现方案为:分别确定第一电子设备相对于每个第二电子设备的掩码,其中,所述第一电子设备相对于任一第二电子设备的掩码,与所述第二电子设备相对于所述第一电子设备的掩码之间的和小于预设值;根据所述第一电子设备相对于每个第二电子设备的掩码,对梯度参数进行加密;将加密后的梯度参数发送给服务器,所述加密后的梯度参数用于指示所述服务器对联邦学习模型的全局模型参数进行更新。本申请实施例中不仅可以保护各电子设备的信息,而且可以保证联邦学习模型的可用性。

Description

基于联邦学习的参数处理方法、装置和系统
技术领域
本申请涉及数据处理领域,尤其涉及大数据技术领域。
背景技术
联邦学习(federated learning)是一种新兴的人工智能基础技术,其设计目标是在保障大数据交换时的信息安全、保护终端数据和个人数据隐私的前提下,在多参与方或多计算结点之间开展高效率的机器学习。
在联邦学习的过程中,各参与方或计算结点将梯度参数发送给服务器,服务器对接收到的梯度参数进行聚合,从而维持一个全局模型参数,各参与方或计算结点不断迭代更新该全局模型参数,直到最后模型收敛。现有技术中,为了保护各参与方或各计算结点的隐私,降低信息泄露的风险,各参与方或各计算结点可以对梯度参数进行加噪,并将加噪后的梯度参数发送给服务器。
然而,对梯度参数进行加噪时,增加的噪声越大,信息泄露的风险越低,但是,模型的可用性则越差,增加的噪声越小,信息泄露的风险则越高。因此,如何在保证模型可用性的同时,又能降低各参与方或各计算结点信息泄露的风险,是目前亟需解决的技术问题。
发明内容
本申请实施例提供一种基于联邦学习的参数处理方法、装置和系统,不仅可以保护各电子设备的信息,而且可以保证联邦学习模型的可用性。
第一方面,本申请实施例提供一种基于联邦学习的参数处理方法,该基于联邦学习的参数处理方法可以包括:
分别确定第一电子设备相对于每个第二电子设备的掩码,其中,所述第一电子设备相对于任一第二电子设备的掩码,与所述第二电子设备相对于所述第一电子设备的掩码之间的和小于预设值;
根据所述第一电子设备相对于每个第二电子设备的掩码,对梯度参数进行加密;
将加密后的梯度参数发送给服务器,所述加密后的梯度参数用于指示所述服务器对联邦学习模型的全局模型参数进行更新。
可以看出,与现有技术不同的是,本申请实施例中,由于第一电子设备向服务器发送的是加密后的梯度参数,因此,可以降低信息泄露的风险。而且第一电子设备相对于任一第二电子设备的掩码,与第二电子设备相对于第一电子设备的掩码之间的和小于预设值,这样,服务器在对联邦学习模型的全局模型参数进行更新时,对从所有电子设备接收到的加密后的梯度参数进行聚合后,各加密后的梯度参数中添加的掩码会发生抵消,从而可以减小对联邦学习模型的影响,由此可以保证联邦学习模型的可用性。
第二方面,本申请实施例还提供一种基于联邦学习的参数处理方法,该基于联邦学习的参数处理方法包括:
接收第一电子设备发送的加密后的梯度参数,所述加密后的梯度参数为所述第一电子设备根据所述第一电子设备相对于每个第二电子设备的掩码对梯度参数进行加密后得到的,其中,所述第一电子设备相对于任一第二电子设备的掩码,与所述第二电子设备相对于所述第一电子设备的掩码之间的和小于预设值;
根据所述加密后的梯度参数,对联邦学习模型的全局模型参数进行更新。
可以看出,与现有技术不同的是,本申请实施例中,由于服务器接收到的是加密后得到梯度参数,服务器无法推算出第一电子设备的梯度参数的相关信息,因此,可以降低信息泄露的风险,而且第一电子设备相对于任一第二电子设备的掩码,与第二电子设备相对于第一电子设备的掩码之间的和小于预设值,这样,服务器在对联邦学习模型的全局模型参数进行更新时,对从所有电子设备接收到的加密后的梯度参数进行聚合后,各加密后的梯度参数中添加的掩码会发生抵消,从而可以减小对联邦学习模型的影响,由此可以保证联邦学习模型的可用性。
第三方面,本申请实施例还提供一种基于联邦学习的参数处理装置,该基于联邦学习的参数处理装置包括:
处理模块,用于分别确定所述装置相对于每个第二电子设备的掩码,其中,所述装置相对于任一第二电子设备的掩码,与所述第二电子设备相对于所述装置的掩码之间的和小于预设值;
所述处理模块,还用于根据所述装置相对于每个第二电子设备的掩码,对梯度参数进行加密;
发送模块,用于将加密后的梯度参数发送给服务器,所述加密后的梯度参数用于指示所述服务器对联邦学习模型的全局模型参数进行更新。
第四方面,本申请实施例还提供一种基于联邦学习的参数处理装置,该基于联邦学习的参数处理装置包括:
接收模块,用于接收第一电子设备发送的加密后的梯度参数,所述加密后的梯度参数为所述第一电子设备根据所述第一电子设备相对于每个第二电子设备的掩码对梯度参数进行加密后得到的,其中,所述第一电子设备相对于任一第二电子设备的掩码,与所述第二电子设备相对于所述第一电子设备的掩码之间的和小于预设值;
处理模块,用于根据所述加密后的梯度参数,对联邦学习模型的全局模型参数进行更新。
第五方面,本申请实施例还提供一种电子设备,该电子设备可以包括:
至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述第一方面任一种可能的实现方式中所述的基于联邦学习的参数处理方法。
第六方面,本申请实施例还提供一种基于联邦学习的参数处理系统,包括多个第二电子设备、如第三方面所述的装置和如第四方面所述的装置。
第七方面,本申请实施例还提供一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行上述第一方面任一种可能的实现方式中所述的基于联邦学习的参数处理方法。
第八方面,本申请实施例还提供一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行上述第二方面任一种可能的实现方式中所述的基于联邦学习的参数处理方法。
第九方面,本申请实施例还提供了一种计算机程序产品,所述程序产品包括:计算机程序,所述计算机程序存储在可读存储介质中,电子设备的至少一个处理器可以从所述可读存储介质读取所述计算机程序,所述至少一个处理器执行所述计算机程序使得电子设备执行第一方面或第二方面任一种可能的实现方式中所述的基于联邦学习的参数处理方法。
上述申请中的一个实施例具有如下优点或有益效果:由于第一电子设备向服务器发送的是加密后的梯度参数,因此,可以降低信息泄露的风险。而且第一电子设备相对于任一第二电子设备的掩码,与第二电子设备相对于第一电子设备的掩码之间的和小于预设值,这样,服务器在对联邦学习模型的全局模型参数进行更新时,对从所有电子设备接收到的加密后的梯度参数进行聚合后,各加密后的梯度参数中添加的掩码会发生抵消,从而可以减小对联邦学习模型的影响,由此可以保证联邦学习模型的可用性。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本申请的限定。其中:
图1为本申请实施例提供的基于联邦学习的参数处理方法的系统架构图;
图2是本申请实施例一提供的基于联邦学习的参数处理方法的流程示意图;
图3是本申请实施例二提供的基于联邦学习的参数处理方法的流程示意图;
图4是本申请实施例三提供的基于联邦学习的参数处理方法的流程示意图;
图5是本申请实施例四提供的基于联邦学习的参数处理方法的信令图;
图6是本申请实施例提供的基于联邦学习的参数处理装置60的结构示意图;
图7是本申请实施例提供的基于联邦学习的参数处理装置70的结构示意图
图8是用来实现本申请实施例的基于联邦学习的参数处理方法的电子设备的框图。
具体实施方式
以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
在本申请的实施例中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况,其中A,B可以是单数或者复数。在本申请的文字描述中,字符“/”一般表示前后关联对象是一种“或”的关系。
图1为本申请实施例提供的基于联邦学习的参数处理方法的系统架构图,如图1所示,该系统架构中可以包括第一电子设备101、第二电子设备102、103、105、106和107以及服务器104。其中,第一电子设备和第二电子设备均可以为支持信息通信,并能够对数据进行处理的各种设备,包括但不限于智能手机、平板电脑、便携式计算机和台式计算机等。服务器104可以根据第一电子设备和各个第二电子设备发送的梯度参数,对联邦学习模型中的全局模型参数进行更新。
另外,值得注意的是,上述图1中所示的电子设备、网络和服务器的数量和类型仅作为示意,在实际应用中,根据实现的需要,可以具有任意数量和类型的电子设备、网络和服务器。
在联邦学习的过程中,为了保护自己的信息不泄露,各参与方或计算结点在使用自己的本地训练数据对本地的联邦学习模型进行训练,并得到梯度参数之后,会使用差分隐私技术对待上传的梯度参数添加噪声,然后将添加了噪声的梯度参数发送给服务器,服务器对添加了噪声的梯度参数进行聚合,从而更新该联邦学习模型中的全局模型参数,各参与方或计算结点从服务器下载更新后的全局模型参数,并根据更新后的全局模型参数,更新本地的联邦学习模型,并结合更新后的联邦学习模型和本地训练数据,再一次进行联邦学习模型的训练,得到梯度参数,然后使用差分隐私技术对待上传的梯度参数添加噪声,然后将添加了噪声的梯度参数发送给服务器,重复以上步骤,直到全局模型参数收敛。但是,上述方式中,对梯度参数进行加噪时,增加的噪声越大,信息泄露的风险越低,但是,模型的可用性则越差,而增加的噪声越小,信息泄露的风险则越高。因此,如何在保证模型可用性的同时,又能降低各参与方或各计算结点信息泄露的风险,是目前亟需解决的技术问题。
本申请实施例中考虑到上述问题,提供了一种基于联邦学习的参数处理方法,在上述图1所示系统架构的基础上,第一电子设备101可以分别确定出第一电子设备101相对于每个第二电子设备102、103、105、106和107的掩码,其中,第一电子设备101相对于任一第二电子设备的掩码,与该第二电子设备相对于第一电子设备101的掩码之间的和小于预设值,然后根据第一电子设备101相对于每个第二电子设备的掩码,对梯度参数进行加密,并将加密后的梯度参数发送给服务器104,该加密后的梯度参数用于指示服务器104对联邦学习模型的全局模型参数进行更新。由于第一电子设备101向服务器104发送的是加密后的梯度参数,因此,可以降低信息泄露的风险,另外,第一电子设备101相对于任一第二电子设备的掩码,与该第二电子设备相对于第一电子设备101的掩码之间的和小于预设值,而且每个第二电子设备也会确定其相对于其他电子设备的掩码,并根据得到的掩码对自己的梯度参数进行加密,从而将加密后的梯度参数发送给服务器,这样,服务器在对联邦学习模型的全局模型参数进行更新时,对从所有电子设备接收到的加密后的梯度参数进行聚合后,各加密后的梯度参数中添加的掩码会发生抵消,从而可以减小对联邦学习模型的影响,由此可以保证联邦学习模型的可用性。
可以理解的是,本申请实施例提供的基于联邦学习的参数处理方法可以应用于联邦学习的场景中。服务器在对联邦学习模型中的全局模型参数进行不断迭代更新收敛之后,各电子设备从服务器下载该全局模型参数,从而可以根据更新后的全局模型参数,更新本地的联邦学习模型,以根据更新后的联邦学习模型进行人脸识别、物体识别、风控或信息推荐等。
下面,将通过具体的实施例对本申请提供的基于联邦学习的参数处理方法进行详细地说明。可以理解的是,下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
图2是本申请实施例一提供的基于联邦学习的参数处理方法的流程示意图,该基于联邦学习的参数处理方法可以由软件和/或硬件装置执行,例如,该硬件装置可以为基于联邦学习的参数处理装置,该基于联邦学习的参数处理装置可以设置在如图1中的第一电子设备中。示例的,请参见图2所示,该基于联邦学习的参数处理方法可以包括:
S201、分别确定第一电子设备相对于每个第二电子设备的掩码,其中,第一电子设备相对于任一第二电子设备的掩码,与该第二电子设备相对于第一电子设备的掩码之间的和小于预设值。
在本步骤中,第一电子设备和第二电子设备均可以理解为参与联邦学习的各参与方对应的电子设备,或者参与联邦学习的计算结点。其中,第二电子设备的数量可以为多个,也就是说,参与联邦学习的所有参与方对应的电子设备中,除第一电子设备之外的其他电子设备,均为第二电子设备。
第一电子设备可以确定出其相对于多个第二电子设备中每个第二电子设备的掩码,而且第一电子设备相对于任意一个第二电子设备的掩码,与该第二电子设备相对于第一电子设备的掩码之间的和小于预设值。例如,以图1中所示的电子设备为例,其中,第一电子设备101可以分别确定出第一电子设备101相对于第二电子设备102、103、105、106和107的掩码,而且第一电子设备101相对于第二电子设备102的掩码,与第二电子设备102相对于第一电子设备101的掩码之间的和小于预设值,第一电子设备101相对于其他第二电子设备的掩码,与第一电子设备101相对于第二电子设备102的掩码类似,此处不再赘述。
另外,上述的预设值可以根据实际情况或者经验进行设置,在实际应用中,该预设值越小,掩码对全局模型参数的影响越小,训练得到的联邦学习模型的可用性越好。在一种可能的实现方式中,上述预设值可以为0。
进一步地,上述的掩码可以为一个具体的数值,也可以为某个字符,当然,也可以为其他参数,只要保证第一电子设备相对于某一第二电子设备的掩码,与该第二电子设备相对于第一电子设备的掩码之间的和小于预设值即可。
S202、根据第一电子设备相对于每个第二电子设备的掩码,对梯度参数进行加密。
在本步骤中,第一电子设备根据本地的本地训练数据对联邦学习模型进行训练后得到训练参数和梯度参数,其中,该梯度参数为训练得到的训练参数和训练前的参数的差值。
第一电子设备在确定出其相对于每个第二电子设备的掩码后,将根据所有的掩码对梯度参数进行加密。
S203、将加密后的梯度参数发送给服务器,该加密后的梯度参数用于指示服务器对联邦学习模型的全局模型参数进行更新。
在本步骤中,第一电子设备在对梯度参数进行加密后,会将加密后的梯度参数发送给服务器,服务器根据接收到的加密后的梯度参数,对联邦学习模型中的全局模型参数进行更新,这样,第一电子设备和各第二电子设备将可以从服务器下载更新后的全局模型参数,从而更新自己的联邦学习模型。
需要进行说明的是,上述每个第二电子设备也会采用上述S201-S203中的方式,确定其相对于其他电子设备的掩码,并根据得到的掩码,对自己的梯度参数进行加密,并将加密后得到梯度参数发送给服务器。具体的实现方式与第一电子设备的实现方式类似,可参照S201-S203的描述,此处不再赘述。
本申请实施例提供的基于联邦学习的参数处理方法,第一电子设备可以分别确定出第一电子设备相对于每个第二电子设备的掩码,其中,第一电子设备相对于任一第二电子设备的掩码,与该第二电子设备相对于第一电子设备的掩码之间的和小于预设值,然后根据第一电子设备相对于每个第二电子设备的掩码,对梯度参数进行加密,并将加密后的梯度参数发送给服务器,该加密后的梯度参数用于指示服务器对联邦学习模型的全局模型参数进行更新。由于第一电子设备向服务器发送的是加密后的梯度参数,因此,可以降低信息泄露的风险。而且第一电子设备相对于任一第二电子设备的掩码,与第二电子设备相对于第一电子设备的掩码之间的和小于预设值,这样,服务器在对联邦学习模型的全局模型参数进行更新时,对从所有电子设备接收到的加密后的梯度参数进行聚合后,各加密后的梯度参数中添加的掩码会发生抵消,从而可以减小对联邦学习模型的影响,由此可以保证联邦学习模型的可用性。
图3是本申请实施例二提供的基于联邦学习的参数处理方法的流程示意图,本实施例在上述图2所示实施例的基础上,对S201中确定第一电子设备相对于每个第二电子设备的掩码的过程进行详细说明。如图3所示,该基于联邦学习的参数处理方法可以包括:
S301、分别确定第一电子设备和每个第二电子设备之间的协商密钥。
其中,协商密钥可以为具体的数值,也可以为字符,或者其他参数。第一电子设备和某个第二电子设备之间的协商密钥,可以是第一电子设备根据预设算法生成的,也可以是第一电子设备和该第二电子设备约定的。
在一种可能的实现方式中,针对每个第二电子设备,通过确定第一电子的私钥和该第二电子设备的公钥,然后根据第一电子设备的私钥和该第二电子设备的公钥,确定第一电子设备和该第二电子设备之间的协商密钥。
具体地,服务器可以根据预设参数生成第二参数,并将生成的第二参数发送给第一电子设备和多个第二电子设备。第一电子设备接收到服务器发送的第二参数之后,将会根据该第二参数生成第一电子设备的私钥。例如,第一电子设备可以根据第二参数,随机选择一个正整数作为自己的私钥,或者,第一电子设备也可以根据第一预设算法,生成一个与第二参数相关的参数作为自己的私钥等,对于第一电子设备根据第二参数生成私钥的方式,本申请实施例中不作限制。
由于第一电子设备可以根据服务器发送的第二参数生成自己的私钥,使得私钥的生成方式较为简单。
另外,第一电子设备还可以根据接收到的第二参数生成第一电子设备的公钥,并将生成的公钥发送给服务器。例如,第一电子设备可以生成一个与第二参数相关的参数作为自己的公钥,或者也可以根据上述生成的私钥,通过第二预设算法生成自己的公钥等等,对于第一电子设备根据第二参数生成公钥的方式,本申请实施例中不作限制。
由于第一电子设备根据第二参数生成第一电子设备的公钥后,将该公钥发送给服务器,这样,每个第二电子设备均可以通过服务器就可以获取到第一电子设备的公钥,而不需要第一电子设备分别向多个第二电子设备发送该公钥,从而可以简化第一电子设备的处理流程。
需要进行说明的是,多个第二电子设备中的每个第二电子设备也需要根据服务器发送的第二参数生成自己的公钥和私钥,并将生成的公钥发送给服务器,这样,服务器接收到第一电子设备发送的公钥和每个第二电子设备发送的公钥后,将会得到公钥集合,该公钥集合中包括第一电子设备的公钥和所有第二电子设备的公钥。服务器会将该公钥集合发送给第一电子设备和每个第二电子设备,第一电子设备接收到服务器发送的公钥集合后,将根据该公钥集合,确定出每个第二电子设备的公钥。
由于第一电子设备可以通过服务器发送的公钥集合,获取到每个第二电子设备的公钥,这样可以避免第一电子设备需要一一从每个第二电子设备获取公钥的现象,从而可以使得获取每个第二电子设备的公钥的操作更加简单。
进一步地,第一电子设备在确定出第一电子设备的私钥和每个第二电子设备的公钥之后,针对每个第二电子设备,第一电子设备均可以根据自己的私钥和该第二电子设备的公钥,通过第三预设算法确定出第一电子设备与该第二电子设备之间的协商密钥。其中,对于不同的第二电子设备,第一电子设备可以采用相同的预设算法计算协商密钥,也可以采用不同的预设算法计算协商密钥。
值得注意的是,为了使得加密后的梯度参数中的掩码能够相互抵消,更好的保证联邦学习模型的可用性,在实际使用过程中,第一电子设备确定其与某个第二电子设备之间的协商密钥时使用的预设算法,与该第二电子设备在确定其与第一电子设备之间的协商密钥时使用的预设算法相同。
在本实施例中,针对每个第二电子设备,可以通过确定第一电子设备的私钥和该第二电子设备的公钥,并根据确定出的第一电子设备的私钥和该第二电子设备的公钥,确定第一电子设备和该第二电子设备之间的协商密钥,这样,不仅可以使得协商密钥的确定方式更加简单,而且,第一电子设备根据上述协商密钥确定出的掩码对梯度参数进行加密后,由于服务器并没有第一电子设备的私钥,因此,服务器无法计算出上述掩码,从而无法推断出第一电子设备的梯度参数,由此可以保护第一电子设备的梯度参数,降低了信息泄露的风险。
另外,由于每个第二电子设备也会使用自己的私钥和其他电子设备的公钥,计算其与其他电子设备之间的协商密钥,从而使得第一电子设备确定出的其与某个第二电子设备之间的协商密钥,与该第二电子设备确定出的其与第一电子设备之间的协商密钥相同,从而可以保证使用该协商密钥确定出的掩码在服务器中可以相互抵消,以保证联邦学习模型的可用性。
S302、针对每个第二电子设备,根据第一电子设备和第二电子设备之间的协商密钥,确定第一电子设备相对于第二电子设备的掩码。
在本步骤中,为了使第一电子设备和多个第二电子设备分别对梯度参数进行加密时使用的加密信息能够相互抵消,第一电子设备和各第二电子设备在确定出协商密钥之后,还需要根据该协商密钥进一步确定掩码。
下面,以第一电子设备确定其相对于每个第二电子设备的掩码为例进行说明,每个第二电子设备确定其相对于其他电子设备的掩码的过程与之类似,此处不再赘述。
在一种可能的实现方式中,可以根据第一电子设备对应的标识信息和第二电子设备对应的标识信息,确定第一参数,并根据该第一参数以及第一电子设备和第二电子设备之间的协商密钥,确定第一电子设备相对于第二电子设备的掩码。
具体地,第一电子设备对应的标识信息和每个第二电子设备对应的标识信息,可以为预先设置的,也可以是服务器预先为每个电子设备分配的。例如:第一电子设备的标识信息为1,多个第二电子设备的标识信息分别为2,3…。根据第一电子设备的标识信息和每个第二电子设备的标识信息,可以确定出第一参数。示例性的,对于其中某个第二电子设备,若第一电子设备的标识信息小于该第二电子设备的标识信息,则该第一参数可以为-1,若第一电子设备的标识信息大于该第二电子设备的标识信息,则该第一参数可以为1,也可以是第一电子设备的标识信息小于该第二电子设备的标识信息时,该第一参数可以为1,第一电子设备的标识信息大于该第二电子设备的标识信息时,该第一参数可以为-1等,当然,第一参数也可以为其他数值或者字符,例如,第一电子设备的标识信息小于该第二电子设备的标识信息时,该第一参数可以为-a,若第一电子设备的标识信息大于该第二电子设备的标识信息时,该第一参数可以为a等,只要确定出的第一电子设备相对于该第二电子设备的掩码,与该第二电子设备相对于第一电子设备的掩码之间的和小于预设值即可。
示例性的,为了保证第一电子设备确定出的其相对于某个第二电子设备的掩码,与该第二电子设备确定出的其相对于第一电子设备的掩码之间的和小于预设值,使得服务器在接收到第一电子设备和各第二电子设备发送的加密后的梯度参数,并对加密后的梯度参数进行聚合时,可以将添加的掩码进行抵消,在确定出第一电子设备和某个第二电子设备之间的第一参数之后,可以将该第一参数乘以第一电子设备和该第二电子设备之间的协商密钥,从而确定出第一电子设备相对于该第二电子设备的掩码。
需要进行说明的是,在实际使用过程中,联邦学习模型通常会比较复杂,联邦学习模型的梯度参数通常有多个,为了便于计算,可以将联邦学习模型的梯度参数转换为向量。而对第一电子设备和某个第二电子设备之间的协商密钥进行处理的过程中,也可以将该协商密钥使用伪随机数生成器(pseudorandom number generator,PRNG)扩展成向量,并将确定出的第一参数乘以上述向量,从而得到第一电子设备相对于该第二电子设备的掩码。
S303、根据第一电子设备相对于每个第二电子设备的掩码,对梯度参数进行加密。
在本步骤中,在确定出第一电子设备相对于每个第二电子设备的掩码后,可以根据确定出的掩码对梯度参数进行加密。示例性的,可以将第一电子设备确定出的相对于每个第二电子设备的掩码进行叠加,并将叠加之后的掩码再叠加到需要上传的梯度参数中,从而对该梯度参数进行加密。
由于第一电子设备可以根据确定出的相对于每个第二电子设备的掩码,对梯度参数进行加密,这样即使其中某个第二电子设备推算出掩码,但是因为梯度参数中还叠加了其他第二电子设备的掩码,也不会造成信息的泄露,从而可以更好的保护第一电子设备的梯度参数。
S304、将加密后的梯度参数发送给服务器,该加密后的梯度参数用于指示服务器对联邦学习模型的全局模型参数进行更新。
在本步骤中,第一电子设备在对梯度参数进行加密后,会将加密后的梯度参数发送给服务器,服务器根据接收到的加密后的梯度参数,对联邦学习模型中的全局模型参数进行更新,这样,第一电子设备和各第二电子设备将可以从服务器下载更新后的全局模型参数,从而更新自己的联邦学习模型。
可选地,第一电子设备可以向服务器发送请求消息,并接收服务器发送的响应消息,该响应消息中包括更新后的全局模型参数,然后根据该更新后的全局模型参数,确定新的梯度参数。
具体地,第一电子设备可以从服务器下载更新后的全局模型参数,并根据该全局模型参数更新本地的联邦学习模型,若更新后的联邦学习模型处于收敛状态,则第一电子设备将通过更新后的联邦学习模型进行人脸识别、物体识别或者风控系统等应用。若更新后的联邦学习模型依旧处于未收敛的状态,则第一电子设备根据本地的训练数据对更新后的联邦学习模型进行训练,从而可以得到新的梯度参数,然后重复上述S301-S304,直至联邦学习模型收敛。
由于第一电子设备可以从服务器下载更新后的全局模型参数,然后根据该更新后的全局模型参数,确定新的梯度参数,以使服务器继续对新的梯度参数进行聚合,从而可以保证联邦学习模型的准确性。
本申请实施例提供的基于联邦学习的参数处理方法,通过分别确定第一电子设备和每个第二电子设备之间的协商密钥,并针对每个第二电子设备,根据第一电子设备和第二电子设备之间的协商密钥,确定第一电子设备相对于第二电子设备的掩码,根据第一电子设备相对于每个第二电子设备的掩码,对梯度参数进行加密,然后将加密后的梯度参数发送给服务器,所述加密后的梯度参数用于指示所述服务器对联邦学习模型的全局模型参数进行更新。由于第一电子设备根据确定出的相对于每个第二电子设备的掩码,对需要上传的梯度参数进行加密,这样,服务器将无法推算出第一电子设备的梯度参数,从而可以保护第一电子设备的梯度参数,由此可以降低信息泄露的风险。另外,通过确定出的第一电子设备和第二电子设备之间的协商密钥,确定第一电子设备相对于第二电子设备的掩码,这样可以保证第一电子设备相对于任一第二电子设备的掩码,与该第二电子设备相对于第一电子设备的掩码之间的和小于预设值,从而服务器在对联邦学习模型的全局模型参数进行更新时,对从所有电子设备接收到的加密后的梯度参数进行聚合后,各加密后的梯度参数中添加的掩码会发生抵消,可以减小对联邦学习模型的影响,由此可以保证联邦学习模型的可用性和正确性。
图4是本申请实施例三提供的基于联邦学习的参数处理方法的流程示意图,该基于联邦学习的参数处理方法可以由软件和/或硬件装置执行,例如,该硬件装置可以为基于联邦学习的参数处理装置,该基于联邦学习的参数处理装置可以设置在如图1中的服务器中。示例的,请参见图4所示,该基于联邦学习的参数处理方法可以包括:
S401、接收第一电子设备发送的加密后的梯度参数。
其中,该加密后的梯度参数为第一电子设备根据第一电子设备相对于每个第二电子设备的掩码对梯度参数进行加密后得到的,其中,第一电子设备相对于任一第二电子设备的掩码,与第二电子设备相对于第一电子设备的掩码之间的和小于预设值。
具体地,上述的预设值可以根据实际情况或者经验进行设置,在实际应用中,该预设值越小,掩码对全局模型参数的影响越小,训练得到的模型的可用性越好。在一种可能的实现方式中,上述预设值可以为0。
进一步地,上述的掩码可以为一个具体的数值,也可以为某个字符,当然,也可以为其他参数,只要保证第一电子设备相对于某一第二电子设备的掩码,与该第二电子设备相对于第一电子设备的掩码之间的和小于预设值即可。
第一电子设备在确定出其相对于多个第二电子设备中的每个第二电子设备的掩码后,将采用上述掩码对需要上传的梯度参数进行加密,并将加密后的梯度参数发送给服务器。
需要进行说明的是,多个第二电子设备中的每个第二电子设备也会对需要上传的梯度参数进行加密,并将加密后的梯度参数发送给服务器,因此,服务器会接收到第一电子设备和多个第二电子设备发送的加密后的梯度参数。
S402、根据加密后的梯度参数,对联邦学习模型的全局模型参数进行更新。
在本步骤中,服务器会接收第一电子设备发送的加密后的梯度参数,另外,服务器还会接收多个第二电子设备中每个第二电子设备发送的加密后的梯度参数,服务器会对接收到的多个加密后的梯度参数进行聚合,从而对联邦学习模型中的全局模型参数进行更新。
本申请实施例提供的基于联邦学习的参数处理方法,服务器通过接收第一电子设备发送的加密后的梯度参数,并根据加密后的梯度参数,对联邦学习模型的全局模型参数进行更新,其中,加密后的梯度参数为第一电子设备根据第一电子设备相对于每个第二电子设备的掩码对梯度参数进行加密后得到的,其中,第一电子设备相对于任一第二电子设备的掩码,与第二电子设备相对于第一电子设备的掩码之间的和小于预设值。由于服务器接收到的是加密后得到梯度参数,服务器无法推算出第一电子设备的梯度参数的相关信息,因此,可以降低信息泄露的风险,而且第一电子设备相对于任一第二电子设备的掩码,与第二电子设备相对于第一电子设备的掩码之间的和小于预设值,这样,服务器在对联邦学习模型的全局模型参数进行更新时,对从所有电子设备接收到的加密后的梯度参数进行聚合后,各加密后的梯度参数中添加的掩码会发生抵消,从而可以减小对联邦学习模型的影响,由此可以保证联邦学习模型的可用性。
可选地,为了使得第一电子设备确定出的其相对于某个第二电子设备的掩码,与该第二电子设备确定出的其相对于第一电子设备的掩码之间的和小于预设值,以在服务器进行梯度参数的聚合时,能够将加密后的梯度参数中的掩码相互抵消,服务器可以根据预设参数生成第二参数,并分别向第一电子设备和每个第二电子设备发送该第二参数。第一电子设备在接收到该第二参数时,将会根据该第二参数生成自己的公钥和私钥,然后根据自己的私钥和第二电子设备的公钥生成协商密钥,并根据该协商密钥生成第一电子设备相对于该第二电子设备的掩码。另外,该第二电子设备也会采用相同的方式生成协商密钥,并根据协商密钥生成第二电子设备相对于第一电子设备的掩码,这样可以保证第一电子设备相对于某个第二电子设备的掩码,与该第二电子设备相对于第一电子设备的掩码之间的和小于预设值。
进一步地,第一电子设备和多个第二电子设备中的每个第二电子设备在根据第二参数生成公钥之后,可以将生成的公钥发送给服务器,服务器在接收到第一电子设备和每个第二电子设备发送的公钥后,可以得到公钥集合,服务器再将得到的公钥集合发送给第一电子设备和每个第二电子设备,这样,第一电子设备和每个第二电子设备可以根据接收到的公钥集合,确定其他电子设备的公钥,从而可以提高公钥确定的效率。
可选地,服务器还会接收第一电子设备发送的请求消息,并根据该请求消息,向第一电子设备发送响应消息,该响应消息中包括更新后的全局模型参数,该更新后的全局模型参数用于指示第一电子设备确定新的梯度参数。
具体地,第一电子设备可以从服务器下载更新后的全局模型参数,并根据该全局模型参数更新本地的联邦学习模型,若更新后的联邦学习模型处于收敛状态,则第一电子设备将通过更新后的联邦学习模型进行人脸识别、物体识别或者风控系统等应用。若更新后的联邦学习模型依旧处于未收敛的状态,则第一电子设备根据本地的训练数据对更新后的联邦学习模型进行训练,从而可以得到新的梯度参数,并将新的梯度参数发送给服务器,以使服务器继续对新的梯度参数进行聚合,由此可以提高联邦学习模型的准确性。
下面,以具体的例子说明本申请的技术方案,在本实施例中,以第一电子设备生成掩码以及对梯度参数进行加密处理为例进行说明,第二电子设备生成掩码以及对梯度参数进行加密处理的方式与第一电子设备的处理方式类似,此处不再赘述。
图5是本申请实施例四提供的基于联邦学习的参数处理方法的信令图,如图5所示,该基于联邦学习的参数处理方法可以包括:
S501、服务器生成第二参数。
具体地,服务器根据预设的安全参数k生成第二参数(G,g,q,H),其中,q是一个素数,G是有限循环群,g是群G的生成元,H是哈希函数。
S502、服务器向第一电子设备和每个第二电子设备发送第二参数。
其中,服务器会将生成的第二参数(G,g,q,H)发送给参与联邦学习的每个参与方,也即会将第二参数(G,g,q,H)发送给第一电子设备和每个第二电子设备。
S503、第一电子设备和每个第二电子设备分别根据该第二参数生成自己的公钥和私钥。
例如:第一电子设备u可以随机选取一个小于q-1的正整数xu作为自己的私钥然后根据预设算法生成公钥/>其中,/>
每个第二电子设备生成自己的公钥和私钥的方式,与第一电子设备生成公钥和私钥的方式类似,此处不再赘述。
S504、第一电子设备和每个第二电子设备将生成的公钥发送给服务器。
例如,第一电子设备u可以将发送给服务器。另外,每个第二电子设备也会将生成的公钥发送给服务器。
S505、服务器向第一电子设备和每个第二电子设备发送公钥集合。
其中,服务器在接收到第一电子设备和所有第二电子设备发送的公钥之后,会得到公钥集合其中,idu表示标识信息为u的第一电子设备,U是所有参与方的集合,也即第一电子设备和所有第二电子设备的集合。服务器将得到的公钥集合发送给第一电子设备和每个第二电子设备。
S506、第一电子设备根据公钥集合,确定每个第二电子设备的公钥。
其中,每个第二电子设备在接收到上述公钥集合之后,也可以确定出其他电子设备的公钥。
S507、针对每个第二电子设备,第一电子设备根据第一电子设备的私钥和该第二电子设备的公钥,确定第一电子设备和该第二电子设备之间的协商密钥。
例如:第一电子设备u接收到公钥集合后,可以确定出第二电子设备v的公钥第一电子设备u可以根据自己的私钥/>和第二电子设备v的公钥/>按照如下方式确定出第一电子设备u与第二电子设备v之间的协商密钥su,v按照同样的方式,第一电子设备可以确定出其与其他第二电子设备之间的协商密钥。
另外,每个第二电子设备也可以按照如上的方式,计算出其与其他电子设备之间的协商密钥。
S508、第一电子设备根据第一电子设备对应的标识信息和每个第二电子设备对应的标识信息,确定每个第二电子设备对应的第一参数。
其中,当第一电子设备u的标识信息大于第二电子设备v的标识信息时,第一参数Δu,v为1,当第一电子设备u的标识信息小于第二电子设备v的标识信息时,第一参数Δu,v为-1。
S509、第一电子设备根据第一参数、以及第一电子设备和每个第二电子设备之间的协商密钥,确定第一电子设备相对于每个第二电子设备的掩码。
其中,通常联邦学习模型比较复杂,联邦学习模型的梯度参数通常有多个,为了便于计算,可以将联邦学习模型的梯度参数看成向量。本申请实施例中也可以将确定出的协商密钥su,v使用PRNG扩展成一个向量,并且将确定出的第一参数乘以该向量,从而得到掩码pu,v,如pu,v=Δu,v·PRNG(su,v)。
其中,通过在协商密钥中添加第一参数,可以保证在服务器聚合梯度参数时,当接收到所有参与方的梯度参数时,可以将添加的掩码相互抵消。从而不仅可以保证服务器无法推算出各参与方的梯度参数,又能正确地聚合所有的梯度参数。
S510、第一电子设备根据第一电子设备相对于每个第二电子设备的掩码,对梯度参数进行加密。
其中,第一电子设备u针对每个第二电子设备,都会确定出一个掩码pu,v,其中v∈U/u,然后将这些pu,v叠加到自己需要上传的梯度参数wu上,得到加密后的梯度参数yu,其中,yu=wu+∑v∈Upu,v
S511、第一电子设备将加密后的梯度参数发送给服务器。
其中,第一电子设备可以将加密后的梯度参数yu发送给服务器。
另外,每个第二电子设备也会按照类似的方式,将加密后的梯度参数发送给服务器。
S512、服务器根据加密后的梯度参数,对联邦学习模型的全局模型参数进行更新。
其中,服务器在接收到第一电子设备和每个第二电子设备发送的加密后的梯度参数后,将对接收到的所有加密后的梯度参数进行聚合,以将全局模型参数w更新为w+∑u∈ Uyu
另外,服务器对全局模型参数进行更新后,第一电子设备和每个第二电子设备均可以从服务器下载全局模型参数,并采用更新后的全局模型参数更新本地的联邦学习模型,并使用自己的训练数据训练该联邦学习模型,从而得到新的梯度参数,并重复执行S510-S512,直到该联邦学习模型收敛。
通过以上各步骤,可以看出,因为每个参与方都是使用自己的私钥和所有其他参与方的公钥计算出来的掩码保护自己的梯度参数,例如第一电子设备可以根据自己的私钥和所有第二电子设备的公钥计算出来的掩码对自己的梯度参数进行加密,而服务器无法获知第一电子设备的私钥,因此,服务器无法计算出该掩码,故无法推断出第一电子设备原来的梯度参数,从而可以有效保护第一电子设备的梯度参数,降低了信息泄露的风险。
另外,虽然第二电子设备使用自己的私钥也能计算出该第二电子设备和第一电子设备之间的协商密钥,比如第二电子设备v可以计算出其与第一电子设备u之间的协商密钥为但是,第一电子设备u的梯度参数是使用第一电子设备u和所有第二电子设备之间的协商密钥确定出的掩码来加密的,所以仅仅靠其中一个第二电子设备v还是无法还原出第一电子设备u的梯度参数,因此,第一电子设备的梯度参数可以得到很好的保护。
进一步地,从上述分析可以看出,第一电子设备u和第二电子设备v可以计算出相同的协商密钥,也即sv,u=su,v,假设第一电子设备u的标识信息大于第二电子设备v的标识信息,那么第一电子设备u相对于第二电子设备v的掩码为su,v,第二电子设备v相对于第一电子设备u的掩码为sv,u,也即绝对值是相同的。这样,服务器在对第一电子设备u和第二电子设备v发送的通过掩码加密后的梯度参数进行聚合时,第一电子设备u和第二电子设备v在梯度参数中叠加的掩码便可以相互抵消,类似的,第一电子设备u叠加到梯度参数的其他掩码(由第一电子设备u的私钥和其他第二电子设备的公钥计算生成的掩码),都可以与其他第二电子设备的掩码相互抵消。所以,当服务器聚合第一电子设备和所有第二电子设备的梯度参数时,所有添加的掩码变可以相互抵消,从而可以减小对联邦学习模型的影响,保证联邦学习模型的可用性和正确性。
图6是本申请实施例提供的基于联邦学习的参数处理装置60的结构示意图,示例的,请参见图6所示,该基于联邦学习的参数处理装置60可以包括:
处理模块601,用于分别确定所述装置相对于每个第二电子设备的掩码,其中,所述装置相对于任一第二电子设备的掩码,与所述第二电子设备相对于所述装置的掩码之间的和小于预设值;
所述处理模块601,还用于根据所述装置相对于每个第二电子设备的掩码,对梯度参数进行加密;
发送模块602,用于将加密后的梯度参数发送给服务器,所述加密后的梯度参数用于指示所述服务器对联邦学习模型的全局模型参数进行更新。
可选地,所述处理模块601,具体用于:
分别确定所述装置和每个第二电子设备之间的协商密钥;
针对每个第二电子设备,根据所述装置和所述第二电子设备之间的协商密钥,确定所述装置相对于所述第二电子设备的掩码。
可选地,所述处理模块601,具体用于:
根据所述装置对应的标识信息和所述第二电子设备对应的标识信息,确定第一参数;
根据所述第一参数、以及所述装置和所述第二电子设备之间的协商密钥,确定所述装置相对于所述第二电子设备的掩码。
可选地,所述处理模块601,具体用于:
将所述装置相对于每个第二电子设备的掩码,叠加到所述梯度参数中,以对所述梯度参数进行加密。
可选地,所述处理模块601,具体用于:
针对每个第二电子设备,确定所述装置的私钥和所述第二电子设备的公钥;
根据所述装置的私钥和所述第二电子设备的公钥,确定所述装置和所述第二电子设备之间的协商密钥。
可选地,如图6所示,该装置还包括接收模块603,其中,
所述接收模块603,用于接收所述服务器发送的第二参数;
所述处理模块601,还用于根据所述第二参数生成所述装置的私钥。
可选地,所述接收模块603,还用于接收所述服务器发送的公钥集合,所述公钥集合中包括所述装置的公钥和所有第二电子设备的公钥;
所述处理模块601,还用于根据所述公钥集合,确定所述第二电子设备的公钥。
可选地,所述处理模块601,还用于根据所述第二参数生成所述装置的公钥;
所述发送模块602,还用于将所述公钥发送给所述服务器。
可选地,所述发送模块602,还用于向服务器发送请求消息;
所述接收模块603,用于接收所述服务器发送的响应消息,所述响应消息中包括更新后的全局模型参数;
所述处理模块601,还用于根据所述更新后的全局模型参数,确定新的梯度参数。
本申请实施例提供的基于联邦学习的参数处理装置60,可以执行上述任一实施例中的基于联邦学习的参数处理方法的技术方案,其实现原理以及有益效果与基于联邦学习的参数处理方法的实现原理及有益效果类似,可参见基于联邦学习的参数处理方法的实现原理及有益效果,此处不再进行赘述。
图7是本申请实施例提供的基于联邦学习的参数处理装置70的结构示意图,示例的,请参见图7所示,该基于联邦学习的参数处理装置70可以包括:
接收模块701,用于接收第一电子设备发送的加密后的梯度参数,所述加密后的梯度参数为所述第一电子设备根据所述第一电子设备相对于每个第二电子设备的掩码对梯度参数进行加密后得到的,其中,所述第一电子设备相对于任一第二电子设备的掩码,与所述第二电子设备相对于所述第一电子设备的掩码之间的和小于预设值;
处理模块702,用于根据所述加密后的梯度参数,对联邦学习模型的全局模型参数进行更新。
可选地,如图7所示,所述装置还包括:发送模块703,其中,
所述处理模块702,还用于生成第二参数;
所述发送模块703,用于分别向所述第一电子设备和每个第二电子设备发送所述第二参数,所述第二参数用于指示所述第一电子设备和所述每个第二电子设备生成公钥和私钥。
可选地,所述接收模块701,还用于分别接收所述第一电子设备和所述每个第二电子设备发送的公钥,得到公钥集合,所述公钥集合中包括所述第一电子设备和所有第二电子设备对应的公钥;
所述发送模块703,还用于分别向所述第一电子设备和所述每个第二电子设备发送所述公钥集合。
可选地,所述接收模块701,还用于接收所述第一电子设备发送的请求消息;
所述发送模块703,用于根据所述请求消息,向所述第一电子设备发送响应消息,所述响应消息中包括更新后的全局模型参数,所述更新后的全局模型参数用于指示所述第一电子设备确定新的梯度参数。
本申请实施例提供的基于联邦学习的参数处理装置70,可以执行上述任一实施例中的基于联邦学习的参数处理方法的技术方案,其实现原理以及有益效果与基于联邦学习的参数处理方法的实现原理及有益效果类似,可参见基于联邦学习的参数处理方法的实现原理及有益效果,此处不再进行赘述。
根据本申请的实施例,本申请还提供了一种基于联邦学习的参数处理系统,包括多个第二电子设备、如图6所示的装置和如图7所示的装置。
根据本申请的实施例,本申请还提供了一种电子设备和一种可读存储介质。
根据本申请的实施例,本申请还提供了一种计算机程序产品,程序产品包括:计算机程序,计算机程序存储在可读存储介质中,电子设备的至少一个处理器可以从可读存储介质读取计算机程序,至少一个处理器执行计算机程序使得电子设备执行上述任一实施例提供的方案。
如图8所示,是根据本申请实施例的基于联邦学习的参数处理方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图8所示,该电子设备包括:一个或多个处理器801、存储器802,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图8中以一个处理器801为例。
存储器802即为本申请所提供的非瞬时计算机可读存储介质。其中,所述存储器存储有可由至少一个处理器执行的指令,以使所述至少一个处理器执行本申请所提供的基于联邦学习的参数处理方法。本申请的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请所提供的基于联邦学习的参数处理方法。
存储器802作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中的基于联邦学习的参数处理方法的方法对应的程序指令/模块(例如,附图6所示的处理模块601、发送模块602和接收模块603,或者附图7所示的接收模块701、处理模块702和发送模块703)。处理器801通过运行存储在存储器802中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的基于联邦学习的参数处理方法。
存储器802可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据基于联邦学习的参数处理方法的电子设备的使用所创建的数据等。此外,存储器802可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器802可选包括相对于处理器801远程设置的存储器,这些远程存储器可以通过网络连接至基于联邦学习的参数处理方法的电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
基于联邦学习的参数处理方法的电子设备还可以包括:输入装置803和输出装置804。处理器801、存储器802、输入装置803和输出装置804可以通过总线或者其他方式连接,图8中以通过总线连接为例。
输入装置803可接收输入的数字或字符信息,以及产生与基于联邦学习的参数处理方法的电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置804可以包括显示设备、辅助照明装置(例如,LED)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(LCD)、发光二极管(LED)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。
此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用ASIC(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
根据本申请实施例的技术方案,第一电子设备可以分别确定出第一电子设备相对于每个第二电子设备的掩码,其中,第一电子设备相对于任一第二电子设备的掩码,与该第二电子设备相对于第一电子设备的掩码之间的和小于预设值,然后根据第一电子设备相对于每个第二电子设备的掩码,对梯度参数进行加密,并将加密后的梯度参数发送给服务器,该加密后的梯度参数用于指示服务器对联邦学习模型的全局模型参数进行更新。由于第一电子设备向服务器发送的是加密后的梯度参数,因此,可以降低信息泄露的风险。而且第一电子设备相对于任一第二电子设备的掩码,与第二电子设备相对于第一电子设备的掩码之间的和小于预设值,这样,服务器在对联邦学习模型的全局模型参数进行更新时,对从所有电子设备接收到的加密后的梯度参数进行聚合后,各加密后的梯度参数中添加的掩码会发生抵消,从而可以减小对联邦学习模型的影响,由此可以保证联邦学习模型的可用性。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。

Claims (28)

1.一种基于联邦学习的参数处理方法,其特征在于,包括:
分别确定第一电子设备相对于每个第二电子设备的掩码,其中,所述第一电子设备相对于任一第二电子设备的掩码,与所述第二电子设备相对于所述第一电子设备的掩码之间的和小于预设值;
根据所述第一电子设备相对于每个第二电子设备的掩码,对梯度参数进行加密;
将加密后的梯度参数发送给服务器,所述加密后的梯度参数用于指示所述服务器对联邦学习模型的全局模型参数进行更新;
所述分别确定第一电子设备相对于每个第二电子设备的掩码,包括:
分别确定所述第一电子设备和每个第二电子设备之间的协商密钥;
针对每个第二电子设备,根据所述第一电子设备和所述第二电子设备之间的协商密钥,确定所述第一电子设备相对于所述第二电子设备的掩码;
其中,所述第一电子设备确定出的所述第一电子设备和至少一个第二电子设备之间的协商密钥,与至少一个第二电子设备确定出的至少一个第二电子设备与所述第一电子设备之间的协商密钥相同,以使得使用该协商密钥确定出的掩码在服务器中相互抵消。
2.根据权利要求1所述的方法,其特征在于,所述根据所述第一电子设备和所述第二电子设备之间的协商密钥,确定所述第一电子设备相对于所述第二电子设备的掩码,包括:
根据所述第一电子设备对应的标识信息和所述第二电子设备对应的标识信息,确定第一参数;
根据所述第一参数、以及所述第一电子设备和所述第二电子设备之间的协商密钥,确定所述第一电子设备相对于所述第二电子设备的掩码。
3.根据权利要求1或2所述的方法,其特征在于,所述根据所述第一电子设备相对于每个第二电子设备的掩码,对梯度参数进行加密,包括:
将所述第一电子设备相对于每个第二电子设备的掩码,叠加到所述梯度参数中,以对所述梯度参数进行加密。
4.根据权利要求1所述的方法,其特征在于,所述分别确定所述第一电子设备和每个第二电子设备之间的协商密钥,包括:
针对每个第二电子设备,确定所述第一电子设备的私钥和所述第二电子设备的公钥;
根据所述第一电子设备的私钥和所述第二电子设备的公钥,确定所述第一电子设备和所述第二电子设备之间的协商密钥。
5.根据权利要求4所述的方法,其特征在于,所述确定所述第一电子设备的私钥,包括:
接收所述服务器发送的第二参数;
根据所述第二参数生成所述第一电子设备的私钥。
6.根据权利要求5所述的方法,其特征在于,确定所述第二电子设备的公钥,包括:
接收所述服务器发送的公钥集合,所述公钥集合中包括所述第一电子设备的公钥和所有第二电子设备的公钥;
根据所述公钥集合,确定所述第二电子设备的公钥。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
根据所述第二参数生成所述第一电子设备的公钥;
将所述公钥发送给所述服务器。
8.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
向服务器发送请求消息;
接收所述服务器发送的响应消息,所述响应消息中包括更新后的全局模型参数;
根据所述更新后的全局模型参数,确定新的梯度参数。
9.一种基于联邦学习的参数处理方法,其特征在于,包括:
接收第一电子设备发送的加密后的梯度参数,所述加密后的梯度参数为所述第一电子设备根据所述第一电子设备相对于每个第二电子设备的掩码对梯度参数进行加密后得到的,其中,所述第一电子设备相对于任一第二电子设备的掩码,与所述第二电子设备相对于所述第一电子设备的掩码之间的和小于预设值;其中,所述第一电子设备分别确定所述第一电子设备和每个第二电子设备之间的协商密钥,针对每个第二电子设备,根据所述第一电子设备和所述第二电子设备之间的协商密钥,确定所述第一电子设备相对于所述第二电子设备的掩码;所述第一电子设备确定出的所述第一电子设备和至少一个第二电子设备之间的协商密钥,与至少一个第二电子设备确定出的至少一个第二电子设备与所述第一电子设备之间的协商密钥相同,以使得使用该协商密钥确定出的掩码在服务器中相互抵消;
根据所述加密后的梯度参数,对联邦学习模型的全局模型参数进行更新。
10.根据权利要求9所述的方法,其特征在于,所述方法还包括:
生成第二参数;
分别向所述第一电子设备和每个第二电子设备发送所述第二参数,所述第二参数用于指示所述第一电子设备和所述每个第二电子设备生成公钥和私钥。
11.根据权利要求10所述的方法,其特征在于,所述方法还包括:
分别接收所述第一电子设备和所述每个第二电子设备发送的公钥,得到公钥集合,所述公钥集合中包括所述第一电子设备和所有第二电子设备对应的公钥;
分别向所述第一电子设备和所述每个第二电子设备发送所述公钥集合。
12.根据权利要求9-11任一项所述的方法,其特征在于,所述方法还包括:
接收所述第一电子设备发送的请求消息;
根据所述请求消息,向所述第一电子设备发送响应消息,所述响应消息中包括更新后的全局模型参数,所述更新后的全局模型参数用于指示所述第一电子设备确定新的梯度参数。
13.一种基于联邦学习的参数处理装置,其特征在于,包括:
处理模块,用于分别确定第一电子设备相对于每个第二电子设备的掩码,其中,所述第一电子设备相对于任一第二电子设备的掩码,与所述第二电子设备相对于所述第一电子设备的掩码之间的和小于预设值;
所述处理模块,还用于根据所述第一电子设备相对于每个第二电子设备的掩码,对梯度参数进行加密;
发送模块,用于将加密后的梯度参数发送给服务器,所述加密后的梯度参数用于指示所述服务器对联邦学习模型的全局模型参数进行更新;
所述处理模块,具体用于:
分别确定所述第一电子设备和每个第二电子设备之间的协商密钥;
针对每个第二电子设备,根据所述第一电子设备和所述第二电子设备之间的协商密钥,确定所述第一电子设备相对于所述第二电子设备的掩码;
其中,所述第一电子设备确定出的所述第一电子设备和至少一个第二电子设备之间的协商密钥,与至少一个第二电子设备确定出的至少一个第二电子设备与所述第一电子设备之间的协商密钥相同,以使得使用该协商密钥确定出的掩码在服务器中相互抵消。
14.根据权利要求13所述的装置,其特征在于,所述处理模块,具体用于:
根据所述第一电子设备对应的标识信息和所述第二电子设备对应的标识信息,确定第一参数;
根据所述第一参数、以及所述第一电子设备和所述第二电子设备之间的协商密钥,确定所述第一电子设备相对于所述第二电子设备的掩码。
15.根据权利要求13或14所述的装置,其特征在于,所述处理模块,具体用于:
将所述第一电子设备相对于每个第二电子设备的掩码,叠加到所述梯度参数中,以对所述梯度参数进行加密。
16.根据权利要求13所述的装置,其特征在于,所述处理模块,具体用于:
针对每个第二电子设备,确定所述第一电子设备的私钥和所述第二电子设备的公钥;
根据所述第一电子设备的私钥和所述第二电子设备的公钥,确定所述装置和所述第二电子设备之间的协商密钥。
17.根据权利要求16所述的装置,其特征在于,所述装置还包括:接收模块,其中,
所述接收模块,用于接收所述服务器发送的第二参数;
所述处理模块,还用于根据所述第二参数生成所述第一电子设备的私钥。
18.根据权利要求17所述的装置,其特征在于,
所述接收模块,还用于接收所述服务器发送的公钥集合,所述公钥集合中包括所述第一电子设备的公钥和所有第二电子设备的公钥;
所述处理模块,还用于根据所述公钥集合,确定所述第二电子设备的公钥。
19.根据权利要求18所述的装置,其特征在于,
所述处理模块,还用于根据所述第二参数生成所述第一电子设备的公钥;
所述发送模块,还用于将所述公钥发送给所述服务器。
20.根据权利要求13或14所述的装置,其特征在于,所述装置还包括:接收模块,其中,
所述发送模块,还用于向服务器发送请求消息;
所述接收模块,用于接收所述服务器发送的响应消息,所述响应消息中包括更新后的全局模型参数;
所述处理模块,还用于根据所述更新后的全局模型参数,确定新的梯度参数。
21.一种基于联邦学习的参数处理装置,其特征在于,包括:
接收模块,用于接收第一电子设备发送的加密后的梯度参数,所述加密后的梯度参数为所述第一电子设备根据所述第一电子设备相对于每个第二电子设备的掩码对梯度参数进行加密后得到的,其中,所述第一电子设备相对于任一第二电子设备的掩码,与所述第二电子设备相对于所述第一电子设备的掩码之间的和小于预设值;其中,所述第一电子设备分别确定所述第一电子设备和每个第二电子设备之间的协商密钥,针对每个第二电子设备,根据所述第一电子设备和所述第二电子设备之间的协商密钥,确定所述第一电子设备相对于所述第二电子设备的掩码;所述第一电子设备确定出的所述第一电子设备和至少一个第二电子设备之间的协商密钥,与至少一个第二电子设备确定出的至少一个第二电子设备与所述第一电子设备之间的协商密钥相同,以使得使用该协商密钥确定出的掩码在服务器中相互抵消;
处理模块,用于根据所述加密后的梯度参数,对联邦学习模型的全局模型参数进行更新。
22.根据权利要求21所述的装置,其特征在于,所述装置还包括:发送模块,其中,
所述处理模块,还用于生成第二参数;
所述发送模块,用于分别向所述第一电子设备和每个第二电子设备发送所述第二参数,所述第二参数用于指示所述第一电子设备和所述每个第二电子设备生成公钥和私钥。
23.根据权利要求22所述的装置,其特征在于,
所述接收模块,还用于分别接收所述第一电子设备和所述每个第二电子设备发送的公钥,得到公钥集合,所述公钥集合中包括所述第一电子设备和所有第二电子设备对应的公钥;
所述发送模块,还用于分别向所述第一电子设备和所述每个第二电子设备发送所述公钥集合。
24.根据权利要求21-23任一项所述的装置,其特征在于,所述装置还包括:发送模块,其中,
所述接收模块,还用于接收所述第一电子设备发送的请求消息;
所述发送模块,用于根据所述请求消息,向所述第一电子设备发送响应消息,所述响应消息中包括更新后的全局模型参数,所述更新后的全局模型参数用于指示所述第一电子设备确定新的梯度参数。
25. 一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-8或9-12任一项所述的方法。
26.一种基于联邦学习的参数处理系统,其特征在于,包括多个第二电子设备、如权利要求13-20任一项所述的装置和如权利要求21-24任一项所述的装置。
27.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行权利要求1-8中任一项所述的方法。
28.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行权利要求9-12中任一项所述的方法。
CN202010216295.1A 2020-03-25 2020-03-25 基于联邦学习的参数处理方法、装置和系统 Active CN113449872B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010216295.1A CN113449872B (zh) 2020-03-25 2020-03-25 基于联邦学习的参数处理方法、装置和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010216295.1A CN113449872B (zh) 2020-03-25 2020-03-25 基于联邦学习的参数处理方法、装置和系统

Publications (2)

Publication Number Publication Date
CN113449872A CN113449872A (zh) 2021-09-28
CN113449872B true CN113449872B (zh) 2023-08-08

Family

ID=77806596

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010216295.1A Active CN113449872B (zh) 2020-03-25 2020-03-25 基于联邦学习的参数处理方法、装置和系统

Country Status (1)

Country Link
CN (1) CN113449872B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114091065A (zh) * 2021-11-23 2022-02-25 脸萌有限公司 用于保护敏感数据的方法、设备、装置和介质
CN117077816B (zh) * 2023-10-13 2024-03-29 杭州金智塔科技有限公司 联邦模型的训练方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110399742A (zh) * 2019-07-29 2019-11-01 深圳前海微众银行股份有限公司 一种联邦迁移学习模型的训练、预测方法及装置
CN110601814A (zh) * 2019-09-24 2019-12-20 深圳前海微众银行股份有限公司 联邦学习数据加密方法、装置、设备及可读存储介质
CN110674528A (zh) * 2019-09-20 2020-01-10 深圳前海微众银行股份有限公司 联邦学习隐私数据处理方法、设备、系统及存储介质
WO2020029585A1 (zh) * 2018-08-10 2020-02-13 深圳前海微众银行股份有限公司 基于迁移学习的神经网络联邦建模方法、设备及存储介质
CN110851786A (zh) * 2019-11-14 2020-02-28 深圳前海微众银行股份有限公司 纵向联邦学习优化方法、装置、设备及存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040110119A1 (en) * 2002-09-03 2004-06-10 Riconda John R. Web-based knowledge management system and method for education systems

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020029585A1 (zh) * 2018-08-10 2020-02-13 深圳前海微众银行股份有限公司 基于迁移学习的神经网络联邦建模方法、设备及存储介质
CN110399742A (zh) * 2019-07-29 2019-11-01 深圳前海微众银行股份有限公司 一种联邦迁移学习模型的训练、预测方法及装置
CN110674528A (zh) * 2019-09-20 2020-01-10 深圳前海微众银行股份有限公司 联邦学习隐私数据处理方法、设备、系统及存储介质
CN110601814A (zh) * 2019-09-24 2019-12-20 深圳前海微众银行股份有限公司 联邦学习数据加密方法、装置、设备及可读存储介质
CN110851786A (zh) * 2019-11-14 2020-02-28 深圳前海微众银行股份有限公司 纵向联邦学习优化方法、装置、设备及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
大数据安全技术研究进展;陈性元;高元照;唐慧林;杜学绘;;中国科学:信息科学(第01期);全文 *

Also Published As

Publication number Publication date
CN113449872A (zh) 2021-09-28

Similar Documents

Publication Publication Date Title
CN111598254B (zh) 联邦学习建模方法、设备及可读存储介质
US9787647B2 (en) Secure computer evaluation of decision trees
Xiong et al. Toward lightweight, privacy-preserving cooperative object classification for connected autonomous vehicles
WO2019099526A1 (en) Method and system for quantum key distribution and data processing
CN111460429B (zh) 基于可信执行环境的任务处理方法、装置、设备和介质
CN110580409B (zh) 模型参数确定方法、装置和电子设备
CN110555525B (zh) 模型参数确定方法、装置和电子设备
TWI724809B (zh) 模型參數確定方法、裝置和電子設備
CN113449872B (zh) 基于联邦学习的参数处理方法、装置和系统
JP7280303B2 (ja) モデル連合訓練方法、装置、電子機器、記憶媒体並びにコンピュータプログラム
CN110580410A (zh) 模型参数确定方法、装置和电子设备
US11496295B2 (en) Non-transitory computer-readable medium storing program code, decryption device, and communication system including encryption device and decryption device
US20220374544A1 (en) Secure aggregation of information using federated learning
US8923519B2 (en) Method of efficient secure function evaluation using resettable tamper-resistant hardware tokens
EP3245628A1 (en) Method for the management of virtual objects corresponding to real objects, corresponding system and computer program product
WO2021106077A1 (ja) ニューラルネットワークの更新方法、端末装置、計算装置及びプログラム
CN112508200B (zh) 处理机器学习模型文件的方法、装置、设备、介质和程序
WO2021000574A1 (zh) 数据交互方法、装置、服务器和电子设备
CN111767411A (zh) 知识图谱表示学习优化方法、设备及可读存储介质
CN114186256B (zh) 神经网络模型的训练方法、装置、设备和存储介质
US11616994B2 (en) Embedding information in elliptic curve base point
JP2023043175A (ja) 分散型機械学習モデルのトレーニング方法、装置、機器および媒体
CN115549889A (zh) 解密方法、相关装置及存储介质
KR101836947B1 (ko) 양자 통신에서의 다자간 키 분배 방법, 이를 이용하는 양자 통신 방법 및 이를 수행하는 양자 통신 시스템
CN114398658A (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