其他分享
首页 > 其他分享> > 论文阅读:Deep Learning with Differential Privacy

论文阅读:Deep Learning with Differential Privacy

作者:互联网

论文名字

Deep Learning with Differential Privacy

来源

会议 23rd ACM (CCS2016)

年份

2016.10

作者

Martín Abadi, Andy Chu, Ian Goodfellow, H. Brendan McMahan, Ilya Mironov, Kunal T alwar, Li Zhang

核心点

差分隐私框架下隐私成本进行改良,能进行准确的分析,使用非凸目标训练深度神经网络。

阅读日期

2021.1.25

影响因子

 

页数

14

引用数

 

引用

Abadi M , Chu A , Goodfellow I , et al. Deep Learning with Differential Privacy[C]// the 2016 ACM SIGSAC Conference. ACM, 2016.

内容总结

文章主要解决的问题及解决方案:

问题:以往的工作对参数较少的凸模型和隐私损失较大的复杂神经网络都取得较好的结果。

本文:本文结合先进的机器学习方法和先进的隐私保护机制,在适当的隐私预算中训练神经网络。

 

文章的主要工作:

①通过跟踪隐私损失的详细信息(高阶矩),可以从渐进和经验两个方面获得对整体隐私损失更严格的估计。

②提出独立训练样本计算梯度的高效算法(文章内容第⑤点1)有详细算法流程),任务分成小堆,输入层使用差分隐私策略投影。

③用TensorFlow建立DP模型,使用MNIST/CIFAR数据集。使用规范化(norm)避免对训练样本过拟合。

文章内容:

①差分隐私的定义:

PMD∈SeεPMD'∈S+δ

属性:

1)可组合性:如果一个机构的所有组件都是不同的私有的,那么它们的组合也是满足差分隐私。

2)组隐私性:如果数据集包含相关的输入(如同一个人提供的输入),则组隐私意味着隐私保证的适当降级。

3)辅助信息的健壮性:对辅助信息的稳健性意味着隐私保证不受对手可用的任何辅助信息的影响

②高斯机制:

Md≜fd+N0,Sf2σ2

③应用:

1)重复应用加噪音机制的差分隐私性遵循基本合成定理,或高级合成定理及其改进。

2)跟踪复合机制执行过程中累积的隐私损失并执行适用的隐私策略的任务可以由隐私计算(privacy accountant)执行

3)因此设计一种差分私有加噪音机制的步骤:

  i)通过有界灵敏度的顺序组成来逼近函数

  ii)选择加噪参数

  iii)对生成机制进行隐私分析

     ④深度学习:SGD算法

⑤文中提出的方法中,有三个主要步骤:a differential private stochastic gradient descent(SGD) algorithm,the moment accountant 和 超参数调整。

1)differential private SGD algorithm

输入:x1,…,xN,损失函数:Lθ=1Niθ,xi,参数:学习率ηt,噪声等级(界限)σ,组大小(group size)L,梯度范数界限(gradient norm bound)C

初始化:θ0(随机初始化)

循环(t∈[T]):①随机抽样Lt,抽样概率为LN,②计算梯度:对于每一个i∈Lt计算其梯度,gtxiθtLθt,xi;③剪切梯度:gtxigtximax1,gtxi2C;④添加噪声:gt1Ligtxi+N0,σ2C2I;⑤梯度更新:θt+1θt-ηtgt

输出:θT和计算所有的隐私成本(privacy cost ε,δ)。

(其中,梯度裁剪是SGD常用的方法,非差分隐私的)

 

裁切:g2≤Cg保留;g2>C,C。

Lots:分组,像普通的SGD算法一样,文中的算法通过计算一组例子的梯度并取平均估算L的梯度。这个平均值提供了一个无偏差的估算值,它的变化随着数据量的增加迅速减少。称这个组合为lot,与通常的计算组合batch区别开。为了限制内存消耗,设置batch的容量远小于lot,batch是算法的参量。对batch进行计算,然后将batch放在一个lot中为了添加噪声。(目前理解是一个batch添加一次噪声)

