前言
两年前初识差分隐私,有写相关理解参考博文:差分隐私 走过的坑
- 近来有好多新同学在学习并咨询差分隐私相关理论;
- 至此本文补充相关点细节,以填坑。
- 个人理解,差分隐私理论研究或许大概可能较完善,目前要想在此方向前进,研究它的应用点是比较好的 field ,比如:
- 机器学习 - 深度学习- 推荐系统 - 社交网络- 信息物理系统-
- and the like,哪里需要保护隐私就往哪里用。
一、差分隐私
针对统计数据库
的隐私泄露
问题提出的新的隐私定义
。
二、问题提出
现有
匿名模型
的局限性:
- 特殊的攻击假设;
- 一定的背景知识;
- 无法对隐私保护强度进行量化分析。
差分隐私
优点:
- 无需攻击假设;
- 不关心攻击者所拥有的背景知识;
- 定量化分析来表示隐私泄露风险大小。
挑战:
如何在满足差分隐私的前提下
提高发布统计数据
或算法模型
的可用性和算法效率。
1.什么是隐私?
“单个用户的某一些属性
”
记得高德地图发过一张图,大意是开凯迪拉克的群体喜欢去洗浴中心…很多人说暴露隐私,
其实从学术定义上来说,这个不算隐私泄露,因为没有牵涉到任何个体。
因此:
从隐私保护的角度来说,隐私的主体是单个用户,只有牵涉到某个特定用户的才叫隐私泄露,发布群体用户的信息(聚集信息)不算泄露隐私。
2.什么是差分?
举例:医院发布了一系列信息,说这个月有100个病人,其中10个患HIV,假如,攻击者知道其中99个人的信息(即拥有最大背景知识),那么他只需把99人信息和医院发布的100人信息对比,即可知道第100个人是否患HIV。
这种对个人隐私的攻击行为就是差分攻击,也即差异化攻击。
换句话说
,攻击者将自己拥有的背景知识 和 数据发布者发布的聚集数据 进行对比,找之间的差异信息,从中获取个体隐私信息。
差分隐私,即防止差分攻击。即使攻击者拥有最大背景知识,即知道发布的100个人中的99个人的信息,也无法通过查询获取第100个人的信息。
怎么做到的?
加入随机性,使得查询100个人记录和查询99个人记录,输出同样值的概率接近。
3.定义
分析:对于指数函数 e ϵ e^{\epsilon} eϵ,一般取值为ε∈(0,1)
当ε→0时,e^ε→1
,则Pr[·] \ Pr[·] ≈1
,即两个查询结果概率相近
;
因此:
ε→0 时,隐私性越高
;
ε→∞ 时,越没隐私,但查询结果更精确
。
通俗的讲
,该机制保证了一个数据集的每个个体不被泄露,但数据集的统计学信息(如均值、方差)可被外界了解。
因此
,一个医疗机构要公布患者疾病数据给外界以供研究,就可以先对该数据集做一个满足DP的扰动,再公布出去。
4.如何做到差分隐私?
其实,就是在查询结果里面加入随机性
。
任何一种方法,只要用在数据集上能满足差分隐私的核心思想,那么这个方法就是满足差分隐私的。所以最常用的方法是在结果上加满足某种分布的噪声,使结果随机化。
Laplace机制
差分隐私数据发布在交互式
模式下,通过向真实值添加满足Laplace分布的噪声来实现差分隐私保护。
Laplace机制中通常向查询请求结果 f ( T ) f(T) f(T) 中添加噪声 η \eta η,得到 f ( T ) + η f(T) +\eta f(T)+η,其中 η \eta η是一个满足Laplace分布的连续随机变量
。Laplace分布如下图:
其概率密度函数为:
P ( η ) = 1 2 λ e − η λ P(\eta) = \dfrac{1}{2\lambda}e^{-\dfrac{\eta}{\lambda}} P(η)=2λ1e−λη
其中,Laplace分布的期望值 μ \mu μ=0,方差为 2 λ 2 2\lambda^{2} 2λ2。
分析:
参数
μ \mu μ,在Laplace分布图中表示
:位置参数
但实际意义是固定生成的Laplace分布噪声的期望值
,使保护的数据集的期望尽可能不变,保证了添加噪声的稳定性,不至于破坏数据的可用性。
参数
λ \lambda λ,在Laplace分布图中表示
:尺度参数
、幅度大小
,即噪声样本的集中程度
λ \lambda λ↑, → \rightarrow →幅度越大 → \rightarrow →噪声越分散 → \rightarrow →扰动越大 → \rightarrow →隐私越好;
λ \lambda λ↓, → \rightarrow →幅度越小 → \rightarrow →噪声越集中 → \rightarrow →隐私越差。
-
此外,若尺度参数
λ \lambda λ取值为
Δ f ϵ \dfrac{\Delta f}{\epsilon} ϵΔf,即 λ = Δ f ϵ \lambda=\dfrac{\Delta f}{\epsilon} λ=ϵΔf时,则 L a p ( Δ f ϵ ) Lap(\dfrac{\Delta f}{\epsilon}) Lap(ϵΔf)中,噪声的大小由 Δ f \Delta f Δf和 ϵ \epsilon ϵ共同决定。要降低噪声量则: -
Δ f \Delta f Δf,敏感度与查询函数有关,那么尽量让敏感度最小;
-
ϵ \epsilon ϵ,隐私预算一般取值为(0,1),那么尽量让隐私预算分配越多;
-
或者,两者同时都考虑, Δ f \Delta f Δf↓ and ϵ \epsilon ϵ↑。
定义:Laplace机制敏感度,给定一个函数集 F F F,若 f ( D ) ∈ R f(D)\in R f(D)∈R,则 F F F的敏感度定义为: Δ f = m a x D 1 , D 2 , ( ∑ f ∈ F ∣ f ( D 1 ) − f ( D 2 ) ∣ ) \Delta f=max_{D_1,D_2},(\sum_{f\in F}|f(D_1)-f(D_2)|) Δf=maxD1,D2,(f∈F∑∣f(D1)−f(D2)∣)
敏感度
:对相邻数据集同一查询结果的最大变化程度(最大差值);
注意
:敏感度只与查询函数有关,许多类型的查询下,Laplace敏感度值很小。
指数机制:
Laplace局限于输出是实数
,方可加噪
。
指数机制采用满足特定分布的随机抽样
来实现差分隐私
,取代了添加噪声的方法。
原理
:
定义一个实用性估价函数 q q q,对每一种输出方案计算出一个实用性分值。分值高的输出方案具有更大的概率被发布,从而保证发布数据的质量。估价函数 q q q选择必须拥有尽可能低的敏感度。
定义:给定一估价函数 q q q,输出为一实体对象 r r r,若查询函数 F ( D , q ) F(D,q) F(D,q)满足以下等式,则F满足 ϵ \epsilon ϵ-差分隐私。
F ( D , q ) = { r : P r [ r ∈ O ] } ∈ e x p ( ϵ q ( D , q ) 2 Δ q ) F(D,q)=\{r:Pr[r\in O]\}\in exp({\dfrac{\epsilon q(D,q)}{2\Delta q}}) F(D,q)={ r:Pr[r∈O]}∈exp(2Δqϵq(D,q))
即函数 F ( D , q ) F(D,q) F(D,q)选择并输出 r r r的概率与 e x p ( ϵ q ( D , q ) 2 Δ q ) exp({\dfrac{\epsilon q(D,q)}{2\Delta q}}) exp(2Δqϵq(D,q))成正比即可。
定义:指数机制敏感度,给定一实用性估价函数 q q q,则 q q q敏感度为:
Δ q = m a x D 1 , D 2 , r ∣ ∣ q ( D 1 , r ) − q ( D 2 , r ) ∣ ∣ \Delta q=max_{D_1,D_2,r}||q(D_1,r)-q(D_2,r)|| Δq=maxD1,D2,r∣∣q(D1,r)−q(D2,r)∣∣
即,对相邻数据集同一输出对象的估值的最大变化程度,即对象的实用性估值的最大差值。
5.差分隐私的性能评估
- 隐私保护强度: ϵ \epsilon ϵ用来衡量隐私保护强度,取值为 ϵ ∈ ( 0 , 1 ) \epsilon \in(0,1) ϵ∈(0,1),此外 ϵ \epsilon ϵ的分配方案对算法误差影响交大。
- 算法误差:常用误差度量方法有相对误差、绝对误差、误差的方差。
- 算法性能:一般采用时间复杂度对算法性能进行度量。
总结
个人理解难说准确与深刻不足或有误之处务必提出一起探讨修正。