cef 最小化在哪实现_满足差分隐私的经验误差最小化方法

手上的东西有点进行不下去,滚过来写专栏作下回顾。上次聊了聊差分隐私的定义,那么现在我们要在差分隐私的框架上实现机器学习任务。

关于差分隐私机器学习这个方向,Kamalika Chaudhuri 在nips17上有一个tutorial 《Differentially Private Machine Learning: Theory, Algorithms, and Applications》,比较全面,完整地介绍了从差分隐私到差分隐私机器学习这么一条脉络,她本人也是当年开创性地将差分隐私和机器学习结合在一起的大佬。这篇文章基本上也是学习了这篇tutorial后的一些收获,有兴趣的同学可以到她的主页获取关于那篇tutorial的资料。

Differential Privacy

shjj:[读书笔记]差分隐私概念初步

简单回顾差分隐私的概念

88010408d386209c5cd26d63ae40a888.png
Definition of differential privacy

对于差分隐私算法

来说,任意相邻数据集
(只相差一个样本的数据集),经算法
得到的输出有相似的分布,从而使得攻击者无法根据输出对输入(数据集)中的个体(个体隐私)作出有效的(置信度高的)推断。

一类典型的实现差分隐私的方法为基于原函数的函数敏感度添加Laplace Noise进行扰动。

ca09afacfb4d8bc51dbc5e5987e4e2ad.png

我们期望得到一类在差分隐私框架下的机器学习模型A,使得原先的机器学习模型具有隐私保护能力。具体而言,即一类经验误差最小化模型,再具体而言...一类线性核的经验误差最小化模型(Logistic Regression/SVM/Least squares...)

首先简单说说线性分类模型的隐私泄露问题。最为直观地,在一维情况下,线性分类器会返回样本的中位数,而中位数通常是一个具体样本的取值,那么这个样本的即被暴露给了获得模型的使用者,我们认为这侵犯到了他的隐私。在高维情况下依然存在相似的情况。具体见发表于SODA13的The Power of Linear Reconstruction Attacks一文。


Private Empirical Risk Minimization

对于机器学习常见的一类经验损失最小化方法,有以下这个形式。

2674deb0a96aa9e80f4a96f8d0be1dc0.png
Empirical Risk Minimization (ERM)

其中

为正则项,用来抑制过拟合。我们想做的既是让整个argmin函数满足于之前的差分隐私方法,使得输出的模型参数
对于任意相邻数据集
具有相似分布的输出。

9be0d1fa893f11df12d3f4fda13e1d3a.png

从隐私保护的角度讲,我们只要截断了从原始输入到输出,在其中加入一道隐私保护屏障,具体在哪一步截断则对应于不同的方法。 上图给出了现有的privateERM设想中考虑的截断设置。

  • 输入扰动,输入扰动在获取数据时直接为数据添加上噪声,之后的计算基于添加了噪声的数据。
  • 目标扰动,目标扰动在目标函数中添加一个随机量,以导出最终模型输出的随机性
  • 优化扰动,优化扰动在执行最小化的过程中,设计满足于差分隐私的优化算法
  • 输出扰动,输出扰动是最简单直接的Laplace Mechanism思路延续下来的方法,基于输出(模型参数)的敏感度对模型添加噪声

值得一提的是,其中输出扰动,目标扰动和优化扰动(更确切地说是梯度扰动)都是Chaudhuri及她的学生提出来的,真的是太强啦!!!

在具体介绍各个方法前,首先对于ERM这个问题设置作进一步的细化。

首先,考虑生成的是一个线性分类器,它有满足以下条件的输入与输出

33ea7f18d535d1977642b98448dfeec4.png
Input

f0fff3d8971c397c275485d904146d16.png
ouput

在这里我们约束了loss函数的Lipschitz常数,将输入向量

归到了单位球内部,为使得loss处处可微,要求正则项为L2范数。

[对于正则项为L1范数的情况,之后也有相应的工作,(Daniel Kifer, COLT2012)]

输出是我们期望得到的一个满足差分隐私的predictor。

接下来是具体的方法


Output Perturbation

刚才提到,输出扰动沿袭了Laplace Mechanism最简单的思路,即考虑函数输出的敏感度来添加噪声,那么在这里我们只需考虑argmin函数输出的敏感度,基于这个敏感度来添加Laplace Noise即得到了一个简单的privateERM方法。

[(Kamalika Chaudhuri, NIPS2008 JLMR2011)]

c2741441cf02edc1dd320d4ff1c21323.png
Output Perturbation

对于argmin的敏感度,简化推导过程如下

af3662a68179baff58cc1aa51bb2bac5.png

