将 ε 参数转化为攻击者可获得的信息增量,说明为何匿名化方案在差分隐私面前失效。
随机机制 M 满足 (ε, δ)-差分隐私,如果对于每一对仅在一条记录上有差异的数据集 D 和 D',以及每一个可能的输出集合 S:
Pr[ M(D) ∈ S ] ≤ e^ε · Pr[ M(D') ∈ S ] + δ
可以将其理解为对可辨别性的约束。无论输出是什么,它恰好由你的记录包含在内的世界所产生的概率,与由你的记录被排除在外的世界所产生的概率,几乎完全相同。"几乎完全"由 e^ε 来量化,而 δ 则是该约束完全失效的概率。
这一定义有两个真正起作用、但通常被跳过的特征。它对每一个输出集合进行量化,所以不存在任何巧妙的查询能够逃脱它。而且它不对攻击者已经掌握的信息做任何假设——这与匿名化方案不同,那些方案在你没有预料到的辅助数据集面前就会失效。这种稳健性正是这一定义值得其代价的原因。标准参考文献是 Dwork 和 Roth 的《差分隐私的算法基础》(2014)。
以下是让 epsilon 变得可用的转换。因为这一定义约束了似然比,它同时也约束了攻击者在看到输出后其赔率能移动多远:
posterior_odds ≤ e^ε × prior_odds
推导完成。攻击者在看到任何信息之前认为你有 1% 的概率在数据集中。
prior odds = 0.01 / 0.99 = 0.0101
ε = 0.1 → ×1.11 → odds 0.0112 → posterior probability 1.1%
ε = 1 → ×2.72 → odds 0.0275 → posterior probability 2.7%
ε = 3 → ×20.1 → odds 0.203 → posterior probability 16.9%
ε = 8 → ×2981 → odds 30.1 → posterior probability 96.8%
ε = 10 → ×22026 → odds 222 → posterior probability 99.6%
这张表就是 epsilon 的全部含义,它重构了通常的对话。ε = 1 是一个真正强有力的保证:1% 的怀疑最多变成 2.7%。ε = 3 有意义但不令人安心。ε = 10 允许攻击者从百分之一的怀疑变为近乎确定,这并不是大多数人对"差分隐私"的理解。
还要注意的是,这是针对所有可能的攻击者和所有可能的输出的最坏情况约束。特定机制的实际泄露通常远小于该约束所允许的程度。这就是为什么在实践中有时会为大的 epsilon 辩护,以及为什么这种辩护令人不安:你依赖的是保证不是紧的,而这恰恰是该保证拒绝承诺的东西。
除非隐私单位和组合账务相匹配,否则不同系统的 epsilon 值是不可比较的。每次查询 ε = 2 且查询次数无限制,并不等于 ε = 2。每条记录 ε = 2,对于贡献了一千条记录的用户,对该用户而言也不是 ε = 2。参见下两节——这是大多数已发布的 epsilon 数字变得不可解释的原因。
δ 是 ε 保证完全失效的概率。它不是同一个旋钮的更柔和版本;它是一个失效概率,而且它所允许的失效是无限的——对于那 δ 比例的输出结果,机制可能完全暴露一条记录。
常规要求是 δ 远小于记录数的倒数,通常表述为"密码学意义上的小"。原因很容易看出:以 δ 的概率原样输出随机记录的机制满足 (0, δ)-DP,而且显然是不可接受的。如果 δ = 1e-5 且你的数据集有一百万人,你平均上已授权了十次灾难性的泄露。
定义说的是"仅在一条记录上有差异"。哪条记录由你选择,而它是在任何部署中最具影响力但最少被讨论的参数。
当你读到某个系统"以 ε = 2 做差分隐私"时,第一个问题是它指的是以下哪一种。如果答案没有说明,该数字就无法解释,而在你自己的 epsilon 旁边说明你自己的单位,是你能为评估你系统的人做的最有价值的事情。
每一次从同一数据发布的隐私损失都会累积。在基本组合下,在同一数据集上运行两个 ε=1 的机制会产生 ε=2 的总体结果。高级组合和现代 DP 训练中使用的数值会计方法比朴素求和给出更紧的边界,但方向是不可改变的:每一次额外的查询、每一次额外的训练轮次、每一个额外的发布统计量都消耗预算,而预算不会再生。
这是令团队惊讶的操作现实。隐私预算不是每次请求的设置,而是数据集整个生命周期内的有限总量,必须有人来管理账本。在实践中,这意味着:关于总 ε 的决定、一个在预算耗尽时拒绝查询的机制,以及关于之后发生什么的策略。没有这三者的系统做的是隐私风味的噪声添加,而不是差分隐私。
主要是准确性,尤其是在尾部。DP 通过使罕见事物与不存在变得无法区分来工作。这就是重点,这意味着你失去的类别是那些小样本的——少数语言、不常见的用法模式、低频类别。平均指标几乎不动,而代表性不足的情况则消失了。这种分布后果很少被说明,但却是最重要的。
数据量。所需的噪声大致由敏感度和 epsilon 固定,而信号随贡献者数量增长。所以 DP 在人口规模上是负担得起的,而在小数据集上是负担不起的。如果你有一万个用户,大多数有趣的 DP 分析根本就无法企及。
训练成本,应用于模型训练时。DP-SGD 裁剪逐示例梯度并添加噪声,每步比普通训练慢得多,而且收敛更慢。要准备一个倍数,而不是一点 margin。
一个无法解决的政策问题。选择 epsilon 没有技术方法。这是一个关于可接受风险的决策,属于对系统负责的人,而诚实的方式是在他们面前摆出上面的后验赔率表,而不是从论文里借一个数字。
适用于你的群体的结论。如果 DP 分析确定具有某种特征的人倾向于做某事,而你有那个特征,别人可以推断出关于你的一些信息。DP 明确不防止这种情况——它保护的是你的参与,而不是你免受统计信息的影响。
相关的记录。保证是针对一条记录变化的。如果你的数据出现在多行中,或者你家庭的数据与你的相关联,有效的保护比所声明的 epsilon 要弱。
机制之外的一切。DP 适用于特定的计算。日志、缓存、中间文件和原始数据集都不受其影响。从一个保留原始输入的管道中发布的 DP 输出移动了风险,而不是消除了风险——隐私保护数据管道中的框架正是关于这个边界的。
糟糕的实现。噪声采样中的浮点舍入、错误的敏感度分析,以及时间侧的通道都曾打破过真实的 DP 部署。定义是健全的;实现是软件。
法律义务,自动的。DP 是数据最小化的有力证据,但它不是一个自动执行的合规论证。DP 发布是否构成个人数据仍然是特定制度 和特定参数的问题。