想象班主任想统计班上“有多少人上课打过瞌睡”,可没人愿意如实举手。聪明的班主任宣布:每人先自己掷一枚硬币——如果是正面,就如实写答案;如果是反面,就再掷一次硬币,随机写“有”或“没有”。这样一来,每张纸条交上来时都已经被本人“涂改”过了,班主任无法推断任何一个人的真实状态,但通过概率修正,仍能估算出全班的大致比例。这种“先在源头涂改、再收集统计”的思路,就是本地差分隐私(Local Differential Privacy, LDP)的雏形;而“把原始数据交给可信统计员,由统计员统一在汇总结果上加噪声”则是中心化差分隐私(Central DP)。本文将围绕这枚硬币讲故事,带你理解两种方案的原理、算法、权衡以及它们在真实世界的落地。

岗位关联

对AI从业者而言,理解LDP与中心化DP的权衡是设计隐私保护系统的关键能力:它决定了你是在“信任服务器”还是在“信任数学”之间做选择,也直接关系到数据产品的合规性、精度和成本。

目录
  1. 可视化演示
  2. 隐私保护基础:为什么数据需要“涂改”
  3. 中心化DP机制:把纸条交给可信的小信
  4. 本地DP原理:每个人自己掷硬币
  5. 核心算法:掷硬币的数学化
  6. 权衡对比:两种方案的舍与得
  7. 工程挑战:硬币不够用了怎么办
  8. 落地应用:巨头们的真实选择
  9. AI 应用场景
  10. Python 演示
  11. 常见误区
  12. 面试题

可视化演示

展示中心化DP与LDP的信任边界差异、随机响应机制原理及隐私预算与数据效用的权衡关系。

本节配有交互动效(进入视口后自动加载,约 3KB)。

信任边界对比 CDP:可信管理者收集原始数据后统一加噪 LDP:用户终端本地加噪,收集方不可信 CDP: noise at curator, LDP: noise at user 信任边界位置决定架构选型

隐私保护基础:为什么数据需要“涂改”

想象你是班里一个从没打过瞌睡的好学生,可当班主任问“谁打过瞌睡?”时,你依然不敢举手——因为一旦说了真话,就可能被贴上“上课不专心”的标签。更糟的是,如果老师把所有纸条摊在桌上让每个人都能看见,你的隐私就彻底暴露了。隐私保护的本质,是在“如实回答”和“守口如瓶”之间找到一个数学上可量化的中间地带。

在数据科学中,数据库就是那叠纸条。当我们运行一个查询(比如“打瞌睡人数”)时,攻击者可能通过对比两次查询的结果,推导出某一条具体记录是否存在。差分隐私(Differential Privacy, DP)给出的解题思路是:让算法的输出对“某一条记录是否存在”不敏感。形式化地说,任意两个只相差一条记录的相邻数据集 $D_1$ 和 $D_2$,算法 $M$ 在它们上面的输出分布应满足:

其中 $S$ 是输出空间中的任意事件集合,$\varepsilon$ 是隐私预算。这个不等式相当于说:无论你的记录在不在数据库里,最终看到的查询结果都不会有显著差异,攻击者无从判断。

ε 就像涂改液“涂得有多狠”——涂得越重(ε 越小),没人能看清笔迹;涂得太轻,字迹仍可辨认。好的隐私保护,就是在“看不清笔迹”和“统计仍可用”之间找到平衡。