Moments accountant:对于特定噪声分布下的隐私损失以及隐私损失的构成进行了大量的研究,产生最佳整体限制的结果是强组合理论,然而强组合理论可能是不准确的,无法将特殊噪声分布纳入考虑。文中所提方法相较于强组合理论,σ能节省log。(目前理解是σ的节省,能带来更大的ε,隐私保护强度可以做到更高,所以文中的方法更有效)

⑥the moments accountant:其跟踪隐私损失随机变量,概括了追踪(ε,δ)的传统方法和使用强组合理论直接从它组合可能导致结果是松的。我们转而计算隐私损失随机变量时刻的对数矩(log),这些是线性组合的。之后,使用the moment bound和Markov inequality(马尔代夫不等式)来获得尾部边界,那就是差分隐私上的隐私丢失。

隐私损失定义为:

co;M,aux,d,d'logPrMaux,d=oprMaux,d'=o

⑦我们可以调节的超参数,从而平衡隐私、准确性和性能。我们发现对于神经网络模型结构的准确性对训练参数更敏感,比如batch的容量、噪声水平。凸目标函数的差分隐私优化是使用小到1的批处理大小(batch size)来最佳实现的,非凸学习本身固有的稳定性较差,这受益于聚集成较大的Batch。当模型收敛到局部最优时,非差分隐私训练中的学习率通常会向下调整。我们永远不需要把学习率降低到一个很小的值,因为从本质上讲,差分隐私训练永远不会达到一个需要被判断的领域。

⑧实施:

实验的两个步骤:①sanitzer:对梯度预处理以保护隐私;②privacy-accountant:跟踪训练过程中的隐私成本。

Sanitizer:执行两个操作:通过裁剪每个示例的梯度范数来限制每个示例的灵敏度;在更新网络参数之前,将噪声添加到一批的梯度中。我们当前的实现支持损失函数L的bacthed计算,其中每个xi都单独连接到L,允许我们处理大多数隐藏层,但不能处理卷积层。一旦我们能够访问每个示例的梯度,就很容易使用TensorFlow操作符来剪辑它的范数和添加噪声。

Privacy accountant:实施的主要组成部分是Privacy Accountant,它在训练过程中跟踪隐私开销。第一种方法恢复了一般的高级组合定理,后两种方法对隐私损失进行了更准确的计算。根据Theorem2.2在训练期间的任何时候,都可以使用(epslion,delta)隐私更可解释的概念查询隐私损失。我们通过提前确定迭代次数和隐私参数,避免他们的攻击和负面结果。隐私计算的更一般实现必须正确区分作为隐私距离或隐私过滤器的两种操作模式

⑧Differentially private PCA: 我们从训练样本中随机抽取一个样本,将它们视为向量,然后将每个向量归一化为2范数以形成矩阵A,其中每个向量都是矩阵中的一行。 然后,我们将高斯噪声添加到协方差矩阵ATA并计算有噪协方差矩阵的主要方向。然后,对于每个输入示例,我们将投影应用于这些主要方向,然后再将其提供给神经网络。由于运行PCA,我们产生了隐私成本。然而,我们发现它对于提高模型质量和减少训练时间都是有用的,正如我们在MNIST数据上的实验所表明的那样。

 

实验结果:

强合成定理与文中方法的对比,证明文中方法需要的epsilon更低,即可提供更高的隐私保护。

使用了PCA以及添加了噪声的accuracy结果。

(ε,δ)对实验accuracy的影响

附录:

算法1:

非凸最优化问题:

数学中最优化问题的一般表述是求取x∗∈χ 使得 f(x∗)=min{f(x):x∈χ},其中x是n维向量,χ是x的可行域,f是χ上的实值函数。凸优化问题是指χ是闭合的凸集且f是χ上的凸函数的最优化问题,这两个条件任一不满足则该问题即为非凸的最优化问题。

L2范数:

梯度裁剪问题:

参考博客:https://www.cnblogs.com/xdroc/p/14100114.html

https://www.e-learn.cn/topic/3585472

标签:Privacy,梯度,Differential,噪声,batch,差分,隐私,损失,Learning
来源: https://blog.csdn.net/qq_39715243/article/details/113137913