CN113239404B - 一种基于差分隐私和混沌加密的联邦学习方法 - Google Patents
一种基于差分隐私和混沌加密的联邦学习方法 Download PDFInfo
- Publication number
- CN113239404B CN113239404B CN202110623714.8A CN202110623714A CN113239404B CN 113239404 B CN113239404 B CN 113239404B CN 202110623714 A CN202110623714 A CN 202110623714A CN 113239404 B CN113239404 B CN 113239404B
- Authority
- CN
- China
- Prior art keywords
- node
- parameter
- model
- global
- enc
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting 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/6245—Protecting personal data, e.g. for financial or medical purposes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/58—Random or pseudo-random number generators
- G06F7/582—Pseudo-random number generators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/20—Ensemble learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Bioethics (AREA)
- Mathematical Physics (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Artificial Intelligence (AREA)
- Computational Mathematics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Pure & Applied Mathematics (AREA)
- Molecular Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Databases & Information Systems (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种基于差分隐私和混沌加密的联邦学习方法。为了保护计算节点的本地数据信息不泄露,在迭代过程中,节点采用基于差分隐私的优化算法使用本地数据对模型进行训练,然后使用混沌加密算法对更新后的本地模型参数进行加密,并将本地模型参数密文上传至参数服务器。参数服务器,使用多个计算节点上传的加密模型参数对全局模型参数进行更新,并将更新后的全局模型参数密文发送至各计算节点。接着,计算节点对收到的全局模型参数密文进行解密,并载入本地模型中,进行下一次迭代训练。
Description
技术领域
本发明属于信息安全和人工智能交叉技术领域,尤其涉及一种基于联邦学习模型的训练方法。
背景技术
联邦学习(Federated machine learning/Federated Learning),是一种分布式学习算法,可以在多个分散的数据库或服务器上训练机器学习模型,这些设备不共享本地数据库储存的数据,而是通过分享其本地训练的模型参数。
在联邦学习系统中,参数服务器向多个计算节点发送一个初始化的深度学习模型。然后,各计算节点使用本地数据库中的数据训练本地模型,训练一次后,将计算出的模型参数梯度发送至参数服务器。接收到各计算节点发送的梯度参数后,参数服务器使用随机梯度下降法对全局模型的权重参数进行更新,并将更新后的权重参数发送给所有计算节点。以上训练过程多次迭代,直至达到训练设定条件。
如此,可以使得计算节点的本地数据不用上传分享,并且能够多个计算节点共同协作训练机器学习模型。
申请号为CN202011205945.9(公开号:CN112565331A)的中国发明专利申请公开了一种基于边缘计算的端-边协同联邦学习优化方法。该申请公开的联邦学习系统没有对边缘节点的本地数据资源进行隐私保护。在某些场景下,边缘节点上传的模型参数可能会泄露本地数据隐私信息。
发明内容
本发明目的是解决联邦学习系统中存在的计算节点数据隐私泄露和隐私保护计算成本高昂的问题,提供一种基于差分隐私和混沌加密的联邦学习方法。
本发明的技术方案如下
一种基于差分隐私和混沌加密的联邦学习(模型训练)方法,应用于包括参数服务器与N个计算节点的联邦学习系统,N>1的整数,所述方法是在联邦学习训练的第i次(i>0)迭代中,执行如下操作:
第1、所述参数服务端将模型参数集合下发给Ni个计算节点;其中,Ni≤N,所述Ni个计算节点中存在Nti个目标计算节点;所述模型对应的类型包括:神经网络模型、卷积神经网络模型、LSTM神经网络模型、GAN神经网络模型以及深度信念神经网络模型;
针对所述N个计算节点中的任一计算节点,若该计算节点在接收到模型参数集合之后,继续处于在线状态直至第i次迭代结束,则该节点属于目标类型计算节点;
第2、第k(0≤k≤N)个目标计算节点从参数服务器下载加密状态下的全局模型权重参数密文Enc(wglobal),并对Enc(wglobal)进行解密,得到全局模型参数wglobal;
第3、第k个目标计算节点将全局模型参数wglobal加载至本地模型,并根据所述全局模型参数集合与本地训练样本执行梯度计算以及差分隐私保护操作对本地模型进行训练,得到本地模型更新的权重参数wnode,k;具体包括:
第3.1、第k个目标计算节点从本地数据库随机抽取批次大小为bk(bk大于0并且小于等于该节点所有样本的个数)的训练样本;
第3.2、第k个目标计算节点根据所述全局模型参数集合与所抽取的训练样本执行梯度计算,得到梯度参数▽wnode,k;
第3.3、第k个目标计算节点对梯度参数▽wnode,k进行裁剪得到裁剪梯度参数Cwnode,k;
第3.4、第k个目标计算节点对所述的裁剪梯度参数Cwnode,k添加噪声Noise,获得经过差分隐私处理的本地模型梯度参数Dwnode,k;
第3.5、第k个目标计算节点使用优化算法,根据所获得的参数Dwnode,k计算本地模型的权重参数wnode,k
第4、第k个目标计算节点使用混沌加密算法对本地模型的权重参数wnode,k进行加密,得到本地模型参数密文Enc(wnode,k),并将Enc(wnode,k)上传至参数服务器;使用混沌加密算法获得本地模型参数密文Enc(wnode,k),具体包括:
第k个目标计算节点使用混沌系统生成伪随机数列Ri;
第k个目标计算节点根据所述的伪随机数列Ri对本地模型参数进行置乱、加法、减法操作,得到Enc(wnode,k);
第5、所述的参数服务器基于各计算节点上传的模型参数密文Enc(wnode,k),更新全局模型参数密文Enc(wglobal),并将更新后的全局模型参数密文Enc(wglobal)发送至于各计算节点。
更新全局模型权重参数密文Enc(wglobal)的方法,具体包括:
所述参数服务器计算所述各目标计算节点k的重要度αk,i;
所述参数服务器在指定时间内收到目标计算节点上传的Enc(wnode,k)的个数大于或等于Nmin,则对各节点上传的参数Enc(wnode,k)进行加权聚合得到Enc(wglobal),其中Nmin为:第i次迭代中,参与联邦学习的计算节点数量的下限值;
若所述参数服务器接收到的Enc(wnode,k)的个数小于Nmin,则停止本次迭代,并进入下一次迭代。
本发明同时提供了一种联邦学习系统,包括参数服务器与N个计算节点,N>1的整数;
所述参数服务器,在联邦训练的第i次迭代中,根据各计算节点上传的Enc(wnode,k)更新全局模型参数,得到Enc(wglobal),并将Enc(wglobal)发送至各计算节点;
第k个计算节点,对Enc(wglobal)进行解密得到wglobal,将wglobal加载入本地模型,使用基于差分隐私的优化算法对模型进行训练,得到本地模型更新后的参数wnode,k,其中,k=(1,…,N);使用混沌加密算法对本地模型参数进行加密得到Enc(wnode,k),再上传至参数服务器。
本发明还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现如上所述的方法。
通过本发明,可以在基于联邦学习框架实现服务端与各计算节点联合训练模型的前提下,实现服务端向计算节点隐藏模型参数,从而避免计算节点根据模型参数破解模型。
由于基于差分隐私的优化算法能够满足差分隐私保护的敏感度要求,即既可以保护各计算节点的本地训练样本的差分隐私,又不会破坏加噪混淆后的梯度之和的可用性,因此,这使得服务端既无法通过差分攻击的方式,由加噪混淆后的梯度之和推断出各计算节点的本地训练数据,又可以根据加噪混淆后的梯度之和更新模型参数。
由于混沌加密算法能够满足数据安全性的要求,即既可以保护各节点上传的本地模型参数数据,又不会破坏加密后的梯度之和的可用性,因此,这使得服务端既无法通过获取各节点的本地模型参数数据。
本发明的优点和有益效果:
(一):相比于传统的联邦算法,本发明算法在此基础上引入差分隐私技术,从而保护计算节点的隐私信息。
(二):本发明算法使用将图像领域中的混沌加密方法引入联邦学习领域中,通过对计算节点上传的模型参数混沌加密,从而进一步提升对计算节点的本地数据隐私保护水平,并且参数服务器无法获得全局模型参数。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本说明书实施例。
此外,本说明书实施例中的任一实施例并不需要达到上述的全部效果。
附图说明
图1是本发明实施例提供的一种基于差分隐私和混沌加密的联邦学习(模型训练)方法的流程示意图;
图2是本发明实施例提供的基于差分隐私和混沌加密的联邦学习方法的原理示意图;
图3是本发明实施例提供的一种联邦学习系统中的参数服务器的结构示意图;
图4是本发明实施例提供的一种联邦学习系统中的计算节点的结构示意图;
图5是用于配置本发明实施例方法的一种设备的结构示意图。
具体实施方式
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书实施例中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
实施例1:
在联邦学习系统中,通常由参数服务器向多个计算节点发送一个初始化的深度学习模型。然后,各计算节点使用本地数据库中的样本数据训练本地模型。计算节点训练一次后,将计算出的模型参数梯度发送至参数服务器。参数服务器接收到各计算节点发送的梯度参数后,使用随机梯度下降法对全局模型的权重参数进行更新,并将更新后的权重参数发送给所有计算节点。以上训练过程多次迭代,直至达到训练设定条件。如此,可以使得计算节点的本地数据不用上传分享,并且能够多个计算节点共同协作训练模型。
然而,在某些场景下,计算节点上传的梯度参数可能会泄露本地数据隐私信息。
申请人发现,工程实践中通常攻击者采用差分攻击方式断出各节点的数据隐私。例如,服务端可以比对连续两次训练迭代中的梯度之和,对各计算节点进行差分攻击,从而推断出各计算节点的数据隐私信息。
申请人在构思解决上述技术问题的方案时,想到可以利用差分隐私保护的方式避免差分攻击。具体地,在一次训练迭代中,计算节点采用基于差分隐私的优化算法对本地模型进行训练,从而实现对本地数据的差分隐私保护。如此,各计算节点的加噪混淆的模型参数之和可以防止差分攻击,也可用于对全局模型参数进行更新。
为进一步提升数据隐私保护水平,将图像加密领域中的混沌加密算法引入到联邦学习领域中。具体地,在一次训练迭代中,计算节点采用混沌加密算法对更新后的本地模型参数进行加密,从而实现对本地模型参数的数据保护。如此,各计算节点的加密参数能够防止参数服务器或外部计算节点获取本地模型参数的真实值,也可用于对全局模型参数进行更新。
单个计算节点在使用基于差分隐私的优化算法时,要考虑到各计算节点的加噪混淆后的模型参数汇总之后,应满足对各计算节点的本地训练样本整体上的差分隐私保护的敏感度要求,即,各计算节点的本地模型参数之和既能够实现对各计算节点的本地训练样本的差分隐私保护,又能够不丧失针对模型参数更新的可用性,实现隐私保护与可用性之间的平衡。
各个计算节点在使用混沌加密算法时,要采用相同的密钥,以保证各计算节点生成的混沌系统生成的伪随机数是相同的,从而保证所有计算节点对本地模型参数进行加密时具有一致性,以满足所述服务器进行全局模型更新的正确性。
为了使本领域技术人员更好地理解本发明实施例中的技术方案,下面将结合本实施例中的附图,对本发明实施例中的技术方案进行详细地描述,显然,所描述的实施例仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于保护的范围。
图1是本发明实施例提供的一种基于差分隐私和混沌加密的联邦学习模型训练方法的流程示意图,包括以下步骤:
S100:参数服务器将全局模型参数广发给Ni个计算节点;其中,Ni≤N
众所周知,在深度学习领域,一般通过迭代训练,对模型自身的权重参数进行调整从而实现模型学习。
步骤S100~S106是训练模型过程中的一次迭代,可以理解,训练模型的过程,实际上是循环执行步骤S100~S106的过程,当模型参数被更新到满足训练停止条件时,就会停止循环。具体地,可以将训练停止条件设定为:循环执行步骤S100~S106的次数达到指定次数epoch,或者,交叉验证集的损失值小于指定值。
为方便描述,本发明将S100~S106视作联邦学习系统的第i次迭代执行的步骤。可以理解,如果训练停止条件为循环次数达到参数服务器设定迭代次数epoch,则i=(1,2,…,epoch)。
图1所示的方法应用于联邦学习系统,联邦学习系统包括1个参数服务器与N个计算节点,中,N大于或等于2(>1的整数)。
在本发明中,为了便于描述,混沌加密算法简记做Enc,被同态加密算法加密过的数据记为Enc(*),*代表明文数据,全局模型的权重参数记为wglobal。
S102:第k个计算节点解密全局模型参数密文并载入本地,然后使用基于差分隐私的优化算法训练本地模型并对更新参数同态加密,得到Enc(wnode,k)。
本发明实施例的应用场景主要有两类,一类是服务端to B场景(参数服务器与至少三个机构进行联合学习),另一类是服务端to C场景(参数服务器与至少两个个人用户进行联合学习)。其中,机构、个人用户和参数服务器是半诚实的,即能够依据设定的方案进行运行,但是可能通过所获得的数据进行推理从而获得其他机构或用户的隐私信息。需要说明的是,在训练过程中,支持机构或用户的加入与退出。
在服务端to B场景下,计算节点的数量并不多,在每次迭代中,服务端可以将更新的全局模型发送至每个计算节点。
在服务端to C场景下,一般会有海量的个人用户参与训练,计算节点的数量很大,因此,在每次迭代中,服务端为了避免数据处理压力过大,可以选择部分计算节点上传的模型参数进行全局模型参数的更新。
需要说明的是,服务端在每次迭代中选择的计算节点可以不同,选择的计算节点数量也可以不同。为了描述的方便,将第i次迭代中选择的计算节点数量记为Nsi。
还需要说明的是,Nsi可以小于N,也可以等于N。
在本发明实施例中,在应用于参数服务器to C的场景的情况下,服务端向所有计算节点下发全局模型参数密文后,由于个人用户的计算节点设备并不一定总是在线(即不一定总是可以连接到网络),服务端则不能获取到该计算节点上传的本地模型参数密文,因此,针对所述Nsi个计算节点中的任一计算节点,如果该计算节点在接收到模型参数集合之后,继续处于在线状态直至第i次迭代结束,则该计算节点才能参与全局模型参数密文的更新。
本文为了描述的方便,将所述Nti个计算节点中能够向服务端上传本地模型权重参数密文的计算节点称为目标计算节点。
图1所示的方法流程中,只描述了一次迭代中每个目标类型计算节点执行的操作,并没有描述非目标类型计算节点执行的操作。然而,可以理解,对于所述Nsi个计算节点中的非目标类型计算节点,其在接收到模型参数集合之后,也可以执行类似于S104的操作,只不过无法将执行结果上传给服务端。
此外,在本发明实施例中,在应用于参数服务器to B的场景的情况下,由于每个机构的计算节点设备通常是稳定在线的,因此,所述Nsi个计算节点可以都属于目标类型计算节点。
在本发明实施例中,为了描述的方便,假设所述Nsi个节点中存在Nti个目标类型节点,Nti≤Nsi,并且,针对所述Nti个目标类型节点中第k个目标类型节点进行描述。其中,k=(1,2,…,Nti),可以理解,wnode,k是第k个目标类型计算节点采用基于差分隐私优化算法训练更新的本地模型参数。
需要说明的是,wnode,k=Optimizer(Dwnode,k),Dwnode,k表征第k个目标类型计算节点在执行差分隐私操作后的梯度参数。
需要说明的是,基于差分隐私的优化算法是指在传统优化算法的基础上增加了差分隐私保护操作,具体操作有梯度剪裁、梯度添加噪声、隐私预算估计、随机数生成等。通过差分隐私保护操作,保护所述Nti个目标类型计算节点的本地训练样本的差分隐私。
实际应用中,为了使得混沌加密的模型参数满足数据安全的保护要求(即既保证参数服务器不能获得各计算节点模型参数的真实值,又不能丧失对于全局模型参数更新计算的可用性),各计算节点在对模型参数加密时采用相同密钥,以保证混沌系统生成伪随机数是相同的,以保证参与服务器对模型参数聚合的正确性。
在本说明书实施例中,可以采用各种神经网络模型进行联邦学习,此处以神经网络算法为例进行说明。
假设神经网络的模型参数集合w=(w1,…we),样本可以记为(x,y),其中x为样本数据,y为标签数据。
第k个目标计算节点从本地数据库随机抽取批次大小为bk(bk大于0并且小于等于该节点所有样本的个数)的训练样本(x,y);
第k个目标计算节点根据所述模型参数集合与所抽取的训练样本执行前向传播计算,得到神经网络模型的输出值output=f(w,x);
第k个目标计算节点根据所述模型输出值与所述标签数据,计算得到神经网络模型经验损失值Lk;
第k个目标计算节点根据所述经验损失值、所述样本以及所述神经网络模型参数,计算得到神经网络模型梯度参数▽wnode,k;
第k个目标计算节点对梯度参数▽wnode,k进行裁剪,剪裁的阈值设为C,得到裁剪梯度参数Cwnode,k;
第k个目标计算节点对所述的裁剪梯度参数Cwnode,k添加噪声高斯Noise Noise(0,σ2C2/Nti)(σ为高斯分布参数,C为裁剪阈值设为4.0,Nti为目标节点个数),获得差分隐私保护的模型梯度参数Dwnode,k;
第k个目标计算节点使用随机梯度下降优化算法,根据所获得的参数Dwnode,k更新本地模型的权重参数,更新公式为wnode,k=wnode,k-η·Dwnode,k,式中η为学习率。
在步骤S102中,混沌加密可以有以下3种具体实施方式:
1、第k个目标类型节点根据所述混沌加密密钥,使用混沌系统生成伪随机数,然后根据伪随机数对更新后的模型参数进行置乱加密,得到梯度Enc(wnode,k)。
2、第k个目标类型节点根据所述混沌加密密钥,使用混沌系统生成伪随机数,然后根据伪随机数对更新后的模型参数进行加法/减法加密,得到梯度Enc(wnode,k)。
3、第k个目标类型节点根据所述混沌加密密钥,使用混沌系统生成伪随机数,然后根据伪随机数对更新后的模型参数进行置乱、加法、减法混合加密,得到梯度Enc(wnode,k)。
在本发明实施例中,计算节点可以采用混沌系统可以经典的一维混沌系统,也可以为多维的超混沌系统。
此处以一维混沌系统为例进行说明。
采用一维混沌系统Logistic映射,数学表达式为r(i+1)=λr(i)(1-r(i)),其中r(i)为第i个混沌系统输出值,x(i)∈(0,1),λ为混沌系数即混沌加密算法的密钥。当3.56994<λ≤4时,Logistic映射进入混沌状态。λ和x(1)为该混沌加密算法的密钥。采用相同的密钥,则该混沌系统生成的伪随机数列是相同的。基于此,各计算节点使用相同密钥对本地模型参数进行加密,以保证模型参数在聚合过程的正确性。
置乱加密过程为,计算节点使用混沌系统生成与本地模型权重参数数量相同的随机数列Rchaos,然后对Rchaos为进行升序排列,得到其索引序列Index,再按照索引序列Index的值,对参与者的模型权重参数wnode,k进行置乱排序.
加法加密过程为,计算节点使用混沌系统生成与本地模型权重参数数量相同的随机数列Rchaos,然后将Rchaos与本地模型权重数值进行相加.
S104:参数服务器获得各目标节点上传的参数密文Enc(wnode,k)。
在本发明实施例中,参数服务端可以采用不同的TLS/SSL通道来获取目标计算节点上传的本地模型参数密文,并且由于参数服务器没有混沌加密算法的密钥,它不能获取到第k个目标类型计算节点的模型参数。
S106:参数服务器基于各目标计算节点上传的参数更新全局模型参数密文Enc(wglobal)。假设本发明实施例中,Nti个目标计算节点的优化算法采用相同设置参数,第i次迭代中目标计算节点的个数为Nti,则可以采用如下公式更新全局模型参数密文:
式中,wglobal为全局模型参数,ball为目标节点抽取样本的总数。
此外,在服务端to C的场景下,还需要判断目标类型计算节点的数量Nti是否达到Nmin,如果Nti小于Nmin,则停止本次迭代,并进入下一次迭代,即各目标计算节点依然采用上一轮的全局模型参数进行本地模型训练。
图2是本发明实施例提供的一种基于差分隐私和混沌加密的联邦学习模型训练方法的原理示意图。
在图2中,示出了包括1个参数服务器与3个计算节点的联邦学习系统。首先,远程参数服务器将全局模型参数密文发送至各个计算节点。然后各计算节点使用混沌加密算法的密钥对全局模型参数密文进行解密,并将解密后的模型参数载入本地模型中。接下来,使用基于差分隐私的优化算法对本地模型进行训练,并使用密钥对更新后的本地模型权重参数进行混沌加密。所有计算节点将本地模型参数密文发送至参数服务器。参数服务器使用接收到的本地模型参数密文,对全局模型参数密文进行更新,并将更新后的全局模型参数密文发送至各个计算节点。整个学习过程重复进行,直至达到设定的学习次数或满足用户设定的停止训练的条件。
此外,本发明实施例中的模型对应的输入数据可以包括以下一种:图像、文本、语音。也即,模型训练过程中使用的训练样本可以是图像,可以是文本,也可以语音。模型训练完成后,可以相应地用于对图像、文本或语音进行处理。
进一步地,所述文本可以包含实体对象信息。其中,实体对象可以是用户、研究所等对象。
还需要说明的是,本发明所述的用于处理图像的模型例如可以是图像分类模型、图像分割模型等,本发明所述的用于处理文本的模型例如可以是机器人客服模型、实体对象风险识别模型、推荐模型等,本发明所述的用于处理语音的模型可以是语音助手模型、语音识别模型等。
一种联邦学习系统,包括参数服务器与N个计算节点,N>1的整数;
所述参数服务器,在模型训练的第i次迭代中,将全局模型参数密文集合下发给Nti个目标节点;其中,Nti≤N;
第k个计算节点,对Enc(wglobal)进行解密得到全局模型参数wglobal,将全局模型参数wglobal加载入本地模型,使用基于差分隐私的优化算法对模型进行训练,得到本地模型更新后的参数wnode,k,其中,k=(1,…,N);使用同态加密算法对本地模型参数进行加密得到Enc(wnode,k),再上传至参数服务器。
所述服务端,获取各计算节点上传的本地模型参数密文,并计算更新全局模型参数密。
图3是本发明实施例提供的一种联邦学习系统中的参数服务器端的结构示意图,应用于模型训练的第i次迭代中,所述联邦学习系统还包括N个计算节点,N>2的整数;
所述服务端包括:
本地模型参数密文接收模块301,所述参数服务器根据上传的本地模型参数密文计算全局模型模型参数密文Enc(wglobal),具体包括:
所述参数服务器在指定时间内收到的Enc(wnode,k)的个数大于或等于Nmin,则对各节点上传的参数Enc(wnode,k)进行加权聚合得到Enc(wglobal),其中Nmin为:第i次迭代中,参与联邦学习的计算节点数量的下限值;
所述方法还包括:
所述参数服务器接收到的E(wnode,k)的个数小于Nmin,则停止本次迭代,并进入下一次迭代;
全局模型参数密文更新模块302,获取各计算节点上传的本地模型参数密文,并计算更新全局模型参数密文;
全局模型参数密文下发模块303,将全局模型参数发送至所有目标节点。
图4是本发明实施例提供的一种联邦学习系统中的计算节点的结构示意图,所述联邦学习系统包括N个计算节点与服务端(参数服务器),N>1的整数;
在模型训练的第i次迭代中,第k个目标类型节点包括:
全局模型参数密文接收处理模块401,接收参数服务器下发的全局模型参数密文,并对密文进行解密操作得到全局模型参数wglobal;
本地模型计算模块402,根据所述模型参数wglobal与本地训练样本,使用基于差分隐私的优化算法训练本地模型,所述的差分隐私优化算法用于保护所述目标类型节点的本地训练样本的差分隐私,然后使用同态加密算法对更新的本地模型参数进行同态加密,获得本地模型参数密文Enc(wnode,k);
本地模型参数密文上传模块403,目标计算节点将本地模型参数密文Enc(wnode,k)发送至参数服务器。
本发明实施例还提供一种计算机设备,其至少包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,处理器执行本发明中所述的服务端或目标类型计算节点的联邦学习序方法。
图5示出了本发明实施例所提供的一种更为具体的计算设备硬件结构示意图,该设备可以包括:处理器1010、存储器1020、输入/输出接口1030、通信接口1040和总线1050。其中处理器1010、存储器1020、输入/输出接口1030和通信接口1040通过总线1050实现彼此之间在设备内部的通信连接。
处理器1010可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、FPGA(Field Programmable Gate Array)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本发明实施例所提供的技术方案。
存储器1020可以采用RAM(Random Access Memory)、ROM(Read Only Memory)、静态存储设备以及动态存储设备等形式实现。存储器1020用于存储操作系统和其他辅助应用程序,在通过软件或者固件来实现本发明实施例所提供的技术方案时,相关的程序代码保存在存储器1020中,并由处理器1010来调用执行。
输入/输出接口1030用于连接输入/输出模块,以实现数据信息输入与输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各种类型传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
通信接口1040用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙以及NFC等)实现通信。
总线1050包括一通路,在设备的各个组件(例如处理器1010、存储器1020、输入/输出接口1030和通信接口1040)之间传输信息。
需要说明的是,尽管上述设备仅示出了处理器1010、存储器1020、输入/输出接口1030、通信接口1040以及总线1050,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本发明实施例方案所必需的组件,而不必包含图中所示的全部组件。
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明中的服务端或目标类型节点的联邦学习方法。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明实施例可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务设备,或者网络设备等)执行本发明实施例各个实施例或者实施例的某些部分所述的方法。
上述实施例阐明的系统、方法、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
本发明中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,在实施本发明实施例方案时可以把各模块的功能在同一个或多个软件和/或硬件中实现。也可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅是本发明实施例的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明实施例原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明实施例的保护范围。
Claims (8)
1.一种基于差分隐私和混沌加密的联邦学习方法,应用于包括参数服务器与N个计算节点的联邦学习系统,N>1的整数,所述方法是在联邦学习训练的第i、i>0、次迭代中,执行如下操作:
第1、所述参数服务端将模型参数集合下发给Ni个计算节点;其中,Ni≤N,所述Ni个计算节点中存在Nti个目标计算节点;
第2、第k、0≤k≤N、个目标计算节点从参数服务器下载加密状态下的全局模型权重参数密文Enc(wglobal),并对Enc(wglobal)进行解密,得到全局模型参数wglobal;
第3、第k个目标计算节点将全局模型参数wglobal加载至本地模型,并根据所述全局模型参数集合与本地训练样本执行梯度计算以及差分隐私保护操作对本地模型进行训练,得到本地模型更新的权重参数wnode,k;
第4、第k个目标计算节点使用混沌加密算法对本地模型的权重参数wnode,k进行加密,得到本地模型参数密文Enc(wnode,k),并将Enc(wnode,k)上传至参数服务器;本地模型参数密文Enc(wnode,k)的获取方法具体包括:
第k个目标计算节点使用混沌系统生成伪随机数列Ri;
第k个目标计算节点根据所述的伪随机数列Ri对本地模型参数进行置乱、加法、减法操作,得到Enc(wnode,k);从而使参数服务器无法获得该节点的模型参数,进而无法通过逆向推导的方式获得该节点的本地数据信息;
第5、所述的参数服务器基于各计算节点上传的模型参数密文Enc(wnode,k),更新全局模型参数密文Enc(wglobal),并将更新后的全局模型参数密文发送至各计算节点;
所述参数服务器更新全局模型参数密文Enc(wnode,k)的方法具体包括:
所述参数服务器计算所述各目标计算节点k的重要度αk,i;
2.如权利要求1所述的方法,其特征在于,针对所述N个计算节点中的任一计算节点,若该计算节点在接收到模型参数集合之后,继续处于在线状态直至第i次迭代结束,则该节点属于目标类型计算节点。
3.如权利要求1所述的方法,其特征在于,第k个目标计算节点将全局模型参数wglobal加载至本地模型,并使用基于差分隐私的优化算法对本地模型进行训练,具体包括:
第3.1、第k个目标计算节点从本地数据库随机抽取批次大小为bk的训练样本,其中bk大于0且小于本地数据样本个数;
第3.2、第k个目标计算节点根据所述全局模型参数集合与所抽取的训练样本执行梯度计算,得到梯度参数▽wnode,k;
第3.3、第k个目标计算节点对梯度参数▽wnode,k进行裁剪得到裁剪梯度参数Cwnode,k;
第3.4、第k个目标计算节点对所述的裁剪梯度参数Cwnode,k添加噪声Noise,获得经过差分隐私处理的本地模型梯度参数Dwnode,k;
第3.5、第k个目标计算节点使用优化算法,根据所获得的参数Dwnode,k计算本地模型的权重参数wnode,k。
4.如权利要求3所述的方法,其特征在于,所述的优化算法具体包括:梯度下降法,动量梯度下降法,Adam算法,Adagrad算法和RMSProp。
5.如权利要求1所述的方法,其特征在于,所述第5步中,参数服务器基于各目标计算节点上传的本地模型参数密文Enc(wnode,k),更新全局模型权重参数密文Enc(wglobal),具体包括:
所述参数服务器在指定时间内收到目标计算节点上传的Enc(wnode,k)的个数大于或等于Nmin,则根据节点上传的模型参数Enc(wnode,k)对全局模型参数Enc(wglobal)进行更新,其中Nmin为:第i次迭代中,参与联邦学习的计算节点数量的下限值;
若所述参数服务器接收到的Enc(wnode,k)的个数小于Nmin,则停止本次迭代,并进入下一次迭代。
6.如权利要求1所述的方法,其特征在于,所述模型对应的类型包括:神经网络模型、卷积神经网络模型、LSTM神经网络模型、GAN神经网络模型以及深度信念神经网络模型。
7.采用权利要求1~6任一项所述方法构建的一种联邦学习系统,包括参数服务器和N个计算节点,N>1的整数;
所述参数服务器,在联邦训练的第i次迭代中,根据各计算节点上传的Enc(wnode,k)更新全局模型参数,得到Enc(wglobal),并将Enc(wglobal)发送至各计算节点;
第k个计算节点,对Enc(wglobal)进行解密得到wglobal,将wglobal加载入本地模型,使用基于差分隐私的优化算法对模型进行训练,得到本地模型更新后的参数wnode,k,其中,k=(1,…,N);使用混沌加密算法对本地模型参数进行加密得到Enc(wnode,k),再上传至参数服务器。
8.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现如权利要求1~6任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110623714.8A CN113239404B (zh) | 2021-06-04 | 2021-06-04 | 一种基于差分隐私和混沌加密的联邦学习方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110623714.8A CN113239404B (zh) | 2021-06-04 | 2021-06-04 | 一种基于差分隐私和混沌加密的联邦学习方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113239404A CN113239404A (zh) | 2021-08-10 |
CN113239404B true CN113239404B (zh) | 2022-07-19 |
Family
ID=77136776
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110623714.8A Active CN113239404B (zh) | 2021-06-04 | 2021-06-04 | 一种基于差分隐私和混沌加密的联邦学习方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113239404B (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115842737A (zh) * | 2021-09-02 | 2023-03-24 | 大唐移动通信设备有限公司 | 机器学习模型处理方法、装置及存储介质 |
CN113782111B (zh) * | 2021-09-16 | 2023-07-18 | 平安科技(深圳)有限公司 | 一种基于药物研发模型的协同训练方法、系统及存储介质 |
CN114169007B (zh) * | 2021-12-10 | 2024-05-14 | 西安电子科技大学 | 基于动态神经网络的医疗隐私数据识别方法 |
CN114944934B (zh) * | 2022-04-24 | 2023-12-29 | 华控清交信息科技(北京)有限公司 | 一种联邦学习方法和系统、第一隐私计算平台和第二隐私计算平台 |
CN115134077A (zh) * | 2022-06-30 | 2022-09-30 | 云南电网有限责任公司信息中心 | 基于横向lstm联邦学习的企业电力负荷联合预测方法及系统 |
CN115001858B (zh) * | 2022-07-19 | 2022-11-01 | 北京融数联智科技有限公司 | 基于分布式计算的数据安全隔离方法、系统、介质和设备 |
CN115766137A (zh) * | 2022-11-03 | 2023-03-07 | 广州优刻谷科技有限公司 | 基于安全洗牌的联邦学习方法及系统 |
CN115664632B (zh) * | 2022-11-10 | 2023-03-21 | 苏州浪潮智能科技有限公司 | 一种基于同态加密的预测模型训练方法、系统、设备及介质 |
CN116127371B (zh) * | 2022-12-06 | 2023-09-08 | 东北林业大学 | 融合先验分布与同态混沌加密的多用户模型联合迭代方法 |
CN115587381B (zh) * | 2022-12-12 | 2023-04-07 | 四川大学华西医院 | 基于差分隐私的医疗诊断模型联合训练方法及系统 |
CN116542324B (zh) * | 2023-07-06 | 2023-10-10 | 之江实验室 | 一种面向智能计算的分布式异步规约方法和装置 |
CN117914912B (zh) * | 2024-03-08 | 2024-09-17 | 深圳宇翊技术股份有限公司 | 基于物联网的智慧车站管理方法及系统 |
CN118381674B (zh) * | 2024-06-24 | 2024-09-03 | 齐鲁工业大学(山东省科学院) | 基于混沌-同态加密和联邦学习的风电预测系统及方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8381287B2 (en) * | 2006-07-19 | 2013-02-19 | Secure Exchange Solutions, Llc | Trusted records using secure exchange |
US8707445B2 (en) * | 2012-02-14 | 2014-04-22 | Identity Theft Guard Solutions, Llc | Systems and methods for managing data incidents |
CN109409125B (zh) * | 2018-10-12 | 2022-05-31 | 南京邮电大学 | 一种提供隐私保护的数据采集和回归分析方法 |
CN110601814B (zh) * | 2019-09-24 | 2021-08-27 | 深圳前海微众银行股份有限公司 | 联邦学习数据加密方法、装置、设备及可读存储介质 |
US11188791B2 (en) * | 2019-11-18 | 2021-11-30 | International Business Machines Corporation | Anonymizing data for preserving privacy during use for federated machine learning |
CN111046433B (zh) * | 2019-12-13 | 2021-03-05 | 支付宝(杭州)信息技术有限公司 | 一种基于联邦学习的模型训练方法 |
CN111563265A (zh) * | 2020-04-27 | 2020-08-21 | 电子科技大学 | 一种基于隐私保护的分布式深度学习方法 |
-
2021
- 2021-06-04 CN CN202110623714.8A patent/CN113239404B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN113239404A (zh) | 2021-08-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113239404B (zh) | 一种基于差分隐私和混沌加密的联邦学习方法 | |
CN111046433B (zh) | 一种基于联邦学习的模型训练方法 | |
US11196541B2 (en) | Secure machine learning analytics using homomorphic encryption | |
CN109255247B (zh) | 多方安全计算方法及装置、电子设备 | |
CN110955907B (zh) | 一种基于联邦学习的模型训练方法 | |
CN110457912B (zh) | 数据处理方法、装置和电子设备 | |
CN112989368B (zh) | 多方联合进行隐私数据处理的方法及装置 | |
CN110472439B (zh) | 模型参数确定方法、装置和电子设备 | |
CN111125727B (zh) | 混淆电路生成方法、预测结果确定方法、装置和电子设备 | |
CN109886029B (zh) | 基于多项式表示的隐私保护集合交集计算方法与系统 | |
CN110580409B (zh) | 模型参数确定方法、装置和电子设备 | |
CN110580410B (zh) | 模型参数确定方法、装置和电子设备 | |
CN110555525B (zh) | 模型参数确定方法、装置和电子设备 | |
CN110427969B (zh) | 数据处理方法、装置和电子设备 | |
WO2021092977A1 (zh) | 纵向联邦学习优化方法、装置、设备及存储介质 | |
CN111428887B (zh) | 一种基于多个计算节点的模型训练控制方法、装置及系统 | |
CN111404943B (zh) | 数据的处理方法、装置、电子设备及计算机可读存储介质 | |
CN110569227A (zh) | 模型参数确定方法、装置和电子设备 | |
CN111144576A (zh) | 模型训练方法、装置和电子设备 | |
CN114696990B (zh) | 基于全同态加密的多方计算方法、系统及相关设备 | |
CN110391895B (zh) | 数据预处理方法、密文数据获取方法、装置和电子设备 | |
CN111143862B (zh) | 数据处理方法、查询方法、装置、电子设备和系统 | |
CN116561787A (zh) | 视觉图像分类模型的训练方法、装置及电子设备 | |
JPWO2020165931A1 (ja) | 情報処理装置、秘密計算方法及びプログラム | |
CN111046431B (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 |