Pr⁡[M(D1)∈S]≤eε⋅Pr⁡[M(D2)∈S]\Pr[M(D_1) \in S] \leq e^\varepsilon \cdot \Pr[M(D_2) \in S]
  1. 两个相邻数据集$D_1$ 和 $D_2$ 之间只差一条记录,直观理解就是“多了一个人/少了一个人”的两个数据库。
    D1,D2 仅相差一条记录D_1, D_2 \ \text{仅相差一条记录}
  2. 任意输出事件$S$ 是随机算法 $M$ 所有可能输出的集合中的任意一个子集,代表“任何你能观察到的结果”。
    S⊆Range(M)S \subseteq \mathrm{Range}(M)
  3. 概率比有上限在 $D_1$ 上输出属于 $S$ 的概率,最多是 $D_2$ 上的 $e^\varepsilon$ 倍,概率比被牢牢锁住。
    Pr⁡[M(D1)∈S]Pr⁡[M(D2)∈S]≤eε\frac{\Pr[M(D_1) \in S]}{\Pr[M(D_2) \in S]} \leq e^\varepsilon
  4. 隐私预算$\varepsilon$ 越小,这个比值越接近 1,两个数据集的输出几乎无法区分,隐私保护越强。
    ε→0⇒Pr⁡[M(D1)∈S]≈Pr⁡[M(D2)∈S]\varepsilon \to 0 \quad \Rightarrow \quad \Pr[M(D_1) \in S] \approx \Pr[M(D_2) \in S]

中心化DP机制:把纸条交给可信的小信

方案 A 中,班主任指定全班最靠谱的小信收集纸条。大家把真实答案交给小信,小信把纸条打乱后,在最终统计数字上偷偷添上几个虚构的“打瞌睡”名额,再公布。小信保证:谁也不知道单个纸条的内容,而统计结果只是一个模糊的大概数。这就是中心化 DP(Central DP)的基本流程:所有原始数据先汇聚到一个可信的第三方服务器,服务器在查询结果上注入经过校准的噪声,再对外发布。核心保护发生在“服务器端”而不是“用户端”。

最常见的实现是 Laplace 机制。它往查询结果 $f(D)$ 上添加拉普拉斯噪声,噪声尺度由全局敏感度 $\Delta f$ 和隐私预算 $\varepsilon$ 共同决定:

全局敏感度 $\Delta f$ 刻画“改变一条记录最多能让查询结果改变多少”。例如统计“打瞌睡人数”,改变一个人的答案只会让计数变化 1,所以 $\Delta f = 1$。敏感度越大,就需要越多噪声来掩盖单人的影响。

小信是方案的“命门”——所有人都必须信任他不会偷看、不会泄露。如果小信被收买或攻击,所有真实纸条就会全部暴露。这正是中心化 DP 的天然弱点。

M(D)=f(D)+Lap(Δfε)M(D) = f(D) + \mathrm{Lap}\left(\frac{\Delta f}{\varepsilon}\right)
  1. 查询结果$f(D)$ 是对数据集 $D$ 的某个查询(例如计数、求和),它是中心化 DP 的“原始答案”。
    f(D)∈Rf(D) \in \mathbb{R}
  2. 全局敏感度$\Delta f$ 是所有相邻数据集上查询结果差值的最大值,衡量“一个人能掀起的最大波澜”。
    Δf=max⁡D1,D2∥f(D1)−f(D2)∥1\Delta f = \max_{D_1, D_2} \| f(D_1) - f(D_2) \|_1
  3. 噪声尺度$\mathrm{Lap}(\Delta f / \varepsilon)$ 表示尺度参数为 $\Delta f / \varepsilon$ 的拉普拉斯噪声,尺度越大噪声越强。
    Lap(Δfε)\mathrm{Lap}\left(\frac{\Delta f}{\varepsilon}\right)
  4. 加噪发布把噪声加到真值上再输出,这样输出既接近真值,又无法反推出单条记录,整体满足 $\varepsilon$-DP。
    M(D)=f(D)+Lap(Δfε)M(D) = f(D) + \mathrm{Lap}\left(\frac{\Delta f}{\varepsilon}\right)

本地DP原理:每个人自己掷硬币

班主任觉得让小信看大家的真话风险太大,于是改用方案 B:每个人拿到一枚特殊的硬币,掷出正面就写真实答案,掷出反面则再掷一次随机写“有/没有”。每个人在座位上就完成了“涂改”,交上来的全是模糊信息。这就是本地差分隐私(Local Differential Privacy, LDP):数据在离开用户设备之前就已经被随机化,收集者永远只看到扰动后的版本。这里的“收集者”可以是任何一个不可信的统计服务器。

