查询算法的Boosting

我们将使用第2节中概述的数据库的行表示,其中我们将数据库视为行的多重集或X\mathcal{X}的元素。固定数据库大小nn、数据域X\mathcal{X}和敏感度最大为hoho的实值查询的查询集Q=q:XR\mathcal{Q}={q:\mathcal{X}^*→\mathbb{R}}

我们假设存在一个基本大纲生成器(在第6.2节中,我们将看到如何构造这些)。接下来,我们需要的基本生成器的性质是,对于查询集Q\mathcal{Q}上的任何分布D\mathcal{D},基本生成器的输出都可以用于计算大部分查询的准确答案,其中 “大分数” 是根据D\mathcal{D}给出的权重定义的。基生成器由kk参数化,即要采样的查询数;λ\lambda是输出的精度要求;η\eta是对“大”的度量,描述了大部分查询的含义,β\beta是失败概率。

定义 6.1(k,λ,η,β)(k,\lambda,\eta,\beta)-基本大纲生成器)对于固定的数据库大小$n$,数据域X\mathcal{X}和查询集Q\mathcal{Q},考虑大纲生成器M\mathcal{M},其独立地从Q\mathcal{Q}上的分布D\mathcal{D}kk个查询进行采样并输出大纲。我们称M\mathcal{M}是一个(k,λ,η,β)(k,\lambda,\eta,\beta)-基本大纲生成器,如果对于任何Q\mathcal{Q}上的分布D\mathcal{D},除了β\beta概率之外,所有M\mathcal{M}的硬币翻转,M\mathcal{M}输出的大纲S\mathcal{S}对于由D\mathcal{D}加权的Q\mathcal{Q}1/2+η1/2+\eta质量分数是λ\lambda-精确的:

PrqD[q(S)q(x)λ]1/2+η.\begin{align} \underset{q\sim\mathcal{D}}{\text{Pr}}[|q(\mathcal{S})-q(x)|\leq\lambda]\geq1/2+\eta.\tag{6.1} \end{align}

查询增强算法可用于任何类别的查询和任何不同的私有基本大纲生成器。 运行时间继承自基本大纲生成器。Booster在Q|\mathcal{Q}|中投入了准线性的额外时间,特别是其运行时间并不直接依赖于数据域的大小。

要指定提升(boosting)算法,我们需要指定停止条件、聚合机制以及用于更新Q\mathcal{Q}上的当前分布的算法。

停止条件. 我们将固定TT轮运行算法——这将是我们的停止条件。选择TT以保证高的准确度(以极大可能);正如我们将看到的,只需要logQ/η2\log|\mathcal{Q}|/\eta^2轮就足够了。

更新分布. 尽管分布从未在输出中直接显示,但基本大纲A1,A2,A3,...,AT\mathcal{A}_1,\mathcal{A}_2,\mathcal{A}_3,...,\mathcal{A}_T会被揭示,并且在构造Ai\mathcal{A}_i时,每个Ai\mathcal{A}_i在原则上都能从Di\mathcal{D}_i上泄露所选查询信息。因此,我们需要限制在相邻数据库上获得的概率分布之间的最大散度。这在技术上是具有挑战性的,因为给定Ai\mathcal{A}_i,数据库在构建Di+1\mathcal{D}_{i+1}时涉及到的非常多。

初始分布D1\mathcal{D}_1Q\mathcal{Q}上是均匀分布的。一个更新Dt\mathcal{D}_t的标准方法是增加处理不良元素的权重,在我们的情况下,对于q(x)q(At)>λ|q(x)-q(A_t)|>\lambda的查询,通过一个固定的因子(增加处理不良元素的权重),比如ee,并通过相同的因子减少处理良好的元素权重。(然后将权重归一化以便总和为 1。)为了困难化,令x=y{ξ}x=y\cup\{\xi\},并假设当数据库是yy时,所有的查询qq都被At\mathcal{A}_t很好的处理,但是加上ξ\xi后导致处理失败,例如,一个1/10的查询;即,对于所有查询qqq(y)q(At)λ|q(y)- q(\mathcal{A}_t)|\leq\lambda,但是对于某些Q/10|\mathcal{Q}|/10的查询,q(y)q(At)λ|q(y)- q(\mathcal{A}_t)|\geq\lambda。请注意,因为At\mathcal{A}_t甚至在数据库是xx时都有9/10的查询“表现良好”,无论x,yx,y中的哪一个是真实的数据集,它都可以从基础sanitizer返回。我们关心的是更新的影响:当数据库为yy时,所有查询都得到了很好的处理,并且没有重新加权(规范化之后),但是当数据库为xx时,有一个重新加权:十分之一的查询的权重增加了 ,剩下的十分之九的权重减少了。 这种重新加权的差异可以在下一次迭代中通过At+1\mathcal{A}_{t+1}检测到,这是可观察的,并且将根据数据库是xx还是yy,从相当不同的分布中抽取样本构建。

