什么是差分隐私

之所以写这篇博是因为,不管我是在看联邦学习的隐私泄露的论文,还是后来看到的机器遗忘学习的论文,其中的对比方法就有差分隐私,可见这是一个里程碑一样的算法,被这么多新的保护隐私的方法用作对比,可见其经典。所以我在这里小小研究了一下差分隐私到底应用的场景是什么,怎么做的,优缺点等

这篇博客主要是B站视频:差分隐私:原理、应用与展望的笔记

背景

个人隐私的保护现在已经是一个非常热门的话题。如何保护个人隐私不会泄露?

现有研究表明是存在数据重构攻击可以使得攻击者可以获取用户的隐私信息。比如攻击者通过一个自己掌握的数据集,去推断一个被匿名化的数据集中的信息。其基本思路是是使用线性规划重构数据。即使数据是使用噪声进行扰动之后,仍可以将数据圈定在一个大致的范围,因为扰动不会很明显,太过分的扰动会影响模型的训练。哪怕每个统计数据都加入了相当程度的噪声,只要有足够多的统计数据,仍然可以重构出源数据中的大部分元组。这个结论是有实验支撑的,美国普查局用他们2010年所发布的一组统计数据试验了数据重构攻击,结果表明,可以重构17%美国人口的数据。因此使用了差分隐私的方法来保护隐私。from:https://csrc.nist.gov/Presentations/2021/differential-privacy-and-the-2020-census

但还有一种可能,使用更复杂的数据形式比如机器学习模型,可以保护隐私数据吗?这样想的不是没有原因的,因为机器学习模型一般都是不可解释性的,为什么使用某个方法训练数据就会产生一个模型,其中的某一个参数为什么就是这个数,是无法解释的,同时即使相同的数据训练的模型也会是不相同的,就比如,同样的数据在不同的硬件上、或者不同的随机情况下训练出来的模型即使结果是一样的,模型中的参数也是不同的。这样复杂的情况可以抵挡攻击者还原数据吗?答案还是不行。即使是机器学习模型仍有可能泄露隐私信息。模型在已经见过的数据上的表现和没见过的数据上的表现也是不一样的,显而易见的,在测试集(训练时没见过的数据)上的精度通常是比训练时的数据上的精度要小的。或者在视频中也举出了一个通俗易懂的例子,在考试的时候,遇见一个之前做过的题,你的第一反应是舒心的,监考老师见你的反应可能是你长出了一口气,但是遇见一个没见过的题,你的第一反应可能就是一惊,监考老师看你的反应就是脸一黑,那么监考老师如果是一个攻击者的话,他就可以知道哪些题你见过,那些没有。

为了防范这些可能的攻击,就需要一个严谨的框架来对数据进行隐私保护,差分隐私就是这样一个可以用于数据收集和信息分享的关于隐私保护的理论框架。
在这里插入图片描述

差分隐私的定义和原理

差分隐私的定义:一个进行扰动的随机算法A应该满足 ε − \varepsilon - ε差分隐私,当且仅当 e x p ( − ε ) ≤ P r [ A ( D ) = O ] P r [ A ( D ′ ) = O ] ≤ e x p ( ε ) exp(-\varepsilon) \le \frac{Pr[A(D) = O]}{Pr[A(D') = O]} \leq exp(\varepsilon) exp(ε)Pr[A(D)=O]Pr[A(D)=O]exp(ε),对任意“相邻”数据集D和D’及任意输出O都成立。

什么是相邻:两个数据集中绝大部分数据都一样,只有一个数据不一样

通俗的将上面的定义就是,修改一个人的数据,导致两个不一样的数据集,这两个数据集在输入到随机算法A之后得到的结果并没有什么不一样。因为得到的结果基本一样,这让攻击者没有办法通过其中的区别去判断被修改的这个人是归属于两个数据集中的哪一个,也就无法推断这个人是不是在原数据集中了。
在这里插入图片描述
在这里插入图片描述

差分隐私算法

做法:在一个不满足差分隐私要求的算法上加噪声使其满足差分隐私要求。主要是判断算法对于个体信息的依赖的程度,如果算法对个体信息依赖大,就加大噪声,如果小就加小噪声。

拉普拉斯机制

如果是针对数值型查询结果,可以对每一个结果加入独立的拉普拉斯噪声来满足差分隐私。其中噪声分布中的参数 λ \lambda λ取决于修改一个数据时查询结果的最大改变量(敏感度),取 λ = 敏感度 / ε \lambda = 敏感度/\varepsilon λ=敏感度/ε 即能满足 ε − \varepsilon - ε差分隐私。噪声公式为 p d f ( x ) = 1 2 λ e x p ( − ∣ x ∣ λ ) pdf(x) = \frac{1}{2\lambda} exp(- \frac{|x|}{\lambda}) pdf(x)=2λ1exp(λx),图像如下
在这里插入图片描述

随机化回答

如果不是数值型的查询结果要怎么办呢?那么使用随机化回答。

通俗的解释随机化回答的基本原理就是,一个人回答问题,他有20%的概率会回答正确的答案,而80%的概率随机回答,注意这里不代表随机回答只会回答错误的答案。直观来看,随机化回答满足差分隐私,因为攻击者无法通过随机化的结果去推断随机化的输入。

但是这种随机化产生的结果不会因为巨大的信息偏差而导致查询结果无法使用吗,毕竟其中80%的人都是随机回答的。在满足一定情况下这种随机可以通过处理让其消失,比如,大量的统计数据情况下,可以通过对数据的分布进行统计,再根据我们已知的80%随机概率就可以得知查询结果。

这里有视频中的例子:
我想10000个人发出一个问题,其中5500个人回答yes,4500人回答no,因为我们知晓每个人有80%的概率会随即回答,因此可知有8000人是随即回答的,而因为随即回答,有4000人随机的yes,4000人随机的no,也就是说有1500人回答的真实yes,500人回答的真实no,那么对于这个回答的结果我就得到了75%的人会回答yes,25%的人会回答no。这里之所以是概率也正是因为我们的查询结果不是数值型,不是明确的1、2、3、…,而是非数值型。只是我们无法回答某一个具体的回答是真实的还是随机的,而是需要通过大量的统计数据去推断总体的结果,这样一个具体的人的隐私就被保护了

其他

现在有各种各样的差分隐私算法,是根据不同的数据集、不同的应用场景、不同的输出等设计出来的。。。

猜你喜欢

转载自blog.csdn.net/x_fengmo/article/details/132132878