形式上,一个随机化算法 $Q$ 满足 $\varepsilon$-LDP,当且仅当对任意两个可能的输入值 $x_1, x_2$ 和任意输出集合 $S$:

注意与中心化 DP 的区别:这里概率对“任意两条用户数据”都必须成立,而不只是对“相邻数据集”。所以 LDP 的保护目标是“每一个人”,而不是“每一条记录”。

现在大家的隐私不再依赖小信的人品,而是掌握在自己手中——掷硬币的规则不会被任何收集者推翻。即使收集者是恶意的,也只会收到一堆已被涂改的答案。

Pr⁡[Q(x1)∈S]≤eε⋅Pr⁡[Q(x2)∈S]\Pr[Q(x_1) \in S] \leq e^\varepsilon \cdot \Pr[Q(x_2) \in S]
  1. 任意两个输入$x_1, x_2$ 是用户可能的任意两条原始数据,无论它们相不相似,都必须被同样地“模糊化”。
    ∀x1,x2∈X\forall x_1, x_2 \in \mathcal{X}
  2. 随机化算法$Q$ 是每个用户本地的扰动函数,它接收原始值 $x$,输出扰动后的值 $y$。
    y=Q(x)y = Q(x)
  3. 输出集合$S$ 是 $Q$ 的所有可能输出中的任意子集,代表攻击者可能观测到的任何结果。
    ∀S⊆Range(Q)\forall S \subseteq \mathrm{Range}(Q)
  4. 概率比界限任意两个输入产生同一输出的概率比不超过 $e^\varepsilon$,所以收集者从 $y$ 无法区分输入究竟是 $x_1$ 还是 $x_2$。
    Pr⁡[Q(x1)∈S]≤eε⋅Pr⁡[Q(x2)∈S]\Pr[Q(x_1) \in S] \leq e^\varepsilon \cdot \Pr[Q(x_2) \in S]

核心算法:掷硬币的数学化

掷硬币涂改答案听着简单,但“如何从涂改后的答案反推真实比例”就需要精确的数学了。必须知道涂改规则,才能在统计中还原真相。二值随机化响应(Randomized Response)是 LDP 最经典的机制,它把掷硬币规则翻译成了概率公式。设隐私预算为 $\varepsilon$,则“如实报告”的概率 $p$ 应选为:

当 $\varepsilon = 0$ 时 $p = 1/2$(纯掷硬币完全随机);$\varepsilon$ 越大,$p$ 越接近 1(越像说真话)。

如果收集了 $n$ 个扰动后的答案,如何估计“真实答案中类别 $v$ 的比例”?设 $y_i$ 是第 $i$ 个用户上报的扰动值,可以用无偏修正公式:

直觉是:观察到的 $v$ 的数量里,有一部分是翻转造成的,先减掉这部分“底噪”,再按信噪比放大,从而还原真实比例。对于类别数据,可以对每个类别做同样的二值化;对数值数据,则用分段扰动机制估计均值——本质上是同一个“先涂改、再修正”的思路。

就像班主任根据硬币的正反概率,从一堆涂改过的纸条中反推出全班打瞌睡的大致比例——信息虽然有损失,但统计规律仍在。

