3 min read

Ch9.差分隐私变体

Table of Contents

提出差分隐私变体的目的是为了更加紧致隐私消耗量.

之前所提到的隐私消耗量的计算方法, 得到的都是较为宽松的上界, 而实际的消耗远低于计算出的上界.

9.1 最大散度和瑞丽散度

  1. 最大散度 Max Divergence

    在统计学中, 散度是用来度量两种概率分布差异的方法.
    最大散度是 KL 散度(Kullback-Leibler Divergence)的最坏情况.
    两个概率分布 YYZZ 的最大散度定义为:

    D(YZ)=maxSSupp(Y)[logPr[YS]Pr[ZS]]D_{\infty}(Y \parallel Z) = \underset{S \subseteq Supp(Y)}{max} \Biggl[ log \frac{Pr[Y \in S]}{Pr[Z \in S]} \Biggr]

    若证明:

    D(F(x)F(x))ϵD_{\infty}(F(x) \parallel F(x')) \leq \epsilon

    FF 满足 ϵ\epsilon-差分隐私.

  2. 瑞丽散度 Rényi Divergence
    概率分布 PPQQα\alpha 阶瑞丽散度定义为:

    Dα(PQ)=1α1logExQ(P(x)Q(x))αD_{\alpha}(P \parallel Q) = \frac{1}{\alpha - 1} log E_{x \sim Q} \Bigl( \frac{P(x)}{Q(x)} \Bigr)^{\alpha}

    P(x)P(x)Q(x)Q(x) 分别为 PPQQxx 处的概率密度.

9.2 瑞丽差分隐私

瑞丽差分隐私 Rényi Differential Privacy RDP
如果对与所有的临近数据集 xxxx', 随机机制 FF 满足:

Dα(F(x)F(x))ϵˉD_{\alpha}(F(x) \parallel F(x')) \leq \bar \epsilon

则机制 FF 满足 (α\alpha, ϵˉ\bar \epsilon)-RDP.

ϵˉ\bar \epsilon 用于区别 ϵ\epsilon-差分隐私 和 (ϵ\epsilon,δ\delta)-差分隐私的 ϵ\epsilon.

如果机制 FF 满足 (α\alpha, ϵˉ\bar \epsilon)-RDP, 那对于任意给定的 δ>0\delta > 0, FF 满足 (ϵ\epsilon,δ\delta)-差分隐私.
其中 ϵ=ϵˉ+log(1δ)α1\epsilon = \bar \epsilon + \frac{log(\frac{1}{\delta})}{\alpha - 1}, δ\delta 应选择一个有意义的值, 如 δ1n2\delta \leq \frac{1}{n^2}.

实现瑞丽差分隐私的基本机制是高斯机制.
对于一个 L2L2 敏感度Δf\Delta f 的函数 ff: DRk\mathcal{D} \rightarrow \mathbb{R}^k. 构造 (α\alpha, ϵˉ\bar \epsilon)-瑞丽差分隐私机制:

F(x)=f(x)+N(σ2) where σ2=Δf2α2ϵˉF(x) = f(x) + \mathcal{N}(\sigma^2) \ where \ \sigma^2 = \frac{\Delta f^2 \alpha}{2 \bar \epsilon}

满足瑞丽差分隐私的高斯机制:

def gaussian_mech_RDP_vec(vec, sensitivity, alpha, epsilon_bar): 
    sigma = np.sqrt((sensitivity**2 * alpha) / (2 * epsilon_bar)) 
    return [v + np.random.normal(loc=0, scale=sigma) for v in vec]

RDP 的主要优势
用高斯机制实现的瑞丽差分隐私满足紧致组合性, 组合使用机制时不需要引入特殊的高级组合定理.

RDP 的串行组合性

F1F_1 满足 (α\alpha, ϵˉ1\bar \epsilon_1)-RDP.
F2F_2 满足 (α\alpha, ϵˉ2\bar \epsilon_2)-RDP.
F1F_1F2F_2的组合机制满足 (α\alpha, ϵˉ1+ϵˉ2\bar \epsilon_1 + \bar \epsilon_2)-RDP.

给定噪声级别(即给定 σ2\sigma^2)时, 先使用这个串行组合性, 限制重复应用高斯机制的隐私消耗, 再将隐私定义转换为 (ϵ\epsilon, δ\delta)-差分隐私.

这个方法比直接在 (ϵ\epsilon, δ\delta) 中应用串行组合(甚至高级组合)的总消耗量要低很多.

9.3 零集中差分隐私

零集中差分隐私 Zero-concentrated Differential Privacy zCDP

零集中差分隐私也是基于瑞丽散度定义的差分隐私变体, 但仅包含一个隐私参数 ρ\rho.
对于所有的临近数据集 xxxx', 以及所有的 α(1,)\alpha \in (1,\infty), 如果一个随机机制 FF 满足:

Dα(F(x)F(x))ραD_\alpha(F(x) \parallel F(x')) \leq \rho \alpha

FF 满足 ρ\rho-零集中差分隐私.

零集中差分隐私的定义比瑞丽差分隐私更强, 零集中差分隐私对瑞丽散度的阶有更严格的限制. 随着 α\alpha 的增大, 限制会变宽松.
零集中差分隐私和瑞丽差分隐私相同, 也可以转换为 (ϵ\epsilon, δ\delta)-差分隐私. δ>0,ϵ=ρ+2ρ log(1δ)\delta > 0, \epsilon = \rho + 2 \sqrt{\rho \ log (\frac{1}{\delta})}.

零集中差分隐私也可以使用高斯机制实现, 对于一个 L2L2 敏感度为 Δf\Delta f 的函数 ff: DRk\mathcal{D} \rightarrow \mathbb{R}^k.

F(x)=f(x)+N(σ2) where σ2=Δf22ρF(x) = f(x) + \mathcal{N}(\sigma^2) \ where \ \sigma^2 = \frac{\Delta f^2}{2 \rho}
def gaussian_mech_zCDP_vec(vec, sensitivity, rho): 
    sigma = np.sqrt((sensitivity**2) / (2 * rho)) 
    return [v + np.random.normal(loc=0, scale=sigma) for v in vec]

zCDP 的串行组合性

F1F_1 满足 ρ1\rho_1-zCDP.
F2F_2 满足 ρ2\rho_2-zCDP.
F1F_1F2F_2的组合机制满足 ρ1+ρ2\rho_1 + \rho_2-zCDP.

9.4 不同差分隐私变体的组合性

当遇到以下情况时, 使用差分隐私变体:

使用高斯机制实现差分隐私(特别是高维向量)
问询算法多次(成百上千次)使用差分隐私机制

不同差分隐私的总隐私消耗量比较
示例算法: 一个应用 kk 次高斯机制的问询算法.
固定 σ\sigma (固定每轮迭代中高斯机制引入的噪声量)的取值.
固定 δ\delta 的取值.

  • 首先可以明显的发现, zCDP 和 RDP 的串行组合性都比应用高级组合性的 (ϵ\epsilon, δ\delta)-差分隐私的总消耗量好得多.
  • RDP 固定了 α\alpha, RDP 的 ϵ\epsilon 值会随着 kk 的增加而线性增加; zCDP 会同时考虑多个 α\alpha, zCDP 的 ϵ\epsilon 值会随着 kk 的增加而次线性增加.

    次线性增加: 函数增长速度比线性函数更慢.

  • 两条曲线会相交, 相交点由 RDP 的 α\alpha 值决定.
    (图中 α\alpha 为 20, 两条曲线大概在 k=300k = 300 时相交)

RDP 要谨慎的选择 α\alpha 值, 进而得到更紧致的消耗量. 通过测试多个 α\alpha 值, 观察哪个 α\alpha 值的消耗量最小. 该测试仅与选择的隐私参数和迭代次数有关, 与数据本身无关. 可根据需要测试任意数量的 α\alpha, 不会增加额外的隐私消耗. 一般测试少量 α\alpha 值即可找到 ϵ\epsilon 的最小值 (α[2,100]\alpha \in [2 , 100]).