【中文翻译】第12章-The Algorithmic Foundations of Differential Privacy

news2025/3/26 17:00:35

由于GitHub项目仅翻译到前5章,我们从第6章开始通过大语言模型翻译,并导出markdown格式。
大模型难免存在错漏,请读者指正。

教材原文地址:https://www.cis.upenn.edu/~aaroth/Papers/privacybook.pdf

在这里插入图片描述

12 其他模型

到目前为止,我们对私有数据分析模型做了一些隐含的假设。例如,我们假设存在某个可信的数据管理者可以直接访问私有数据集,并且我们假设攻击者只能访问算法的输出,而无法访问算法执行过程中的任何内部状态。但如果情况并非如此呢?如果我们不信任任何人查看我们的数据,甚至不信任他们进行隐私保护的数据分析呢?如果某个黑客可能在私有算法运行时访问其内部状态呢?在本节中,我们放宽之前的一些假设并考虑这些问题。

在本节中,我们描述文献中受到关注的一些其他计算模型。

  • 局部模型是随机化应答(见第2节)的推广,其动机来自于个体不信任数据管理者处理其数据的情况。虽然可以使用安全多方计算来模拟可信数据管理者的角色以解决这种不信任问题,但也有一些不需要密码学的技术。

接下来的两个模型考虑事件流,每个事件都可能与一个个体相关联。例如,一个事件可能是某个特定的人对任意术语进行的一次搜索。在给定的事件流中,与某个特定个体相关联的(可能有很多)事件可以与和其他个体相关联的事件任意交错。

  • 在泛隐私(pan - privacy)中,数据管理者是可信的,但可能会被迫公开非隐私数据,例如,由于传票的要求,或者因为持有信息的实体被另一个可能不太可信的实体收购。因此,在泛隐私中,算法的内部状态也是差分隐私的,内部状态和输出的联合分布同样如此。

  • 持续观察模型解决了在持续监测和报告事件统计信息(例如可能预示着即将爆发流行病的非处方药物购买情况)时如何维护隐私的问题。一些研究探讨了持续观察下的泛隐私问题。

12.1 本地模型

到目前为止,我们考虑的是数据隐私的集中式模型,在该模型中存在一个可以直接访问私有数据的数据库管理员。如果没有可信的数据库管理员会怎样呢?即使有合适的可信方,也有很多理由不希望私有数据由第三方进行聚合。私有信息聚合数据库的存在本身就增加了这样一种可能性:在未来的某个时候,它可能会落入不可信方的手中,要么是恶意地(通过数据盗窃),要么是组织更替的自然结果。从私有数据所有者的角度来看,更好的模型是本地模型,在该模型中,代理可以以差分隐私的方式(随机地)回答关于他们自己数据的问题,而无需与其他任何人共享这些数据。在谓词查询的背景下,这似乎严重限制了私有机制与数据交互的表达能力:机制可以询问每个用户其数据是否满足给定的谓词,而用户可能会抛硬币决定,以略高于回答错误的概率如实回答。在这个模型中,哪些是可行的呢?

本地隐私模型最初是在学习的背景下引入的。本地隐私模型将随机化响应形式化:不存在私有数据的中央数据库。相反,每个个体保留自己的数据元素(一个大小为 1 的数据库),并且仅以差分隐私的方式回答关于它的问题。形式上,数据库 x ∈ N ∣ X ∣ x \in {\mathbb{N}}^{\left| \mathcal{X}\right| } xNX 是来自某个域 X \mathcal{X} X n n n 个元素的集合,并且每个 x i ∈ x {x}_{i} \in x xix 由一个个体持有。

定义 12.1(本地随机化器)。一个 ε \varepsilon ε - 本地随机化器 R : X → R : \mathcal{X} \rightarrow R:X W W W 是一个以大小为 n = 1 n = 1 n=1 的数据库为输入的 ε \varepsilon ε - 差分隐私算法。

在本地隐私模型中,算法只能通过本地随机化器预言机与数据库进行交互:

定义 12.2(LR 预言机)。一个 LR 预言机 L R D ( ⋅ , ⋅ ) L{R}_{D}\left( {\cdot , \cdot }\right) LRD(,) 以一个索引 i ∈ [ n ] i \in \left\lbrack n\right\rbrack i[n] 和一个 ε \varepsilon ε - 本地随机化器 R R R 为输入,并根据分布 R ( x i ) R\left( {x}_{i}\right) R(xi) 输出一个随机值 w ∈ W w \in W wW,其中 x i ∈ D {x}_{i} \in D xiD 是数据库中第 i i i 个个体持有的元素。

定义 12.3((本地算法))。如果一个算法通过预言机 L R D L{R}_{D} LRD 访问数据库 D D D,并且有以下限制,则该算法是 ε \varepsilon ε - 本地的:如果 L R D ( i , R 1 ) , … , L R D ( i , R k ) L{R}_{D}\left( {i,{R}_{1}}\right) ,\ldots ,L{R}_{D}\left( {i,{R}_{k}}\right) LRD(i,R1),,LRD(i,Rk) 是该算法在索引 i i i 上对 L R D L{R}_{D} LRD 的调用,其中每个 R J {R}_{J} RJ 都是一个 ε j {\varepsilon }_{j} εj - 本地随机化器,那么 ε 1 + ⋯ + ε k ≤ ε {\varepsilon }_{1} + \cdots + {\varepsilon }_{k} \leq \varepsilon ε1++εkε

由于差分隐私是可组合的,很容易看出 ε \varepsilon ε - 本地算法是 ε \varepsilon ε - 差分隐私的。

观察12.1. ε \varepsilon ε -局部算法具有 ε \varepsilon ε -差分隐私性。

也就是说,一个 ε \varepsilon ε -局部算法仅使用一系列 ε \varepsilon ε -差分隐私算法与数据进行交互,其中每个算法仅对大小为1的数据库进行计算。由于除数据所有者外,没有人会接触任何私有数据,因此局部设置更加安全:它不需要可信方,也不存在可能遭受黑客攻击的中央方。由于即使是算法也从未见过私有数据,因此算法的内部状态也始终具有差分隐私性(即,局部隐私意味着泛隐私,将在下一节中描述)。一个自然的问题是局部隐私模型的限制程度如何。在本节中,我们仅非正式地讨论相关结果。感兴趣的读者可以参考本节末尾的参考文献以获取更多信息。我们注意到,局部隐私模型的另一个名称是完全分布式模型。

我们回顾一下第11节中引入的统计查询(SQ)模型的定义。粗略地说,给定一个大小为 n n n的数据库 x x x,统计查询模型允许算法通过对数据库进行多项式(关于 n n n)数量的含噪线性查询来访问该数据库,其中查询答案的误差是 n n n的某个逆多项式。形式上:

定义12.4. 统计查询是某个函数 ϕ : X × { 0 , 1 } → \phi : \mathcal{X} \times \{ 0,1\} \rightarrow ϕ:X×{0,1} [ 0 , 1 ] \left\lbrack {0,1}\right\rbrack [0,1]。对于具有容差 τ \tau τ的带标签示例分布 D \mathcal{D} D的统计查询预言机是一个预言机 O D τ {\mathcal{O}}_{\mathcal{D}}^{\tau } ODτ,使得对于每个统计

查询 ϕ \phi ϕ

∣ O D τ ( ϕ ) − E ( x , y ) ∼ D [ ϕ ( x , y ) ] ∣ ≤ τ \left| {{\mathcal{O}}_{\mathcal{D}}^{\tau }\left( \phi \right) - {\mathbb{E}}_{\left( {x,y}\right) \sim \mathcal{D}}\left\lbrack {\phi \left( {x,y}\right) }\right\rbrack }\right| \leq \tau ODτ(ϕ)E(x,y)D[ϕ(x,y)] τ

换句话说,一个SQ预言机将统计查询 ϕ \phi ϕ作为输入,并输出一个保证在从 D \mathcal{D} D中抽取的示例上 ϕ \phi ϕ的期望值的 ± τ \pm \tau ±τ范围内的值。

定义12.5. 如果对于每个 α , β > 0 \alpha ,\beta > 0 α,β>0,都存在一个 m = poly ⁡ ( d , 1 / α , log ⁡ ( 1 / β ) ) m = \operatorname{poly}\left( {d,1/\alpha ,\log \left( {1/\beta }\right) }\right) m=poly(d,1/α,log(1/β)),使得算法 A A A O D τ {\mathcal{O}}_{\mathcal{D}}^{\tau } ODτ进行最多 m m m次容差为 τ = 1 / m \tau = 1/m τ=1/m的查询,并且以概率 1 − β 1 - \beta 1β输出一个假设 f ∈ C f \in C fC,使得:

err ⁡ ( f , D ) ≤ min ⁡ f ∗ ∈ C err ⁡ ( f ∗ , D ) + α \operatorname{err}\left( {f,\mathcal{D}}\right) \leq \mathop{\min }\limits_{{{f}^{ * } \in C}}\operatorname{err}\left( {{f}^{ * },\mathcal{D}}\right) + \alpha err(f,D)fCminerr(f,D)+α

更一般地,如果一个算法(用于执行任何计算)仅通过SQ预言机访问数据,我们可以说它在SQ模型中运行:

定义12.6. 如果存在一个 m m m,使得算法 A A A O D τ {\mathcal{O}}_{D}^{\tau } ODτ进行最多 m m m次容差为 τ = 1 / m \tau = 1/m τ=1/m的查询,并且没有其他访问数据库的方式,则称算法 A A A在SQ模型中运行。如果 m m m是数据库大小 D D D的多项式,则 A A A是高效的。

事实证明,在数据库大小和查询数量的多项式因子范围内,任何可以在SQ模型中实现的算法都可以在局部隐私模型中实现并进行隐私分析,反之亦然。我们注意到,在SQ模型中实现算法与在局部模型中进行其隐私分析之间存在区别:我们最终介绍的几乎所有算法都使用含噪线性查询来访问数据,因此可以认为它们在SQ模型中运行。然而,它们的隐私保证是在数据隐私的集中式模型中进行分析的(即,由于分析的某些“全局”部分,如稀疏向量算法)。

在以下总结中,我们还将回顾第11节中引入的PAC学习的定义:

定义12.7。若对于任意的 α , β > 0 \alpha ,\beta > 0 α,β>0 ,都存在一个 m = poly ⁡ ( d , 1 / α , log ⁡ ( 1 / β ) ) m = \operatorname{poly}\left( {d,1/\alpha ,\log \left( {1/\beta }\right) }\right) m=poly(d,1/α,log(1/β)) ,使得对于带标签示例上的任意分布 D \mathcal{D} D ,算法 A A A 以从 D \mathcal{D} D 中抽取的 m m m 个带标签示例作为输入,并输出一个假设 f ∈ C f \in C fC ,且以概率 1 − β 1 - \beta 1β 满足以下条件,则称算法 A A A 能PAC学习(Probably Approximately Correct learning,概率近似正确学习)函数类 C C C