p=eεeε+1p = \frac{e^\varepsilon}{e^\varepsilon + 1}
  1. 指示函数$\mathbb{I}[y_i = v]$ 表示第 $i$ 个用户上报的值是否等于目标类别 $v$,等于取 1,否则取 0。
    I[yi=v]∈{0,1}\mathbb{I}[y_i = v] \in \{0, 1\}
  2. 减去底噪$\frac{1}{e^\varepsilon + 1}$ 是随机翻转产生“伪 $v$”的期望比例,先把它从观测中扣除。
    p^obs−1eε+1\hat{p}_{obs} - \frac{1}{e^\varepsilon + 1}
  3. 信噪比放大$\frac{e^\varepsilon - 1}{e^\varepsilon + 1}$ 是“真实信号”在观测中的占比,用它做分母把信号放大回原尺度。
    p^obs−1eε+1eε−1eε+1\frac{\hat{p}_{obs} - \frac{1}{e^\varepsilon + 1}}{\frac{e^\varepsilon - 1}{e^\varepsilon + 1}}
  4. 平均估计对所有用户取平均,得到无偏的频率估计;$n$ 越大,估计越稳定。
    q^v=1n∑i=1n⋯\hat{q}_v = \frac{1}{n} \sum_{i=1}^{n} \cdots

权衡对比:两种方案的舍与得

方案 A(小信统一涂改)统计精确但信任风险大;方案 B(每人自己涂改)绝对安全但统计误差大。班主任得做个选择题。中心化 DP 和本地 DP 的根本差异在于“噪声加在哪一层”:中心化 DP 只在最终统计量上加一次小噪声,对数据本身无扰动,所以精度高;本地 DP 的每条数据都必须单独扰动,噪声在个体层面叠加,统计时需要更大的样本才能“洗出”信号。

经验上,LDP 要达到与中心化 DP 相近的估计精度,所需样本量约为:

此外还有通信开销:LDP 往往需要更大的报文(如 RAPPOR 的布隆过滤器),而且同一份噪声只能用于一个统计。没有免费的午餐——如果你想不信任任何“小信”,就得忍受更模糊的统计结果、更多的问卷数量(样本量)和更高的信息传递成本。

nLDP∼nCDP⋅O(eε(eε−1)2)n_{LDP} \sim n_{CDP} \cdot O\left(\frac{e^\varepsilon}{(e^\varepsilon - 1)^2}\right)
  1. 样本量之比$n_{LDP} / n_{CDP}$ 表示要达到同等精度,LDP 需要的样本量是中心化 DP 的多少倍。
    nLDPnCDP\frac{n_{LDP}}{n_{CDP}}
  2. 分子指数项$e^\varepsilon$ 来自随机化响应的信息保留率,$\varepsilon$ 越小,单条数据的信号越弱。
    eεe^\varepsilon
  3. 分母平方项$(e^\varepsilon - 1)^2$ 来自修正公式中的信噪比,它决定了噪声放大的倍数。
    (eε−1)2(e^\varepsilon - 1)^2
  4. 小 ε 近似当 $\varepsilon$ 较小时 $e^\varepsilon - 1 \approx \varepsilon$,所以样本量差距约为 $O(1/\varepsilon^2)$ 倍。
    ε→0⇒nLDPnCDP≈O(1ε2)\varepsilon \to 0 \quad \Rightarrow \quad \frac{n_{LDP}}{n_{CDP}} \approx O\left(\frac{1}{\varepsilon^2}\right)

工程挑战:硬币不够用了怎么办

班主任的问卷里其实有 100 个问题,如果每个问题都掷一轮硬币,大家的硬币很快就被“摇”烦了,而且每轮都要消耗一定的“涂改额度”。真实世界的数据往往是高维的——手机上报的特征可能成千上万,LDP 对每个维度都施加噪声,噪声会随维度累积,统计结果可能彻底湮没在噪音中。

设把总隐私预算分配到 $k$ 个维度,每个维度分到 $\varepsilon_j$,那么总预算满足:

工程上常用策略包括:维度采样(每个用户只随机报告一个维度的值,用稀疏采样换取精度)、数据分块/前缀树(把高维数据压缩成低维结构再扰动)、预算自适应(先花小部分预算探测稀疏维度,再集中预算发布热点维度)。选择 ε 是艺术与科学的结合——ε 太小数据变得毫无用处(如保持概率接近 0.5),ε 太大又形同虚设,实践中通常需要在离线数据集上做真实性与效用评估。