24d0f5d68320bfb5d89219511c4c78e5.png

Objective Perturbation

目标扰动在目标函数中添加一个随机量,以导出最终模型输出的随机性。

[(Kamalika Chaudhuri, NIPS2008 JLMR2011)]

502879a103efc430e3702d826c10a645.png
Objective Perturbation

考虑在优化终点的情况,对于不加保护的ERM有:

83c186c753d1e31bbc0a6b698fa5927c.png
Non-private method

而在目标扰动方法中,构建了随机噪声

与输出
的映射,在给定数据集
的情况下,这两者是一一对应的。

96e74312d165b6974b6bac4e8edcc3bc.png
Private method

考虑目标扰动的隐私保护证明,有

3f826a4c715603da8b0f8f463343a3f3.png

我们可以发现,从随机噪声

到输出
之间进行概率分布转换时还需乘上一个Jacobi矩阵的行列式。如上求
两行列式比值的上界,以此为噪声
的尺度提供依据:

a3a95d8060ae3a5d9ea8dc7f19dd4fce.png

目标扰动方法并不基于函数的敏感度,而是通过一个巧妙的方法建立起了随机噪声与输出之间的对应关系,从而实现输出的随机性,形成满足差分隐私的隐私保护算法。这样的方式非常地亮眼,但ummmm很可惜地是后来也没有类似的构建随机性的dpERM方法(暂未读到)。

Optimization perturbation

优化扰动方法考虑构建满足于差分隐私的优化求解算法,这里通常使用 Stochastic Gradient Descent (SGD)方法。[(Shuang Song, GlobalSIP2013)]

考虑SGD的形式有:

eb231985cf8db0b70b339682870ceec1.png
Stochastic Gradient Descent

在每次更新中添加噪声,以建立隐私保护。

d2d07594b02fb32d9689f6a849552892.png

这里存在的一个问题是,由于dp的性质,多次对同一样本进行dp算法会降低隐私保护程度。简单来说,如果你对一个输出多次运行dp后得到这些值,那么通过求均值的方式便可以将噪声的影响消去(因为噪声的期望是0),从而获得数据信息。

所以这里的SGD方法不能够对同一样本求多次梯度,只能够遍历数据集一遍。实验发现若是使用朴素的SGD,效果比较差(只对一个样本计算梯度,迭代混乱),因此加入了batch的方式,并限制每个batch互斥,具体效果下一节作一个展示。

这个方法受限于只能够遍历一次数据集,到底能不能收敛令人担忧,之后的工作对于多次遍历场景下dp-SGD的隐私保护程度进行了探索。[(Raef Bassily, FOCS2014) (Martín Abadi, CCS2016) (Jiaqi Zhang, IJCAI2017)]

Input Perturbation

输入扰动的方法显然是能够实现dp的,但是就目前来看它会毁掉整个ERM的学习性能。

做了两张图,分别表示一维和二维场景下加入Laplace 噪声后的数据变化。

7e6977d6e6f539c31efe9060e0573431.png

e95d1e046051895cd7ed397b1d7ea16f.png

可以发现,原先易分的数据在添加噪声之后的分布完全是混乱的。输入扰动这块目前也没有具有实用性的工作出来。

如果说我们要通过输入扰动方法来实现dp,那么我觉得可能需要一个比较好的抗噪声的表示转换方法,使得加入噪声后的表示依然能够通过ERM进行学习。


Experiment

实验这块因为三种方法两篇论文先后发表,而后一篇(dp-sgd)也未对前两者作比较,故而这里先分别展示两篇论文中的实验结果,然后是我自己的实现中三种方法的性能比较。

Privacy-Accuracy Tradeoff

首先来看模型的学习性能,对于一个dp算法的学习性能考量,我们通常会遍历其dp的privacy budget(

) ,然后来看模型性能(如分类准确度)的变化。

6f94a2988c385d143f6a3b492d900945.png
UCI-Adult,105-dim

96c3fe9da65a1e53ee3d46c95e15422c.png
KDD99,119-dim

可以看到,目标扰动方法全面优于了输出扰动方法,关于这一点论文中给出了具体的泛化性能分析。理论分析结果与实验结果是一致的,目标扰动保留了更好的学习性能。

Regularization

27c0e180c51183c4d0f1508a8ba1e663.png
UCI-Adult privacy: 0.1

997e56d96828d13025bbec4f652cf3c8.png
KDD99 privacy: 0.1

