Skip to content

算法Algorithm

差分隐私随机梯度下降

DP-SGD · Differentially private SGD

逐样本裁剪、抽样与高斯扰动组成的训练算法,并将实际采样规则和全部训练轮次纳入隐私核算。

形式陈述 ​

DP-SGD 将差分隐私保证加入普通梯度更新,保护每条训练记录。本页固定增删邻接、公开参数 q∈[0,1],C>0,σ>0,B0>0 及整数 T≥0:每轮对现有记录独立以概率 q 抽样且不发布抽样身份,C 是裁剪阈值,B0 是预先固定的归一化常数,σ 是噪声乘子。第 t 轮执行

gi=∇θℓ(θt;xi),g¯i=gimax(1,‖gi‖2/C),g~t=1B0(∑i∈Stg¯i+Zt),Zt∼N(0,σ2C2I),θt+1=θt−ηtg~t.

∇ 是损失的梯度。初值与超参数须公开固定,或来自已经核算的私有过程。最终可只发布 θT,但隐私上界按完整更新记录核算后再用后处理得到。

直觉

裁剪限制“一条记录最多把更新推多远”;噪声遮掩这次可能的移动;抽样使一条记录不必每轮都参与;核算器记录它在所有轮次可能留下的总影响。四个环节各自承担不同工作,任何一个都不能由“训练过程有随机性”替代。

为什么必须逐样本裁剪 ​

给定相同的公开历史 θt,一条新增记录只多贡献一个范数不超过 C 的向量,故裁剪和的增删灵敏度至多 C。如果改成替换邻接,两个不同贡献之差可达 2C,噪声及核算口径必须相应改变。

先平均原始梯度再裁剪,只限制整个批次的长度;相邻批次可能落在球的相反两端。它不是逐样本裁剪的同一个灵敏度证明。若每条损失还读取其他私有样本,例如未单独分析的跨样本归一化,新增一条记录也可能改变其他人的梯度。

例子与边界

一轮向量更新 ​

取 C=1,抽中两个梯度 (3,4) 与 (0,1/2)。逐样本裁剪后为 (3/5,4/5) 与 (0,1/2),和为 (0.6,1.3)。若本轮生成噪声 (0.2,−0.1)、固定 B0=2,则 g~=(0.4,0.6)。从 θ=(1,1)、步长 0.1 更新到 (0.96,0.94)。这个噪声样本只是一次运行轨迹,隐私依赖整个高斯分布而非这个具体向量。

一份完整且保守的预算 ​

取 q=0.01,T=100。先把未抽样的裁剪和加噪机制校准为 (ε0,δ0)=(0.5,10−7)-DP;按经典高斯尺度,取噪声乘子 σ>2log⁡(1.25⋅107)/0.5≈11.434,例如 11.5 即可。

Poisson 放大给每轮 ε1=log⁡(1+0.01(e0.5−1))≈0.006466、δ1=10−9。再用高级组合并令额外 δ′=9⋅10−7,最终 δ=10−6,且

εfinal=ε1200log⁡(1/δ′)+100ε1(eε1−1)≈0.345.

这份保守计算完整列出了邻接、抽样、单轮噪声、轮数与最终参数。专门的 sampled-Gaussian RDP 核算通常更紧,但不能与另一种采样实现混配。

训练准确性与发布范围 ​

较小 C 会截断更多有效梯度,较大噪声会扰动优化;隐私定理不保证训练收敛或模型有用。私有验证集上的调参、提前停止指标以及未保护的训练损失日志,也要纳入发布流程。

推论与应用

每轮维护的不变量是:在固定过去的条件下,每条记录对未加噪和的贡献范数至多 C,且核算器包含此前所有已使用轮次。若梯度维数为 d≥1、批量为 b≥0,除模型反向传播和抽样成本外,裁剪、累加、生成高斯向量与参数更新共用 O((b+1)d) 次单位成本算术或采样操作;逐条累积可避免额外保存全部 b 个梯度。空批次仍按相同规则生成噪声,不能私下更换发布逻辑。

参考资料
关系图谱11 个相邻概念 · 2 类关系

拖动节点调整位置。

显示关系

显示:依赖

  1. 前置三跳
  2. 前置二跳
  3. 前置一跳
  4. 当前条目
  5. 后续一跳
  6. 后续二跳
  7. 后续三跳
文字版关系按与当前条目的最短距离分组
类型化关系