就像零花钱(隐私预算)就那么多,买玩具(发布统计)得精打细算。孩子们可以选择“大家凑钱买一个大玩具”(维度采样),也可以“每个玩具都少买一点”(均匀分配预算)——工程智慧在于如何分配。

εtotal=∑j=1kεj\varepsilon_{\text{total}} = \sum_{j=1}^{k} \varepsilon_j
  1. 总预算$\varepsilon_{\text{total}}$ 是整个数据发布流程允许的总隐私损失,工程上由合规与产品需求共同决定。
    εtotal=ε1+ε2+⋯+εk\varepsilon_{\text{total}} = \varepsilon_1 + \varepsilon_2 + \cdots + \varepsilon_k
  2. 逐维分配每个维度 $j$ 使用自己的预算 $\varepsilon_j$,全部维度的预算之和不能超过总预算。
    εj≥0,j=1,2,…,k\varepsilon_j \geq 0, \quad j = 1, 2, \dots, k
  3. 预算稀缺维度越多,每维平均能分到的预算越小,单维噪声越大,统计越模糊。
    εˉ=εtotalk→0(k→∞)\bar{\varepsilon} = \frac{\varepsilon_{\text{total}}}{k} \to 0 \quad (k \to \infty)

落地应用:巨头们的真实选择

你可能会想:“掷硬币涂改答案,这么原始的办法真的有人用吗?”答案是:不仅用了,而且正被全球数十亿台设备默默使用着。Google 的 RAPPOR 是 LDP 的第一次大规模工业应用——用于统计恶意软件和崩溃页面,而无需收集用户真实浏览行为。Apple 也在 2016 年起用 LDP 收集表情使用频次、输入法新词热度和查询词频次。

LDP 频率估计的方差公式揭示了数据规模的威力:

即便单个样本的噪声很大,只要用户量足够大(比如数亿设备),统计结果的方差就可以被压到可用范围。在工程实践中:浏览器遥测使用随机化响应加布隆滤波器;移动操作系统在键盘、Spotlight 中嵌入差分隐私模块;位置服务在客户端扰动坐标,实现“知道哪条路堵”而不追踪“谁在哪”。

现在再回头看掷硬币的故事——班主任不必是千里眼,只要班上有几千人,就算每张纸条都被涂改得乱七八糟,统计规律依然清晰浮出水面。隐私保护与数据价值,在数学的帮助下终于可以兼得。

---

Var[q^v]≈O(e2εn(eε−1)2)\mathrm{Var}[\hat{q}_v] \approx O\left(\frac{e^{2\varepsilon}}{n(e^\varepsilon - 1)^2}\right)
  1. 估计方差$\mathrm{Var}[\hat{q}_v]$ 衡量频率估计的波动程度,方差越大,统计结果越不稳定。
    Var[q^v]\mathrm{Var}[\hat{q}_v]
  2. 隐私成本分子 $e^{2\varepsilon}$ 表示 $\varepsilon$ 越小时,每个样本携带的信号越弱,方差被急剧放大。
    e2ε(ε↓⇒方差↑)e^{2\varepsilon} \quad (\varepsilon \downarrow \Rightarrow \text{方差} \uparrow)
  3. 样本量的力量分母中的 $n$ 表示用户量越大,方差被平均得越小——这就是“以海量用户换取消噪能力”的数学基础。
    n↑⇒Var[q^v]↓n \uparrow \Rightarrow \mathrm{Var}[\hat{q}_v] \downarrow

AI 应用场景

亿万级客户端遥测统计

阶段:数据采集与预处理

解决的问题:传统埋点方案直接上报用户真实行为数据(如访问的 URL、崩溃栈),隐私风险大且合规成本高。采用 LDP 后,客户端在本地对每条记录做随机化扰动,服务器只能拿到“被涂改”的统计样本,无法定位任何个体,从而在源头化解数据泄露风险。