err ⁡ ( f , D ) ≤ min ⁡ f ∗ ∈ C err ⁡ ( f ∗ , D ) + α \operatorname{err}\left( {f,\mathcal{D}}\right) \leq \mathop{\min }\limits_{{{f}^{ * } \in C}}\operatorname{err}\left( {{f}^{ * },\mathcal{D}}\right) + \alpha err(f,D)fCminerr(f,D)+α

min ⁡ f ∗ ∈ C err ⁡ ( f ∗ , D ) = 0 \mathop{\min }\limits_{{{f}^{ * } \in C}}\operatorname{err}\left( {{f}^{ * },\mathcal{D}}\right) = 0 fCminerr(f,D)=0 ,则称学习器在可实现设定下运行(即,该函数类中存在某个函数能完美地对数据进行标签标注)。否则,称学习器在不可知设定下运行。若 A A A 的运行时间关于 d , 1 / α d,1/\alpha d,1/α log ⁡ ( 1 / β ) \log \left( {1/\beta }\right) log(1/β) 是多项式的,则称该学习器是高效的。若存在一个算法能PAC学习 C C C ,则称 C C C 是PAC可学习的。注意,统计查询(Statistical Query,SQ)学习算法和PAC学习算法的主要区别在于,PAC学习算法可以直接访问示例数据库,而SQ学习算法只能通过有噪声的SQ预言机访问数据。

以下是我们对SQ模型局限性的一些理解,以及将其与数据隐私的集中式模型区分开来的问题。

  1. 在数据隐私的集中式模型中,使用拉普拉斯机制可以以误差 O ( 1 ) O\left( 1\right) O(1) 回答单个敏感度为1的查询,但在局部数据隐私模型中需要误差 Θ ( n ) \Theta \left( \sqrt{n}\right) Θ(n )

  2. 在局部隐私模型中我们能够(恰当地)学习的函数类集合,恰好是在SQ模型中我们能够恰当地学习的函数类集合(在数据库大小和算法查询复杂度的多项式因子范围内)。相比之下,在集中式模型中我们能够(恰当地或不可知地)学习的内容集合,对应于在PAC模型中我们能够学习的内容集合。SQ学习严格弱于PAC学习,但这并不是一个巨大的障碍,因为奇偶函数本质上是唯一有趣的、可PAC学习但不可SQ学习的函数类。我们在此明确提及恰当地学习(即,函数类中存在某个函数能完美地对数据进行标签标注的设定)。在PAC模型中,恰当地学习和不可知地学习在信息论上没有区别,但在SQ模型中区别很大:见下一点。

  3. 在局部隐私模型中我们能够发布的查询集合,恰好是在SQ模型中我们能够不可知地学习的查询集合。相比之下,在集中式模型中我们能够发布的内容集合,对应于在PAC模型中我们能够不可知地学习的内容集合。这是一个更大的障碍——即使是合取式(即,边缘分布)在SQ模型中也不可不可知地学习。这是由我们在第5节中使用迭代构造机制看到的从不可知学习(即,区分)到查询发布的信息论约简得出的。

我们注意到,如果我们只关注计算能力受限的对手,那么原则上分布式代理可以使用安全多方计算来模拟集中式设定下的隐私算法。虽然这实际上并不能提供差分隐私保证,但从计算能力受限的对手的角度来看,这种模拟的结果将与差分隐私计算的结果无法区分。然而,一般的安全多方计算协议通常需要大量的消息传递(因此有时运行时间过长),而局部隐私模型中的算法往往非常简单。

12.2 泛隐私流模型

泛私有算法的目标是,即使面对偶尔能够观察到算法内部状态的对手,仍能保持差分隐私。入侵可能出于多种原因,包括黑客攻击、传票传唤,或者当为一个目的收集的数据被用于另一个目的时出现的任务蔓延(“想想孩子们!”)。泛私有流算法可以防范所有这些情况。请注意,普通的流算法不一定能防范入侵带来的隐私泄露问题,因为即使是低内存的流算法也可能在内存中保留少量数据项,而这些数据项在入侵时会完全暴露。从技术层面来看,管理员可能知晓(传票传唤)或不知晓(黑客攻击)入侵情况。这些情况可能产生截然不同的影响,因为知晓入侵的管理员可以采取保护措施,比如对某些变量重新进行随机化处理。

12.2.1 定义

我们假设存在一个由全域 X \mathcal{X} X 中的元素组成的无限长数据流。将查询流上的数据分析作为动机可能会有所帮助,在查询流中,查询会附带发出者的 IP 地址。目前,我们忽略查询文本本身;全域 X \mathcal{X} X 是潜在 IP 地址的集合。因此,直观地说,用户级隐私保护的是流中某个 IP 地址是否存在,而不考虑它实际出现的次数(如果它确实存在的话)。相比之下,事件级隐私仅保护单个访问的隐私。目前,我们专注于用户级隐私。

与差分隐私算法中常见的情况一样,对手可以任意控制输入流,并且可能拥有从其他来源获得的任意辅助知识。对手还可以拥有任意的计算能力。

我们假设算法会一直运行,直到收到一个特殊信号,此时它会产生(可观察到的)输出。算法可以选择继续运行,并在之后再次响应特殊信号产生额外的输出。由于输出是可观察到的,我们不对特殊信号提供隐私保护。

流算法会经历一系列内部状态,并产生一个(可能无界的)输出序列。用 I 表示算法可能的内部状态集合,用 σ \sigma σ 表示可能的输出序列集合。我们假设对手只能观察到内部状态和输出序列;它无法看到流中的数据(尽管它可能拥有关于其中一些数据的辅助知识),并且无法获取输入序列的长度。

定义 12.8 X \mathcal{X} X -相邻数据流)。我们认为数据流是无限长的;前缀的长度是有限的。如果数据流 S S S S ′ {S}^{\prime } S 仅在单个元素 u ∈ X u \in \mathcal{X} uX 的所有出现情况的有无上存在差异,那么它们就是 X \mathcal{X} X -相邻的。我们类似地定义流前缀的 X \mathcal{X} X -相邻性。

用户级泛隐私。一个将数据流前缀映射到范围 I × σ \mathrm{I} \times \sigma I×σ 的算法 Alg,如果对于所有内部状态集合 I ′ ⊆ I {\mathrm{I}}^{\prime } \subseteq \mathrm{I} II 和输出序列集合 σ ′ ⊆ σ {\sigma }^{\prime } \subseteq \sigma σσ,以及所有相邻数据流前缀对 S , S ′ S,{S}^{\prime } S,S

Pr ⁡ [ A l g ( S ) ∈ ( I ′ , σ ′ ) ] ≤ e ε Pr ⁡ [ A l g ( S ′ ) ∈ ( I ′ , σ ′ ) ] , \Pr \left\lbrack {\mathbf{{Alg}}\left( S\right) \in \left( {{\mathrm{I}}^{\prime },{\sigma }^{\prime }}\right) }\right\rbrack \leq {e}^{\varepsilon }\Pr \left\lbrack {\mathbf{{Alg}}\left( {S}^{\prime }\right) \in \left( {{\mathrm{I}}^{\prime },{\sigma }^{\prime }}\right) }\right\rbrack , Pr[Alg(S)(I,σ)]eεPr[Alg(S)(I,σ)],

其中概率空间是基于算法 Alg 的随机掷币结果。

这个定义仅涉及单次入侵。对于多次入侵,我们必须考虑对内部状态和输出的观察的交织情况。

通过修改相邻性的概念可以得到事件级隐私的放宽定义,大致来说,如果两个流在全域 X \mathcal{X} X 中单个元素的单个实例上存在差异,即删除/添加了一个元素的一个实例,那么它们就是事件相邻的。显然,事件级隐私的保障力度远低于用户级隐私。

注记 12.1。如果我们假设存在极少量对手不可见的秘密存储,那么对于许多我们无法获得泛私有解决方案的问题,都存在(非泛)私有流解决方案。然而,秘密存储的数量不如其存在本身重要,因为秘密存储容易受到社会压力的影响,而泛隐私旨在保护数据(和管理员)免受这些社会压力的侵害。

泛私有密度估计。相当令人惊讶的是,即使对于许多常见流计算的用户级隐私,也能实现泛隐私。例如,考虑密度估计问题:给定一个数据元素的全集 X \mathcal{X} X 和一个数据流 σ \sigma σ,目标是估计 X \mathcal{X} X 中实际出现在数据流中的元素比例。例如,全集由给定社区中的所有青少年(由 IP 地址表示)组成,目标是了解访问计划生育网站的青少年比例。

用于密度估计的标准低内存流解决方案涉及记录至少一些输入项的确定性计算结果,这种方法本质上不是泛私有的。这里有一个简单但内存需求高的解决方案,它受到随机响应的启发。该算法为每个 IP 地址 a a a(可能在数据流中出现任意次数)维护一个比特 b a {b}_{a} ba,初始值是均匀随机的。数据流一次处理一个元素。输入 a a a 时,算法翻转一个偏向 1 的比特;也就是说,这个有偏比特取值为 0 的概率是 1 / 2 − ε 1/2 - \varepsilon 1/2ε,取值为 1 的概率是 1 / 2 + ε 1/2 + \varepsilon 1/2+ε。该算法执行此过程与 IP 地址 a a a 在数据流中出现的次数无关。这个算法是 ( ε , 0 ) \left( {\varepsilon ,0}\right) (ε,0) -差分隐私的。与随机响应一样,我们可以通过 z = 2 ( y − ∣ X ∣ / 2 ) / ∣ X ∣ z = 2\left( {y - \left| \mathcal{X}\right| /2}\right) /\left| \mathcal{X}\right| z=2(yX/2)/X 来估计“真实” 1 的比例,其中 y y y 是处理完数据流后表中 1 的实际数量。为了确保泛隐私,算法发布 z z z 的一个含噪版本。与随机响应一样,误差将在 1 / ∣ X ∣ 1/\sqrt{\left| \mathcal{X}\right| } 1/X 数量级,当密度较高时会产生有意义的结果。

其他拥有用户级泛私有算法的问题包括:

  • 对于任意 t t t,估计恰好出现 t t t 次的元素比例;

  • 估计 t t t -裁剪均值:大致来说,是所有元素的 t t t 和该元素在数据流中出现次数的最小值的平均值;

  • 估计 k k k -频繁项( X \mathcal{X} X 中在数据流中至少出现 k k k 次的元素)的比例。

这些问题的变体也可以针对完全动态的数据进行定义,在这种数据中计数既可以增加也可以减少。例如,密度估计(数据流中出现的比例是多少?)变成了“有多少(或多大比例)的元素(净)计数等于零?”这些问题也可以通过使用流文献中草图技术的差分隐私变体,以用户级泛隐私的方式解决。

12.3 持续观察

