1.直观理解
差分隐私是Dwork在2006年针对统计数据库的隐私泄露问题提出的一种新的隐私定义,其目的是使得数据库查询结果对于数据集中单个记录的变化不敏感。
从隐私保护的角度来说,隐私的主体是单个用户,而对于一群用户的某些属性则不看作隐私。但当聚集信息被发布时,却可能出现个体的隐私泄露。举例来说,若查询医院中100名患者得到10人感染HIV,而查询99名患者得到9人感染HIV,则可判断剩下一人感染HIV,这种对隐私的攻击行为就是差分攻击。
差分隐私的实现方式简单来说是向数据中加入随机噪声,使得查询结果由两个确定的值变成两个服从相似概率分布的随机变量,保障了个体级别的隐私性。
通俗来讲,这个机制保证了数据集的每个个体都不被泄露,但数据集整体的统计学信息如均值、方差等却可以被外界了解。DP仅仅只是一个定义,并没有给出具体的扰动方法,加入的噪声理论上可以服从任意分布,研究的目标在于在保证满足DP保密性的前提下,最大化一个数据集的可用性。
2.关键性概念
查询(Query):对数据集 D D D的各种映射函数被定义为查询。
邻近数据集(Neighbor Datasets):仅有一条记录不同的两个数据集 D D D与 D ′ D' D′。
随机化算法 M M M:对于特定输入,算法的输出服从某一分布。
KL散度(KL-Divergence):也称作相对熵,可以用来衡量两个分布之间的差异程度。
D
K
L
(
P
∣
∣
Q
)
=
∑
x
∈
X
p
(
x
)
log
(
p
(
x
)
q
(
x
)
)
D_{KL}(P||Q) = \sum_{x\in X} p(x) \log\left(\frac{p(x)}{q(x)}\right)
DKL(P∣∣Q)=x∈X∑p(x)log(q(x)p(x))其中,
p
(
x
)
p(x)
p(x)和
q
(
x
)
q(x)
q(x)是两个离散随机变量
P
P
P和
Q
Q
Q的概率分布,
X
X
X是样本空间。KL散度的值非负,当且仅当
p
(
x
)
p(x)
p(x)和
q
(
x
)
q(x)
q(x)完全相等时取到最小值为0。当
p
(
x
)
p(x)
p(x)和
q
(
x
)
q(x)
q(x)之间的差异增大时,KL散度的值也会增大。
最大散度(Max-Divergence):KL散度从整体上衡量两个分布的距离,最大散度从两个分布比值的最大值角度衡量两个分布的差异。在差分隐私中需要两个分布在差距最大的情况下能够被bound住,即找到一种方式,使得两个分布之间的差异达到的最大值存在一个上界。
D
∞
(
P
∣
∣
Q
)
=
max
x
∈
X
[
log
p
(
x
)
q
(
x
)
]
D_{\infty}(P||Q) = \max_{x\in X} \left[\log\frac{p(x)}{q(x)}\right]
D∞(P∣∣Q)=x∈Xmax[logq(x)p(x)]
隐私预算 ϵ \epsilon ϵ(Privacy Budget): ϵ \epsilon ϵ用于控制算法的隐私保护程度, ϵ \epsilon ϵ控制了随机机制在两个相邻数据集上的输出的差异程度,并捕获了在数据库上运行随机机制时丢失了多少隐私。
ϵ
\epsilon
ϵ越小则算法保护效果越好,但同时加入的噪声也越大,数据可用性下降。
隐私损失(Privacy Loss): 对于任意的输出结果
S
S
S,
l
n
P
r
[
M
(
D
)
∈
S
]
P
r
[
M
(
D
′
)
∈
S
]
ln\cfrac{Pr[M(D)\in S]}{Pr[M(D')\in S]}
lnPr[M(D′)∈S]Pr[M(D)∈S]描述了算法
M
M
M在邻接数据集上输出同一个值的概率差别大小。差分隐私机制将算法的损失控制在一个有限范围内。
p
r
i
v
a
c
y
l
o
s
s
=
l
n
P
r
[
M
(
D
)
∈
S
]
P
r
[
M
(
D
′
)
∈
S
]
privacyloss=ln\cfrac{Pr[M(D)\in S]}{Pr[M(D')\in S]}
privacyloss=lnPr[M(D′)∈S]Pr[M(D)∈S]默认
P
r
[
M
(
D
)
∈
S
]
≥
P
r
[
M
(
D
′
)
∈
S
]
Pr[M(D)\in S]\geq Pr[M(D')\in S]
Pr[M(D)∈S]≥Pr[M(D′)∈S]。
3.差分隐私定义
ϵ \epsilon ϵ-差分隐私定义:
对于只有一个记录不同的邻接数据集 D D D和 D ′ D' D′,给两个数据集施加一个随机化机制 M M M,对于所有的 S ⊆ R a n g e ( M ) S \subseteq Range(M) S⊆Range(M),若有 P r [ M ( D ) ∈ S ] ≤ P r [ M ( D ′ ) ∈ S ] × e ϵ Pr[M(D)\in S]\leq Pr[M(D')\in S] \times e^\epsilon Pr[M(D)∈S]≤Pr[M(D′)∈S]×eϵ成立,则称算法 M M M满足 ϵ \epsilon ϵ-差分隐私。
公式推导:
对查询结果
f
(
D
)
f(D)
f(D)和
f
(
D
′
)
f(D')
f(D′)加入随机噪声
r
r
r:
M
(
D
)
=
f
(
D
)
+
r
,
M
(
D
′
)
=
f
(
D
′
)
+
r
M(D)=f(D)+r, M(D')=f(D')+r
M(D)=f(D)+r,M(D′)=f(D′)+r 差分隐私的目的是使得
M
(
D
)
M(D)
M(D)和
M
(
D
′
)
M(D')
M(D′)的分布尽可能接近,可以用Max-Divergence来衡量两个分布的差异:
D
∞
(
M
(
D
)
∣
∣
M
(
D
′
)
)
=
max
S
[
l
o
g
P
r
[
M
(
D
)
∈
S
]
P
r
[
M
(
D
′
)
∈
S
]
D_\infty (M(D)||M(D')) = \max_S[{log\cfrac{Pr[M(D)\in S]}{Pr[M(D')\in S]}}
D∞(M(D)∣∣M(D′))=Smax[logPr[M(D′)∈S]Pr[M(D)∈S]对于算法映射结果
R
a
n
g
e
(
M
)
Range(M)
Range(M)的所有子集,两分布的差异被限制在
ϵ
\epsilon
ϵ内:
max
S
[
l
o
g
P
r
[
M
(
D
)
∈
S
]
P
r
[
M
(
D
′
)
∈
S
]
]
≤
ϵ
\max_S[{log\cfrac{Pr[M(D)\in S]}{Pr[M(D')\in S]}] \leq \epsilon}
Smax[logPr[M(D′)∈S]Pr[M(D)∈S]]≤ϵ取log的底为
e
e
e并两边同时利用指数运算,乘以分母变形可得差分隐私的定义式。
差分隐私的松弛:
加入一个小常数
δ
\delta
δ,称作失败概率。
P
r
[
M
(
D
)
∈
S
]
≤
P
r
[
M
(
D
′
)
∈
S
]
×
e
ϵ
+
δ
Pr[M(D)\in S]\leq Pr[M(D')\in S] \times e^\epsilon + \delta
Pr[M(D)∈S]≤Pr[M(D′)∈S]×eϵ+δ对于本来无法bound住的情况,由于考虑了松弛项依旧满足差分隐私。
松弛DP利用更少的隐私预算,得到了相同的噪声尺度。
4.随机化机制
根据数据集类型的不同采取以下两类不同的随机化机制:
数值查询:一般采用拉普拉斯机制(严格DP)或高斯机制(松弛DP)对得到数值结果加入随机噪声即可实现差分隐私。
非数值查询:一般采用指数机制并引入一个打分函数,对每一种可能的输出都得到一个分数,归一化之后作为查询返回的概率值。
1)拉普拉斯机制
敏感度(Sensitivity)定义:用于度量在数据集中添加或删除一个个体时,对查询结果的影响程度。敏感度表示在最坏情况下,查询结果在两个数据集之间的最大差异。敏感度越大,说明查询结果对个体数据的变化更敏感,越小的敏感度越有利于隐私保护。
Δ
f
=
max
D
1
,
D
2
∣
∣
f
(
D
1
)
−
f
(
D
2
)
∣
∣
1
\Delta f = \max_{D_1,D_2} ||f(D_1) - f(D_2)||_1
Δf=D1,D2max∣∣f(D1)−f(D2)∣∣1L1范数也称为曼哈顿范数,是指向量中各个元素绝对值之和。对于一个n维向量x,其L1范数表示为:
∣
∣
x
∣
∣
1
=
∑
i
=
1
n
∣
x
i
∣
||x||_1 = \sum_{i=1}^n |x_i|
∣∣x∣∣1=∑i=1n∣xi∣
通过控制查询结果的敏感度,差分隐私提供了一种均衡隐私保护和数据可用性之间的权衡。较小的敏感度可以提供更强的隐私保护,但可能会导致查询结果的不准确性增加。
拉普拉斯分布的概率密度函数为:
p
(
x
)
=
1
2
b
e
x
p
(
−
∣
x
−
μ
∣
b
)
p(x) = \frac{1}{2b} exp(-\frac{|x - \mu|}{b})
p(x)=2b1exp(−b∣x−μ∣)在拉普拉斯机制中,期望
μ
=
0
\mu=0
μ=0,尺度参数
b
=
Δ
f
ϵ
b=\frac{\Delta f}{\epsilon}
b=ϵΔf。
拉普拉斯机制的原理是对原始查询结果添加拉普拉斯噪声 M ( D ) = f ( D ) + Y M(D)=f(D)+Y M(D)=f(D)+Y。其中, f ( D ) f(D) f(D)表示查询结果, Y Y Y表示服从拉普拉斯分布的随机噪声 Y ∼ L ( 0 , Δ f ϵ ) Y\sim L(0,\frac{\Delta f}{\epsilon}) Y∼L(0,ϵΔf), M ( D ) M(D) M(D)表示最终的返回结果。
可见隐私预算越小,噪声越大,结果可用性越小,隐私保护越好。
证明:Max-Divergence
≤
ϵ
\leq \epsilon
≤ϵ
P
r
[
M
(
x
)
=
t
]
P
r
[
M
(
x
′
)
=
t
]
≤
e
ϵ
\cfrac{Pr[M(x)=t]}{Pr[M(x')=t]}\leq e^\epsilon
Pr[M(x′)=t]Pr[M(x)=t]≤eϵ
P
r
[
M
(
x
)
=
t
]
P
r
[
M
(
x
′
)
=
t
]
=
P
r
[
f
(
x
)
+
Y
=
t
]
P
r
[
f
(
x
′
)
+
Y
=
t
]
=
P
r
[
Y
=
t
−
f
(
x
)
]
P
r
[
Y
=
t
−
f
(
x
′
)
]
\cfrac{Pr[M(x)=t]}{Pr[M(x')=t]}=\cfrac{Pr[f(x)+Y=t]}{Pr[f(x')+Y=t]}=\cfrac{Pr[Y=t-f(x)]}{Pr[Y=t-f(x')]}
Pr[M(x′)=t]Pr[M(x)=t]=Pr[f(x′)+Y=t]Pr[f(x)+Y=t]=Pr[Y=t−f(x′)]Pr[Y=t−f(x)]由不等式
∣
a
∣
−
∣
b
∣
≤
∣
a
−
b
∣
|a|-|b|\leq|a-b|
∣a∣−∣b∣≤∣a−b∣
e
x
p
[
ϵ
Δ
f
(
∣
t
−
f
(
x
)
∣
−
∣
t
−
f
(
x
′
)
∣
)
]
≤
e
x
p
[
ϵ
Δ
f
(
∣
f
(
x
)
−
f
(
x
′
)
∣
)
]
exp\left[\frac{\epsilon}{\Delta f}( |t-f(x)|-|t-f(x')|)\right]\leq exp\left[\frac{\epsilon}{\Delta f}( |f(x)-f(x')|)\right]
exp[Δfϵ(∣t−f(x)∣−∣t−f(x′)∣)]≤exp[Δfϵ(∣f(x)−f(x′)∣)]
Δ
f
=
max
x
,
x
′
∣
∣
f
(
x
)
−
f
(
x
′
)
∣
∣
1
≤
e
x
p
[
ϵ
]
\Delta f = \max_{x,x'} ||f(x) - f(x')||_1\leq exp[\epsilon]
Δf=x,x′max∣∣f(x)−f(x′)∣∣1≤exp[ϵ]2)高斯机制
拉普拉斯机制提供的是严格的 ( ϵ , 0 ) − D P (\epsilon,0)-DP (ϵ,0)−DP机制,而高斯机制则提供的是松弛的 ( ϵ , δ ) − D P (\epsilon,\delta)-DP (ϵ,δ)−DP机制。
高斯分布的概率密度函数为:
p
(
x
)
=
1
2
π
σ
2
e
−
(
x
−
μ
)
2
2
σ
2
p(x)=\frac{1}{\sqrt{2\pi\sigma^2}}e^{-\frac{(x-\mu)^2}{2\sigma^2}}
p(x)=2πσ21e−2σ2(x−μ)2其中,
μ
μ
μ 是分布的均值,
σ
σ
σ 是分布的标准差。
σ
=
Δ
f
ϵ
σ =\frac{\Delta f}{\epsilon}
σ=ϵΔf通过控制
σ
σ
σ 的取值可以决定噪声的尺度。高斯机制中敏感度
Δ
f
\Delta f
Δf的定义为:
Δ
f
=
max
D
1
,
D
2
∣
∣
f
(
D
1
)
−
f
(
D
2
)
∣
∣
2
\Delta f = \max_{D_1,D_2} ||f(D_1) - f(D_2)||_2
Δf=D1,D2max∣∣f(D1)−f(D2)∣∣2L2范数也称为欧几里得范数,是指向量各个元素平方和的平方根。对于一个n维向量x,其L2范数表示为:
∣
∣
x
∣
2
=
∑
i
=
1
n
x
i
2
||x|_2 = \sqrt{\sum_{i=1}^n x_i^2}
∣∣x∣2=∑i=1nxi2
对于任意 δ ∈ ( 0 , 1 ) , σ > 2 l n ( 1.25 / δ ) Δ f ϵ \delta \in (0,1), σ>\cfrac{\sqrt{2ln(1.25/\delta)}\Delta f}{\epsilon} δ∈(0,1),σ>ϵ2ln(1.25/δ)Δf,有噪声 Y ∼ N ( 0 , σ 2 ) Y \sim N(0,σ^2) Y∼N(0,σ2),满足 P r [ M ( D ) ∈ S ] ≤ P r [ M ( D ′ ) ∈ S ] × e ϵ + δ Pr[M(D)\in S]\leq Pr[M(D')\in S] \times e^\epsilon + \delta Pr[M(D)∈S]≤Pr[M(D′)∈S]×eϵ+δ其中 M ( D ) = f ( D ) + Y M(D)=f(D)+Y M(D)=f(D)+Y。
当DP被运用于机器学习中时使用高斯机制会更利于分析。公式的证明同样可以从最大散度不超过隐私预算的角度出发,拆分为满足严格DP与违反严格DP的两部分,前者与拉普拉斯机制的证明类似,后者被限制在松弛项 δ \delta δ之内。
3)指数机制
对于非数值型数据而言,输出是一组离散数据 R 1 , R 2 , . . . , R N {R_1,R_2,...,R_N} R1,R2,...,RN中的元素。
指数机制的思想是当接收到一个查询之后,不是确定性地输出一个 R i R_i Ri结果,而是以一定的概率值返回结果,从而实现差分隐私。概率值由打分函数确定,得分高则输出概率高。
定义敏感度 Δ q \Delta q Δq为: Δ q = max D , D ′ ∣ ∣ q ( D , R i ) − q ( D ′ , R i ) ∣ ∣ 1 \Delta q = \max_{D,D'} ||q(D,R_i) - q(D',R_i)||_1 Δq=D,D′max∣∣q(D,Ri)−q(D′,Ri)∣∣1其中 q ( D , R i ) q(D,R_i) q(D,Ri)为打分函数, D D D为指定数据集, q ( D , R i ) q(D,R_i) q(D,Ri)表示某一个输出结果 R i R_i Ri的分数。
指数机制理论:以 M ( D , q , R i ) ∼ e x p ( ϵ q ( D , R i ) 2 Δ q ) M(D,q,R_i) \sim exp(\cfrac{\epsilon q(D,R_i)}{2\Delta q}) M(D,q,Ri)∼exp(2Δqϵq(D,Ri))的概率输出结果 R i R_i Ri。
4)Composition
差分隐私的composition(组合)是为了在多次查询中保持隐私保护的性质。当进行多个查询时,每个查询都可能泄露一定的隐私信息,因此需要考虑如何在多个查询之间进行隐私保护。
串行组合(Sequential Composition):对于同一数据集使用不同算法,当多个查询按顺序执行时,串行组合是指将每个查询的隐私开销累积起来。具体来说,如果进行了k个查询,每个查询的隐私开销为ε,那么k个查询的总体隐私开销将是kε。
并行组合(Parallel Composition):对于不同数据集使用不同算法,当多个查询同时执行时,并行组合是指将每个查询的隐私开销合并。具体来说,如果进行了k个查询,并且每个查询的隐私开销为ε,那么并行组合中的总体隐私开销仍然是ε。因为并行组合假设每个查询都是独立进行的,不会影响彼此的隐私保护。
通过串行组合和并行组合,可以根据具体情况和需求来管理多个查询的隐私开销,从而平衡隐私保护和数据可用性。