训练数据删掉一个人的记录,模型或统计结果会变化多少。差分隐私给这个问题设定数学上限。观察者看到输出后,很难判断某个人的数据究竟在不在原始集合里。这个保证由算法和参数给出,比删除姓名、手机号一类字段更明确。
我对照了 NIST 的差分隐私指南、TensorFlow Privacy 文档和 DP-SGD 原论文。NIST 特别提醒,产品写一句“采用差分隐私”远远不够。使用者还要知道保护的是个人还是单条记录,输出经过什么机制处理,以及隐私参数怎样设置。
模型训练常用裁剪和加噪
普通随机梯度下降会用一批样本计算梯度,再更新模型。DP-SGD 先限制每个样本梯度的大小,避免某条记录对更新产生过强影响,随后给聚合结果加入随机噪声。模型仍能从整批数据里学到共同规律,单条记录留下的信号受到约束。
裁剪阈值太小,很多有用梯度会被截掉。阈值太大,为了覆盖更高的敏感度就要加入更多噪声。噪声增加后,模型准确率往往下降,小类别和稀有样本可能受影响更明显。参数选择要同时看隐私保证和任务表现,单独追一个数字容易把模型做得不可用。
差分隐私常用 epsilon 和 delta 表示保证。一般情况下,epsilon 越小,单个样本对输出分布的影响越受限制。这个数字不能脱离邻接关系、抽样方式和机制来比较。两个产品都写 epsilon 为 5,若一个按用户保护,另一个只按单条记录保护,含义已经不同。
每跑一步都要记账
模型训练会重复访问数据。一次带噪更新消耗一部分隐私预算,几千步叠加后,总损失需要由 privacy accountant 计算。TensorFlow Privacy 的示例会把采样比例、噪声倍数和训练步数交给记账器,再求给定 delta 下的 epsilon。中途增加训练轮数,旧预算不能照抄。
评测也要防止预算从别处漏掉。团队若反复查询一份敏感训练集,根据结果不断调参,这些交互可能继续暴露信息。日志、检查点和未加噪的中间指标也要纳入数据流梳理。数学保证只覆盖机制明确处理过的部分。
落地时可以先做一张短表,写清保护单位、邻接定义、epsilon、delta、训练步数和最终准确率。再保留非隐私基线,比较整体指标与关键小类的变化。业务人员拿到这张表,才能判断多强的保护值得付出多少精度。
差分隐私适合需要发布统计结果或用敏感数据训练模型的场景。它不会自动解决访问控制和数据合规,也不会替团队消除原始数据。它能做的是把一部分泄露风险变成可以说明、计算和复核的保证。