周末,月光小区的热心邻居们想合编一本《邻里美食地图》。大家约定:不让任何人看到谁最常去哪家餐馆,但想总结出“整体口味偏好”。主编胖叔拿到的是每家每户的“口味摘要”——比如“这家火锅店偏辣,建议减辣0.3”。可摘要写得太具体,一不小心就把某人的隐私端上桌。于是大家想出一套办法:提交前先“限辣”,太夸张的意见只能写到上限;再“撒盐”,在摘要上添加一点随机扰动;最后主编把所有加过盐的摘要平均起来,画进地图。这套办法,就是差分隐私联邦学习(DP-FedAvg)的日常版本。 本篇文章将把“限辣”“撒盐”“分盐罐”背后的算法公式和工程要点一一拆开,帮你从零看懂如何在联邦学习里安全地统计集体偏好,而不暴露任何个体秘密。我们既讲清楚联邦平均怎么工作,也讲清楚差分隐私的 ε、δ、高斯噪声、裁剪阈值 C 是什么意思,最后落到真实工程部署中的调优与权衡。

岗位关联

学习 DP-FedAvg,会让你在搭建隐私敏感的 AI 系统时,既懂得保护用户数据,也懂得在隐私与模型效果之间做出可解释的取舍——这是 AI 从业者走向合规与可信的必备技能。

目录
  1. 可视化演示
  2. 联邦学习基础
  3. 隐私威胁模型
  4. 差分隐私机制
  5. 隐私预算分配
  6. DP-FedAvg流程
  7. 模型裁剪策略
  8. 可用性权衡
  9. 工程实现调优
  10. AI 应用场景
  11. Python 演示
  12. 常见误区
  13. 面试题

可视化演示

动态演示差分隐私联邦学习DP-Fed的核心机制,通过采集/分析/决策/反馈四种模式展示关键概念与交互流程。

本节配有交互动效(进入视口后自动加载,约 3KB)。

差分隐私联邦学习DP-Fed:DPFe DP-FedAvg的基本概念与 客户端级与样本级隐私预算分配 核心机制可视化 差分隐私联邦学习DP-Fed整体架构与关键组件

联邦学习基础

月光小区的邻居们想合编美食地图,但没人愿意交出私密用餐记录。最后大家约定:每家根据自己的口味笔记,只向主编提交一张“改动建议卡”,比如“这家面馆可以再咸一点”。这个“只交摘要,不交日记”的协作方式,正是联邦学习的思想原型。

真实世界里,联邦学习让手机、医院、银行等“客户端”在本地数据上训练模型,只把模型更新上传到中央服务器。服务器把这些更新平均起来,刷新全局模型。这样原始数据始终留在家中,隐私风险远低于把数据集中到云端。

FedAvg 的每一轮可以看作主编收齐建议卡后的统一改写:每张卡片的重要性取决于这家餐厅被多少个邻居记录过。数据量大的住户,对集体口味的发言权更大。用公式表示就是:

你看,联邦学习解决的是“数据不动,模型动”的问题;但动了模型,隐私风险并没有完全消失。

wt+1=wt+∑k=1KnknΔwk\displaystyle w_{t+1} = w_t + \sum_{k=1}^{K} \frac{n_k}{n} \Delta w_k
每个邻居贡献的“改动量” \(\Delta w_k\),按它拥有的样本数 \(n_k\) 加权平均,最终得到新的全局口味方向。
  1. 全局模型更新目标\(w_{t+1}\) 表示下一轮主编手里的新地图版本。
    wt+1w_{t+1}
  2. 所有客户端的累加\(\sum_{k=1}^{K}\) 表示把 K 个住户的建议卡全部收齐再汇总。
    ∑k=1K\sum_{k=1}^{K}
  3. 样本占比权重\(\frac{n_k}{n}\) 表示第 k 个住户的数据量在总数据量中的权重。
    nkn\frac{n_k}{n}
  4. 本地改动量\(\Delta w_k\) 表示第 k 个住户根据自己口味计算出的模型更新。
    Δwk\Delta w_k

隐私威胁模型

口味摘要真的安全吗?主编胖叔发现,一张写着“这家店减辣 0.3”的卡片,足以推理出这个人可能是清淡饮食者。如果恶意攻击者拿到足够多的梯度,甚至能逆向出训练样本的某些特征。

在联邦学习中,这种威胁被称为“梯度泄露”。更隐蔽的是“成员推断攻击”:攻击者通过观察模型更新,判断某条数据是否参与过训练。服务器本身也可能不可信,如果它偷偷保存中间结果,就可能拼凑出用户信息。