数据分析的许多应用涉及重复计算,这要么是因为整个目标是进行监控,例如监控交通状况、搜索趋势或流感发病率。在这类应用中,系统需要持续产生输出。因此,我们需要在持续观察下实现差分隐私的技术。

像往常一样,差分隐私要求每对相邻数据库的输出具有基本相同的分布,但在这种情况下我们应该如何定义相邻性呢?让我们考虑两个示例场景。

假设目标是通过分析 H1N1 自我评估网站的统计数据来监测公共卫生。个人可以与该网站交互,以了解他们正在经历的症状是否可能表明感染了 H1N1 流感。用户填写一些人口统计数据(年龄、邮政编码、性别),并回答有关其症状的问题(体温是否超过 100.4 ∘ F {100.4}^{ \circ }\mathrm{F} 100.4F?是否喉咙痛?症状持续时间?)。我们预计给定的个人与 H1N1 自我评估网站的交互次数非常少(例如,如果我们将关注范围限制在六个月内)。为简单起见,假设只有一次。在这种情况下,确保事件级隐私就足够了,其隐私目标是隐藏单个事件(一个用户与自我评估网站的交互)的存在与否。


1 {}^{1} 1 https://h1n1.cloudapp.net 在 2010 年冬季提供了这样一项服务;用户提供的数据在获得用户同意后被存储用于分析。


再次假设目标是监测公众健康,这次是通过分析提交给医疗搜索引擎的搜索词来实现。在这种情况下,即使我们将关注范围限制在相对较短的时间段内,假设一个人与该网站的交互很少可能不再安全。在这种情况下,我们需要用户级别的隐私保护,确保同时保护用户的整个搜索词集合。

我们将连续观察算法视为在离散的时间间隔内采取步骤;在每个步骤中,算法接收输入、进行计算并产生输出。我们将数据建模为以流的形式到达,每个时间间隔最多有一个数据元素。为了体现现实生活中存在没有任何事情发生的时间段这一事实,空事件在数据流中用一个特殊符号来建模。因此,“ t t t 个时间段”的直观概念对应于处理流中 t t t 个元素的序列。

例如,下面计数器原语背后的动机是计算自算法启动以来某件事情发生的次数(计数器非常通用;我们事先不指定它在计数什么)。这通过一个基于 { 0 , 1 } \{ 0,1\} {0,1} 的输入流来建模。这里,“0”表示“没有事情发生”,“1”表示感兴趣的事件发生了,并且对于 t = 1 , 2 , … , T t = 1,2,\ldots ,T t=1,2,,T ,算法输出流的长度为 t t t 的前缀中看到的“1”的数量的近似值。

有三种自然的选择:

  1. 对每个时间段使用随机响应,并将这个随机值添加到计数器中;

  2. 对每个时间步的真实值添加根据 Lap ⁡ ( 1 / ε ) \operatorname{Lap}\left( {1/\varepsilon }\right) Lap(1/ε) 分布的噪声,并将这个扰动后的值添加到计数器中;

  3. 在每个时间步计算真实计数,对计数添加根据 Lap ⁡ ( T / ε ) \operatorname{Lap}\left( {T/\varepsilon }\right) Lap(T/ε) 分布的噪声,并发布这个含噪计数。

所有这些选择都会导致至少为 Ω ( T / ε ) \Omega \left( {\sqrt{T}/\varepsilon }\right) Ω(T /ε) 量级的噪声。我们希望通过利用查询集的结构来做得更好。

X \mathcal{X} X 为可能的输入符号的全集。设 S S S S ′ {S}^{\prime } S 是从 X \mathcal{X} X 中抽取的符号的流前缀(即有限流)。那么 Adj ⁡ ( S , S ′ ) \operatorname{Adj}\left( {S,{S}^{\prime }}\right) Adj(S,S) (“ S S S S ′ {S}^{\prime } S 相邻”)当且仅当存在 a , b ∈ X a,b \in \mathcal{X} a,bX ,使得如果我们将 S S S a a a 的某些实例更改为 b b b 的实例,那么我们得到 S ′ {S}^{\prime } S 。更正式地说, Adj ⁡ ( S , S ′ ) \operatorname{Adj}\left( {S,{S}^{\prime }}\right) Adj(S,S) 当且仅当 ∃ a , b ∈ X \exists a,b \in \mathcal{X} a,bX ∃ R ⊆ [ ∣ S ∣ ] \exists R \subseteq \left\lbrack \left| S\right| \right\rbrack R[S] ,使得 S ∣ R : a → b = S ′ {\left. S\right| }_{R : a \rightarrow b} = {S}^{\prime } SR:ab=S 。这里, R R R 是流前缀 S S S 中的一个索引集, S ∣ R : a → b {\left. S\right| }_{R : a \rightarrow b} SR:ab 是将这些索引处的所有 a a a 替换为 b b b 的结果。注意,相邻的前缀长度总是相同的。

为了实现事件级别的隐私保护,我们将邻接的定义限制在 ∣ R ∣ ≤ 1 \left| R\right| \leq 1 R1 的情况。为了实现用户级别的隐私保护,我们在邻接的定义中不限制 R R R 的大小。

如上所述,一种选择是在每个时间步发布一个含噪计数;在时间 t t t 发布的计数反映了数据流长度为 t t t 的前缀中 1 的近似数量。隐私方面的挑战在于,数据流中的早期元素几乎要接受 T T T 次统计,因此对于 ( ε , 0 ) \left( {\varepsilon ,0}\right) (ε,0) -差分隐私,我们需要添加规模为 T / ε T/\varepsilon T/ε 的噪声,这是不可接受的。此外,由于 1 是数据流中“有趣”的元素,我们希望失真程度与数据流中出现的 1    s 1\mathrm{\;s} 1s 的数量成比例,而不是与数据流的长度成比例。这就排除了对数据流中的每个元素独立应用随机响应的可能性。

以下算法采用了一种将静态算法转换为动态算法的经典方法。

假设 T T T 是 2 的幂。这些区间是与具有 T T T 个叶子节点的完全二叉树的标签相对应的自然区间,其中叶子节点从左到右依次用区间 [ 0 , 0 ] , [ 1 , 1 ] , … , [ T − 1 , T − 1 ] \left\lbrack {0,0}\right\rbrack ,\left\lbrack {1,1}\right\rbrack ,\ldots ,\left\lbrack {T - 1,T - 1}\right\rbrack [0,0],[1,1],,[T1,T1] 标记,每个父节点用其两个子节点标记区间的并集来标记。其思路是为每个标签 [ s , t ] \left\lbrack {s,t}\right\rbrack [s,t] 计算并发布一个含噪计数;也就是说,与标签 [ s , t ] \left\lbrack {s,t}\right\rbrack [s,t] 对应的发布值是输入数据流中位置 s , s + 1 , … , t s,s + 1,\ldots ,t s,s+1,,t 上 1 的含噪计数。为了了解时间 t ∈ [ 0 , T − 1 ] t \in \left\lbrack {0,T - 1}\right\rbrack t[0,T1] 的近似累积计数,分析人员使用 t t t 的二进制表示来确定一组最多 log ⁡ 2 T {\log }_{2}T log2T 个不相交的区间,这些区间的并集为 [ 0 , t ] \left\lbrack {0,t}\right\rbrack [0,t] ,并计算相应发布的含噪计数的总和。见图 12.1。


计数器 ( T , ε ) \left( {T,\varepsilon }\right) (T,ε)

初始化。初始化 ξ = log ⁡ 2 T / ε \xi = {\log }_{2}T/\varepsilon ξ=log2T/ε ,并采样计数器 ∼ Lap ⁡ ( ξ ) \sim \operatorname{Lap}\left( \xi \right) Lap(ξ)

区间。对于 i ∈ { 1 , … , log ⁡ T } i \in \{ 1,\ldots ,\log T\} i{1,,logT} ,将每个字符串 s ∈ { 0 , 1 } i s \in \{ 0,1{\} }^{i} s{0,1}i 与时间区间 S S S 关联起来

2 log ⁡ T − i {2}^{\log T - i} 2logTi 个时间段 { s ∘ 0 log ⁡ T − i , … s ∘ 1 log ⁡ T − i } \left\{ {s \circ {0}^{\log T - i},\ldots s \circ {1}^{\log T - i}}\right\} {s0logTi,s1logTi} 。该区间从时间 s ∘ 0 log ⁡ T − i s \circ {0}^{\log T - i} s0logTi 开始,到

时间 s ∘ 1 log ⁡ T − i s \circ {1}^{\log T - i} s1logTi 结束。

处理。在时间段 t ∈ { 0 , 1 , … , T − 1 } t \in \{ 0,1,\ldots ,T - 1\} t{0,1,,T1} ,设 x t ∈ { 0 , 1 } {x}_{t} \in \{ 0,1\} xt{0,1} 为第 t t t 个输入位:

  1. 对于每个从时间 t t t 开始的区间 I I I ,将 c I {c}_{I} cI 初始化为一个独立的随机抽样: c I ← {c}_{I} \leftarrow cI

Lap ⁡ ( ( log ⁡ 2 T ) / ε ) \operatorname{Lap}\left( {\left( {{\log }_{2}T}\right) /\varepsilon }\right) Lap((log2T)/ε) ;

  1. 对于每个包含 t t t 的区间 I I I ,将 x t {x}_{t} xt 加到 c I : c I ← c I + x t {c}_{I} : {c}_{I} \leftarrow {c}_{I} + {x}_{t} cI:cIcI+xt 上;

  2. 对于每个在时间 t t t 结束的区间 I I I ,输出 c I {c}_{I} cI


图 12.1:事件级隐私计数器算法(非全隐私)。

在这里插入图片描述

每个流位置 t ∈ [ 0 , T − 1 ] t \in \left\lbrack {0,T - 1}\right\rbrack t[0,T1] 最多出现在 1 + log ⁡ 2 T 1 + {\log }_{2}T 1+log2T 个区间中(因为树的高度为 log ⁡ 2 T {\log }_{2}T log2T ),因此流中的每个元素最多影响 1 + log ⁡ 2 T 1 + {\log }_{2}T 1+log2T 个已发布的含噪计数。因此,根据 Lap ⁡ ( ( 1 + log ⁡ 2 T ) / ε ) \operatorname{Lap}\left( {\left( {1 + {\log }_{2}T}\right) /\varepsilon }\right) Lap((1+log2T)/ε) 为每个区间计数添加噪声可确保满足 ( ε , 0 ) \left( {\varepsilon ,0}\right) (ε,0) -差分隐私。至于准确性,由于任何索引 t ∈ [ 0 , T − 1 ] t \in \left\lbrack {0,T - 1}\right\rbrack t[0,T1] 的二进制表示会产生一组最多包含 log ⁡ 2 T {\log }_{2}T log2T 个区间的不相交集合,其并集为 [ 0 , t ] \left\lbrack {0,t}\right\rbrack [0,t] ,我们可以应用下面的引理 12.2 得出结论:预期误差紧密集中在 ( log ⁡ 2 T ) 3 / 2 {\left( {\log }_{2}T\right) }^{3/2} (log2T)3/2 附近。在所有时间 t t t 上的最大预期误差为 ( log ⁡ 2 T ) 5 / 3 {\left( {\log }_{2}T\right) }^{5/3} (log2T)5/3 量级。

