Lecture 20: Explainability, Privacy(可解释性与隐私)
目录 · ← l19 · appendix →
Lecture 20: Explainability, Privacy(可解释性与隐私)
概述
在公平性之后,本讲讨论让机器学习可信的另外两个支柱:可解释性(模型为什么这么决策?如何让人理解与审计?)与隐私(模型会泄露训练数据吗?如何在保护隐私的同时学习?)。两者都是“AI 治理”的核心议题,与 L19 的公平性共同构成现代 ML 的责任框架。
核心概念与数学直觉
- 可解释性 (Explainability):
- 动机:高风险决策(医疗、司法、信贷)需要问责与审计;开发者需要调试;用户需要信任。
- 两类方法:
- 固有可解释 (Intrinsically interpretable):模型本身透明——线性回归(系数=影响)、决策树(规则路径)、kNN(邻居)。
- 事后解释 (Post-hoc):对黑盒模型(深度网络、GBDT)生成解释。
- 事后解释代表方法:
- 特征重要性 (Feature Importance):置换重要性(打乱某特征看性能下降多少);基于梯度($\frac{\partial f}{\partial x_j}$ 衡量敏感度)。
- LIME:在预测点附近拟合局部可解释的线性模型,用其系数解释局部行为。
- SHAP:基于合作博弈论的 Shapley 值——每个特征对预测的边际贡献(公平分摊“预测值 − 均值预测”)。Shapley 值满足可加性、对称性等公理,是特征归因的黄金标准:
$\phi_j = \sum_{S \subseteq F \setminus \{j\}} \frac{\|S\|!(\|F\|-\|S\|-1)!}{\|F\|!} \left[ f_S(x_S) - f_{S \setminus \{j\}}(x_{S\setminus\{j\}}) \right]$- $F$:特征全集;$S$:特征子集;$f_S$:只用子集特征的模型输出。
- 直觉:特征 $j$ 的重要性 = 在所有可能的特征子集组合下,加入 $j$ 带来的平均边际贡献——公平分摊每个特征的“功劳”。
- 示例解释:找训练集中与预测最相似的样本(原型/反事实)。
- 解释的局限:近似解释可能误导(“解释的是模型行为,不一定是因果”);解释的忠实度(faithfulness)难以验证;对抗样本可以欺骗解释器。
- 隐私 (Privacy):
- 威胁模型:模型在敏感数据(医疗记录、位置、对话)上训练——攻击者可能通过查询提取训练数据(记忆攻击:模型“背下”了某些样本)或推断成员(判断某样本是否在训练集中)。
- 差分隐私 (Differential Privacy, DP):算法输出对单个样本的加入/移除不敏感——数学上保证“无论某人的数据在不在训练集里,输出分布几乎不变”。
$P(\mathcal{A}(D) \in S) \le e^{\epsilon} \cdot P(\mathcal{A}(D') \in S)$- $D, D^{\prime}$:相差一个样本的相邻数据集。
- $\epsilon$:隐私预算——越小隐私越强($\epsilon=0$ 表示输出与数据无关,无实用性)。
- 机制:加噪——查询结果加拉普拉斯/高斯噪声,噪声尺度随 $\epsilon$ 与敏感度(单个样本对结果的最大影响)调整。
- DP-SGD:训练时对梯度裁剪 + 加噪——使整个训练过程满足差分隐私;代价是精度下降与训练变慢。
- 联邦学习 (Federated Learning):数据不离开设备——各客户端本地训练、只上传模型更新,服务器聚合(FedAvg)。注意:联邦学习本身不保证隐私(更新可能泄漏信息,需结合 DP/加密)。
- 其他技术:数据脱敏/匿名化(k-匿名、l-多样性)、同态加密(在密文上计算)、安全多方计算。
- 隐私与公平/可解释的交叉:隐私保护(加噪、聚合)可能降低少数群体数据质量(公平受损);可解释性与隐私冲突(解释需要访问模型细节)。
算法伪代码与逻辑解说:DP-SGD(差分隐私随机梯度下降)
伪代码
输入:
- 训练数据 D,损失函数 L,学习率 alpha,隐私预算 ε,噪声尺度 σ,裁剪阈值 C
输出:
- 满足 (ε, δ)-差分隐私的模型参数 θ
1. 初始化 θ
2. 对每个 epoch:
2.1 对每个 mini-batch B:
2.2 对每个样本 i ∈ B:
g_i = ∇_θ L(θ; x_i, y_i) // 逐样本梯度
g_i = g_i * min(1, C / ||g_i||_2) // 梯度裁剪: 范数限制在 C 内
2.3 g_bar = (1/|B|) * Σ_i g_i // 平均
2.4 g_tilde = g_bar + N(0, σ²C²) // 高斯噪声(敏感度=2C/|B| 量级)
2.5 θ = θ - alpha * g_tilde // 更新
3. 返回 θ
【算法逻辑解说】
- Step 2.2 逐样本梯度 + 裁剪:DP 要求“单个样本影响有界”——裁剪把每个样本的梯度范数限制在 $C$,从而敏感度有界(这是隐私证明的前提)。
- Step 2.4 加噪:噪声尺度 $\sigma$ 与隐私预算 $\epsilon$ 挂钩($\epsilon$ 越小噪声越大)。噪声掩盖单个样本的贡献——攻击者无法从更新中分辨“多了一个你”。
- 代价:加噪扰动梯度 → 收敛更慢、最终精度更低——隐私-效用权衡。隐私预算 $\epsilon$ 累积:多轮训练消耗预算,需用隐私会计(moments accountant)追踪总消耗。
- 应用:苹果、谷歌的联邦统计、OpenAI 等机构发布模型时的隐私评估——DP 是“可证明的隐私”标准工具。
关键要点
- 可解释性:固有(线性/树)vs 事后(LIME/SHAP/重要性);SHAP 基于 Shapley 值公平分摊特征贡献。
- 解释是近似——忠实度难验证,勿把解释当因果。
- 隐私威胁:成员推断、训练数据提取(记忆)。
- 差分隐私 = 输出对单样本不敏感($\epsilon$ 预算控制噪声量);DP-SGD = 裁剪 + 加噪的训练范式。
- 联邦学习是分布式范式,不等于隐私——需与 DP/加密结合。
常见误区与注意事项
- 把特征重要性当因果:SHAP/LIME 描述“模型如何用特征”,不证明“特征导致结果”——相关性≠因果。
- 解释局部 vs 全局混淆:LIME/SHAP 是局部解释(针对单个预测);全局解释(整个模型行为)需要不同方法(如代理模型)。
- 以为删除 PII 就安全:去标识化可被重识别(与其他数据交叉);差分隐私提供的是可证明的保障而非“感觉安全”。
- 联邦学习=隐私:FedAvg 的梯度更新可泄漏数据分布信息——必须配 DP/加密才是隐私保护。
- 隐私预算无限使用:$\epsilon$ 会累积——反复发布查询/训练耗尽预算后保障失效。
- 解释与隐私互斥时不做权衡:两者目标冲突(解释暴露细节 vs 隐私隐藏细节)——按风险场景取舍。
思考题
- 问题:Shapley 值为什么被认为是“公平”的特征归因?它与简单“删除特征看性能”有何区别?
- 答案:Shapley 值对所有特征子集顺序的边际贡献取平均——满足对称性、可加性、哑变量(无关特征贡献 0)、效率(贡献之和 = 预测−基线)等公理;“删除特征”只测单一路径,且受特征相关性与模型重训影响,结果不稳定、不满足公理。Shapley 值是对“公平分摊”的博弈论解。
- 问题:为什么说“联邦学习不提供隐私保证”?
- 答案:联邦学习解决的是数据不出本地的分布式训练问题,但上传的梯度/模型更新编码了本地数据信息——攻击者可用梯度反演、成员推断恢复数据或判断某样本是否参与训练。只有在更新上施加差分隐私噪声(DP-FedAvg)或加密协议,才构成隐私保护。
- 问题:差分隐私中 $\epsilon$ 越小越好吗?实际部署如何取舍?
- 答案:$\epsilon$ 越小隐私越强但噪声越大、效用越低($\epsilon=0$ 输出与数据无关、无实用价值)。实践按风险定预算:高敏感场景(医疗)用 $\epsilon \le 1$ 量级;低敏感统计用 $\epsilon \in [1, 10]$。同时用隐私会计精确追踪累积消耗,并考虑“隐私-效用”的帕累托前沿——在可接受效用下选最小 $\epsilon$。