于是差分隐私登场。它给算法蒙上一层“随机滤镜”,让任何两份只差一个人的数据集,输出分布都几乎一样。经典定义是:

简单说,差分隐私把“泄露多少隐私”变成了一个可量化的数学指标。接下来要解决的是:这层“随机滤镜”具体怎么实现?

Pr⁡[M(D)∈S]≤eεPr⁡[M(D′)∈S]+δ\displaystyle \Pr[\mathcal{M}(D)\in S] \le e^{\varepsilon}\Pr[\mathcal{M}(D')\in S] + \delta
无论把谁从数据集里拿走或换掉,算法输出落在某个结果集合里的概率都不会有太大变化;\(\varepsilon\) 越小,隐私保护越强。
  1. 相邻数据集\(D\) 和 \(D'\) 是只差一条记录的两份邻居名单。
    D, D′D,\ D'
  2. 随机算法\(\mathcal{M}\) 是加盐后的查询过程,输出会带有随机性。
    M\mathcal{M}
  3. 输出概率\(\Pr[\mathcal{M}(D)\in S]\) 表示算法输出落入集合 \(S\) 的概率。
    Pr⁡[M(D)∈S]\Pr[\mathcal{M}(D)\in S]
  4. 隐私损失上界\(e^{\varepsilon}\) 限定了两条相邻数据输出差异的倍数,\(\delta\) 是允许“坏运气”发生的极小概率。
    eε, δe^{\varepsilon},\ \delta

差分隐私机制

胖叔的办法是“撒盐”:每家提交摘要前,在数字上加一点随机抖动。如果只有一个人变化,摘要里的盐分已经把它掩盖住;而集体平均后,盐粒互相稀释,整体方向仍然清晰。这就是随机机制。

工程上最常用的“盐”是高斯噪声。服务器或客户端对真实统计结果 \(f(D)\) 加上一个服从正态分布的随机向量,得到保护版本:

高斯噪声是差分隐私的经典“武器库”之一。但盐不能乱撒,它需要一个清晰的“盐罐子”——也就是隐私预算。

M(D)=f(D)+N(0,σ2),σ=Δf⋅2log⁡(1/δ)ε\displaystyle M(D) = f(D) + \mathcal{N}(0,\sigma^2),\quad \sigma = \frac{\Delta f \cdot \sqrt{2\log(1/\delta)}}{\varepsilon}
\(\Delta f\) 是“敏感度”,衡量单个人最多能影响结果多少;敏感度越高,需要撒的盐越多。
  1. 真实答案\(f(D)\) 是原本要公布的统计值,比如“全体住户平均辣度”。
    f(D)f(D)
  2. 高斯噪声\(\mathcal{N}(0,\sigma^2)\) 表示均值是 0、标准差是 \(\sigma\) 的正态分布随机数。
    N(0,σ2)\mathcal{N}(0,\sigma^2)
  3. 敏感度\(\Delta f\) 表示相邻数据集上最大可能的结果变化量,是“最怕被泄露的那个尖角”。
    Δf\Delta f
  4. 噪声尺度敏感度越高、\(\varepsilon\) 越小、允许的 \(\delta\) 越小,\(\sigma\) 就越大。
    σ=Δf⋅2log⁡(1/δ)ε\sigma = \frac{\Delta f \cdot \sqrt{2\log(1/\delta)}}{\varepsilon}

隐私预算分配

一罐盐要管整本美食地图,撒多少、分几次撒,必须记账。差分隐私中的“盐罐子”就是隐私预算 \(\varepsilon\),它衡量整个训练过程能容忍的隐私损失总量。

DP-FedAvg 里有两种记账视角。客户端级 DP 把“一户人家”当作保护单位:只要有人退出或加入,算法输出不能发生明显变化。样本级 DP 把“一条样本”当作保护单位:即使只改变用户的一条记录,也要被噪声掩盖。前者更适合联邦学习中“以客户端为参与方”的场景,后者更细,但通常需要每个客户端内部的采样、裁剪等操作。

无论哪种视角,多轮训练都要分摊预算。如果总共跑 T 轮,每轮平均分到的预算大约是总预算的 \(1/T\):

预算分配直接决定每轮噪声大小:轮数越多,每轮的盐越少,模型更新越“咸”,可用性也就越差。这也是 DP-FedAvg 设计中绕不开的核心矛盾。

εtotal=∑r=1Tεr,εr≈εtotalT\displaystyle \varepsilon_{\text{total}} = \sum_{r=1}^{T}\varepsilon_r,\quad \varepsilon_r \approx \frac{\varepsilon_{\text{total}}}{T}
简单组合下,隐私损失像盐一样逐轮累积;高级组合可以给出更紧的估计,但“总共只有一罐盐”的直觉不变。
  1. 总预算\(\varepsilon_{\text{total}}\) 是整个训练项目允许的隐私损失上限。
    εtotal\varepsilon_{\text{total}}
  2. 逐轮相加\(\sum_{r=1}^{T}\varepsilon_r\) 把每一轮消耗的隐私预算加起来。
    ∑r=1Tεr\sum_{r=1}^{T}\varepsilon_r
  3. 平均分摊如果每轮预算相同,则每轮约为总预算除以轮数 \(T\)。
    εr≈εtotalT\varepsilon_r \approx \frac{\varepsilon_{\text{total}}}{T}

DP-FedAvg流程

现在,我们把整个“社区美食地图”生产流程串起来。每次改版,每家住户都要走四步:先根据本地笔记训练,计算出一个“口味改动方向”;然后执行“限辣”,把过大的改动压到上限;接着“撒盐”,添加随机噪声;最后主编把所有卡片平均起来,更新地图。

DP-FedAvg 的服务端更新公式可以写作:

流程中的“限辣”非常关键,它直接决定了单个客户端能对全局模型施加多大的影响力。

wt+1=wt+1K∑k=1KΔ~k+N ⁣(0,σ2C2K2I)\displaystyle w_{t+1} = w_t + \frac{1}{K}\sum_{k=1}^{K}\tilde{\Delta}_k + \mathcal{N}\!\left(0, \frac{\sigma^2 C^2}{K^2}I\right)
\(\tilde{\Delta}_k\) 是已经裁剪过的本地更新;服务器先平均,再在平均值上添加高斯噪声。
  1. 新地图\(w_{t+1}\) 是聚合后新的全局模型。
    wt+1w_{t+1}
  2. 裁剪后的更新\(\tilde{\Delta}_k\) 表示第 k 个客户端经过“限辣”后的模型更新。
    Δ~k\tilde{\Delta}_k
  3. 等权平均\(\frac{1}{K}\sum_{k=1}^{K}\) 表示对所有客户端更新取平均值。
    1K∑k=1K\frac{1}{K}\sum_{k=1}^{K}
  4. 服务器加噪\(\mathcal{N}(0, \sigma^2 C^2 / K^2 I)\) 是在平均结果上添加的高斯噪声。
    N ⁣(0,σ2C2K2I)\mathcal{N}\!\left(0, \frac{\sigma^2 C^2}{K^2}I\right)

模型裁剪策略

胖叔定下一条规矩:任何人提交的口味改动,长度都不能超过一个上限 \(C\)。如果某家的意见“太冲”,就把方向保留、长度压缩到 \(C\)。这既保护了少数极端用户,也让单个人的影响被限制在可控范围内。

数学上,裁剪是对本地梯度或更新向量做一次范数缩放:

工程上,裁剪阈值 \(C\) 还可以自适应调整,比如根据每轮更新范数的中位数动态更新,避免单点异常把整轮噪声带偏。

g~k=gk⋅min⁡(1,C∥gk∥2)\displaystyle \tilde{g}_k = g_k \cdot \min\left(1, \frac{C}{\|g_k\|_2}\right)
当梯度的 L2 范数超过 \(C\) 时,按比例缩小到范数恰好为 \(C\);没超过 \(C\) 的梯度保持不变。
  1. 原始梯度\(g_k\) 是第 k 个客户端本地算出的梯度。
    gkg_k
  2. 向量长度\(\|g_k\|_2\) 是梯度的 L2 范数,表示这个改动向量的“总冲劲”。
    ∥gk∥2\lVert g_k \rVert_2
  3. 缩放比例\(\min\left(1, \frac{C}{\|g_k\|_2}\right)\) 表示如果冲劲大于 C,就把它压到 1;否则保留原状。
    min⁡(1,C∥gk∥2)\min\left(1, \frac{C}{\lVert g_k \rVert_2}\right)

可用性权衡

盐撒太多,菜咸得没法吃;盐撒太少,隐私又没保障。DP-FedAvg 的“可用性权衡”就是这个道理:更强的隐私保护通常等于更大的噪声,更大的噪声必然让模型精度下降。

我们常用 RMSE 等指标来度量“加盐后的模型”和“不加盐的模型”差多远:

评估时,除了传统精度、AUC,还要关注成员推断攻击的成功率:攻击者猜得越不准,说明隐私保护越有效。这些指标共同决定了一套 DP-FedAvg 配置是否能上线。

RMSE(w^,w)=1d∑j=1d(w^j−wj)2\displaystyle \mathrm{RMSE}(\hat{w}, w) = \sqrt{\frac{1}{d}\sum_{j=1}^{d}\left(\hat{w}_j - w_j\right)^2}
\(\hat{w}\) 是加了噪声的模型参数,\(w\) 是不加噪声的理想参数;RMSE 越大,说明噪声对模型的破坏越明显。
  1. 加噪模型\(\hat{w}_j\) 是经过 DP-FedAvg 得到的第 j 维参数。
    w^j\hat{w}_j
  2. 理想模型\(w_j\) 是对照组中不加入隐私保护时的参数。
    wjw_j
  3. 平方误差\((\hat{w}_j - w_j)^2\) 表示每个维度上的偏差大小,消除正负抵消。
    (w^j−wj)2(\hat{w}_j - w_j)^2
  4. 平均后开方对所有维度求平均再开根号,得到整体偏差水平。
    1d∑j=1d(⋅)\sqrt{\frac{1}{d}\sum_{j=1}^{d}(\cdot)}

工程实现调优

真正把 DP-FedAvg 部署到生产环境,就像在厨房里精确控制火候:裁剪阈值 \(C\)、噪声乘数 \(\sigma\)、训练轮数 \(T\)、参与客户端数 \(N\),每一项都会影响隐私与性能。

在基础组合模型下,给定总隐私预算 \(\varepsilon_{\text{total}}\),噪声标准差可以近似写为:

实际工程中,可以用 RDP 等高级组合账本得到更紧的隐私估计,让同一个 \(\varepsilon\) 下少撒一点盐、多留一点精度。调优时建议先固定 \(\varepsilon\),再搜索裁剪阈值和噪声乘数,最后用隐私账本验证合规边界。

σ≈2CTNεtotal2log⁡1δ\displaystyle \sigma \approx \frac{2 C T}{N \varepsilon_{\text{total}}} \sqrt{2\log\frac{1}{\delta}}
轮数越多、裁剪阈值越大,噪声就越大;客户端数越多、总预算越宽松,噪声可以越小。
  1. 裁剪阈值\(C\) 是限制单个更新影响力的上限。
    CC
  2. 训练轮数与客户端数\(T\) 轮训练会累积隐私损失;参与客户端 \(N\) 越多,平均结果越稳定。
    T, NT,\ N
  3. 总隐私预算\(\varepsilon_{\text{total}}\) 越小,每个参数的噪声必须越大。
    εtotal\varepsilon_{\text{total}}
  4. 失败概率\(\delta\) 越小,噪声尾部越安全,需要更多噪声兜底。
    δ\delta

AI 应用场景

医疗影像跨院协作

阶段:隐私保护训练与联邦聚合

解决的问题:传统方式要求医院把影像数据集中到中心服务器,但患者隐私和医院数据合规不允许这样做。联邦学习可以把训练放到各院内,DP-FedAvg 再给每轮模型更新加噪,确保单个患者的存在难以被推断。

具体案例:三家医院各自拥有胸部 X 光片,联合训练肺结节检测模型。每轮各院在本地完成训练,先裁剪梯度范数,再上传更新;中心服务器聚合后添加高斯噪声,最终得到一个不暴露任何患者身份的共享模型。

手机输入法个性化

阶段:端侧模型更新与隐私预算管理

解决的问题:输入法想要学习用户打字习惯,但不能把用户句子传给云端。DP-FedAvg 在手机本地训练语言模型,只返回带噪声的更新,再用总隐私预算控制累积泄露风险。

具体案例:某手机厂商希望提升“下一词预测”准确率,同时满足隐私合规。每台手机本地训练几轮后,对更新进行 L2 裁剪并加入高斯噪声,服务器聚合后发布新模型。用户在感受到流畅输入的同时,个人输入数据从未离开手机。

Python 演示

python47 行
import numpy as np  class LocalClient:    def __init__(self, data, label, lr=0.1, epochs=1):        self.data = data        self.label = label        self.lr = lr        self.epochs = epochs     def get_update(self, global_w, clip_c):        w = global_w.copy()        for _ in range(self.epochs):            pred = self.data @ w            grad = self.data.T @ (pred - self.label) / len(self.label)            w = w - self.lr * grad        update = w - global_w        norm = np.linalg.norm(update)        scale = min(1.0, clip_c / norm)        return update * scale  def dp_fedavg(clients, dim, rounds=5, clip_c=1.0, sigma=0.8):    global_w = np.zeros(dim)    for _ in range(rounds):        ups = [c.get_update(global_w, clip_c) for c in clients]        avg = np.mean(ups, axis=0)        noise = np.random.normal(0, sigma * clip_c / len(clients), size=dim)        global_w = global_w + avg + noise    return global_w  def mock_clients(num=8, dim=5):    rng = np.random.default_rng(42)    clients = []    for _ in range(num):        X = rng.normal(size=(20, dim))        y = X @ np.ones(dim) + rng.normal(scale=0.1, size=20)        clients.append(LocalClient(X, y))    return clients  if __name__ == "__main__":    clients = mock_clients()    w = dp_fedavg(clients, dim=5, rounds=5, clip_c=1.0, sigma=0.8)    print("DP-FedAvg final weights:", np.round(w, 3))    print("Target weights:", np.ones(5))
目的:用合成数据演示一个极简 DP-FedAvg 流程,包括客户端本地训练、L2 裁剪、服务端聚合与高斯噪声注入。
  1. scale = min(1.0, clip_c / norm)这是“限辣”动作:更新范数超过阈值就压到阈值。
  2. noise = np.random.normal(0, sigma * clip_c / len(clients), size=dim)这是“撒盐”动作:噪声尺度与裁剪阈值成正比,与客户端数成反比。
  3. global_w = global_w + avg + noise先平均再加盐,得到新一轮全局模型。
  4. ups = [c.get_update(global_w, clip_c) for c in clients]每个客户端在本地计算带裁剪的更新。
  5. avg = np.mean(ups, axis=0)服务端把收集到的更新做等权平均。

常见误区

误区我以为在梯度里随便加一点随机数,就算做了差分隐私。

正解差分隐私要求噪声尺度必须根据敏感度、隐私预算和组合轮数精确校准。噪声太小,隐私保证不成立;噪声太大,模型变成“黑暗料理”。盐不是撒了就行,要按菜量、人数和口味上限来算。

为何常见:因为很多科普强调“添加噪声”这个动作,却忽略了差分隐私对噪声分布和数据敏感性的严格约束。

误区我觉得裁剪阈值设大一点,就能保留更多信息,模型精度一定更高。

正解裁剪阈值变大确实减少了裁剪带来的偏差,但敏感度也变大,因此需要更大的噪声。\(C\) 太大时,噪声会把收益吞掉;\(C\) 太小,梯度又被过度压缩,模型学不动。\(C\) 是一个需要搜索的“火候旋钮”。

为何常见:人们直观觉得“限制越少越好”,却忘了在差分隐私里裁剪阈值和噪声尺度是连在一起的。

误区我听到“客户端级”就觉得比“样本级”更粗、更简单。

正解客户端级 DP 把整个客户端的数据当作保护单位,对梯度聚合和噪声设计的要求并不低;样本级 DP 则需要更精细的逐样本裁剪与采样分析。两者侧重不同,不存在绝对的“容易版”。

为何常见:因为“粒度大”容易被误解为“精度要求低”,实际上保护范围越大,噪声设计的工程量同样复杂。

误区DP-FedAvg 跑出来效果差,我就觉得是高斯噪声加太多了。

正解精度下降往往是裁剪偏差、噪声方差、参与客户端数量的减少、数据非独立同分布等多种因素叠加。只调大噪声参数而不检查裁剪阈值和采样率,很容易误判问题根源。

为何常见:因为噪声是 DP-FedAvg 里最“显眼”的隐私手段,人们会忽略裁剪、轮数、数据集结构等同样重要的因素。

面试题

Q1. DP-FedAvg 的最核心目的是什么?

单选题 · easy

  • A.让训练速度成倍提升
  • B.在联邦平均中加入隐私保护← 正确答案
  • C.替代所有隐私计算方案
  • D.减少服务器存储开销

答案:B。DP-FedAvg = 联邦平均 + 差分隐私,核心是在联邦学习训练过程中保护个体隐私。它不是专门为了提速、替代所有方案或省存储而设计。

Q2. 在 DP-FedAvg 中,裁剪梯度的主要原因是?

单选题 · easy

  • A.保留更多梯度信息
  • B.限制单个客户端影响力← 正确答案
  • C.降低通信带宽占用
  • D.提高本地训练速度

答案:B。裁剪把单个更新限制在范数上限 \(C\) 以内,从而限制单客户端对全局模型的影响力,也让隐私敏感度有界。裁剪本身不会直接提升速度或省带宽。

Q3. 差分隐私中 \(\varepsilon\) 的含义是什么?

单选题 · mid

  • A.隐私预算,越小私密性越强← 正确答案
  • B.隐私预算,越大私密性越强
  • C.噪声方差,越大精度越高
  • D.裁剪阈值,越小更新越快

答案:A。\(\varepsilon\) 是隐私预算,越小表示相邻数据集的输出差异越小,隐私保护越强。\(\varepsilon\) 不是噪声方差,也不是裁剪阈值。

Q4. 高斯机制添加噪声的标准差主要与什么有关?

单选题 · mid

  • A.模型参数维度和学习率
  • B.梯度范数上限和隐私参数← 正确答案
  • C.客户端数量和服务端带宽
  • D.数据标签数量和网络层数

答案:B。高斯噪声尺度由敏感度 \(\Delta f\)、\(\varepsilon\)、\(\delta\) 共同决定。在 DP-FedAvg 中敏感度与裁剪阈值直接相关,所以答案应选“梯度范数上限和隐私参数”。

Q5. 客户端级 DP 与样本级 DP 的区别包括?

多选题 · mid

  • A.保护的数据粒度完全不同← 正确答案
  • B.客户端级保护整个客户端← 正确答案
  • C.样本级保护单个训练样本← 正确答案
  • D.两种方案表示完全一样

答案:ABC。客户端级 DP 把“一户人家”看成整体,样本级 DP 把“一条记录”看成整体,两者保护粒度和隐私分析方式都不同。D 明显错误。

Q6. 设固定总隐私预算为 \(\varepsilon\),轮数为 \(T\),简单组合下每轮预算约为?

单选题 · mid

  • A.\(\varepsilon / T\)← 正确答案
  • B.\(\varepsilon \times T\)
  • C.\(T / \varepsilon\)
  • D.\(\varepsilon + T\)

答案:A。基础组合中隐私损失近似线性累积,每轮预算约为总预算除以轮数。这样轮数越多,每轮能用的“盐”越少,噪声也就越大。

Q7. 哪些设置会显著降低 DP-FedAvg 的模型可用性?

多选题 · hard

  • A.裁剪阈值设置得过小← 正确答案
  • B.隐私预算设置得过小← 正确答案
  • C.添加噪声方差过大← 正确答案
  • D.所有客户端数据完全同分布

答案:ABC。裁剪阈值过小会损失梯度信息,隐私预算过小要求更大噪声,噪声方差过大会淹没真实信号,这些都会降低可用性。数据同分布本身不会降低可用性。

Q8. 关于裁剪公式中的范数,通常使用什么范数?

单选题 · mid

  • A.L0 范数,统计非零个数
  • B.L2 范数,衡量向量长度← 正确答案
  • C.L1 范数,计算绝对值之和
  • D.无穷范数,取最大值

答案:B。DP-FedAvg 中常用 L2 范数,因为它天然对应欧氏距离,能与高斯机制的灵敏度和球面裁剪直接配合。其他范数并非完全不可用,但最标准的描述是 L2。

Q9. 下列哪项最符合 DP-FedAvg 中隐私与效用的关系?

单选题 · hard

  • A.隐私越强则效用越低← 正确答案
  • B.隐私越强则效用越高
  • C.隐私与效用相互独立
  • D.隐私增强时精度不变

答案:A。更强的隐私意味着更小的 \(\varepsilon\),进而需要更大的噪声,因此模型效用通常会下降。这种“隐私-效用权衡”是差分隐私的核心规律。

Q10. DP-FedAvg 的隐私分析通常需要组合多个轮次,下列说法正确的是?

多选题 · extreme

  • A.简单组合使总 \(\varepsilon\) 接近各轮之和← 正确答案
  • B.高级组合通常比简单组合更紧← 正确答案
  • C.固定总预算时轮次越多噪声越大← 正确答案
  • D.固定预算时轮次越多噪声越小

答案:ABC。基础组合假设隐私损失线性相加,高级组合(如 RDP)能给出更紧的上界。固定总预算时,轮数越多每轮预算越少,为满足隐私需要更大的噪声,所以 C 正确、D 错误。