引理 12.2。设 Y 1 , … , Y k {Y}_{1},\ldots ,{Y}_{k} Y1,,Yk 为服从分布 Lap ⁡ ( b i ) \operatorname{Lap}\left( {b}_{i}\right) Lap(bi) 的独立变量。设 Y = ∑ i Y i Y = \mathop{\sum }\limits_{i}{Y}_{i} Y=iYi b max ⁡ = max ⁡ i b i {b}_{\max } = \mathop{\max }\limits_{i}{b}_{i} bmax=imaxbi 。设 ν ≥ ∑ i ( b i ) 2 \nu \geq \sqrt{\mathop{\sum }\limits_{i}{\left( {b}_{i}\right) }^{2}} νi(bi)2 ,以及 0 < λ < 2 2 ν 2 b max ⁡ 0 < \lambda < \frac{2\sqrt{2}{\nu }^{2}}{{b}_{\max }} 0<λ<bmax22 ν2 。则

Pr ⁡ [ Y > λ ] ≤ exp ⁡ ( − λ 2 8 ν 2 ) . \Pr \left\lbrack {Y > \lambda }\right\rbrack \leq \exp \left( {-\frac{{\lambda }^{2}}{8{\nu }^{2}}}\right) . Pr[Y>λ]exp(8ν2λ2).

证明。 Y i {Y}_{i} Yi 的矩生成函数为 E [ exp ⁡ ( h Y i ) ] = 1 / ( 1 − \mathbb{E}\left\lbrack {\exp \left( {h{Y}_{i}}\right) }\right\rbrack = 1/(1 - E[exp(hYi)]=1/(1 h 2 b i 2 ) \left. {{h}^{2}{b}_{i}^{2}}\right) h2bi2) ,其中 ∣ h ∣ < 1 / b i \left| h\right| < 1/{b}_{i} h<1/bi 。使用不等式 ( 1 − x ) − 1 ≤ 1 + 2 x ≤ {\left( 1 - x\right) }^{-1} \leq 1 + {2x} \leq (1x)11+2x exp ⁡ ( 2 x ) \exp \left( {2x}\right) exp(2x) (对于 0 ≤ x < 1 / 2 0 \leq x < 1/2 0x<1/2 ),若 ∣ h ∣ < 1 / 2 b i \left| h\right| < 1/2{b}_{i} h<1/2bi ,则有 E [ exp ⁡ ( h Y i ) ] ≤ exp ⁡ ( 2 h 2 b i 2 ) \mathbb{E}\left\lbrack {\exp \left( {h{Y}_{i}}\right) }\right\rbrack \leq \exp \left( {2{h}^{2}{b}_{i}^{2}}\right) E[exp(hYi)]exp(2h2bi2) 。我们现在针对 0 < h < 1 / 2 b max ⁡ 0 < h < 1/\sqrt{2}{b}_{\max } 0<h<1/2 bmax 进行计算:

Pr ⁡ [ Y > λ ] = Pr ⁡ [ exp ⁡ ( h Y ) > exp ⁡ ( h λ ) ] \Pr \left\lbrack {Y > \lambda }\right\rbrack = \Pr \left\lbrack {\exp \left( {hY}\right) > \exp \left( {h\lambda }\right) }\right\rbrack Pr[Y>λ]=Pr[exp(hY)>exp()]

≤ exp ⁡ ( − h λ ) E [ exp ⁡ ( h Y ) ] \leq \exp \left( {-{h\lambda }}\right) \mathbb{E}\left\lbrack {\exp \left( {hY}\right) }\right\rbrack exp()E[exp(hY)]

= exp ⁡ ( − h λ ) ∏ i E [ exp ⁡ ( h Y i ) ] = \exp \left( {-{h\lambda }}\right) \mathop{\prod }\limits_{i}\mathbb{E}\left\lbrack {\exp \left( {h{Y}_{i}}\right) }\right\rbrack =exp()iE[exp(hYi)]

≤ exp ⁡ ( − h λ + 2 h 2 ν 2 ) . \leq \exp \left( {-{h\lambda } + 2{h}^{2}{\nu }^{2}}\right) . exp(+2h2ν2).


2 {}^{2} 2 该算法可以进行轻微优化(例如,我们从不使用与根节点对应的计数,从而从树中消除一层),并且可以对其进行修改,以处理 T T T 不是 2 的幂次方的情况,更有趣的是,处理 T T T 事先未知的情况。


根据假设, 0 < λ < 2 2 ν 2 b max ⁡ 0 < \lambda < \frac{2\sqrt{2}{\nu }^{2}}{{b}_{\max }} 0<λ<bmax22 ν2 。我们通过设定 h = λ / 4 ν 2 < 1 / 2 b max ⁡ . h = \lambda /4{\nu }^{2} < 1/\sqrt{2}{b}_{\max }. h=λ/4ν2<1/2 bmax. 来完成证明。

推论 12.3。设 Y , ν , { b i } i , b max ⁡ Y,\nu ,{\left\{ {b}_{i}\right\} }_{i},{b}_{\max } Y,ν,{bi}i,bmax 如引理 12.2 所定义。对于 δ ∈ \delta \in δ ∈(0,1) 和 ν > max ⁡ { ∑ i b i 2 , b max ⁡ ln ⁡ ( 2 / δ ) } \nu > \max \left\{ {\sqrt{\mathop{\sum }\limits_{i}{b}_{i}^{2}},{b}_{\max }\sqrt{\ln \left( {2/\delta }\right) }}\right\} ν>max{ibi2 ,bmaxln(2/δ) } ,我们有 Pr ⁡ [ ∣ Y ∣ > \Pr \lbrack \left| Y\right| > Pr[Y> ν 8 ln ⁡ ( 2 / δ ) ] ≤ δ \nu \sqrt{8\ln \left( {2/\delta }\right) }\rbrack \leq \delta ν8ln(2/δ) ]δ

在我们的例子中,所有的 b i {b}_{i} bi 都是相同的(例如, b = ( log ⁡ 2 T ) / ε b = \left( {{\log }_{2}T}\right) /\varepsilon b=(log2T)/ε )。取 ν = k b \nu = \sqrt{k}b ν=k b ,我们得到以下推论:

推论 12.4。对于所有的 λ < α ( k b ) < 2 2 k b = 2 2 k ν \lambda < \alpha \left( {\sqrt{k}b}\right) < 2\sqrt{2}{kb} = 2\sqrt{2k}\nu λ<α(k b)<22 kb=22k ν

Pr ⁡ [ Y > λ ] ≤ e − α 2 / 8 \Pr \left\lbrack {Y > \lambda }\right\rbrack \leq {e}^{-{\alpha }^{2}/8} Pr[Y>λ]eα2/8

请注意,我们采取了不同寻常的步骤,即在计数之前而不是之后向计数中添加噪声。就输出而言,这没有区别(加法满足交换律)。然而,这对算法的内部状态有一个有趣的影响:它们具有差分隐私性!也就是说,假设入侵发生在时间 t t t ,并考虑任意的 i ∈ [ 0 , t ] i \in \left\lbrack {0,t}\right\rbrack i[0,t] 。由于最多有 log ⁡ 2 T {\log }_{2}T log2T 个区间包含步骤 i i i (在算法中我们取消了与根节点对应的区间), x i {x}_{i} xi 最多影响 log ⁡ 2 T {\log }_{2}T log2T 个含噪声的计数,因此 x i {x}_{i} xi 受到保护,防止入侵的原因与它在算法输出中受到保护的原因完全相同。然而,图 12.1 中的算法即使针对单次入侵也不是泛隐私的。这是因为,虽然其内部状态和输出各自独立地具有差分隐私性,但联合分布并不能确保 ε \varepsilon ε -差分隐私性。为了理解为什么会这样,考虑一个入侵者,他在时间 t t t 看到了内部状态,并且知道除 x t + 1 {x}_{t + 1} xt+1 之外的整个数据流,设 I = [ a , b ] I = \left\lbrack {a,b}\right\rbrack I=[a,b] 是一个包含 t t t t + 1 t + 1 t+1 的区间。由于对手知道 x [ 0 , t ] {x}_{\left\lbrack 0,t\right\rbrack } x[0,t] ,它可以从 c I {c}_{I} cI 中减去直到时间 t t t 为止数据流的贡献(即,它从在时间 t t t 观察到的 c I {c}_{I} cI 中减去值 x a , x a + 1 , … , x t {x}_{a},{x}_{a + 1},\ldots ,{x}_{t} xa,xa+1,,xt ,所有这些它都知道)。由此,入侵者得知了 c I {c}_{I} cI 初始化时所使用的拉普拉斯抽样的值。当 c I {c}_{I} cI 在步骤 b b b 结束时被公布时,对手从公布的值中减去这个初始抽样值,以及 x [ a , b ] {x}_{\left\lbrack a,b\right\rbrack } x[a,b] 中除 x t + 1 {x}_{t + 1} xt+1 之外所有元素的贡献,而 x t + 1 {x}_{t + 1} xt+1 是它不知道的。剩下的就是未知的 x t + 1 {x}_{t + 1} xt+1

12.3.1 泛隐私计数

尽管图12.1中的算法可以轻松修改,以确保针对单次入侵的事件级泛隐私性,但我们在此给出一种不同的算法,以便引入一种强大的双射技术,该技术已被证明在其他应用中很有用。该算法在其内部状态中维护一个单一的噪声计数器(或累加器),以及每个时间间隔的噪声值。在任何给定时间段 t t t的输出是累加器和包含 t t t的时间间隔的噪声值之和。当一个时间间隔 I I I结束时,其关联的噪声值 η I {\eta }_{I} ηI将从内存中删除。

定理12.5。图12.2中的计数器算法,在使用参数 T , ε T,\varepsilon T,ε运行且最多遭受一次入侵时,会产生一个 ( ε , 0 ) \left( {\varepsilon ,0}\right) (ε,0) - 泛隐私计数器,该计数器至少以 1 − β 1 - \beta 1β的概率在其 T T T个输出上的最大误差为 O ( log ⁡ ( 1 / β ) ⋅ log ⁡ 2.5 T / ε ) O\left( {\log \left( {1/\beta }\right) \cdot {\log }^{2.5}T/\varepsilon }\right) O(log(1/β)log2.5T/ε)。我们还注意到,在每一轮单独(而非所有轮同时)中,除了 β \beta β的概率外,误差的幅度最多为 O ( log ⁡ ( 1 / β ) O(\log \left( {1/\beta }\right) O(log(1/β) log ⁡ 1.5 T / ε ) {\log }^{1.5}T/\varepsilon ) log1.5T/ε)