具体案例:某浏览器厂商在恶意站点统计中使用 RAPPOR 方案:用户本地将 URL 映射成布隆过滤器,再进行随机化响应后上报;服务端用 LDP 修正公式还原各 URL 的频次分布,既拿到了恶意站点 Top 榜,又不收集任何人的真实浏览历史。

输入法热词与智能推荐

阶段:特征统计与模型训练

解决的问题:输入法需要知道“哪些新词正在流行”来改进联想,但用户的输入内容高度敏感(聊天、搜索、密码等)。LDP 让用户在本机打乱字词频次,服务端只接收扰动后的词频报告,再通过修正估计得到全局热词分布,兼顾个性化体验与用户隐私。

具体案例:某手机厂商在系统键盘中部署 LDP 模块:用户每打出一个候选词,设备以一定概率上报该词或上报随机词;服务端汇总数十亿条扰动记录,得到“新词热度榜”,用于更新词库和联想模型,整个过程无法还原任何单条输入。

位置路况与城市计算

阶段:空间数据洞察

解决的问题:导航 App 要算“哪里堵车”,但精确轨迹属于高度敏感的个人信息。LDP 将位置在本地模糊化(例如以一定概率上报真实道路 ID 或随机道路 ID),服务端用频次修正还原各路段的车流密度,实现“知道路况、不知道是谁”。

具体案例:某地图 App 在用户经过路口时,本地扰动上报“当前道路编号”;服务端对每条道路的扰动频次做 LDP 修正,实时估算拥堵等级,只发布聚合后的路况图层,不存储任何个体轨迹。

Python 演示

python33 行
import numpy as np def randomized_response(bit, p):    """以概率 p 如实回答二进制问题,否则翻转答案。"""    return bit if np.random.rand() < p else 1 - bit def estimate_frequency(reported, p):    """从被扰动后的报告中反推真实频率(无偏修正)。"""    n = len(reported)    observed = np.mean(reported)    return (observed - (1 - p)) / (2 * p - 1) def ldp_collect(bits, eps):    """本地差分隐私完整流程:源头扰动 + 统计修正。"""    p = np.exp(eps) / (1 + np.exp(eps))    reported = [randomized_response(b, p) for b in bits]    est = estimate_frequency(reported, p)    return est, p def main():    rng = np.random.default_rng(0)    n = 10000    true_ratio = 0.30    bits = (rng.random(n) < true_ratio).astype(int)     print("真实打瞌睡比例 =", true_ratio)    for eps in [0.5, 1.0, 3.0, 8.0]:        est, p = ldp_collect(bits, eps)        bias = abs(est - true_ratio)        print(f"eps={eps:4.1f} | 保持概率p={p:.3f} | LDP估计={est:.3f} | 绝对误差={bias:.3f}") if __name__ == "__main__":    main()
目的:演示二值随机化响应如何在本地扰动数据、再由收集端修正还原真实比例的完整流程,并直观展示 ε 对估计精度的影响。
  1. def randomized_response(bit, p):定义“掷硬币”函数:以概率 p 返回原比特,否则返回翻转后的 1-bit,这是 LDP 的源头扰动核心。
  2. p = np.exp(eps) / (1 + np.exp(eps))从隐私预算 ε 推导“说真话”的概率,ε=0 时 p=0.5(完全随机),ε 越大 p 越接近 1。
  3. reported = [randomized_response(b, p) for b in bits]对每位用户的数据在源头独立扰动,收集者只得到模糊版本,无法还原个体。
  4. return (observed - (1 - p)) / (2 * p - 1)无偏修正公式:先扣除随机翻转造成的“底噪”,再按信噪比放大,还原真实频率。
  5. for eps in [0.5, 1.0, 3.0, 8.0]:遍历不同隐私预算,观察 ε 增大时保持概率上升、估计误差逐步收窄。

常见误区

误区初学者以为本地差分隐私就是在数据上撒一点随机噪声,噪声大小随心所欲,只要能“看起来变模糊”就行。

