AdaCliP: Adaptive Clipping for Private SGD

motivation:相比DPSGD,同样的隐私保证下能够添加更小的噪声。

methods:非凸函数下,通过梯度转换,限制方差,最终得到小噪声。

重要知识点:提供隐私保护近似的一种常见技术是限制函数的灵敏度,并添加与灵敏度界成比例的高斯噪声。为此,我们需要在每一轮SGD中限制梯度的灵敏度。这可以通过几种方式实现。

如果损失函数是可微的(如果不可微则使用子梯度),并且有Lipschitz界,[16]用Lipschitz界对梯度范数设界,并利用它推导梯度的灵敏度。如果损失函数的导数作为输入的函数有界(例如,在逻辑回归的情况下,可以用可能的最大输入范数来限制梯度范数),从而得出梯度的灵敏度。在深度学习应用中,如果损失函数没有已知的Lipschitz界,则很难推导出梯度模的先验界。在训练的每次迭代中,[39]提出使用公共数据来获得梯度范数的近似界,并在这个近似界上剪切梯度。然而,公共数据的可用性是一个强有力的假设,[13,14]剪辑了没有公共数据可用性的梯度。我们还假设不能访问公共数据。

gt是梯度下降向量,辅助向量at,bt

转换向量wt=(gt-at)/bt;裁剪之后wt-hat;加噪声之后变成wt~,最后还原成

 通过引理2可以得出,新梯度的方差bias很重要,通过triangle inequality and Jensen’s inequality,得出:

找最优at bt可以去bound ,然后把上述公式简化为:

 上式中的第一项对应于变换后的梯度wt可能被裁剪的情况。第二项对应于注入到剪切梯度的高斯噪声。通过公式直接找at bt有点难,所以限制裁剪:

去最小化添加的高斯噪声。

 

因此最后总的噪声范数的期望就是:

 原来的梯度漂白:

现在通过 

可以看出传统的加噪声方式添加了更多的噪声

 

 

每一个B之后,调整均值和方差,因为在迭代中没有直接的随机梯度,所以采用指数平均方法对之前的梯度和现在的梯度进行调整。 

实验结果较好: 

 

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值