证明。准确性的证明与图12.1中算法的证明相同,依赖于推论12.4。我们在此重点关注泛隐私性的证明。

在原子步骤 t ∗ {t}^{ * } t t ∗ + 1 {t}^{ * } + 1 t+1之间的入侵期间,即紧接在输入流中处理元素 t ∗ {t}^{ * } t之后


泛隐私计数器 ( T , ε ) \left( {T,\varepsilon }\right) (T,ε)

初始化。初始化 ξ = ( 1 + log ⁡ T ) / ε \xi = \left( {1 + \log T}\right) /\varepsilon ξ=(1+logT)/ε,并采样计数器 ∼ Lap ⁡ ( ξ ) \sim \operatorname{Lap}\left( \xi \right) Lap(ξ)

时间间隔。对于 i ∈ { 1 , … , log ⁡ T } i \in \{ 1,\ldots ,\log T\} i{1,,logT},将每个字符串 s ∈ { 0 , 1 } i s \in \{ 0,1{\} }^{i} s{0,1}i与时间间隔 S S S关联起来

2 log ⁡ T − i {2}^{\log T - i} 2logTi个时间段 { s ∘ 0 log ⁡ T − i , … s ∘ 1 log ⁡ T − i } \left\{ {s \circ {0}^{\log T - i},\ldots s \circ {1}^{\log T - i}}\right\} {s0logTi,s1logTi}。该时间间隔从时间 s ∘ 0 log ⁡ T − i s \circ {0}^{\log T - i} s0logTi开始,结束于

时间 s ∘ 1 log ⁡ T − i s \circ {1}^{\log T - i} s1logTi

处理。在时间段 t ∈ { 0 , 1 , … , T − 1 } t \in \{ 0,1,\ldots ,T - 1\} t{0,1,,T1},设 x t ∈ { 0 , 1 } {x}_{t} \in \{ 0,1\} xt{0,1}为第 t t t个输入位:

  1. 计数器 ← \leftarrow 计数器 + x t + {x}_{t} +xt

  2. 对于每个在时间 t t t开始的时间间隔 I I I,采样噪声 η I ∼ Lap ⁡ ( ξ ) {\eta }_{I} \sim \operatorname{Lap}\left( \xi \right) ηILap(ξ)

  3. I 1 , … , I log ⁡ T {I}_{1},\ldots ,{I}_{\log T} I1,,IlogT为包含 t t t log ⁡ T \log T logT个时间间隔。输出计数器 + ∑ i = 1 log ⁡ T η I i + \mathop{\sum }\limits_{{i = 1}}^{{\log T}}{\eta }_{{I}_{i}} +i=1logTηIi

  4. 对于每个在时间 t t t结束的时间间隔 I I I,删除 η I {\eta }_{I} ηI


图12.2:事件级泛隐私计数器算法。

在这里插入图片描述

(请记住,我们从 0 开始对元素进行编号),对手的视角包括:(1) 含噪声的累积计数(在变量“count”中);(2) 入侵发生时内存中的区间噪声值 η S {\eta }_{S} ηS;以及 (3) 轮次 0 , 1 , … , t 0,1,\ldots ,t 0,1,,t 中算法所有输出的完整序列。考虑相邻数据库 x x x x ′ {x}^{\prime } x,它们在时间 t t t 上有所不同,不失一般性地说,假设 x t = 1 {x}_{t} = 1 xt=1 x t ′ = 0 {x}_{t}^{\prime } = 0 xt=0,并且在时间段 t ∗ ≥ t {t}^{ * } \geq t tt 之后立即发生入侵(我们将在下面讨论 t ∗ < t {t}^{ * } < t t<t 的情况)。我们将描述在 x x x 上执行和在 x ′ {x}^{\prime } x 上执行时所使用的噪声值向量之间的一一对应关系,使得相应的噪声值在 x x x x ′ {x}^{\prime } x 上诱导出相同的对手视角,并且相邻噪声值的概率仅相差一个 e ε {e}^{\varepsilon } eε 乘法因子。这意味着满足 ε \varepsilon ε - 差分泛隐私。

根据假设,当输入为 x x x 时,时间段 t ∗ ≥ t {t}^{ * } \geq t tt 刚结束后的真实计数比输入为 x ′ {x}^{\prime } x 时更大。固定输入流为 x x x 时的任意一次执行 E x {E}_{x} Ex。这相当于固定了算法的随机性,进而固定了所生成的噪声值。我们将通过描述其噪声值与 E x {E}_{x} Ex 中的噪声值有何不同来描述相应的执行 E x ′ {E}_{{x}^{\prime }} Ex

程序变量 Counter 用拉普拉斯噪声进行初始化。通过在 E x ′ {E}_{{x}^{\prime }} Ex 中将此噪声增加 1,步骤 t ∗ {t}^{ * } t 刚结束时 Counter 的值在 E x ′ {E}_{{x}^{\prime }} Ex E x {E}_{x} Ex 中相同。时间段 t ∗ {t}^{ * } t 刚结束时内存中的噪声变量与输入无关;这些在 E x ′ {E}_{{x}^{\prime }} Ex 中将保持不变。我们将通过改变一组 log ⁡ T \log T logT 区间噪声值 η S {\eta }_{S} ηS(对手入侵时这些值不在内存中),使 E x ′ {E}_{{x}^{\prime }} Ex 中的输出序列与 E x {E}_{x} Ex 中的输出序列相同,从而使得直到 t − 1 t - 1 t1 的所有轮次中所有噪声值的总和不变,但从轮次 t t t 开始,数据库 x ′ {x}^{\prime } x 的噪声值总和比 x x x 的大 1。由于我们增加了 Counter 的初始化噪声,现在需要将时间段 0 , … , t − 1 0,\ldots ,t - 1 0,,t1 的区间噪声值总和减少 1,并保持从时间段 t t t 开始的区间噪声值总和不变。

为此,我们找到一个并集为 { 0 , … , t − 1 } \{ 0,\ldots ,t - 1\} {0,,t1} 的不相交区间集合。总是存在这样的集合,并且其大小至多为 log ⁡ T \log T logT。我们可以通过迭代的方式构造它,对于从 ⌊ log ⁡ ( t − 1 ) ⌋ \left\lfloor {\log \left( {t - 1}\right) }\right\rfloor log(t1) 递减到 0 的 i i i,选择大小为 2 i {2}^{i} 2i 且包含在 { 0 , … , t − 1 } \{ 0,\ldots ,t - 1\} {0,,t1} 中但不包含在先前选择的区间内的区间(如果存在这样的区间)。给定这个不相交区间集合,我们还注意到它们都在时间 t − 1 < t ≤ t ∗ t - 1 < t \leq {t}^{ * } t1<tt 结束,因此对手入侵时(恰好在时间段 t ∗ {t}^{ * } t 之后)它们的噪声不在内存中。总体而言(同时考虑改变 Counter 的初始噪声值),对手看到的完整视角是相同的,并且用于 x x x x ′ {x}^{\prime } x 的(集合的)噪声值的概率至多相差一个 e ε {e}^{\varepsilon } eε 乘法因子。

注意,我们假设了 t ∗ ≥ t {t}^{ * } \geq t tt。如果 t ∗ < t {t}^{ * } < t t<t,那么在 E x ′ {E}_{{x}^{\prime }} Ex中添加到计数器的初始噪声将与在 E x {E}_{x} Ex中相同,并且我们需要在从 t t t T T T的每个时间段内,将区间噪声的总和加1( t t t时刻之前的区间噪声总和保持不变)。这与上述操作一样,通过找到一个最多包含 log ⁡ T \log T logT个区间的不相交集合来精确覆盖 { t , … , T − 1 } \{ t,\ldots ,T - 1\} {t,,T1}。当在 t ∗ < t {t}^{ * } < t t<t时刻发生入侵时,这些区间的噪声值尚未存储在内存中,证明过程类似。

12.3.2 一个(关于 T T T的)对数下界

鉴于定理12.5中的上界,其中误差仅与 T T T呈多项式对数关系,很自然会问是否存在某种内在的依赖关系。在本节中,我们将证明对 T T T的对数依赖确实是内在的。

定理12.6。任何用于对 T T T轮进行计数的差分隐私事件级算法的误差必须为 Ω ( log ⁡ T ) \Omega \left( {\log T}\right) Ω(logT)(即使在 ε = 1 \varepsilon = 1 ε=1的情况下也是如此)。

证明。设 ε = 1 \varepsilon = 1 ε=1。为了推出矛盾,假设存在一个用于长度为 T T T的流的差分隐私事件级计数器,该计数器保证在至少 2 / 3 2/3 2/3的概率下,其在所有时间段的计数误差最大不超过 ( log ⁡ 2 T ) / 4 \left( {{\log }_{2}T}\right) /4 (log2T)/4。设 k = k = k= ( log ⁡ 2 T ) / 4 \left( {{\log }_{2}T}\right) /4 (log2T)/4。我们按如下方式构造一个包含 T / k T/k T/k个输入的集合 S S S。将 T T T个时间段划分为 T / k T/k T/k个连续的阶段,每个阶段的长度为 k k k(可能最后一个阶段除外)。对于 i = 1 , … , T / k i = 1,\ldots ,T/k i=1,,T/k,第 i i i个输入 x i ∈ S {x}^{i} \in S xiS除了在第 i i i个阶段外,其他位置的输入位均为0。即, x i = {x}^{i} = xi= 0 k ⋅ i ∘ 1 k ∘ 0 k ⋅ ( ( T / k ) − ( i + 1 ) ) {0}^{k \cdot i} \circ {1}^{k} \circ {0}^{k \cdot \left( {\left( {T/k}\right) - \left( {i + 1}\right) }\right) } 0ki1k0k((T/k)(i+1))

对于 1 ≤ i ≤ T / k 1 \leq i \leq T/k 1iT/k,如果在第 i i i个阶段之前输出小于 k / 2 k/2 k/2,并且在第 i i i个阶段结束时输出至少为 k / 2 k/2 k/2,我们就说该输出与 i i i匹配。根据准确性,在输入为 x i {x}^{i} xi时,输出应至少以 2 / 3 2/3 2/3的概率与 i i i匹配。根据 ε \varepsilon ε差分隐私,这意味着对于每个满足 i ≠ j i \neq j i=j i , j ∈ [ T / k ] i,j \in \left\lbrack {T/k}\right\rbrack i,j[T/k],在输入为 x i {x}^{i} xi时,输出应至少以

e − 2 ε ⋅ k = e − ε log ⁡ ( T 1 / 2 ) {e}^{-{2\varepsilon } \cdot k} = {e}^{-\varepsilon \log \left( {T}^{1/2}\right) } e2εk=eεlog(T1/2)