正解LDP 要求严格的 ε-LDP 不等式:任意两个输入的输出分布概率比必须被 $e^\varepsilon$ 锁住,噪声必须来自经过校准的机制(如随机化响应中保持概率由 ε 精确决定)。随手乱加的噪声既可能破坏数据可用性,又无法提供可证明的隐私保证——就像乱涂改答案,既让班主任统计不出结果,也没建立起真正的保密承诺。

为何常见:随机化响应表面上看就是“随机改答案”,容易被直观地理解成普通的随机噪声注入。

误区既然 LDP 在源头就保护了隐私、不依赖可信第三方,那它的统计结果应该更准确。

正解恰恰相反!LDP 在个体层面加入噪声,噪声通常远大于中心化 DP 在最终统计值上加的一点点噪声。要达到同等精度,LDP 需要的样本量通常是中心化的 $O(1/\varepsilon^2)$ 倍。本地 DP 换来的不是精度,而是“不需要信任收集者”这个安全属性。

为何常见:混淆了“隐私更强”与“精度更高”两个维度——把保护机制的强大误当成统计效力的强大。

误区隐私预算嘛,预算越多代表保护越多,所以 ε 应该越大越好。

正解ε 在差分隐私中表示的是“隐私损失的上界”,而不是可供挥霍的资源。ε 越小,相邻数据集的输出越难区分,隐私保护越强;ε 越大,输出差异越明显,隐私保护越弱。工程上通常取 0.1~10 之间的值,在可用性与隐私之间做权衡。

为何常见:“预算”一词在直觉上常与“额度、可支配资源”挂钩,让人误以为越多越好,实际上它度量的是“可以容忍的泄露量”。

误区既然数据在本地就扰动好了、收集者不可信也没关系,那整个系统就没有任何信任需求了。

正解LDP 确实不信任数据收集者,但仍依赖其他假设:用户设备要正确执行随机化协议、随机数发生器质量可靠、各用户的扰动相互独立、通信链路本身不被窃听(否则扰动数据可被关联还原)。此外,统计修正依赖于大家确实遵守了“掷硬币”规则。

为何常见:“不需要可信第三方”被过度演绎成“无任何假设”,忽略了协议执行与信道安全这些基础前提。

面试题

Q1. 本地差分隐私(LDP)中,隐私保护的主要操作发生在哪个环节?

单选题 · easy

  • A.数据收集之后的服务器端
  • B.每个用户设备的数据源头← 正确答案
  • C.数据传输过程加密隧道里
  • D.数据分析完成后的发布端

答案:B。LDP 的关键是在数据离开用户设备之前就完成扰动,收集者只看到被“涂改”的版本。服务器端加噪声属于中心化 DP,加密隧道只保证传输安全,发布端加噪声也属于中心化思路。

Q2. 下列关于中心化 DP 与本地 DP 信任模型的描述,正确的是?

单选题 · mid

  • A.两者都要求数据收集方完全可信
  • B.中心化 DP 信任收集者,本地 DP 不信任← 正确答案
  • C.中心化 DP 不信任用户,本地 DP 信任收集者
  • D.两者都不需要任何信任假设

答案:B。中心化 DP 依赖可信第三方先收集真实数据再加噪声;本地 DP 在源头扰动,收集者只收到模糊数据,因此不信任收集者。其余选项颠倒了信任关系。

Q3. 差分隐私中隐私预算 ε 的含义,以下哪个说法最准确?

单选题 · mid

  • A.ε 越小表示允许发布的数据量越少
  • B.ε 越大表示隐私保护程度越强
  • C.ε 越小表示相邻数据集输出越难区分← 正确答案
  • D.ε 与算法随机性没有任何关系

答案:C。ε 是隐私损失的上界,ε 越小,相邻数据集的输出分布越接近,攻击者越难区分,隐私保护越强。ε 越小噪声越大、数据可用性降低,但不是“发布量”变少。

Q4. 二值随机化响应机制中,若隐私预算为 ε,如实报告的概率 p 应为?

