差分隐私 可视化实验室

用交互式 SVG 呈现 ε-差分隐私、Laplace/Gaussian 机制、DP-SGD、组合定理、隐私预算等差分隐私核心技术。八个模块,纯原生实现。

zero-deps HTML / CSS / JS + SVG requestAnimationFrame prefers-reduced-motion
MODULE 01

ε-差分隐私定义

相邻数据集 D 与 D' 仅相差一条记录。随机机制 M 满足 ε-DP 当且仅当对所有输出子集 S,概率比被 e^ε 界住。调节 ε 观察概率比上界的变化。

epsilon-dp-definition.svg
数据集 D 相邻数据集 D' 输出分布 概率比上界 e^ε

ε-差分隐私形式定义

Pr[M(D) ∈ S] ≤ e^ε · Pr[M(D') ∈ S]

相邻数据集 D、D' 仅相差一条记录(差一行)。ε 越小,D 与 D' 的输出分布越接近,隐私保护越强但效用越低。拖动滑块改变 ε,观察概率比上界 e^ε 与输出分布的差异。

ε
1.0
e^ε (比上界)
2.72
隐私强度
中等
ln(e^ε)
1.0
MODULE 02

Laplace 机制

对查询 f 添加 Laplace 噪声:M(x)=f(x)+Lap(Δf/ε)。Δf 为 L1 敏感度。调节 ε 与敏感度,观察噪声分布的尺度与采样点。

laplace-mechanism.svg
Laplace 密度 真实值 f(x) 采样输出 敏感度 Δf

Laplace 机制 = 真实值 + 噪声

M(x) = f(x) + Lap(b), b = Δf / ε

L1 敏感度 Δf = max‖f(D)−f(D')‖₁ 衡量相邻数据集上查询结果的最大变化。尺度参数 b 越大噪声越分散。ε 越小 b 越大,隐私越强。点击“采样”生成一次机制输出。

ε
1.0
敏感度 Δf
1.0
尺度 b=Δf/ε
1.00
上次采样
—
MODULE 03

Gaussian 机制

添加高斯噪声实现 (ε,δ)-DP:M(x)=f(x)+N(0,σ²),σ = Δ₂f·√(2ln(1.25/δ))/ε。δ 为“失败概率”。对比 Gaussian 与 Laplace 分布形态。

gaussian-mechanism.svg
Gaussian 密度 Laplace 对比 δ 失败尾概率 采样输出

(ε,δ)-差分隐私

σ ≥ Δ₂f · √(2 ln(1.25/δ)) / ε

Gaussian 机制使用 L2 敏感度 Δ₂f。δ 是一个极小的“失败概率”(通常 ≤ 1/n),允许概率比以 1+δ 的概率突破 e^ε。Gaussian 尾部比 Laplace 衰减更快但在中心略宽。

ε
1.0
δ
1e-5
σ
3.40
L2 敏感度
1.0
MODULE 04

组合定理

串行组合:k 个 ε_i-DP 机制顺序作用 → 总 ε = Σε_i。并行组合:作用于不相交子集 → 总 ε = max ε_i。播放动画观察隐私预算的消耗方式。

composition.svg
串行组合 (Σ) 并行组合 (max) 高级组合 (ε̄) 预算上限

组合方式对比

串行组合下隐私预算线性累加,k 次查询后 ε_total = k·ε。并行组合作用于不相交分区,预算不累加。高级组合定理给出更紧的界:ε_total ≈ ε·√(2k·ln(1/δ)) + k·ε·(e^ε−1)。

查询数 k
5
单次 ε
0.5
串行总 ε
2.50
并行总 ε
0.50
MODULE 05

DP-SGD 差分隐私随机梯度下降

每步:对每个样本裁剪梯度到 L2 范数 C,求和后加 N(0,σ²C²I) 噪声,再除以 batch size。Moments Accountant 跟踪累计 ε。调节 C、σ、batch 观察隐私消耗。

dp-sgd.svg
原始梯度 裁剪边界 C 裁剪后梯度 噪声聚合梯度

DP-SGD 单步流程

g̃ = (1/B)·( Σ clip(∇L_i, C) + N(0, σ²C²I) )

梯度裁剪限制单样本贡献上限 C;噪声 σ 控制隐私强度;采样率 q=B/N 影响 Accountant。点击“训练一步”观察梯度被裁剪、加噪并累积隐私成本。

裁剪范数 C
1.0
噪声 σ
1.0
训练步数
0
累计 ε
0.00
MODULE 06

本地差分隐私 LDP

用户在本地对数据随机化后上传,服务器看不到原始值。Randomized Response:以概率 p=e^ε/(e^ε+1) 报告真值。RAPPOR 用 Bloom filter + RR 实现字符串 LDP。

local-dp.svg
真实值分布 随机化后报告 聚合估计 偏差

Randomized Response 机制

Pr[报告真值] = e^ε / (e^ε + 1),否则报告反值

N 个用户各持有一个二元值。LDP 下每个人独立随机化报告。服务器用校正公式 p̂=(r̂−q)/(p−q) 还原总体比例。ε 越小越隐私但方差越大。点击“模拟”运行一轮。

用户数 N
200
ε
1.0
真实比例
0.50
估计比例
—
MODULE 07

隐私预算与 Accountant

隐私预算 ε_total 在多次查询间分配。Naive 累加 vs Rényi/Moments Accountant 给出更紧的界。分配查询预算,观察何时预算耗尽。

privacy-accountant.svg
Naive 累加 Moments Accountant 剩余预算 预算上限 ε_max

预算分配策略

Naive 组合下每次查询消耗 ε_i,总和线性增长。Moments Accountant 基于 Rényi 散度,给出更紧的累计 ε 估计,允许更多查询。点击“追加查询”观察预算曲线。

已执行查询
0
Naive ε
0.00
MA ε
0.00
预算上限
4.0
MODULE 08

效用-隐私权衡

ε 越小隐私越强但误差越大。均方误差 MSE 与 1/ε² 成正比(Laplace)。拖动 ε 观察精度损失曲线与误差区间。

utility-privacy-tradeoff.svg
MSE 曲线 当前 ε 误差 效用区 隐私区

误差与 ε 的关系

MSE ≈ (Δf)² · 2 / ε² (Laplace 机制)

Laplace 机制下 MSE 与 1/ε² 成正比:ε 减半则误差变 4 倍。小 ε 提供强隐私但效用急剧下降,需在隐私与精度间权衡。拖动滑块或点击“扫描”观察曲线。

ε
1.0
MSE
2.00
RMSE
1.41
区间
权衡区