
原文课程: Lecture 14 — Private ML and Stats: Modern ML (Gautam Kamath, CS 860, Fall 2020)上一讲我们讨论了凸优化场景下的 DP-ERM。但现代机器学习特别是深度学习面临两个挑战非凸性神经网络的损失函数不是凸的大规模模型可能有数百万甚至数十亿参数今天我们介绍两种在实践中行之有效的方法DP-SGD和PATE。1. 为什么神经网络特殊神经网络的结构一个多层感知机MLP由多个层组成v⁰ x (输入) v¹ f¹(W¹·v⁰ b¹) (第一层) v² f²(W²·v¹ b²) (第二层) ... o W^L·v^{L-1} b^L (输出层) ŷ softmax(o) (预测)其中 W 是权重矩阵b 是偏置f 是非线性激活函数如 ReLU、sigmoid、tanh。与凸优化模型的区别特性凸模型如逻辑回归神经网络损失函数形状凸函数 → 唯一最优解非凸 → 多个局部最优优化方法梯度下降保证收敛SGD 配合各种 trick参数规模与特征数相当可能上亿敏感性分析简单复杂每层梯度不同graph TD subgraph 凸函数 A[ 唯一最小值] end subgraph 非凸函数神经网络 B[️ 多个局部最小值] C[️ 鞍点] D[️ 全局最小值可能难找到] end2. DP-SGD差分隐私随机梯度下降DP-SGDAbadi et al., 2016是应用最广泛的差分隐私深度学习算法。它基于我们上一讲提到的梯度扰动思路但针对深度学习做了关键调整。算法流程# 差分隐私 SGD 核心步骤 for t in range(T): # 1. 随机选取一批样本 batch random_sample(D, batch_size) # 2. 计算每个样本的梯度按样本不是按批次平均 gradients [] for x, y in batch: g compute_gradient(loss, θ, x, y) gradients.append(g) # 3. 梯度裁剪每个梯度单独裁剪 clipped [clip(g, C) for g in gradients] # 4. 加噪声到平均梯度 avg_gradient mean(clipped) Gaussian(0, σ²) # 5. 更新参数 θ θ - η * avg_gradient三个关键设计flowchart TD A[批次中的样本] -- B[步骤1: 每样本计算梯度] B -- C[步骤2: 梯度裁剪每样本梯度范数 ≤ C] C -- D[步骤3: 平均加噪] D -- E[输出差分隐私梯度]1每样本梯度计算Per-Example Gradient传统的 SGD 计算的是批次平均梯度。DP-SGD 需要每个样本的梯度——这样我们才能裁剪每个样本。这个步骤是计算瓶颈需要反向传播 batch_size 次但学术界已经提出了多种加速方法。2梯度裁剪def clip(g, C): g_norm ‖g‖₂ return g · min(1, C / g_norm) # 范数超过C则缩放到C为什么裁剪为了控制敏感性。裁剪后每个样本对平均梯度的影响 ≤ C/batch_size敏感性 C/batch_size3噪声添加添加高斯噪声到裁剪后的平均梯度G̃ (1/B) · Σ clip(gᵢ, C) N(0, σ²·I)其中B 是批次大小σ 根据隐私预算 ε 和 δ 选择3. DP-SGD 的隐私分析DP-SGD 的隐私成本来自所有迭代的总和。graph LR A[第1步: (ε₀,δ₀)-DP] -- B[第2步: (ε₀,δ₀)-DP] B -- C[...] C -- D[第T步: (ε₀,δ₀)-DP] D -- E[总隐私:(ε·√(2T·log(1/δ)), T·δ₀δ)-DP]使用高级组合定理和矩会计师Moments AccountantAbadi 等人证明对于 T 次迭代每次使用高斯噪声 σ总隐私 ≈ O(q·ε·√T)其中 q 批次大小 / 数据集大小采样率重要发现因素对隐私的影响迭代次数 T√T 增长次线性 ✅批次大小 B线性增加大批次 → 更多隐私损耗采样率 q B/n小采样率 → 隐私更好神秘的正效应梯度裁剪阈值 C越大 → 噪声越多4. PATE教师集成私有聚合PATEPrivate Aggregation of Teacher Ensembles, Papernot et al., 2017采取了完全不同的思路。核心思想用多个教师模型投票然后用噪声使投票结果满足差分隐私。flowchart TD subgraph 敏感数据 A[数据集 D含隐私] end subgraph 训练阶段在敏感数据上 B[教师模型 1] -- D[对预测投票] C[教师模型 2] -- D A -- B A -- C D -- E[加噪投票拉普拉斯/高斯] end subgraph 部署阶段在公开数据上 E -- F[学生模型] F -- G[公开预测] end工作流程分割数据将敏感数据集 D 分成 k 个互不相交的子集训练教师每个子集上独立训练一个教师模型私有投票对于查询 x收集所有教师模型的预测然后对预测分布添加噪声训练学生使用加噪投票的结果在非敏感数据上训练学生模型PATE 的隐私优势特性说明教师分歧如果教师们的意见一致需要的噪声较小学生是公有的学生只看到加噪后的标签不接触原始数据基于敏感度分析教师投票数越集中隐私越强5. DP-SGD vs PATE对比维度DP-SGDPATE适用模型任何可微模型分类模型训练方式端到端差分隐私训练先用数据训练教师再 distillation隐私分析精确的矩会计师基于教师分歧分析模型质量较好对大型模型一般受限于教师数量计算开销高每样本梯度中需要训练多个教师典型应用大语言模型、图像分类小样本、迁移学习场景6. 实际应用中的挑战挑战一隐私预算 vs 模型质量graph LR A[更严格的隐私 (ε很小)] -- B[噪声更大] B -- C[模型质量下降] D[更宽松的隐私 (ε较大)] -- E[噪声更小] E -- F[模型质量更好]实际部署中ε 通常在1-10之间需要在隐私和效用之间仔细权衡。挑战二微调Fine-tuning的隐私大语言模型的隐私训练面临着计算挑战模型规模每样本梯度计算隐私微调方案小型1M 参数可行全参数 DP-SGD中型100M 参数计算密集DP-LoRA低秩适配大型10B 参数极困难仅微调部分参数 DP挑战三超参数选择DP-SGD 有很多超参数需要调整裁剪阈值 C噪声规模 σ学习率 η批次大小 B迭代次数 T而这些调整本身也可能导致额外的隐私成本因为你是看着数据调参的。小结概念要点DP-SGD梯度裁剪 加噪每步消耗隐私预算PATE教师集成 私有投票 学生蒸馏梯度裁剪控制单样本对梯度的影响 ≤ C矩会计师DP-SGD 的精确隐私分析工具隐私-效用权衡ε 在 1-10 之间平衡主要挑战计算开销、超参数选择、大规模模型DP-SGD 已经成为了差分隐私深度学习的事实标准。OpenAI、Google、Apple 等公司都在其产品中使用 DP-SGD 的变体来保护用户数据。下一讲我们将回到统计学的核心问题——均值估计看看 DP 如何影响这个最基本的统计问题。下一篇: 私有均值估计最简单的统计问题