单选题 · mid

  • A.$p = \frac{e^\varepsilon}{e^\varepsilon + 1}$← 正确答案
  • B.$p = \frac{1}{e^\varepsilon + 1}$
  • C.$p = \frac{e^\varepsilon - 1}{e^\varepsilon + 1}$
  • D.$p = e^{-\varepsilon}$

答案:A。保持概率 p 的选择必须让输出满足 ε-LDP。当 ε=0 时 p=1/2(纯随机),ε→∞ 时 p→1(如实回答)。B 是翻转概率,C 是信噪比项,D 没有归一化。

Q5. 下列哪些场景适合采用本地差分隐私方案?

多选题 · mid

  • A.浏览器崩溃与恶意站点统计← 正确答案
  • B.输入法热词和表情频次统计← 正确答案
  • C.医学影像原始像素的精确存储
  • D.移动 App 的路况与位置分布统计← 正确答案

答案:ABD。LDP 适合“统计分布”而非“精确恢复个体”的任务。A 是 RAPPOR 的经典场景,B 是 Apple 的实践,D 是位置聚合统计;C 需要精确保留像素细节,扰动会破坏医学影像价值。

Q6. 使用 ε=ln3 的随机化响应收集 1000 个二值答案,观察到报告中“1“的比例为 0.60,修正后”1”的真实频率约为?

单选题 · hard

  • A.0.60
  • B.0.70← 正确答案
  • C.0.40
  • D.0.80

答案:B。ε=ln3 时 p=3/4=0.75。修正公式 q=(0.60-(1-p))/(2p-1)=(0.60-0.25)/0.50=0.70。观察值 0.60 中混杂了翻转噪声,扣除底噪并放大后得到 0.70。

Q7. 差分隐私定义中的“相邻数据集”指的是?

单选题 · easy

  • A.两个距离最近的数据集
  • B.只相差一条记录的两个数据集← 正确答案
  • C.数据量完全相同的两个数据集
  • D.部署在相邻服务器上的数据集

答案:B。相邻数据集定义为仅差一条记录的两个数据库。差分隐私保证它们的输出分布近似,从而保护“这条记录”的隐私。其余选项与定义无关。

Q8. 与中心化 DP 相比,本地差分隐私 LDP 的典型特点包括?

多选题 · hard

  • A.需要更大的样本量才能达到同等精度← 正确答案
  • B.不依赖可信第三方收集者← 正确答案
  • C.通信开销通常更高← 正确答案
  • D.统计结果的精度通常更高

答案:ABC。LDP 在个体层加噪声,方差更大,需要约 O(1/ε²) 倍的样本量(A 对);它不信任收集者(B 对);RAPPOR 等方案需要发送布隆过滤器等额外信息,通信开销更高(C 对);正因噪声大,精度通常更低,D 错。

Q9. 在同等 ε 条件下,LDP 要达到与中心化 DP 相近的频率估计精度,所需样本量大致是后者的多少倍?

单选题 · extreme

  • A.相同数量级
  • B.线性倍数
  • C.约 1/ε² 倍← 正确答案
  • D.指数倍数

答案:C。小 ε 时 LDP 样本复杂度约为中心化 DP 的 O(1/ε²) 倍。例如 ε=0.1 时可能差 100 倍。这是数量级差距,但并非指数爆炸,D 夸大了。

Q10. 关于中心化 DP 的 Laplace 机制,下列说法正确的有?

多选题 · easy

  • A.适用于数值型查询结果← 正确答案
  • B.噪声尺度与全局敏感度成正比← 正确答案
  • C.噪声尺度与隐私预算 ε 成正比
  • D.通过向查询结果添加拉普拉斯噪声实现← 正确答案

答案:ABD。Laplace 机制通过向数值查询结果添加 Lap(Δf/ε) 噪声实现隐私保护。敏感度 Δf 越大,需要越大的噪声(B 对);ε 越大噪声应越小,所以 C 说反了(C 错)。