CN112052480A - 一种模型训练过程中的隐私保护方法、***及相关设备 - Google Patents
一种模型训练过程中的隐私保护方法、***及相关设备 Download PDFInfo
- Publication number
- CN112052480A CN112052480A CN202010953756.3A CN202010953756A CN112052480A CN 112052480 A CN112052480 A CN 112052480A CN 202010953756 A CN202010953756 A CN 202010953756A CN 112052480 A CN112052480 A CN 112052480A
- Authority
- CN
- China
- Prior art keywords
- target
- model
- server
- clients
- training
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000012549 training Methods 0.000 title claims abstract description 128
- 238000000034 method Methods 0.000 title claims abstract description 67
- 230000008569 process Effects 0.000 title claims abstract description 34
- 238000012545 processing Methods 0.000 claims abstract description 26
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 22
- 230000007246 mechanism Effects 0.000 claims description 21
- 238000004590 computer program Methods 0.000 claims description 12
- 239000011159 matrix material Substances 0.000 claims description 9
- 238000011478 gradient descent method Methods 0.000 claims description 7
- 230000004044 response Effects 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000005070 sampling Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000007476 Maximum Likelihood Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000004927 fusion Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000004931 aggregating effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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
Landscapes
- Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Databases & Information Systems (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Medical Informatics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提供了一种模型训练过程中的隐私保护方法、***及相关设备,用于实现模型训练过程中的隐私保护。本发明实施例方法包括:接收服务端发送的目标模型,并接收服务端发送的选择指令,选择指令用于指示随机选中的部分客户端;被选中的客户端以概率P参与目标模型训练,未被选中的客户端以概率(1‑P)参与目标模型训练;所有确定参与目标模型训练的客户端作为目标客户端,分别采用本地数据对目标模型进行训练,并计算每个训练之后的目标模型的模型参数更新值;按照预设差分隐私算法对每组模型参数更新值进行处理生成更新数据,并将更新数据返回给服务端,以使得服务端根据所有的更新数据生成本轮训练的全局模型。
Description
技术领域
本发明涉及模型训练过程中的隐私保护技术领域,尤其涉及一种模型训练过程中的隐私保护方法、***及相关设备。
背景技术
机器学习的发展和应用以大数据的收集和分析为基础,往往需要对多数据源的数据进行融合分析。在这种融合分析场景下,每个参与方的私有数据中都包含大量的隐私信息,简单的将这些数据进行集中化收集和分析会导致隐私泄露。
谷歌(Google)团队提出的联邦学习机制实现隐私保护联合建模,其在每一轮训练过程中,服务端选择部分客户端参与训练,并将全局模型下发,每个客户端利用本地存储的数据来训练模型,并返回模型模型参数更新值,服务端根据这些返回值生成一个最终的全局模型。
然而这种联邦学习机制依赖于一个可信的服务器,否则客户端返回给服务器的原始数据值会暴露给恶意服务端。其次,客户端返回值在传输过程中也容易遭受拦截,导致隐私泄露。
发明内容
本发明实施例提供了一种模型训练过程中的隐私保护方法、***及相关设备,用于实现模型训练过程中的隐私保护。
本发明实施例第一方面提供了一种模型训练过程中的隐私保护方法,可包括:
接收服务端发送的目标模型,并接收所述服务端发送的选择指令,所述选择指令用于指示随机选中的部分客户端;
被选中的客户端以概率P参与所述目标模型训练,未被选中的客户端以概率(1-P)参与所述目标模型训练;
所有确定参与所述目标模型训练的客户端作为目标客户端,分别采用本地数据对所述目标模型进行训练,并计算每个训练之后的目标模型的模型参数更新值;
按照预设差分隐私算法对每组模型参数更新值进行处理生成更新数据,并将所述更新数据返回给服务端,以使得所述服务端根据所有的所述更新数据生成本轮训练的全局模型。
可选的,作为一种可能的实施方式,本发明实施例中的模型训练过程中的隐私保护方法,还可以包括:
获取隐私预算参数ε,根据公式P=(eε)/(1+eε)计算概率P。
可选的,作为一种可能的实施方式,本发明实施例中,所述按照预设差分隐私算法对每组模型参数更新值进行处理生成更新数据,包括:
采用高斯噪声机制生成每组模型参数更新值的高斯噪声,将每组模型参数更新值的高斯噪声与对应的模型参数更新值进行叠加处理生成更新数据。
可选的,作为一种可能的实施方式,本发明实施例中,所述采用高斯噪声机制生成每组模型参数更新值的高斯噪声,包括:
在目标客户端每一回合的训练后,计算出模型参数更新值对应矩阵的二范数,并计算N个回合的二范数的平均值S;
随机生成方差为σ2S2的高斯噪声。
可选的,作为一种可能的实施方式,本发明实施例中的模型训练过程中的隐私保护方法,还可以包括:
采用批量梯度下降法对目标模型进行训练,并设置高斯噪声的权重为1/B,其中B为批次数量。
可选的,作为一种可能的实施方式,本发明实施例中,将所述更新数据返回给服务端,包括:
采用独立加法器对每个所述目标客户端返回的更新数据进行叠加得到叠加值,将所述叠加值返回给所述服务端。
可选的,作为一种可能的实施方式,本发明实施例中的模型训练过程中的隐私保护方法,还可以包括:
所述服务端根据所述概率P计算所述目标客户端的数量的期望值M;
所述服务端根据所述期望值M及所述叠加值计算模型参数更新值的均值。
本发明实施例第二方面提供了一种模型训练过程中的隐私保护***,包括客户端及服务端,所述客户端用于接收模块,用于接收服务端发送的目标模型,并接收所述服务端发送的选择指令,所述选择指令用于指示随机选中的部分客户端;
被选中的客户端以概率P参与所述目标模型训练,未被选中的客户端以概率(1-P)参与所述目标模型训练;
所有确定参与所述目标模型训练的客户端作为目标客户端,所述目标客户端分别采用本地数据对所述目标模型进行训练,并计算每个训练之后的目标模型的模型参数更新值;
按照预设差分隐私算法对每组模型参数更新值进行处理生成更新数据,并将所述更新数据返回给服务端,以使得所述服务端根据所有的所述更新数据生成本轮训练的全局模型。
可选的,作为一种可能的实施方式,本发明实施例中的隐私保护***还可以包括:
计算模块,用于获取隐私预算参数ε,根据公式P=(eε)/(1+eε)计算概率P。
可选的,作为一种可能的实施方式,本发明实施例中的客户端还可以用于:采用高斯噪声机制生成每组模型参数更新值的高斯噪声,将每组模型参数更新值的高斯噪声与对应的模型参数更新值进行叠加处理生成更新数据。
可选的,作为一种可能的实施方式,本发明实施例中的客户端还可以用于:
在目标客户端每一回合的训练后,计算出模型参数更新值对应矩阵的二范数,并计算N个回合的二范数的平均值S;
随机生成方差为σ2S2的高斯噪声。
可选的,作为一种可能的实施方式,本发明实施例中的客户端还可以用于:
采用批量梯度下降法对目标模型进行训练,并设置高斯噪声的权重为1/B,其中B为批次数量。
可选的,作为一种可能的实施方式,本发明实施例中的隐私保护***还可以包括独立加法器,独立加法器用于对每个所述目标客户端返回的更新数据进行叠加得到叠加值,将所述叠加值返回给所述服务端。
可选的,作为一种可能的实施方式,本发明实施例中的服务端可以用于:根据所述概率P计算所述目标客户端的数量的期望值M;根据所述期望值M及所述叠加值计算模型参数更新值的均值。
本发明实施例第三方面提供了一种计算机装置,所述计算机装置包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如第一方面及第一方面中任意一种可能的实施方式中的步骤。
本发明实施例第四方面提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面及第一方面中任意一种可能的实施方式中的步骤。
从以上技术方案可以看出,本发明实施例具有以下优点:
本发明实施例中,服务端可以随机选择的部分客户端,所有的客户端随机响应训练请求;按照预设差分隐私算法对每个训练之后的目标模型的模型参数更新值进行处理生成更新数据,并将更新数据返回给服务端,以使得服务端根据所有的更新数据生成本轮训练的全局模型。相对于现有技术,所有的客户端随机响应训练请求,无法确定参与训练的客户端名单,可以有效防止隐私数据泄露,而且返回给服务端的数据经过差分隐私算法进行处理,可以有效防止数据被截取而导致的隐私数据泄露。
附图说明
图1为本发明实施例中一种模型训练过程中的隐私保护方法的一个实施例示意图;
图2为本发明实施例中一种模型训练过程中的隐私保护方法的一个具体应用实施例示意图;
图3为本发明实施例中一种模型训练过程中的隐私保护方法的另一个具体应用实施例示意图;
图4为本发明实施例中一种计算机装置的一个实施例示意图。
具体实施方式
本发明实施例提供了一种模型训练过程中的隐私保护方法、***及相关设备,用于实现。
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
现有的联邦学习机制,通过将模型训练过程分散至多个客户端设备本地,在每一轮训练过程中,服务端选择部分客户端参与训练,并将全局模型下发。每个客户端利用本地存储的数据来训练模型,并返回模型更新值,服务端根据这些返回值生成一个最终的全局模型。如果服务端不可信,客户端返回给服务器的原始数据值会暴露给恶意服务端;其次,客户端返回值在传输过程中也容易遭受拦截,导致隐私泄露。本发明实施例对参与客户端选择机制进行扰动以实现客户端的随机响应,进而保证服务端和攻击者无法确定特定客户端是否参与训练;而且在客户端本地对参数更新值进行差分隐私保护,使服务端和攻击者无法推断客户端的原始数据。
为了便于理解,下面将从客户端侧对本发明实施例中的具体流程进行描述,请参阅图1,本发明实施例中一种模型训练过程中的隐私保护方法的一个实施例可包括:
101、接收服务端发送的目标模型,并接收服务端发送的选择指令,选择指令用于指示随机选中的部分客户端;
在现有的联邦学习机制的基础上,为了防止被选中的客户端被泄露导致的安全风险,本发明实施例中的服务端初步随机选择部分客户端参与目标模型的训练。可选的作为一种可能的实施方式,服务端可以向被随机选中的客户端发送选择指令,该选择指令用于指示部分客户端被随机选中,未收到选择指令的客户端可以默认为未被选中。
102、被选中的客户端以概率P参与目标模型训练,未被选中的客户端以概率(1-P)参与目标模型训练;
为了进一步防止隐私泄露,本发明实施例中,被选中的客户端以概率P参与目标模型训练,未被选中的客户端以概率(1-P)参与目标模型训练。通过上述操作,服务端及外部设备无法准确知道哪一个客户端参与了本轮训练,从而可以防止隐私泄露。示例性的,当P=0.7时,被选中的客户端以概率0.7确定是否参与目标模型的本轮训练,未被选中的客户端以概率0.3确定是否参与目标模型训练。
其中,概率P可以根据用户需求进行设置,也可以随机设置,具体此处不做限定。可选的,作为一种可能的实施方式,客户端可以根据获取到的用户设置的隐私预算参数ε,根据公式P=(eε)/(1+eε)计算概率P,其中隐私预算参数ε在设定的范围内取值越大代表隐私保护越松弛,例如在0-10范围内,ε值可以取值为0.2、0.4、0.6、0.8、1、2、4、6、8、10等。
103、所有确定参与目标模型训练的客户端作为目标客户端,分别采用本地数据对目标模型进行训练,并计算每个训练之后的目标模型的模型参数更新值;
在客户端确定自身参与本轮训练之后,该客户端可以作为目标客户端。目标客户端可以分别采用本地数据对目标模型进行训练,并计算每个训练之后的目标模型的模型参数更新值。其中,模型参数更新值往往是以矩阵的形式存储。
104、按照预设差分隐私算法对每组模型参数更新值进行处理生成更新数据,并将更新数据返回给服务端,以使得服务端根据所有的更新数据生成本轮训练的全局模型。
为了防止数据传输过程中的隐私泄露,本发明实施例中,客户端可以按照预设差分隐私算法对每组模型参数更新值进行处理生成更新数据,并将更新数据返回给服务端,以使得服务端根据所有的更新数据生成本轮训练的全局模型。
其中,差分隐私算法是一种可证明的隐私保护机制,一般通过对聚合数据添加适量噪声以实现攻击者无法推断具体记录。具体的差分隐私实现机制此处不做限定。
示例性的,作为一种可能的实施方式,按照预设差分隐私算法对每组模型参数更新值进行处理生成更新数据,可以包括:采用高斯噪声机制生成每组模型参数更新值的高斯噪声,将每组模型参数更新值的高斯噪声与对应的模型参数更新值进行叠加处理生成更新数据。
本发明实施例中,服务端可以随机选择的部分客户端,所有的客户端随机响应训练请求;按照预设差分隐私算法对每个训练之后的目标模型的模型参数更新值进行处理生成更新数据,并将更新数据返回给服务端,以使得服务端根据所有的更新数据生成本轮训练的全局模型。相对于现有技术,所有的客户端随机响应训练请求,无法确定参与训练的客户端名单,可以有效防止隐私数据泄露,而且返回给服务端的数据经过差分隐私算法进行处理,可以有效防止数据被截取而导致的隐私数据泄露。
在上述图1所示的实施例的基础上,可选的,作为一种可能的实施方式,采用高斯噪声机制生成每组模型参数更新值的高斯噪声,可以包括:在目标客户端每一回合的训练后,计算出模型参数更新值对应矩阵的二范数,并计算N个回合的二范数的平均值S;随机生成方差为σ2S2的高斯噪声。
实际应用中,一轮训练过程中客户端本地的数据可以被分为B(每个回合可以采用批量梯度下降训练的方式,本地数据被分为B个批次,B不小于1的正整数)个批次进行多回合训练,在目标客户端每一回合的训练后,计算出模型参数更新值对应矩阵的二范数,并计算N个回合的二范数的平均值S,其中σ为预设的高斯噪声参数,可以在预设范围内进行设置,σ越大,噪声越大,代表隐私保护越严格。
实际应用中,为了尽可能保留与梯度方向相同的噪声,本发明实施例中可以在客户端中采用批量梯度下降法对目标模型进行训练,并为高斯噪声添加权重为1/B,其中B为批次数量。
在上述实施例的基础上,为了防止服务端通过客户端的通信获取最终参与本轮训练的客户端名单,可选的,本发明实施例中在服务端设置独立的加法器对每个目标客户端返回的更新数据进行叠加得到叠加值,将叠加值返回给服务端。采用上述方式得到叠加值之后,服务端不能获取参与训练的客户端的名单和客户端数量,可以有效防止隐私数据的泄露。
在服务端获取到加法器返回的叠加值之后,如果服务端需要获取本轮训练生成的模型参数更新值的均值时,服务端可以根据概率P计算目标客户端的数量的期望值M,然后根据期望值M及叠加值计算模型参数更新值的均值。具体的,期望值M=K*[P*K'/K+(1-K'/K)*(1-P)],其中K为客户端的总数量,K'为服务端随机选中的部分客户端的数量。
实际运用中,模型训练可以基于多轮训练进行实现,训练的轮数可以根据用户设置的隐私预算参数ε、隐私容忍度δ和高斯噪声参数σ(ε和δ为差分隐私的参数,σ为高斯噪声参数),在每轮训练结束,根据固定的ε和σ计算δ。当δ达到边界(δ的边界由客户端总数和客户端数据量决定,具体计算δ的过程可以参照Moments Accountant算法,时刻会计师算法进行确定),则停止训练,以保证隐私性。通过上述方式,能够使固定隐私预算下的训练轮次达到最大值,很好的平衡模型可用性和隐私性的关系。
为了便于理解,下面将结合具体的应用实施例对本发明实施例中的模型训练过程中的隐私保护方法进行描述,请参阅图2,实施例一,具体可以包括如下步骤:
201.服务端将需要训练的模型下发至各客户端;
由于模型训练需要多个轮次,在每个训练轮次中,需要训练的模型通常为上一轮训练得到的全局模型;
202.服务端对客户端进行随机采样,从全部客户端从挑选一部分客户端参与训练;
部分客户端数据足以支持完成训练,同时这种随机采样操作也能一定程度的降低隐私泄露风险;
203.客户端更改响应状态从而对实际参与情况进行扰动;
在这种扰动下,被服务端选取的客户端可能不参与训练,未被选取的客户端可能参与训练。
204.最终响应的客户端利用本地的私有数据来训练下发的全局模型,并计算出模型更新值;
205.客户端自适应地添加噪声到模型更新值中以实现差分隐私保护,并返回;
206.独立加法器聚合各客户端返回值并传给服务端;
使用加法器来进行返回值的接收和聚合,从而保证服务端无法得知哪些客户端进行了训练。
207.服务端估计实际参与客户端数量并将各客户端返回值进行平均操作,进而完成全局模型的更新。
请参阅图3,实施例二,具体可以包括如下步骤:
301.客户端随机响应和自适应的噪声添加;
在每一轮的训练过程中,服务端随机选取部分客户端参与训练。我们对这种服务端主导的客户端选取机制进行调整。在服务端采样结束,每个客户端根据采样结果完成状态参数初始化(状态参数为1表示客户端参与模型训练,为0则表示不进行训练),被服务端选取则置为1,未被选取则置为0。根据隐私预算ε(一般用隐私预算表示允许隐私泄露的程度,是需要设置的变量)来计算响应概率P(P=(eε)/(1+eε)时随机响应满足差分隐私)。每个客户端以P的概率保持原状态参数不变,同时以(1-P)的概率翻转状态参数。状态参数为1的客户端利用其本地数据完成模型训练,并对得到的模型更新值进行噪声添加。而状态为0的客户端将更新值置为0。最终,每个客户端返回更新值给加法器。
302.自适应地噪声添加;
利用高斯机制实现差分隐私,其中噪声方差为σ2S2。其中σ在训练前进行调节。在客户端每一回合的训练后,计算出模型参数更新值并求其二范数。在训练结束,将S设置为这些二范数的均值。从而根据每个客户端的实际更新值调整噪声添加。当更新值过大,噪声量也随之变大,以降低更新值与原始数据的相关性。同时,我们为高斯噪声添加权重1/B,其中B为批次数量(B为客户端数据切分的批次数量,用于表示客户端数据量),以尽可能地保留与梯度方向相同的噪声。
303.估计实际参与客户端数量。
假设客户端总数为K,服务端采样K'个客户端参与训练。在响应概率为P的情况下,每个客户端参与训练的概率可以表示为[P*K'/K+(1-K'/K)*(1-P)]。则实际参与训练客户端数量可以估计为K*[P*K'/K+(1-K'/K)*(1-P)]。通过构建极大似然函数,可以证明该值为实际参与客户端数量的极大似然估计。
304.隐私边界计算
给定隐私预算ε、隐私容忍度δ和噪声参数σ(ε和δ为差分隐私的参数,σ为高斯噪声的参数),在每轮训练结束,根据固定的ε和σ计算δ。当δ达到边界(δ的边界由客户端总数和客户端数据量决定,具体计算δ的过程可以参照Moments Accountant算法,时刻会计师算法进行确定),则停止训练,以保证隐私性。通过这种方式,能够使固定隐私预算下的训练轮次达到最大值,很好的平衡模型可用性和隐私性的关系。
本实施例中,采用随机响应机制实现了客户端参与情况对服务端的隐藏,能够很好的保护客户端隐私;(由于响应概率的扰动,最终参与训练的客户端数量在服务端采样数量上下浮动,但是实验证明这并不影响全局模型的收敛)本地自适应差分隐私机制在客户端本地完成模型更新值的保护操作,从而降低了原始更新值在传输过程中的隐私泄露风险,也能够避免不可信服务器的侵犯。
本发明实施例还提供了一种隐私保护***,包括客户端及服务端,客户端用于接收模块,用于接收服务端发送的目标模型,并接收服务端发送的选择指令,选择指令用于指示随机选中的部分客户端;
被选中的客户端以概率P参与目标模型训练,未被选中的客户端以概率(1-P)参与目标模型训练;
所有确定参与目标模型训练的客户端作为目标客户端,目标客户端分别采用本地数据对目标模型进行训练,并计算每个训练之后的目标模型的模型参数更新值;
按照预设差分隐私算法对每组模型参数更新值进行处理生成更新数据,并将更新数据返回给服务端,以使得服务端根据所有的更新数据生成本轮训练的全局模型。
可选的,作为一种可能的实施方式,本发明实施例中的隐私保护***还可以包括:
计算模块,用于获取隐私预算参数ε,根据公式P=(eε)/(1+eε)计算概率P。
可选的,作为一种可能的实施方式,本发明实施例中的客户端还可以用于:采用高斯噪声机制生成每组模型参数更新值的高斯噪声,将每组模型参数更新值的高斯噪声与对应的模型参数更新值进行叠加处理生成更新数据。
可选的,作为一种可能的实施方式,本发明实施例中的客户端还可以用于:
在目标客户端每一回合的训练后,计算出模型参数更新值对应矩阵的二范数,并计算N个回合的二范数的平均值S;
随机生成方差为σ2S2的高斯噪声。
可选的,作为一种可能的实施方式,本发明实施例中的客户端还可以用于:
采用批量梯度下降法对目标模型进行训练,并设置高斯噪声的权重为1/B,其中B为批次数量。
可选的,作为一种可能的实施方式,本发明实施例中的隐私保护***还可以包括独立加法器,独立加法器用于对每个目标客户端返回的更新数据进行叠加得到叠加值,将叠加值返回给服务端。
可选的,作为一种可能的实施方式,本发明实施例中的服务端可以用于:根据概率P计算目标客户端的数量的期望值M;根据期望值M及叠加值计算模型参数更新值的均值。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
上面从模块化功能实体的角度对本发明实施例中的模型训练过程中的隐私保护***进行了描述,请参阅图4,下面从硬件处理的角度对本发明实施例中的计算机装置进行描述:
该计算机装置1可以包括存储器11、处理器12和输入输出总线13。处理器11执行计算机程序时实现上述图1所示的模型训练过程中的隐私保护方法实施例中的步骤,例如图1所示的步骤101至104。或者,处理器执行计算机程序时实现上述各装置实施例中各模块或单元的功能。
本发明的一些实施例中,处理器具体用于实现如下步骤:
接收服务端发送的目标模型,并接收服务端发送的选择指令,选择指令用于指示随机选中的部分客户端;
被选中的客户端以概率P参与目标模型训练,未被选中的客户端以概率(1-P)参与目标模型训练;
所有确定参与目标模型训练的客户端作为目标客户端,分别采用本地数据对目标模型进行训练,并计算每个训练之后的目标模型的模型参数更新值;
按照预设差分隐私算法对每组模型参数更新值进行处理生成更新数据,并将更新数据返回给服务端,以使得服务端根据所有的更新数据生成本轮训练的全局模型。
可选的,作为一种可能的实施方式,处理器还可以用于实现如下步骤:
获取隐私预算参数ε,根据公式P=(eε)/(1+eε)计算概率P。
可选的,作为一种可能的实施方式,处理器还可以用于实现如下步骤:
采用高斯噪声机制生成每组模型参数更新值的高斯噪声,将每组模型参数更新值的高斯噪声与对应的模型参数更新值进行叠加处理生成更新数据。
可选的,作为一种可能的实施方式,处理器还可以用于实现如下步骤:
在目标客户端每一回合的训练后,计算出模型参数更新值对应矩阵的二范数,并计算N个回合的二范数的平均值S;
随机生成方差为σ2S2的高斯噪声。
可选的,作为一种可能的实施方式,处理器还可以用于实现如下步骤:
采用批量梯度下降法对目标模型进行训练,并设置高斯噪声的权重为1/B,其中B为批次数量。
可选的,作为一种可能的实施方式,处理器还可以用于实现如下步骤:
采用独立加法器对每个目标客户端返回的更新数据进行叠加得到叠加值,将叠加值返回给服务端。
可选的,作为一种可能的实施方式,处理器还可以用于实现如下步骤:
根据概率P计算目标客户端的数量的期望值M;
根据期望值M及叠加值计算模型参数更新值的均值。
其中,存储器11至少包括一种类型的可读存储介质,可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、磁性存储器、磁盘、光盘等。存储器11在一些实施例中可以是计算机装置1的内部存储单元,例如该计算机装置1的硬盘。存储器11在另一些实施例中也可以是计算机装置1的外部存储设备,例如计算机装置1上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器11还可以既包括计算机装置1的内部存储单元也包括外部存储设备。存储器11不仅可以用于存储安装于计算机装置1的应用软件及各类数据,例如计算机程序01的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
处理器12在一些实施例中可以是一中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行存储器11中存储的程序代码或处理数据,例如执行计算机程序01等。
该输入输出总线13可以是外设部件互连标准(peripheral componentinterconnect,简称PCI)总线或扩展工业标准结构(extended industry standardarchitecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。
进一步地,计算机装置还可以包括有线或无线网络接口14,网络接口14可选的可以包括有线接口和/或无线接口(如WI-FI接口、蓝牙接口等),通常用于在该计算机装置1与其他电子设备之间建立通信连接。
可选地,该计算机装置1还可以包括用户接口,用户接口可以包括显示器(Display)、输入单元比如键盘(Keyboard),可选的,用户接口还可以包括标准的有线接口、无线接口。可选的,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在计算机装置1中处理的信息以及用于显示可视化的用户界面。
图4仅示出了具有组件11-14以及计算机程序01的计算机装置1,本领域技术人员可以理解的是,图4示出的结构并不构成对计算机装置1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
本发明还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时,可以实现如下步骤:
接收服务端发送的目标模型,并接收服务端发送的选择指令,选择指令用于指示随机选中的部分客户端;
被选中的客户端以概率P参与目标模型训练,未被选中的客户端以概率(1-P)参与目标模型训练;
所有确定参与目标模型训练的客户端作为目标客户端,分别采用本地数据对目标模型进行训练,并计算每个训练之后的目标模型的模型参数更新值;
按照预设差分隐私算法对每组模型参数更新值进行处理生成更新数据,并将更新数据返回给服务端,以使得服务端根据所有的更新数据生成本轮训练的全局模型。
可选的,作为一种可能的实施方式,处理器还可以用于实现如下步骤:
获取隐私预算参数ε,根据公式P=(eε)/(1+eε)计算概率P。
可选的,作为一种可能的实施方式,处理器还可以用于实现如下步骤:
采用高斯噪声机制生成每组模型参数更新值的高斯噪声,将每组模型参数更新值的高斯噪声与对应的模型参数更新值进行叠加处理生成更新数据。
可选的,作为一种可能的实施方式,处理器还可以用于实现如下步骤:
在目标客户端每一回合的训练后,计算出模型参数更新值对应矩阵的二范数,并计算N个回合的二范数的平均值S;
随机生成方差为σ2S2的高斯噪声。
可选的,作为一种可能的实施方式,处理器还可以用于实现如下步骤:
采用批量梯度下降法对目标模型进行训练,并设置高斯噪声的权重为1/B,其中B为批次数量。
可选的,作为一种可能的实施方式,处理器还可以用于实现如下步骤:
采用独立加法器对每个目标客户端返回的更新数据进行叠加得到叠加值,将叠加值返回给服务端。
可选的,作为一种可能的实施方式,处理器还可以用于实现如下步骤:
根据概率P计算目标客户端的数量的期望值M;
根据期望值M及叠加值计算模型参数更新值的均值。
在本申请所提供的几个实施例中,应该理解到,所揭露的***,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种模型训练过程中的隐私保护方法,其特征在于,包括:
接收服务端发送的目标模型,并接收所述服务端发送的选择指令,所述选择指令用于指示随机选中的部分客户端;
被选中的客户端以概率P参与所述目标模型训练,未被选中的客户端以概率(1-P)参与所述目标模型训练;
所有确定参与所述目标模型训练的客户端作为目标客户端,分别采用本地数据对所述目标模型进行训练,并计算每个训练之后的目标模型的模型参数更新值;
按照预设差分隐私算法对每组模型参数更新值进行处理生成更新数据,并将所述更新数据返回给服务端,以使得所述服务端根据所有的所述更新数据生成本轮训练的全局模型。
2.根据权利要求1所述的方法,其特征在于,还包括:
获取隐私预算参数ε,根据公式P=(eε)/(1+eε)计算概率P。
3.根据权利要求1或2所述的方法,其特征在于,所述按照预设差分隐私算法对每组模型参数更新值进行处理生成更新数据,包括:
采用高斯噪声机制生成每组模型参数更新值的高斯噪声,将每组模型参数更新值的高斯噪声与对应的模型参数更新值进行叠加处理生成更新数据。
4.根据权利要求3所述的方法,其特征在于,所述采用高斯噪声机制生成每组模型参数更新值的高斯噪声,包括:
在目标客户端每一回合的训练后,计算出模型参数更新值对应矩阵的二范数,并计算N个回合的二范数的平均值S;
随机生成方差为σ2S2的高斯噪声。
5.根据权利要求4所述的方法,其特征在于,还包括:
采用批量梯度下降法对目标模型进行训练,并设置高斯噪声的权重为1/B,其中B为批次数量。
6.根据权利要求5所述的方法,其特征在于,将所述更新数据返回给服务端,包括:
采用独立加法器对每个所述目标客户端返回的更新数据进行叠加得到叠加值,将所述叠加值返回给所述服务端。
7.根据权利要求6所述的方法,其特征在于,还包括:
所述服务端根据所述概率P计算所述目标客户端的数量的期望值M;
所述服务端根据所述期望值M及所述叠加值计算模型参数更新值的均值。
8.一种隐私保护***,其特征在于,包括客户端及服务端,所述客户端用于接收模块,用于接收服务端发送的目标模型,并接收所述服务端发送的选择指令,所述选择指令用于指示随机选中的部分客户端;
被选中的客户端以概率P参与所述目标模型训练,未被选中的客户端以概率(1-P)参与所述目标模型训练;
所有确定参与所述目标模型训练的客户端作为目标客户端,所述目标客户端分别采用本地数据对所述目标模型进行训练,并计算每个训练之后的目标模型的模型参数更新值;
按照预设差分隐私算法对每组模型参数更新值进行处理生成更新数据,并将所述更新数据返回给服务端,以使得所述服务端根据所有的所述更新数据生成本轮训练的全局模型。
9.一种计算机装置,其特征在于,所述计算机装置包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如权利要求1至7中任意一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现如权利要求1至7中任意一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010953756.3A CN112052480A (zh) | 2020-09-11 | 2020-09-11 | 一种模型训练过程中的隐私保护方法、***及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010953756.3A CN112052480A (zh) | 2020-09-11 | 2020-09-11 | 一种模型训练过程中的隐私保护方法、***及相关设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112052480A true CN112052480A (zh) | 2020-12-08 |
Family
ID=73611201
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010953756.3A Pending CN112052480A (zh) | 2020-09-11 | 2020-09-11 | 一种模型训练过程中的隐私保护方法、***及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112052480A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112580106A (zh) * | 2021-01-26 | 2021-03-30 | 证通股份有限公司 | 多源数据处理***以及多源数据处理方法 |
CN113282960A (zh) * | 2021-06-11 | 2021-08-20 | 北京邮电大学 | 一种基于联邦学习的隐私计算方法、装置、***及设备 |
CN113762525A (zh) * | 2021-09-07 | 2021-12-07 | 桂林理工大学 | 一种具有差分隐私保护的联邦学习模型训练方法 |
CN117557870A (zh) * | 2024-01-08 | 2024-02-13 | 之江实验室 | 基于联邦学习客户端选择的分类模型训练方法及*** |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190147188A1 (en) * | 2017-11-16 | 2019-05-16 | Microsoft Technology Licensing, Llc | Hardware protection for differential privacy |
CN111611610A (zh) * | 2020-04-12 | 2020-09-01 | 西安电子科技大学 | 联邦学习信息处理方法、***、存储介质、程序、终端 |
-
2020
- 2020-09-11 CN CN202010953756.3A patent/CN112052480A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190147188A1 (en) * | 2017-11-16 | 2019-05-16 | Microsoft Technology Licensing, Llc | Hardware protection for differential privacy |
CN111611610A (zh) * | 2020-04-12 | 2020-09-01 | 西安电子科技大学 | 联邦学习信息处理方法、***、存储介质、程序、终端 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112580106A (zh) * | 2021-01-26 | 2021-03-30 | 证通股份有限公司 | 多源数据处理***以及多源数据处理方法 |
CN113282960A (zh) * | 2021-06-11 | 2021-08-20 | 北京邮电大学 | 一种基于联邦学习的隐私计算方法、装置、***及设备 |
CN113282960B (zh) * | 2021-06-11 | 2023-02-17 | 北京邮电大学 | 一种基于联邦学习的隐私计算方法、装置、***及设备 |
CN113762525A (zh) * | 2021-09-07 | 2021-12-07 | 桂林理工大学 | 一种具有差分隐私保护的联邦学习模型训练方法 |
CN113762525B (zh) * | 2021-09-07 | 2024-04-05 | 桂林理工大学 | 一种具有差分隐私保护的联邦学习模型训练方法 |
CN117557870A (zh) * | 2024-01-08 | 2024-02-13 | 之江实验室 | 基于联邦学习客户端选择的分类模型训练方法及*** |
CN117557870B (zh) * | 2024-01-08 | 2024-04-23 | 之江实验室 | 基于联邦学习客户端选择的分类模型训练方法及*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112052480A (zh) | 一种模型训练过程中的隐私保护方法、***及相关设备 | |
JP6585301B2 (ja) | Captchaチャレンジの動的な更新 | |
EP2998848B1 (en) | Method, device, and apparatus for controlling screen rotation | |
CN111477290A (zh) | 保护用户隐私的联邦学习和图像分类方法、***及终端 | |
CN104836781B (zh) | 区分访问用户身份的方法及装置 | |
US10171604B2 (en) | System and method for pushing network information | |
CN114819190A (zh) | 基于联邦学习的模型训练方法、装置、***、存储介质 | |
CN112994981B (zh) | 时延数据的调整方法和装置、电子设备和存储介质 | |
CN108920037B (zh) | 一种房屋的虚拟三维空间的显示方法及装置 | |
CN110874638B (zh) | 面向行为分析的元知识联邦方法、装置、电子设备及*** | |
CN104680041A (zh) | 一种离线软件授权有效性验证方法 | |
CN114003510A (zh) | 基于Mock服务的脚本测试方法、装置、设备及介质 | |
CN109660508A (zh) | 数据可视化方法、电子装置、计算机设备及存储介质 | |
CN107948177A (zh) | 验证问卷的生成方法和装置 | |
CN110891660A (zh) | 用于在计算机装置之间同步数据的***和方法 | |
KR102445530B1 (ko) | 공공복지 활동의 시각화를 위한 방법 및 장치 | |
CN108696530B (zh) | 一种在线加密数据安全评估方法和装置 | |
CN110363648A (zh) | 一种基于同一地理类型多维度属性校验方法、装置和电子设备 | |
CN113361380A (zh) | 人体关键点检测模型训练方法、检测方法及装置 | |
CN111538410A (zh) | 一种vr场景中确定目标算法的方法及装置、计算设备 | |
CN111695012A (zh) | 上网信息的获取方法、装置、电子设备及计算机存储介质 | |
CN110580200A (zh) | 数据同步方法和装置 | |
CN109377233A (zh) | 一种风险监测方法和装置 | |
CN112016123B (zh) | 隐私保护算法的验证方法、装置及电子设备 | |
CN111386546B (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 |