例如,假设我们从均匀分布D1\mathcal{D}_1开始。那么D2(y)=D1(y)\mathcal{D}_2^{(y)}=\mathcal{D}_1^{(y)},其中Di(z)\mathcal{D}_i^{(z)}表示当数据库是zz时的第ii轮分布。这是因为每个查询的权重都减少了一个因子ee,这在归一化中消失了。因此每一个qQq\in\mathcal{Q}D2(y)\mathcal{D}_2^{(y)}中被分配了权重1/Q1/\mathcal{Q}。相反,当数据库为xx时,“不满意”的查询具有归一化权重

eQ9101Q1e+110eQ.\frac{\frac{e}{|\mathcal{Q}|}}{\frac{9}{10}\frac{1}{|\mathcal{Q}|}\frac{1}{e}+\frac{1}{10}\frac{e}{|\mathcal{Q}|}}.

考虑任意这样不满意的查询qq。比例D2(x)(q)/D2(y)(q)\mathcal{D}_2^{(x)}(q)/\mathcal{D}_2^{(y)}(q)由下式给出

D2(x)(q)D2(y)(q)=eQ9101Q1e+110eQ1Q=101+9e2=defF4.5085.\begin{align} \frac{\mathcal{D}_2^{(x)}(q)}{\mathcal{D}_2^{(y)}(q)}&=\frac{\frac{\frac{e}{|\mathcal{Q}|}}{\frac{9}{10}\frac{1}{|\mathcal{Q}|}\frac{1}{e}+\frac{1}{10}\frac{e}{|\mathcal{Q}|}}}{\frac{1}{\mathcal{|Q|}}}\\ &=\frac{10}{1+\frac{9}{e^2}}\overset{def}{=}F\approx4.5085. \end{align}

现在,lnF1.506\ln F \approx 1.506,即使基本生成器在第2轮中使用的查询选择没有明确公开,它们可能可以从公开的结果A2\mathcal{A}_2中检测到。因此,每个查询存在高达1.506的潜在隐私损失(当然,我们期望取消;我们只是试图解释困难的根源)。通过确保基本生成器所使用的样本数量相对较小,可以部分地解决这一问题,尽管我们仍然存在这样的问题,即在多次迭代中,即使在相邻数据库上,分布Dt\mathcal{D}_t也可能非常不同地演化。

解决方案是去减弱重新加权过程。我们不是总是使用固定比例来增加权重(当回答是“精确”时)或减少权重(当回答为“不精确”时),而是为“精确性”(λ\lambda)和“不精确性”(λ+μ\lambda+\mu分别设置阈值,以便适当的选择与基本生成器输出的位大小成比例的μ\mu;见引理6.5)。误差低于或高于这些阈值的查询的权重通过因子ee分别降低或增加了。对于误差介于这两个阈值之间的查询,我们线性缩放权重变化的自然对数:12(q(x)q(At)λ)/μ1-2(|q(x)-q(\mathcal{A}_t)|-\lambda)/\mu,因此误差幅度超过λ+μ/2\lambda+\mu/2的查询增加权重,而误差幅度小于λ+μ/2\lambda+\mu/2的查询减少权重。

减弱的缩放减少了任何个体对任何查询的重新加权的影响。这是因为个体只能影响查询的真实答案——因此也只能影响基本大纲生成器的输出q(At)q(\mathcal{A}_t)——通过一个很小的量,而且减弱将该量除以一个参数μ\mu,该参数将被选择用于补偿从执行Boosting算法过程中获得的TT分布中选择的(全部)kTkT样本。这有助于确保隐私。直观地,我们将这些kTkT样本中的每一个视为 “微型机制”。我们首先在任何一轮限制采样的隐私损失(声明6.4),然后通过组合定理限制累积损失。