= e − log ⁡ ( T 1 / 2 ) = 1 / T . = {e}^{-\log \left( {T}^{1/2}\right) } = 1/\sqrt{T}. =elog(T1/2)=1/T .

这是一个矛盾,因为对于不同的 j j j,输出与 j j j匹配的事件是不相交的,但在输入为 x i {x}^{i} xi时,它们的概率之和超过了1。

12.4 查询发布的平均情况误差

在第4节和第5节中,我们考虑了用于解决私有查询发布问题的各种机制,当时我们关注的是最坏情况误差。也就是说,给定一个大小为 ∣ Q ∣ = k \left| \mathcal{Q}\right| = k Q=k的查询类 Q \mathcal{Q} Q,我们希望恢复一个答案向量 a ^ ∈ R k \widehat{a} \in {\mathbb{R}}^{k} a Rk,使得对于每个查询 f i ∈ Q {f}_{i} \in \mathcal{Q} fiQ,在某个最坏情况误差率 α \alpha α下满足 ∣ f i ( x ) − a ^ i ∣ ≤ α \left| {{f}_{i}\left( x\right) - {\widehat{a}}_{i}}\right| \leq \alpha fi(x)a iα。换句话说,如果我们用 a ∈ R k a \in {\mathbb{R}}^{k} aRk表示真实答案的向量,其中 a i ≡ f i ( x ) {a}_{i} \equiv {f}_{i}\left( x\right) aifi(x),那么我们需要一个形如 ∥ a − a ^ ∥ ∞ ≤ α \parallel a - \widehat{a}{\parallel }_{\infty } \leq \alpha aa α的界。在本节中,我们考虑一种弱化的效用保证,针对 ℓ 2 {\ell }_{2} 2(而非 ℓ ∞ {\ell }_{\infty } )误差:一个形如 ∥ a − a ^ ∥ 2 ≤ α \parallel a - \widehat{a}{\parallel }_{2} \leq \alpha aa 2α的界。这种形式的界并不能保证我们对每个查询都有低误差,但它确实保证了平均而言,我们的误差较小。

尽管这种界比最坏情况误差的界更弱,但该机制特别简单,并且它利用了一种我们此前未曾见过的、对查询发布问题的优雅几何视角。

回想一下,我们可以将数据库 x x x视为一个向量 x ∈ N ∣ X ∣ x \in {\mathbb{N}}^{\left| \mathcal{X}\right| } xNX,其中 ∥ x ∥ 1 = n \parallel x{\parallel }_{1} = n x1=n。类似地,我们也可以将查询 f i ∈ Q {f}_{i} \in \mathcal{Q} fiQ视为向量 f i ∈ N ∣ X ∣ {f}_{i} \in {\mathbb{N}}^{\left| \mathcal{X}\right| } fiNX,使得 f i ( x ) = ⟨ f i , x ⟩ {f}_{i}\left( x\right) = \left\langle {{f}_{i},x}\right\rangle fi(x)=fi,x。因此,将我们的查询类 Q \mathcal{Q} Q视为一个矩阵 A ∈ R k × ∣ X ∣ A \in {\mathbb{R}}^{k \times \left| \mathcal{X}\right| } ARk×X会很有帮助,其中 A A A的第 i i i行就是向量 f i {f}_{i} fi。然后我们可以看到,用矩阵表示法,我们的答案向量 a ∈ R k a \in {\mathbb{R}}^{k} aRk为:

A ⋅ x = a . A \cdot x = a. Ax=a.

让我们考虑将 A A A视为线性映射时的定义域和值域。用 B 1 = { x ∈ R ∣ X ∣ : ∥ x ∥ 1 = 1 } {B}_{1} = \left\{ {x \in {\mathbb{R}}^{\left| \mathcal{X}\right| } : \parallel x{\parallel }_{1} = 1}\right\} B1={xRX:∥x1=1}表示 ∣ X ∣ \left| \mathcal{X}\right| X维空间中的单位 ℓ 1 {\ell }_{1} 1球。注意到 x ∈ n B 1 x \in n{B}_{1} xnB1,因为 ∥ x ∥ 1 = n \parallel x{\parallel }_{1} = n x1=n。我们将 n B 1 n{B}_{1} nB1称为“数据库空间”。记 K = A B 1 K = A{B}_{1} K=AB1。类似地注意到,对于所有的 x ∈ n B 1 , a = A ⋅ x ∈ n K x \in n{B}_{1},a = A \cdot x \in {nK} xnB1,a=AxnK。我们将 n K {nK} nK称为“答案空间”。我们对 K K K做几点观察:注意到因为 B 1 {B}_{1} B1是中心对称的,所以 K − K - K也是中心对称的,即 K = − K K = - K K=K。还要注意到 K ⊂ R k K \subset {\mathbb{R}}^{k} KRk是一个凸多面体,其顶点 ± A 1 , … , ± A ∣ X ∣ \pm {A}^{1},\ldots , \pm {A}^{\left| \mathcal{X}\right| } ±A1,,±AX等于 A A A的列向量及其负向量。

以下算法极其简单:它只是使用拉普拉斯机制(Laplace mechanism)独立地回答每个查询,然后将结果投影回答案空间。换句话说,它为每个查询添加独立的拉普拉斯噪声(Laplace noise),正如我们所见,这本身会导致与 k k k呈线性关系的失真(或者,如果我们放宽到 ( ε , δ ) \left( {\varepsilon ,\delta }\right) (ε,δ) -差分隐私(differential privacy),至少与 k \sqrt{k} k 呈线性关系)。然而,得到的答案向量 a ~ \widetilde{a} a 可能与数据库空间中的任何数据库 y ∈ n B 1 y \in n{B}_{1} ynB1都不一致。因此,它不是返回 a ~ \widetilde{a} a ,而是返回某个与 a ~ \widetilde{a} a 尽可能接近的一致答案向量 a ^ ∈ n K \widehat{a} \in {nK} a nK。正如我们将看到的,这个投影步骤提高了机制的准确性,同时对隐私没有影响(因为这只是后处理!)

我们首先观察到投影(Project)是差分隐私的。

定理12.7。对于任何 A ∈ [ 0 , 1 ] k × ∣ X ∣ A \in {\left\lbrack 0,1\right\rbrack }^{k \times \left| \mathcal{X}\right| } A[0,1]k×X,投影 ( x , A , ε ) \left( {x,A,\varepsilon }\right) (x,A,ε)保留 ( ε , δ ) \left( {\varepsilon ,\delta }\right) (ε,δ) -差分隐私。

算法18 K K K -投影拉普拉斯机制(Projected Laplace Mechanism)。它以矩阵 A ∈ [ 0 , 1 ] k × ∣ X ∣ A \in {\left\lbrack 0,1\right\rbrack }^{k \times \left| \mathcal{X}\right| } A[0,1]k×X、数据库 x ∈ n B 1 x \in n{B}_{1} xnB1以及隐私参数 ε \varepsilon ε δ \delta δ作为输入。


投影 ( x , A , ε , δ ) \left( {x,A,\varepsilon ,\delta }\right) (x,A,ε,δ)

a = A ⋅ x a = A \cdot x a=Ax

对于每个 i ∈ [ k ] i \in \left\lbrack k\right\rbrack i[k],采样 ν i ∼ Lap ⁡ ( 8 k ln ⁡ ( 1 / δ ) / ε ) {\nu }_{i} \sim \operatorname{Lap}\left( {\sqrt{{8k}\ln \left( {1/\delta }\right) }/\varepsilon }\right) νiLap(8kln(1/δ) /ε),并设 a ~ = a + ν \widetilde{a} = a + \nu a =a+ν

输出 a ^ = arg ⁡ min ⁡ a ^ ∈ n K ∥ a ^ − a ~ ∥ 2 2 \widehat{a} = \arg \mathop{\min }\limits_{{\widehat{a} \in {nK}}}\parallel \widehat{a} - \widetilde{a}{\parallel }_{2}^{2} a =arga nKmina a 22


在这里插入图片描述

证明。我们只需注意到 a ~ \widetilde{a} a 是拉普拉斯机制对敏感度为1的查询 k k k的输出,根据定理3.6和3.20,它是 ( ε , δ ) \left( {\varepsilon ,\delta }\right) (ε,δ) -差分隐私的。最后,由于 a ^ \widehat{a} a 是从 a ~ \widetilde{a} a 导出的,且没有进一步访问私有数据,根据差分隐私的后处理保证(命题2.1), a ^ \widehat{a} a 的发布是差分隐私的。

定理12.8。对于任何线性查询类 A A A和数据库 x x x,设 a = A ⋅ x a = A \cdot x a=Ax表示真实答案向量。设 a ^ \widehat{a} a 表示机制投影的输出: a ^ = Project ⁡ ( x , A , ε ) \widehat{a} = \operatorname{Project}\left( {x,A,\varepsilon }\right) a =Project(x,A,ε)。至少以 1 − β 1 - \beta 1β的概率:

∥ a − a ^ ∥ 2 2 ≤ k n 192 ln ⁡ ( 1 / δ ) ln ⁡ ( 2 ∣ X ∣ / β ) ε . \parallel a - \widehat{a}{\parallel }_{2}^{2} \leq \frac{{kn}\sqrt{{192}\ln \left( {1/\delta }\right) \ln \left( {2\left| \mathcal{X}\right| /\beta }\right) }}{\varepsilon }. aa 22εkn192ln(1/δ)ln(2X/β) .

为了证明这个定理,我们将引入凸几何中的几个简单概念。对于一个凸体 K ⊂ R k K \subset {\mathbb{R}}^{k} KRk,其极体 K ∘ {K}^{ \circ } K定义为 K ∘ = { y ∈ R k : ⟨ y , x ⟩ ≤ 1 for all x ∈ K } {K}^{ \circ } = \left\{ {y \in {\mathbb{R}}^{k} : \langle y,x\rangle \leq 1\text{for all}x \in K}\right\} K={yRk:y,x1for allxK}。由凸体 K K K定义的闵可夫斯基范数(Minkowski Norm)为

∥ x ∥ K ≡ min ⁡ { r ∈ R  such that  x ∈ r K } . \parallel x{\parallel }_{K} \equiv \min \{ r \in \mathbb{R}\text{ such that }x \in {rK}\} . xKmin{rR such that xrK}.

∥ x ∥ K \parallel x{\parallel }_{K} xK的对偶范数是由 K K K的极体诱导的闵可夫斯基范数,即 ∥ x ∥ K ∘ \parallel x{\parallel }_{{K}^{ \circ }} xK。该范数还具有以下形式:

∥ x ∥ K ∘ = max ⁡ y ∈ K ⟨ x , y ⟩ . \parallel x{\parallel }_{{K}^{ \circ }} = \mathop{\max }\limits_{{y \in K}}\langle x,y\rangle . xK=yKmaxx,y.

我们将使用的关键事实是赫尔德不等式(Holder’s Inequality),所有中心对称的凸体 K K K都满足该不等式:

