The Algorithmic Foundations of Differential Privacy (六)
写在前面的话
纯属个人笔记,如有问题请看原文或者留下评论。
Remarks on composition
不同的差分隐私的组会定理存在不同的累计的隐私损失。
Weak Quantification
假设对手始终选择 xi0保留 Bob 的数据,并且选择 xi1相同的数据库(但是不包含Bob的数据)。带有适当的参数选择的 定理3.20,告诉我们:对手(这个对手的能力包括了知道数据库对,甚至能选择数据库对)在确定 b∈0,1 的值时几乎没有优势。这是天生的弱量化。我们可以确保对手不太可能将现实与任何给定的替代方案区分开,但是我们不能为所有替代方案同时确保这一点。如果有一个数不胜数的数据库,但 Bob 仅是其中10000个的成员,那么我们不会同时保护 Bob 在剩余数据库的缺失。 这类似于 (ε,δ)-差分隐私的定义中的量化,在该定义中,我们预先确定了一对相邻的数据库,并认为很有可能这两个数据库的输出几乎相等。
Humans and Ghosts
直观地说,一个(ε,0)-差分隐私数据库(库中每条记录只有少量的位),比另一个相同 ε 值的差分隐私数据库(这个库包含数据量大,甚至包含我们的整个病史)的保护性差。我们的隐私预算 ε 告诉我们关于数据库的同一件事:它们在存储数据的复杂性和敏感性方面有根本区别,但这有什么意义上呢?答案在于合成定理。想象一个由两种生物组成的世界:鬼魂和人类。两种类型的生物行为相同,以相同的方式与他人互动,写作、学习、工作、笑、爱、哭、繁殖、生病、康复和衰老都以相同的方式。唯一的区别是,幽灵在数据库中没有记录,而人类有。隐私攻击者的目标是确定给定的50岁“目标”是幽灵还是人类。的确,给了对手50年来做这件事情。攻击者不需要保持被动,例如,她可以组织临床试验并招募自己选择的患者,可以创建人员来填充数据库,有效地创建最坏情况(针对隐私)的数据库,她可以在25岁时将目标暴露于化学品中,在35岁时再次暴露于化学品中等等操作。她可以知道有关目标的所有信息,可以将其输入任何数据库。如果目标是人类,她就能知道目标会在哪个数据库中。合成定理告诉我们,每个数据库的隐私保证-无论数据类型,复杂性和敏感性如何-都对人类/幽灵比特提供了可比的保护。
The sparse vector technique
拉普拉斯机制可用于回答自适应选择的低敏感度查询,并且从我们的合成定理中我们知道,隐私参数与所回答的查询数量(或其平方根)成比例地降低。不幸的是,经常会发生我们有大量问题要回答的问题,即使使用 3.5节 中的高级合成定理,也有太多问题无法使用独立的扰动技术来提供合理的隐私保证。但是,在某些情况下,我们只会关心知道高于某个阈值的查询的标识。在这种情况下,我们希望通过放弃对明显低于阈值的查询的数字答案,而仅报告这些查询确实低于阈值,从而获得本质的分析。(如果我们这样选择的话,我们也将能够获得阈值以上查询的数字值,而只需花费额外的费用)。这类似于我们在3.3节中的“Report Noisy Max”机制中所做的事情,实际上,对于非交互式或脱机情况,可以选择迭代该算法或指数机制。
在本节中,我们显示如何在在线设置中分析此方法。该技术很简单:添加噪音并仅报告噪声值是否超过阈值。本节中,我们的重点是分析隐私只会随着实际高于阈值的查询数量而降低,而不会随着查询总数的增加而降低。如果我们知道位于阈值以上的查询集比查询总数小得多(也就是说,如果答案向量稀疏的话),那么将可以大量节省(隐私参数)。更详细地讲,我们将考虑一系列事件(每个查询一个),如果在数据库上评估的查询超过给定(已知的、公共的)阈值,则会发生这些事件。我们的目标是释放一个位向量,以指示每个事件是否已发生。在提出每个查询时,该机制将计算一个噪声响应,并将其与(众所周知的)阈值进行比较,如果超过了该阈值,则将揭示此事实。由于隐私证明(定理3.24)中的技术原因,该算法适用于阈值 T 的噪声版本T^
。虽然 TT是公开的,但噪声版本 T^不是。
并非对每个可能的查询都造成隐私损失,后文的分析将仅针对接近或高于阈值的查询值导致隐私损失。
The Setting
设 m 表示灵敏度为 1 的查询总数,可以自适应地选择。在不丧失通用性的情况下,有一个预先固定的阈值 T(或者每个查询可以有自己的阈值,但结果不变)。我们将在查询值中添加噪声,并将结果与 T 进行比较。正向的结果意味着噪声查询值超过了阈值。我们期望 c (少量)个噪声值超过阈值,并且我们只释放高于阈值的噪声值。算法将 c 用作其停止条件。
我们将首先分析在超过阈值查询的 c=1 之后算法停止的情况,并表明无论查询的总序列有多长,该算法都是ε-差分隐私的。然后利用我们的合成定理分析 c>1 的情形,并推导出 (ε,0) 和(ε,δ)-差分隐私的界。
Algorithm
我们首先论证了 AboveThreshold 算法是私有的,并且是准确的,该算法专门针对一个高于阈值的查询。算法的具体过程很简单,输入阈值,先对阈值加噪。对于每个查询加拉普拉斯噪声,如果加噪后的结果大于加噪的阈值则释放回答,构造拒绝回答。
1、⊥为永假含义,拒绝回答
2、⊤为永真含义,释放回答
Theorem 3.23. AboveThreshold is (ϵ, 0)-differentially private
要证明上面的算法是满足差分隐私的。
Definition 3.9 (Accuracy)
不仅需要证明它满足差分隐私,还要验证它的准确性,数据效用需要保证。算法的输出是一系列类似1/0的二进制答案。我们采用(α,β)标准来判断其准确性。
主要从阈值T来考虑,如果除了概率最大为β 之外,这个算法在 fk 之前不停止,并且对于所有 ai=⊤ 有下图的情况。满足的话就称算法是满足(α,β)准确性的。但是这里存在一个问题,T和加噪的值T^可能会相差很远,从而产生大量噪音。所有这些都以 α 的指数形式发生,概率很小。总而言之,我们在选择噪声阈值时可能会遇到问题,或者在一个或多个单独的噪声值 νi中可能会遇到这种问题。当然,我们可能同时存在两种错误。因此在下面的分析中,我们为每种类型分配 α/2。
算法会以小概率对阈值扰动添加过大的噪声。在拉普拉斯分布的左右两侧。这就会造成上文提到的 “噪声阈值T^ 可能离 T很远,同样,对扰动的噪声也可能过大。这样就导致,即使T^ 与 T接近的情况下,造成小值回答(不允许释放)超过阈值被释放;大值回答(允许释放)小于阈值被拒绝。由于 AboveThreshold 会出现这两种错误,进而不满足 定义3.9 的规定。所以对于这两种错误情况,下面定理为噪声阈值 T^ 和扰动 Vk各分配α/2 的界。并将概率上界 β 和噪声取之范围 α 关联起来,使得 AboveThreshold 算法不会出现两种错误情况,进而满足 定义3.9 的规定。
唯一接近阈值的查询是最后一个查询,关于达到这种情况作者得出了关于α的表达式。
Theorem 3.25. Sparse is (ϵ, δ)-differentially private
现在,我们展示如何使用合成技术处理多个“高于阈值”的查询。
稀疏算法可以认为是:当查询进入时,它会反复调用 AboveThreshold。 每次报告高于阈值的查询后,该算法仅在 AboveThreshold 的新实例上重新启动剩余的查询流。在重新启动AboveThreshold c 次之后停止(即在出现 c 个高于阈值的查询之后)。 由于 AboveThreshold 的每个实例都是(ε,0)- 差分隐私的,因此适用合成定理。
其实就是循环利用高于阈值的算法,在每次释放回答后需要计数,并且设定新的阈值。关于定理3.5说稀疏算法是满足差分隐私的,所提供的证明首先基于高于阈值的算法是满足差分隐私的。并且给出关于隐私预算的设定。
作者这个排版没弄好,应该是算法在前面,后面接证明。当 AboveThreshold 算法停止时(在回答了1个超过阈值的查询之后),我们只需在剩余的查询流上重新启动 Sparse算法 ,并继续这个过程直到我们重新启动 AboveThreshold 算法 c 次。第 c 次 AboveThreshold 算法停止后,Sparse算法 也停止。我们已经证明了AboveThreshold 算法是(ε ′,0)-差分隐私的。最后,根据高级合成定理(定理 3.20 和 推论 3.21),c 个ε ′差分隐私算法的合成是(ε,δ) -差分隐私,并且 c 个ε/c差分隐私算法的合成是(ε,0) -差分隐私。
需要证明 包含 c 个 AboveThreshold 算法 的 Sparse 算法的准确性。我们注意到,如果对于每个 AboveThreshold 算法(α,β/c) 精确的,那么 Sparse 算法将是(α,β) 精确的。
Theorem 3.26
这里给出关于稀疏算法准确性的相关结论和证明。
Theorem 3.27. NumericSparse is (ϵ, δ)-differentially private.
最后,我们给出了 Sparse 算法的一个版本,它实际上输出了高于阈值查询的数值,我们只需要在精度上损失一个常数因子就可以做到这一点。我们称这种算法为 NumericSparse,它是一种简单的使用 Laplace 机制组成的 Sparse 算法。它不是输出向量a∈{⊤,⊥} ∗,而是输出向量a∈(R∪{⊥}) ∗。
我们发现 NumericSparse 算法是具有隐私性的:
如果δ大于等于0,则NumericSparse算法就是对应的Sparse 算法的自适应组合, 因此NumericSparse 算法的隐私来自简单的组合。
Definition 3.10 (Numeric Accuracy)
接下来需要讨论准确性,我们必须定义一种机制的准确性,这是指响应一系列数值查询而输出流a∈(R∪{⊥})∗的含义。
总结
我们到底显示了什么?如果给我们一系列查询,并保证只有最多 c 个答案的答案高于 T+α,我们就可以回答高于给定阈值 T 的那些查询,直至误差α。如果我们事先知道进行这些高于阈值查询的身份,并使用拉普拉斯机制进行回答,那么在给定相同的隐私保证的情况下,此精度等于(等于常数和logk)。也就是说,稀疏向量技术允许我们几乎“免费”地辨别这些大型查询的身份,只为这些不相关的查询进行对数精度的响应。这种算法与另一种形式(通过指数机制找到造成隐私损失大的查询,然后通过拉普拉斯机制响应这些查询)提供相同的保证。然而,这个稀疏向量算法运行起来很简单,而且最关键的是,它允许我们自适应地选择查询。