“准确”和“不准确”阈值之间的差距(μ\mu)越大,每个个体对查询权重的影响就越小。这意味着更大的差距对隐私更好。然而,为了准确性,大的差距是不好的。如果不准确阈值很大,我们只能保证基本大纲生成器在非常不精确的查询下,重新加权期间其权重会大幅增加。这降低了boosting算法的准确性保证:误差大致等于“不精确”阈值(λ+μ)(\lambda+\mu)

聚合. 对于t[T]t\in[T],我们将运行基本生成器去获得一个大纲At\mathcal{A}_t。大纲将通过取中位数进行聚合:给定A1,...,AT\mathcal{A}_1,...,\mathcal{A}_T,量q(x)q(x)是通过取使用每个Ai\mathcal{A}_i计算的q(x)q(x)TT个近似值来估计的,然后计算他们的中位数。通过这种聚合方法,我们可以通过论证大多数Ai\mathcal{A}_i1iT1\leq i\leq T为查询qq提供λ+μ\lambda+\mu(或更好)的精确度来展示qq的精确度。这意味着q(x)q(x)TT近似值的中值将在真实值的λ+μ\lambda+\mu范围内。

注释.

  1. 在整个算法的运行过程中,我们跟踪几个变量(显式或隐式)。由qQq\in\mathcal{Q}索引的变量在查询集中保存与查询qq有关的信息。由t[Q]t\in[Q]索引的变量,通常在第tt轮被计算,将会被用来构造用于在时间段t+1t+1中采样的分布Dt+1\mathcal{D}_{t+1}

  2. 对于谓词PP,如果谓词为真,我们使用[[P]][[P]]表示1,如果它为假,则表示为0。

  3. 算法中使用了最终的调整参数α\alpha。它将被选择(见下面的推论6.3)取值为:

    α=α(η)=(1/2)ln(1+2η12η).\alpha=\alpha(\eta)=(1/2)\ln(\frac{1+2\eta}{1-2\eta}).

该算法如图6.1所示。步骤2(2b)中的量ut,qu_{t,q}是查询的新的、未归一化的权重。现在,让我们设置α=1\alpha=1(这样我们就可以忽略任何α\alpha因子)。设aj,qa_{j,q}jj轮中权重变化的自然对数,1jt1\leq j\leq t,则新的权重由:

ut,qexp(j=1taj,q).u_{t,q}\leftarrow \exp(-\sum_{j=1}^ta_{j,q}).

给定。因此,在上一步结束的前一步时,未归一化的权重为ut1,q=exp(j=1t1aj,q)u_{t-1,q}=\exp(-\sum_{j=1}^{t-1}a_{j,q})并且更新对应于乘以eaj,te^{-a_{j,t}}。当和j=1taj,q\sum_{j=1}^ta_{j,q}很大时,权重就很小。每当一个大纲给出一个非常好的q(x)q(x)的近似时,我们就在这个和上加1; 如果近似值只是中等好 (在λ\lambdaλ+μ/2\lambda+\mu/2之间),我们加一个正数,但小于1。 相反,当大纲非常糟糕(差于λ+μ\lambda+\mu精度)时,我们减去1; 当它勉强可以接受时(在λ+μ/2\lambda+\mu/2λ+μ\lambda+\mu之间),我们减去较小的量 。

Figure6.1: Boosting for queries

在下面的定理中,我们可以看到由εsample\varepsilon_{sample}捕获的采样引起的隐私损失与精确和不精确阈值之间的差距之间的反比关系。