∣ ⟨ x , y ⟩ ∣ ≤ ∥ x ∥ K ∥ y ∥ K ∘ . \left| {\langle x,y\rangle }\right| \leq \parallel x{\parallel }_{K}\parallel y{\parallel }_{{K}^{ \circ }}. x,y≤∥xKyK.

定理12.8的证明。证明将分两步进行。首先,我们将证明: ∥ a − a ^ ∥ 2 2 ≤ 2 ⟨ a ^ − a , a ~ − a ⟩ \parallel a - \widehat{a}{\parallel }_{2}^{2} \leq 2\langle \widehat{a} - a,\widetilde{a} - a\rangle aa 222a a,a a,然后我们将使用赫尔德不等式来界定第二个量。

引理12.9

∥ a − a ^ ∥ 2 2 ≤ 2 ⟨ a ^ − a , a ~ − a ⟩ \parallel a - \widehat{a}{\parallel }_{2}^{2} \leq 2\langle \widehat{a} - a,\widetilde{a} - a\rangle aa 222a a,a a

证明。我们计算:

∥ a ^ − a ∥ 2 2 = ⟨ a ^ − a , a ^ − a ⟩ \parallel \widehat{a} - a{\parallel }_{2}^{2} = \langle \widehat{a} - a,\widehat{a} - a\rangle a a22=a a,a a

= ⟨ a ^ − a , a ~ − a ⟩ + ⟨ a ^ − a , a ^ − a ~ ⟩ = \langle \widehat{a} - a,\widetilde{a} - a\rangle + \langle \widehat{a} - a,\widehat{a} - \widetilde{a}\rangle =a a,a a+a a,a a

≤ 2 ⟨ a ^ − a , a ~ − a ⟩ . \leq 2\langle \widehat{a} - a,\widetilde{a} - a\rangle . 2a a,a a.

该不等式可通过以下计算得出:

⟨ a ^ − a , a ~ − a ⟩ = ∥ a ~ − a ∥ 2 2 + ⟨ a ^ − a ~ , a ~ − a ⟩ \langle \widehat{a} - a,\widetilde{a} - a\rangle = \parallel \widetilde{a} - a{\parallel }_{2}^{2} + \langle \widehat{a} - \widetilde{a},\widetilde{a} - a\rangle a a,a a=∥a a22+a a ,a a

≥ ∥ a ^ − a ~ ∥ 2 2 + ⟨ a ^ − a ~ , a ~ − a ⟩ \geq \parallel \widehat{a} - \widetilde{a}{\parallel }_{2}^{2} + \langle \widehat{a} - \widetilde{a},\widetilde{a} - a\rangle ≥∥a a 22+a a ,a a

= ⟨ a ^ − a ~ , a ^ − a ⟩ , = \langle \widehat{a} - \widetilde{a},\widehat{a} - a\rangle , =a a ,a a,

其中最后一个不等式成立是因为根据 a ^ \widehat{a} a 的选择,对于所有 a ′ ∈ {a}^{\prime } \in a n K : ∥ a ~ − a ^ ∥ 2 2 ≤ ∥ a ~ − a ′ ∥ 2 2 . {nK} : \parallel \widetilde{a} - \widehat{a}{\parallel }_{2}^{2} \leq {\begin{Vmatrix}\widetilde{a} - {a}^{\prime }\end{Vmatrix}}_{2}^{2}. nK:∥a a 22 a a 22.

我们现在可以完成证明。回想一下,根据定义, a ~ − a = ν \widetilde{a} - a = \nu a a=ν是拉普拉斯机制添加的独立同分布拉普拉斯噪声向量。根据引理12.9和赫尔德不等式,我们有:

∥ a − a ^ ∥ 2 2 ≤ 2 ⟨ a ^ − a , ν ⟩ \parallel a - \widehat{a}{\parallel }_{2}^{2} \leq 2\langle \widehat{a} - a,\nu \rangle aa 222a a,ν

≤ 2 ∥ a ^ − a ∥ K ∥ ν ∥ K ∘ . \leq 2\parallel \widehat{a} - a{\parallel }_{K}\parallel \nu {\parallel }_{{K}^{ \circ }}. 2a aKνK.

我们分别界定这两项。由于根据定义 a ^ , a ∈ n K \widehat{a},a \in {nK} a ,anK,我们有 max ⁡ ( ∥ a ^ ∥ K , ∥ a ∥ K ) ≤ n \max \left( {\parallel \widehat{a}{\parallel }_{K},\parallel a{\parallel }_{K}}\right) \leq n max(a K,aK)n,因此根据三角不等式, ∥ a ^ − \parallel \widehat{a} - a a ∥ K ≤ 2 n a\parallel K \leq {2n} aK2n

接下来,注意到由于 ∥ ν ∥ K ∘ = max ⁡ y ∈ K ⟨ y , ν ⟩ \parallel \nu {\parallel }_{{K}^{ \circ }} = \mathop{\max }\limits_{{y \in K}}\langle y,\nu \rangle νK=yKmaxy,ν,并且由于线性函数在多面体上的最大值在顶点处取得,我们有: ∥ ν ∥ K ∘ = max ⁡ i ∈ [ ∣ X ∣ ] ∣ ⟨ A i , ν ⟩ ∣ \parallel \nu {\parallel }_{{K}^{ \circ }} = \mathop{\max }\limits_{{i \in \left\lbrack \left| \mathcal{X}\right| \right\rbrack }}\left| \left\langle {{A}^{i},\nu }\right\rangle \right| νK=i[X]max Ai,ν

因为每个 A i ∈ R k {A}^{i} \in {\mathbb{R}}^{k} AiRk都满足 ∥ A i ∥ ∞ ≤ 1 {\begin{Vmatrix}{A}^{i}\end{Vmatrix}}_{\infty } \leq 1 Ai 1,并且回想一下,对于任何标量 q q q,如果 Z ∼ Lap ⁡ ( b ) Z \sim \operatorname{Lap}\left( b\right) ZLap(b),那么 q Z ∼ Lap ⁡ ( q b ) {qZ} \sim \operatorname{Lap}\left( {qb}\right) qZLap(qb),我们可以应用引理12.2来界定拉普拉斯随机变量的加权和 ⟨ A i , ν ⟩ \left\langle {{A}^{i},\nu }\right\rangle Ai,ν。这样做,我们得到至少以概率 1 − β 1 - \beta 1β

max ⁡ i ∈ [ ∣ X ∣ ] ∣ ⟨ A i , ν ⟩ ∣ ≤ 8 k ln ⁡ ( 1 / δ ) ln ⁡ ( ∣ X ∣ / β ) ϵ . \mathop{\max }\limits_{{i \in \left\lbrack \left| \mathcal{X}\right| \right\rbrack }}\left| \left\langle {{A}^{i},\nu }\right\rangle \right| \leq \frac{{8k}\sqrt{\ln \left( {1/\delta }\right) \ln \left( {\left| \mathcal{X}\right| /\beta }\right) }}{\epsilon }. i[X]max Ai,ν ϵ8kln(1/δ)ln(X/β) .

综合上述所有界,我们得到以概率 1 − β 1 - \beta 1β

∥ a − a ^ ∥ 2 2 ≤ 16 n k ln ⁡ ( 1 / δ ) ln ⁡ ( ∣ X ∣ / β ) ϵ . \parallel a - \widehat{a}{\parallel }_{2}^{2} \leq \frac{{16nk}\sqrt{\ln \left( {1/\delta }\right) \ln \left( {\left| \mathcal{X}\right| /\beta }\right) }}{\epsilon }. aa 22ϵ16nkln(1/δ)ln(X/β) .

让我们解释一下这个界。注意到 ∥ a − a ^ ∥ 2 2 = ∑ i = 1 k ( a i − a ^ i ) 2 \parallel a - \widehat{a}{\parallel }_{2}^{2} = \mathop{\sum }\limits_{{i = 1}}^{k}{\left( {a}_{i} - {\widehat{a}}_{i}\right) }^{2} aa 22=i=1k(aia i)2,因此这是所有查询的平方误差之和的界。因此,该机制的每个查询的平均平方误差仅为:

1 k ∑ i = 1 k ( a i − a ^ i ) 2 ≤ 16 n ln ⁡ ( 1 / δ ) ln ⁡ ( ∣ X ∣ / β ) ϵ . \frac{1}{k}\mathop{\sum }\limits_{{i = 1}}^{k}{\left( {a}_{i} - {\widehat{a}}_{i}\right) }^{2} \leq \frac{{16n}\sqrt{\ln \left( {1/\delta }\right) \ln \left( {\left| \mathcal{X}\right| /\beta }\right) }}{\epsilon }. k1i=1k(aia i)2ϵ16nln(1/δ)ln(X/β) .

相比之下,私有乘法权重机制保证了 max ⁡ i ∈ [ k ] ∣ a i − a ^ i ∣ ≤ O ~ ( n log ⁡ ∣ X ∣ 1 / 4 / ε 1 / 2 ) \mathop{\max }\limits_{{i \in \left\lbrack k\right\rbrack }}\left| {{a}_{i} - {\widehat{a}}_{i}}\right| \leq \widetilde{O}\left( {\sqrt{n}\log {\left| \mathcal{X}\right| }^{1/4}/{\varepsilon }^{1/2}}\right) i[k]maxaia iO (n logX1/4/ε1/2),因此与投影拉普拉斯机制的均方误差保证相匹配,其界限为: O ~ ( n log ⁡ ∣ X ∣ / ε ) \widetilde{O}\left( {n\sqrt{\log \left| \mathcal{X}\right| }/\varepsilon }\right) O (nlogX /ε)。然而,乘法权重机制(尤其是其隐私分析)比投影拉普拉斯机制复杂得多!特别是, K K K - 投影拉普拉斯机制的私有部分仅仅是拉普拉斯机制本身,并且不需要查询之间的协调。有趣的是——事实证明,这是必要的——协调发生在投影阶段。由于投影是在后期处理中进行的,因此不会产生进一步的隐私损失;实际上,它可以由数据分析师自己(必要时在线)进行。

12.5 参考文献注释

数据隐私的局部模型源于随机响应,这一概念最早由华纳(Warner)在1965年提出 [84]。局部模型由卡西维斯瓦纳坦(Kasiviswanathan)等人 [52] 在学习的背景下进行了形式化,他们证明了局部模型中的私有学习等同于统计查询(SQ)模型中的非私有学习。古普塔(Gupta)等人 [38] 证明了在局部模型中可以发布的查询集恰好等于在SQ模型中可以进行不可知学习的查询集。

泛隐私(Pan - Privacy)由德沃尔(Dwork)等人 [27] 引入,并由米尔(Mir)等人 [62] 进一步探索。泛私有密度估计以及使用哈希的低内存变体出现在 [27] 中。

