MindArmour差分隐私
总体设计
MindArmour的Differential-Privacy模块,实现了差分隐私训练的能力。模型的训练主要由建立训练数据集、计算损失、计算梯度以及更新模型参数等过程组成,目前MindArmour的差分隐私训练主要着重于估算梯度的过程差分隐私拉普拉斯机制代码,通过相应的算法对梯度进行剪裁、加噪等处理,进而保护用户数据隐私。
图1差分隐私总体设计
图1是差分隐私训练的总体设计,主要由差分隐私噪音机制(DPMechanisms)、差分隐私优化器(DPOptimizer)、差分隐私监控器(PrivacyMonitor)组成。
差分隐私优化器
差分隐私优化器承继了MindSpore优化器的能力,并使用差分隐私的噪音机制,对梯度加扰保护。目前,MindArmour提供三类差分隐私优化器:固定高斯优化器、自适应高斯优化器、自适应剪裁优化器,每类差分隐私优化器,从不同的角度为SGD、Momentum等常规优化器,降低差分隐私保护的能力。
固定高斯优化器,是一种非自适应高斯噪音的差分隐私优化器。其优势在于可以严格控制差分隐私预算ϵ,缺点是在模型训练过程中,每位Step添加的噪音量固定,若迭代次数过大,训练后期的噪音促使模型收敛困难,甚至造成性能急剧上涨,模型可用性差。
自适应高斯优化器,通过自适应调整标准差,来调整高斯分布噪音的大小,在模型训练早期,添加的噪音量较大,随着模型渐渐收敛,噪音量日渐增大,噪音对于模型可用性的影响减弱。自适应高斯噪音的缺点是不能严格控制差分隐私预算。
自适应剪裁优化器,是一种自适应调整调整剪裁细度的差分隐私优化器,梯度剪裁是差分隐私训练的一个重要操作,自适应剪裁优化器就能自适应的控制梯度裁切的的比列,在给定的范围波动,控制迭代训练过程中梯度裁切的细度。
差分隐私的噪音机制
噪音机制是建立差分隐私训练能力的基础,不同的噪音机制满足不同差分隐私优化器的需求,包括固定高斯分布噪音、自适应高斯分布噪音、自适应剪裁高斯分布噪音、拉普拉斯分布噪音等多种机制。
Monitor
Monitor提供RDP、ZCDP等反弹函数,用于检测模型的差分隐私预算。
ZCDP[2]
ZCDP,zero-concentrateddifferentialprivacy,是一种下摆的差分隐私定义,借助Rényi散度来测度随机函数在相邻数据集上的分布差别。
RDP[3]
RDP差分隐私拉普拉斯机制代码,RényiDifferentialPrivacy,是一种更通用的基于R’enyi散度的差分隐私定义,借助Rényi散度来测度两个相邻数据集的分布差别。
相对于传统差分隐私,ZCDP和RDP都能才能提供愈加严格的隐私预算下界保证。
代码实现
mechanisms.py:这个文件实现了差分隐私训练所需的噪音生成机制,包括简单高斯噪音、自适应高斯噪音、自适应剪裁高斯噪音等。
optimizer.py:这个文件实现了使用噪音生成机制在反向传播时添加噪音的根本逻辑。
monitor.py:实现了估算差分隐私预算的反弹函数,模型训练过程中,会反馈当前的差分隐私预算。
model.py:这个文件实现了估算损失和梯度的逻辑,差分隐私训练的梯度截断逻辑在此文件中实现,且model.py是用户使用差分隐私训练能力的入口。
参考文献
[1]Dwork,Cynthia,andJingLei.“Differentialprivacyandrobuststatistics.”Proceedingsoftheforty-firstannualACMsymposiumonTheoryofcomputing.2009.
[2]Lee,Jaewoo,andDanielKifer.“Concentrateddifferentiallyprivategradientdescentwithadaptiveper-iterationprivacybudget.”Proceedingsofthe24thACMSIGKDDInternationalConferenceonKnowledgeDiscovery&DataMining.2018.
[3]Mironov,Ilya.“Rényidifferentialprivacy.”2017IEEE30thComputerSecurityFoundationsSymposium(CSF).IEEE,2017.
暂无评论内容