定理 6.1.Q\mathcal{Q}是一个敏感度至多为ρρ的查询族。对于适当的参数设置,并且在T=logQ/η2T=\log|\mathcal{Q}|/\eta^2轮次,图6.1的算法是一个精确且差分私有的查询增强(query-boosting)算法:

  1. 当用基于(k,λ,η,β)(k, \lambda, \eta, \beta)的大纲生成器实例化时,Boosting算法的输出以至少1Tβ1-T\beta的概率对Q\mathcal{Q}中的所有查询给出(λ+μ)(\lambda+\mu)精确的回答,其中:

    μO(((log3/2Q)klog(1/β)ρ)/(εsampleη3)).\begin{align} \mu\in O(((\log^{3/2}|Q|)\sqrt k\sqrt{\log(1/\beta)}\rho)/(\varepsilon_{sample}\cdot\eta^3)).\tag{6.2} \end{align}
  2. 如果基本大纲生成器是(εbase,δbase)(\varepsilon_{base},\delta_{base})-差分隐私,则boosting算法是(εsample+Tεbase,δsample+Tδbase)(\varepsilon_{sample}+T\cdot\varepsilon_{base},\delta_{sample}+T\delta_{base})-差分隐私的

允许常数η\eta被归入进大O符号,为简单起见取ho=1ho=1,我们得到μ=O(((log3/2Q)klog(1/β))/εsample)\mu=O(((\log^{3/2}|\mathcal{Q}|)\sqrt k\sqrt{\log(1/\beta)})/\varepsilon_{sample})。因此,我们看到减少基本清理程序(sanitizer)所需的输入查询数量kk提高了输出的质量。 同样,从定理的完整陈述中,我们看到提高基本清理程序的泛化能力,这对应于具有更大的η\eta值(更大的“强多数”),也提高了准确性。

【定理6.1的证明】我们首先证明准确性,然后证明隐私。

我们引入符号at,qa_{t,q}^-at,q+a_{t,q}^+,满足:

  1. at,q,at,q+{1,1}a_{t,q}^-,a_{t,q}^+\in\{-1,1\};和

  2. at,qat,qat,q+a_{t,q}^-\leq a_{t,q}\leq a_{t,q}^+

回顾一下,更大的at,qa_{t,q}表示对q(x)q(x)的大纲At\mathcal{A}_t的更高质量的近似。

  1. 如果At\mathcal{A}_tqq上是λ\lambda-精确的,则at,qa_{t,q}^-是1,否则是-1。要检查at,qat,qa_{t,q}^-\leq a_{t,q},请注意如果at,q=1a_{t,q}^{-}=1,则At\mathcal{A}_tqqλ\lambda-精确的,因此根据定义at,q=1a_{t,q}=1。相反,如果我们有at,q=1a_{t,q}^{-}=-1,那么因此我们总是有at,q[1,1]a_{t,q}\in[-1,1]

    我们将使用at,qa_{t,q}^-来降低基本生成器输出质量的下界。根据基本生成器的保证,对于Dt\mathcal{D}_t质量的至少1/2+η1/2+\eta部分,At\mathcal{A}_tλ\lambda-精确的。因此,

    rt=ΔqQDt[q]at,q(1/2+η)(1/2η)=2η.\begin{align} r_t\overset{\Delta}{=}\sum_{q\in\mathcal{Q}}\mathcal{D}_t[q]\cdot a_{t,q}^-\geq(1/2+\eta)-(1/2-\eta)=2\eta.\tag{6.3} \end{align}
  2. 如果At\mathcal{A}_tqq上是(λ+μ)(\lambda+\mu)-精确的,at,q+a_{t,q}^+是-1,否则是1。要检查at,qat,q+a_{t,q}\leq a_{t,q}^+,请注意如果at,q+=1a_{t,q}^{+}=-1,则At\mathcal{A}_tqq(λ+μ)(\lambda+\mu)-不精确的,因此根据定义at,q=1a_{t,q}=-1。相反,如果我们有at,q+=1a_{t,q}^{+}=1,那么因此我们总是有at,q[1,1]a_{t,q}\in[-1,1]

    因此,at,q+a_{t,q}^+是正数当且仅当At\mathcal{A}_t对于qq至少是最小充分精确的。我们将使用at,q+a_{t,q}^+去证明聚合的精确度。当我们对at,q+a_{t,q}^+的值求和时,当且仅当大多数的At\mathcal{A}_t提供可通过的(即,在λ+μ\lambda+\mu内)对q(x)q(x)的近似时,我们才会得到一个正数。在这种情况下,中值将在λ+μ\lambda+\mu内。

最后更新于