持续观察下的隐私由德沃尔(Dwork)等人 [26] 引入;我们用于持续观察下计数的算法以及误差下界均来自该论文。陈(Chan)等人 [11] 也给出了类似的算法。引理12.2中给出的拉普拉斯随机变量和的测度集中不等式的证明来自 [11]。

用于实现低平均误差的投影拉普拉斯机制由尼科洛夫(Nikolov)等人 [66] 提出,他们还针对任何查询类给出了(平均误差)查询发布问题的实例最优算法。这项工作扩展了由哈德特(Hardt)和塔尔瓦尔(Talwar) [45] 开创的关于差分隐私与几何之间联系的一系列研究,并由巴斯卡拉(Bhaskara)等人 [5] 和德沃尔(Dwork)等人 [30] 进一步拓展。

德沃尔(Dwork)、诺尔(Naor)和瓦德汉(Vadhan)证明了无状态和有状态差分隐私机制能够回答(具有非平凡误差)的查询数量之间存在指数级差距 [29]。得到的经验教训是——协调对于准确且私密地回答大量查询至关重要——这似乎排除了投影拉普拉斯机制中独立添加噪声的可能性。该算法的有状态性出现在投影步骤中,从而解决了这一矛盾。


目录导航

第1章:https://blog.csdn.net/AdamCY888/article/details/146454841
第2章:https://blog.csdn.net/AdamCY888/article/details/146455093
第3章(1/3):https://blog.csdn.net/AdamCY888/article/details/146455756
第3章(2/3):https://blog.csdn.net/AdamCY888/article/details/146455796
第3章(3/3):https://blog.csdn.net/AdamCY888/article/details/146455328
第4章:https://blog.csdn.net/AdamCY888/article/details/146455882
第5章:https://blog.csdn.net/AdamCY888/article/details/146456100
第6章(1/2):https://blog.csdn.net/AdamCY888/article/details/146456712
第6章(2/2):https://blog.csdn.net/AdamCY888/article/details/146456972
第7章:https://blog.csdn.net/AdamCY888/article/details/146457037
第8章:https://blog.csdn.net/AdamCY888/article/details/146457172
第9章:https://blog.csdn.net/AdamCY888/article/details/146457257
第10章:https://blog.csdn.net/AdamCY888/article/details/146457331
第11章:https://blog.csdn.net/AdamCY888/article/details/146457418
第12章:https://blog.csdn.net/AdamCY888/article/details/146457489
第13章(含附录):https://blog.csdn.net/AdamCY888/article/details/146457601

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2320652.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

图解模糊推理过程(超详细步骤)

我们前面已经讨论了三角形、梯形、高斯型、S型、Z型、Π型6种隶属函数&#xff0c;下一步进入模糊推理阶段。 有关六种隶属函数的特点在“Pi型隶属函数&#xff08;Π-shaped Membership Function&#xff09;的详细介绍及python示例”都有详细讲解&#xff1a;https://lzm07.b…

datawhale组队学习-大语言模型-task5:主流模型架构及新型架构

目录 5.3 主流架构 5.3.1 编码器-解码器架构 5.3.2 因果解码器架构 5.3.3 前缀解码器架构 5.4 长上下文模型 5.4.1 扩展位置编码 5.4.2 调整上下文窗口 5.4.3 长文本数据 5.5 新型模型架构 5.5.1 参数化状态空间模型 5.5.2 状态空间模型变种 5.3 主流架构 在预训…

RAG 架构地基工程-Retrieval 模块的系统设计分享

目录 一、知识注入的关键前奏——RAG 系统中的检索综述 &#xff08;一&#xff09;模块定位&#xff1a;连接语言模型与知识世界的桥梁 &#xff08;二&#xff09;核心任务&#xff1a;四大关键问题的协调解法 &#xff08;三&#xff09;系统特征&#xff1a;性能、精度…

(C语言)习题练习 sizeof 和 strlen

sizeof 上习题&#xff0c;不知道大家发现与上一张的习题在哪里不一样嘛&#xff1f; int main() {char arr[] "abcdef";printf("%zd\n", sizeof(arr));printf("%zd\n", sizeof(arr 0));printf("%zd\n", sizeof(*arr));printf(&…

Unity Animation的其中一种运用方式

Animation是Unity的旧的动画系统&#xff0c;先说目的&#xff0c;其使用是为了在UI中播放动效&#xff0c;并且在动效播放结束后接自定义事件而设计的 设计的关键点在于&#xff0c;这个脚本不是通过Animation直接播放动画片段&#xff0c;而是通过修改AnimationState的nor…

框架的CVE漏洞利用 php类 java类 手工操作和自动化操作蓝队分析漏洞利用的流量特征

前言 php重要框架和基本的识别特征 php的主要是 tp框架 和 laravel 当然还有 yii等 tp的主要特征 1\报错信息&#xff1a; 2、图标 3、请求头 Laravel特征 1、报错信息 2、请求头 php框架CVE利用 lavarvel 工具 https://github.com/zhzyker/CVE-2021-3129 https://git…

【算法day19】括号生成——数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。

括号生成 https://leetcode.cn/problems/generate-parentheses/description/ 数字 n 代表生成括号的对数&#xff0c;请你设计一个函数&#xff0c;用于能够生成所有可能的并且 有效的 括号组合。 左括号数必须大于右括号数&#xff0c;且小于等于n class Solution { publ…

Qt5.15.2实现Qt for WebAssembly与示例

目录 1.什么是Qt for WebAssembly&#xff1f; 1.1 什么是 WebAssembly&#xff1f; 1.2 WebAssembly 的优势 1.3 什么是 Qt for WebAssembly&#xff1f; 1.4 Qt for WebAssembly 的特点 1.5 编译过程 1.6 运行时环境 注意&#xff01;&#xff01;&#xff01;注意&am…

好吧好吧,看一下达梦的模式与用户的关系

单凭个人感觉&#xff0c;模式在达梦中属于逻辑对象合集&#xff0c;回头再看资料 应该是一个用户可以对应多个模式 问题来了&#xff0c;模式的ID和用户的ID一样吗&#xff1f; 不一样 SELECT USER_ID,USERNAME FROM DBA_USERS WHERE USERNAMETEST1; SELECT ID AS SCHID, NA…

HOW - DP 动态规划系列(三)(含01背包问题)

目录 一、01背包问题最直接的暴力解法动态规划解法 二、完全背包 通过几个算法的学习&#xff0c;理解和掌握动态规划来解决背包问题。 一、01背包问题 对于面试的话&#xff0c;掌握01背包和完全背包就够用了&#xff0c;最多可以再来一个多重背包。 如果这几种背包分不清&…

在linux服务器部署Heygem

前言&#xff1a; Heygem官方文档上提供了基于windwos系统的安装方案。在实际使用过程中个人电脑的配置可能不够。这个时候如果服务器配置够的话&#xff0c;可以尝试在服务器上装一下。但是服务器一般都是linux系统的&#xff0c;于是这篇教程就出现了… 可行性分析 通读安装…

图书管理系统系统-Java、SpringBoot、Vue和MySQL开发的图书馆管理系统

「springboot、vue图书馆管理系统.zip」 链接&#xff1a;https://pan.quark.cn/s/5a929a7e9450 分享一个图书管理系统&#xff0c;Java、SpringBoot、Vue和MySQL开发的图书馆管理系统 以下是对文本内容的总结&#xff1a; 项目概述 项目名称与背景&#xff1a; 项目概述 项…

[c语言日寄]数据输入

【作者主页】siy2333 【专栏介绍】⌈c语言日寄⌋&#xff1a;这是一个专注于C语言刷题的专栏&#xff0c;精选题目&#xff0c;搭配详细题解、拓展算法。从基础语法到复杂算法&#xff0c;题目涉及的知识点全面覆盖&#xff0c;助力你系统提升。无论你是初学者&#xff0c;还是…

字节DAPO算法:改进DeepSeek的GRPO算法-解锁大规模LLM强化学习的新篇章(代码实现)

DAPO算法&#xff1a;解锁大规模LLM强化学习的新篇章 近年来&#xff0c;大规模语言模型&#xff08;LLM&#xff09;在推理任务上的表现令人瞩目&#xff0c;尤其是在数学竞赛&#xff08;如AIME&#xff09;和编程任务中&#xff0c;强化学习&#xff08;RL&#xff09;成为…

计算机操作系统(四) 操作系统的结构与系统调用

计算机操作系统&#xff08;四&#xff09; 操作系统的结构与系统调用 前言一、操作系统的结构1.1 简单结构1.2 模块化结构1.3 分层化结构1.4 微内核结构1.5 外核结构 二、系统调用1.1 系统调用的基本概念1.2 系统调用的类型 总结&#xff08;核心概念速记&#xff09;&#xf…

DeepSeek技术架构解析:MoE混合专家模型

一、前言 2025年初&#xff0c;DeepSeek V3以557万美元的研发成本&#xff08;仅为GPT-4的1/14&#xff09;和开源模型第一的排名&#xff0c;在全球AI领域掀起波澜。其核心创新之一——混合专家模型&#xff08;Mixture of Experts, MoE&#xff09;的优化设计&#xff0c;不…

【正点原子】AI人工智能深度学习(RV1126/RK3568/RK3588)-第1期 准备篇

1.1SDK编译后的目录 1、真正的根文件系统镜像存放目录 2、非必须&#xff0c;负责系统升级等&#xff0c;kerneldtbramdisk组成的根文件系统 1.2文件系统分区 1.3开机自启动 1.6设置静态ip地址 1.8RKMedia框架/编译测试SDK自带RKMedia例程 出厂系统以下内容都是默认…

靶场(十五)---小白心得思路分析---LaVita

启程&#xff1a; 扫描端口&#xff0c;发现开放22&#xff0c;80端口&#xff0c;发现ws.css可能存在exp&#xff0c;经查发现无可利用的exp PORT STATE SERVICE VERSION 22/tcp open ssh OpenSSH 8.4p1 Debian 5deb11u2 (protocol 2.0) | ssh-hostkey: | 3072 c9…

【AI大模型】DeepSeek + 通义万相高效制作AI视频实战详解

目录 一、前言 二、AI视频概述 2.1 什么是AI视频 2.2 AI视频核心特点 2.3 AI视频应用场景 三、通义万相介绍 3.1 通义万相概述 3.1.1 什么是通义万相 3.2 通义万相核心特点 3.3 通义万相技术特点 3.4 通义万相应用场景 四、DeepSeek 通义万相制作AI视频流程 4.1 D…

Pi型隶属函数(Π-shaped Membership Function)的详细介绍及python示例

我们前文已经深度解读了三角形、梯形、高斯、S型和Z型隶属函数&#xff0c;现在转向Pi型。当然我们先简要回顾不同隶属函数的特点和曲线效果。了解每种隶属函数的特性是为了更好的应用。 一、回顾五种隶属函数的特点 1.从每种隶属函数的结构和特点角度对比。三角形隶属函数&am…