这个实验比较了不同正则项参数下的模型准确度变化。其中比较有意思的一点是,对于privateERM来说,正则项的增大帮助了提高模型性能。在表中可以看到Non-Private方法在正则项增大的情况下很早就达到了准确度峰值,之后随正则项增加,准确度是降低的,这也是比较符合我们的认识的。但对于privateERM,随着正则项参数的增大,峰值姗姗来迟,这一点可以这么来解释:正则项是有利于形成隐私保护的。最直接地,对于输出扰动,正则项越大,模型的输出受限越大,敏感度越低则噪声越小。

Privacy-Dataset Size Tradeoff

ecd5fd494e0a10445b86c1293501a517.png

这个实验展示了,在Non-Private方法学习到饱和后,继续增加数据,PrivateERM能够继续提高准确度。

Accuracy-Batch size Tradeoff

28d9c03618ec63311de72ee1d9b5da78.png
dp-SGD one pass on dataset

这里的实验目的是考虑dp-sgd的优化性能,故而选择目标函数值作为y轴,执行20次的平均值得到private的曲线。可以看到在batch size取1时,优化过程基本是偏离了目标的,且非常不稳定。而batch size=10时,优化的效果是比较好的(逼近于non-private时的优化曲线)。

我自己也作了下实验,对于输出扰动和目标扰动,情况与论文中相似,目标扰动方法全面占优。但梯度扰动即dp-sgd在我这里的结果因为实在是懒得好好去调一下参数了,效果是不如目标扰动方法的。基本上是下面这个样子。

a268c7ea5b07fbcd492026df890d6197.png

其中majority曲线指直接输出占比较大的类别,lr_NF指non-private logistic regression,分别表示这个问题的上下界。

Conclusion

1 - reduce over-fitting <-> privacy

其实上面关于正则项和增量数据集的实验摆到一起来,我们可以看到抑制过拟合与差分隐私之间的那种微妙的一致性。抑制过拟合的目的是避免模型偏离数据的泛化特征,学到数据集的局部特征,而差分隐私是希望减少个体数据对最终模型的影响。从上面两点来看,正则项和增量数据集两种抑制过拟合的方法都能够提高privateERM的性能。

这不禁令人浮想联翩,那么,其它的抑制过拟合的方法呢?要知道差分隐私方法最大的痛处就是添加的噪声会降低模型的性能,以致失去实用性,若是能够通过加入减少过拟合的方法来引出隐私保护,那么对于差分隐私方法的性能提升将是非常有意义的。

之后 也有看到利用dropout来实现差分隐私的方法。[(Beyza Ermis, 2017)]

当然了,这里还有很多种可能。

2 - methods without sensitivity

目标扰动方法通过在目标函数中加入随机噪声来构建输出模型的随机性以实现差分隐私。这种方法比较有意思在它跳出了函数敏感度的桎梏,怎么来设计新的dp mechanism也是一块荒原啊。

参考文献

[1] Kamalika Chaudhuri, Anand D. Sarwate: Differentially Private Machine Learning: Theory, Algorithms, and Applications nips2017 tutorial

[2] Shiva Prasad Kasiviswanathan, Mark Rudelson, Adam D. Smith: The Power of Linear Reconstruction Attacks. SODA 2013: 1415-1433

[3] Kamalika Chaudhuri, Claire Monteleoni: Privacy-preserving logistic regression. NIPS 2008: 289-296

[4] Kamalika Chaudhuri, Claire Monteleoni, Anand D. Sarwate: Differentially Private Empirical Risk Minimization. Journal of Machine Learning Research 12: 1069-1109 (2011)

[5] Daniel Kifer, Adam D. Smith, Abhradeep Thakurta: Private Convex Optimization for Empirical Risk Minimization with Applications to High-dimensional Regression. COLT 2012: 25.1-25.40

[6] Shuang Song, Kamalika Chaudhuri, Anand D. Sarwate: Stochastic gradient descent with differentially private updates. GlobalSIP 2013: 245-248

[7] Raef Bassily, Adam D. Smith, Abhradeep Thakurta: Private Empirical Risk Minimization: Efficient Algorithms and Tight Error Bounds. FOCS 2014: 464-473

[8] Beyza Ermis, Ali Taylan Cemgil: Differentially Private Dropout. CoRR abs/1712.01665 (2017)

[9] Martín Abadi, Andy Chu, Ian J. Goodfellow, H. Brendan McMahan, Ilya Mironov, Kunal Talwar, Li Zhang: Deep Learning with Differential Privacy. ACM Conference on Computer and Communications Security 2016: 308-318

[10] Jiaqi Zhang, Kai Zheng, Wenlong Mou, Liwei Wang: Efficient Private ERM for Smooth Objectives. IJCAI 2017: 3922-3928


ummm写得有点乱,有什么不足的地方期待您的建议。谢谢~

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值