幸福里小区要修电梯,每户愿意出多少钱本来是隐私,但物业需要知道总金额。于是大家约定:每户把金额写进信封前,先加一个“干扰数”,同时和另一户约好一张“反向抵消券”。所有信封送到物业手里后,干扰数成对抵消,物业只算出总额,却永远不知道任何一户到底出了多少。这就是联邦学习安全聚合的核心直觉:服务器不需要解密任何单个梯度,也能完成模型更新的聚合运算。故事还能继续:有人中途出差,就提前把“钥匙”切成碎片分给邻居,凑够一定数量就能把掉线者的干扰数也消掉。这篇文章会用这个小区故事,带你拆解安全聚合的加密原理、通信开销、掉线恢复,以及它与差分隐私如何配合。

岗位关联

对 AI 从业者来说,掌握安全聚合意味着你能在“多方数据不可见、服务器不可全信”的现实约束下,设计出既保护隐私又不牺牲模型效果的联邦学习系统。

目录
  1. 可视化演示
  2. 问题背景:梯度是数据留下的脚印
  3. 核心原理:成对的“抵消券”
  4. 双掩码协议:再戴一顶“个人帽子”
  5. 掉线恢复:钥匙碎片拼出掉线户的锁
  6. 通信优化:别让“互换名片”变成灾难
  7. 差分隐私协同:给最终答案再撒一把噪声
  8. 工程实践:从故事到真实系统
  9. AI 应用场景
  10. Python 演示
  11. 常见误区
  12. 面试题

可视化演示

展示安全聚合流程(加密上传→无解密聚合→结果下发)、配对掩码加密原理、以及掉线客户端容错恢复机制三大核心维度。

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

安全聚合 聚合流程:客户端加密梯度上传,服务器不解密直接聚合,结果下发 配对掩码:客户端间交换密钥,掩码在聚合时相互抵消 Σ(g_i + m_i) = Σg_i 掉线容错:秘密共享恢复掉线客户端的掩码份额

问题背景:梯度是数据留下的脚印

物业最想看的,不是每户信封上的署名,而是纸条上的真实金额。可一旦物业能偷看到单户金额,它就能推断出这家人的经济状况,甚至猜到家里有没有病人、孩子上什么学校。联邦学习中的梯度也是同样的道理:每个客户端用本地数据算出梯度,本意是只告诉服务器“模型该往哪走”,但梯度里往往残留着训练样本的痕迹。攻击者或“诚实但好奇”的服务器,可能通过梯度反推出用户的照片、文本片段或成员关系。

联邦学习的常规流程是:每个客户端用本地数据算一个梯度 \(g_i\),上传到中央服务器;服务器把大家梯度平均后更新全局模型。这个 \(g_i\) 就是“数据脚印”。它的计算公式并不复杂:

安全聚合要做的,就是让物业收齐所有信封,却拆不开任何一封。它假设服务器会按协议办事,但会忍不住偷看;这种模型叫“诚实但好奇”。在这个假设下,保护个体梯度就成了首要目标。

gi=1mi∑j=1mi∇ℓ(xj,yj;w)\displaystyle g_i = \frac{1}{m_i}\sum_{j=1}^{m_i} \nabla \ell(x_j, y_j; w)
通俗地说,一个客户端把自己 \(m_i\) 条本地样本的“修正方向”平均起来,得到一条梯度。
  1. 符号定义\(g_i\) 代表第 \(i\) 个客户端在联邦学习某一轮中上传的梯度。
    gig_i
  2. 平均计算把该客户端全部 \(m_i\) 条本地样本的损失梯度累加,再除以样本数。
    1mi∑j=1mi∇ℓ(xj,yj;w)\frac{1}{m_i}\sum_{j=1}^{m_i}\nabla \ell(x_j, y_j; w)
  3. 隐私含义\(\nabla \ell(x_j, y_j; w)\) 是根据真实样本 \((x_j, y_j)\) 算出来的,因此梯度里藏着数据细节。
    ∇ℓ(xj,yj;w)\nabla \ell(x_j, y_j; w)

核心原理:成对的“抵消券”

现在,幸福里小区要设计一种信封:每户在把金额塞进去之前,先和另一户约好一对“抵消券”。比如 A 户加 5 元,B 户就减 5 元;A 户信封里变成“真实金额 + 5”,B 户信封里变成“真实金额 - 5”。物业把两家加在一起,5 和 -5 正好抵消,总额不变,但物业看任何一封都不知道真实金额。

安全聚合的核心原理正是这样:每对客户端通过密钥协商约定一个随机数种子,然后各自生成一个方向相反的掩码。客户端 \(i\) 把真实梯度 \(g_i\) 加上所有配对的掩码 \(r_{ij}\) 后上传;服务器把所有人的掩码梯度加总。由于 \(r_{ij}=-r_{ji}\),所有掩码在总和中恰好抵消:

这就是“抵消券”的魔法:每张券单独看毫无意义,放进大池子里却自动成双成对地消失。

Gˉ=1n∑i=1nyi=1n∑i=1n(gi+∑j≠irij)=1n∑i=1ngi\displaystyle \bar{G}=\frac{1}{n}\sum_{i=1}^{n} y_i=\frac{1}{n}\sum_{i=1}^{n}\left(g_i+\sum_{j\neq i} r_{ij}\right)=\frac{1}{n}\sum_{i=1}^{n} g_i
服务器最终得到的平均值,和直接聚合明文梯度一模一样,但中间过程看不到任何一个人的真实梯度。
  1. 本地加掩码客户端 \(i\) 把真实梯度 \(g_i\) 加上与其他人约定的掩码,得到可上传的 \(y_i\)。
    yi=gi+∑j≠irijy_i = g_i+\sum_{j\neq i} r_{ij}
  2. 成对抵消对任意一对客户端 \(i,j\),双方约定相反数。
    rij=−rjir_{ij}=-r_{ji}
  3. 服务器求和服务器收到所有 \(y_i\) 后做加法,真实梯度之外多出来的部分是所有掩码之和。
    ∑i=1nyi=∑i=1ngi+∑i=1n∑j≠irij\sum_{i=1}^{n} y_i = \sum_{i=1}^{n} g_i + \sum_{i=1}^{n}\sum_{j\neq i} r_{ij}
  4. 掩码归零因为成对相反,全局掩码总和为 0。
    ∑i=1n∑j≠irij=0\sum_{i=1}^{n}\sum_{j\neq i} r_{ij}=0

双掩码协议:再戴一顶“个人帽子”

如果只靠成对抵消券,一旦某户临时掉线,物业为了消掉与掉线户有关的券,就可能让存活户交出自己那一半券,这反而会暴露存活户的真实金额。于是居民们决定:除了成对抵消券,每户再往自己头上戴一顶“个人帽子”。这顶帽子是每户自己生成的随机掩码,不出现在任何配对约定里。

这顶个人帽子的钥匙被切成碎片分给邻居。当需要处理掉线户时,邻居们把碎片拼起来,让物业知道“该从总额里摘掉哪些帽子”,而不需要把任何一户的原始金额摊开。这样,每个客户端实际上传的是:

其中 \(m_i\) 是配对掩码总和,\(b_i\) 是个人掩码。经过秘密共享恢复后,服务器可以去除所有外部掩码,得到真正的聚合梯度:

这里的 \(R\) 表示所有需要移除的配对掩码和个人掩码总和。

双掩码让协议更健壮:掉线处理不再以牺牲在线用户隐私为代价。

zi=gi+mi+bi\displaystyle z_i = g_i + m_i + b_i
∑i∈Szi−R=∑i∈Sgi\displaystyle \sum_{i\in S} z_i - R = \sum_{i\in S} g_i
双重掩码就像“抵消券 + 个人帽子”:抵消券负责让总额恢复,个人帽子负责在掉线协作时保护在线用户。
  1. 本地加双层掩码每个客户端同时加 \(m_i\) 和 \(b_i\)。
    zi=gi+mi+biz_i = g_i + m_i + b_i
  2. 配对掩码抵消在存活集合 \(S\) 内部,配对掩码成对消失。
    ∑i∈Smi=0 (仅内部配对)\sum_{i\in S} m_i = 0 \ (\text{仅内部配对})
  3. 移除剩余掩码掉线导致的未抵消掩码以及个人掩码,由秘密共享恢复后统一从聚合结果中移除。
    R=∑i∈Smi待移除+∑i∈SbiR = \sum_{i\in S} m_i^{\text{待移除}} + \sum_{i\in S} b_i

掉线恢复:钥匙碎片拼出掉线户的锁

故事里,李阿姨临时有事出差了,她的信封已经交到物业手里,但里面还有一张没被抵消的券。怎么办?李阿姨早在出发前就把一把“总钥匙”切成了 \(t\) 份碎片,分给小区里 \(t\) 位邻居。只要物业能拿到其中至少 \(t\) 份,就能拼出李阿姨的掩码,从总额中把她的干扰数消掉;少于 \(t\) 份,则无人能打开这把锁。

这在密码学中叫 Shamir 秘密共享。假设我们要保护的秘密是 \(s_i\),就构造一个 \(t-1\) 次多项式:

每个参与恢复的人手里有一个点 \((x_k, f_i(x_k))\)。只要集合 \(T\) 中有 \(t\) 个点,就可以用拉格朗日插值重建秘密:

有了这套机制,安全聚合不再要求所有客户端同时在线。只要统计阈值没被击穿,掉线就不会阻塞训练。

fi(x)=si+a1x+a2x2+⋯+at−1xt−1\displaystyle f_i(x) = s_i + a_1 x + a_2 x^2 + \cdots + a_{t-1} x^{t-1}
si=∑k∈Tfi(xk)∏l∈T,l≠k−xlxk−xl\displaystyle s_i = \sum_{k\in T} f_i(x_k) \prod_{l\in T, l\neq k} \frac{-x_l}{x_k - x_l}
拉格朗日插值像“用 t 个图钉重新撑起一张被按住的纸”:点足够多时,纸的原始形状就被唯一确定。
  1. 构造多项式秘密 \(s_i\) 被放进多项式的常数项,并随机加入 \(t-1\) 个系数。
    fi(x)=si+a1x+⋯+at−1xt−1f_i(x) = s_i + a_1 x + \cdots + a_{t-1}x^{t-1}
  2. 分发碎片把多项式曲线上不同点分发给参与恢复的邻居。
    (xk,fi(xk))(x_k, f_i(x_k))
  3. 阈值重构任意 \(t\) 个点都能用插值公式恢复出 \(f_i(0)\),也就是秘密本身。
    si=fi(0)=∑k∈Tfi(xk)∏l≠k−xlxk−xls_i = f_i(0) = \sum_{k\in T} f_i(x_k) \prod_{l\neq k}\frac{-x_l}{x_k - x_l}

通信优化:别让“互换名片”变成灾难

假设小区有一千户,每户都要和另外 999 户互换抵消券,这就像开一个千人聚会,每个人要发 999 张名片。网络再好也扛不住。安全聚合协议中,客户端两两协商掩码会产生二次方的通信成本,同时上传高维梯度又要线性成本:

其中 \(n\) 是客户端数量,\(d\) 是梯度向量维度。\(n^2\) 来自每对客户端之间的密钥协商,\(n d\) 来自所有客户端上传 \(d\) 维掩码梯度。

实际系统还会用梯度稀疏化、有损压缩编码、分组聚合等办法削减开销。毕竟,隐私保护的代价不能高到让训练跑不起来。

Ctotal=nd+n2\displaystyle C_{\mathrm{total}} = n d + n^2
\(n^2\) 就像每户要和其他所有户交换抵消券;客户端一多,这个二次项会迅速膨胀。
  1. 梯度上传开销\(n\) 个客户端各自上传一个 \(d\) 维向量,贡献 \(n \times d\)。
    ndn d
  2. 两两协商开销每对客户端之间都要建立随机掩码关系,贡献平方项。
    n2n^2
  3. 优化方向把 \(n\) 拆成若干小组,让客户端只在小组内两两协商,通信量就从全体的 \(n^2\) 降为组内小规模的 \(k^2\)。
    Cgroup=nd+mk2C_{\mathrm{group}} = n d + m k^2

差分隐私协同:给最终答案再撒一把噪声

安全聚合解决了“物业偷看单个信封”的问题,但还有一个隐患:如果只有一户交钱,物业不用拆信封也知道总金额就是这一户的钱。换句话说,聚合结果本身也可能泄露个体信息。这时,差分隐私出场了。

差分隐私不关心信封是否会被拆开,而是直接在最终公布的总数上,加入经过校准的随机噪声。这样即使某个人在或不在数据集里,最终结果都几乎看不出差别。公式可以写成:

这里 \(\mathcal{N}(0, \sigma^2 C^2 I)\) 是高斯噪声,\(C\) 是梯度范数裁剪阈值,\(\sigma\) 控制噪声强度。它和隐私预算 \((\varepsilon,\delta)\) 直接挂钩。

安全聚合防“偷看”,差分隐私防“推断”。两者不是二选一,而是纵深防御的双层铠甲。

G^=1n∑i=1ngi+N(0,σ2C2I)\displaystyle \hat{G} = \frac{1}{n}\sum_{i=1}^{n} g_i + \mathcal{N}(0, \sigma^2 C^2 I)
安全聚合像匿名投票箱,差分隐私像唱票时故意念错一个小数点;两者合用,才是真正的“匿名 + 统计不可区分”。
  1. 干净聚合结果先用安全聚合得到真实的平均梯度。
    1n∑i=1ngi\frac{1}{n}\sum_{i=1}^{n} g_i
  2. 注入高斯噪声在结果上加入零均值、协方差为 \(\sigma^2 C^2 I\) 的随机向量。
    N(0,σ2C2I)\mathcal{N}(0, \sigma^2 C^2 I)
  3. 隐私预算控制\(\varepsilon,\delta\) 越小,隐私保护越强,代价是噪声更大、模型精度下降。
    (ε,δ)(\varepsilon,\delta)

工程实践:从故事到真实系统

把抵消券方案搬进真实小区,你还要考虑楼道宽度、电梯维修时限和门锁材料。工程化安全聚合同样如此:协议故事很美,落地时全是权衡。

一个联邦学习轮次的实际耗时可以写成:

\(T_{\mathrm{comm}}\) 是梯度上传和密钥协商的通信时间,\(T_{\mathrm{crypto}}\) 是掩码生成、秘密共享等密码学计算时间,\(T_{\mathrm{recovery}}\) 是处理掉线客户端的额外等待时间。

在选择方案时,要问三个问题:威胁模型是谁?客户端数量有多大?能容忍多少通信延迟?TensorFlow Federated、Flower、PySyft 等开源框架已经提供了安全聚合实现,但每个系统的瓶颈不同。安全聚合不是万能药,它保护的是“聚合过程中的梯度隐私”,而不是恶意客户端投毒或模型效果下降。理清假设,才能在真实场景里把隐私魔法变成可用产品。

Tround=Tcomm+Tcrypto+Trecovery\displaystyle T_{\mathrm{round}} = T_{\mathrm{comm}} + T_{\mathrm{crypto}} + T_{\mathrm{recovery}}
  1. 通信时间包含上传掩码梯度和交换密钥信息。
    TcommT_{\mathrm{comm}}
  2. 加密计算时间生成伪随机掩码、做秘密共享和重构。
    TcryptoT_{\mathrm{crypto}}
  3. 掉线恢复时间等待存活客户端提交碎片、服务器完成掩码移除。
    TrecoveryT_{\mathrm{recovery}}

AI 应用场景

手机输入法联合预测

阶段:模型训练与隐私保护

解决的问题:传统做法把用户输入片段上传到服务器训练下一词预测模型,但键盘输入极度敏感,明文梯度可能泄露聊天内容。安全聚合让手机厂商在看不到单个用户梯度的前提下,完成全球模型的更新。

具体案例:跨国输入法团队让每天数百万用户的本地模型更新都经过安全聚合,再配合差分隐私噪声,即使用户终端遭遇中间人攻击,也无法还原某一个人的输入习惯。

多医院联合疾病预测

阶段:多方数据协作训练

解决的问题:医院之间不能共享电子病历,但单个医院数据量不足以训练高精度模型。安全聚合允许各家医院把本地模型梯度放在“匿名信封”里汇聚,避免患者级隐私从梯度中被反向还原。

具体案例:三家三甲医院联合训练肺炎影像识别模型,每家只上传掩码后的梯度;即使其中一家服务器被攻破,攻击者也拿不到其他医院的个体梯度。

金融机构反欺诈建模

阶段:数据合规与联合建模

解决的问题:银行、支付平台和电商各自持有不同维度的用户行为数据,直接合并会违反数据保护法规。安全聚合让各方在不暴露单条交易记录的情况下,共同训练反欺诈模型。

具体案例:某金融联盟使用“分组聚合 + 秘密共享”方案,200 家机构参与训练,单轮通信成本下降 60%,同时成功识别跨平台盗刷团伙。

Python 演示

python35 行
import randomrandom.seed(2024) def run_secure_aggregation(values, dropout_prob=0.2):    n = len(values)    masks = [[0] * n for _ in range(n)]    for i in range(n):        for j in range(i + 1, n):            m = random.randint(-20, 20)            masks[i][j] = m            masks[j][i] = -m     masked_values = []    for i in range(n):        masked_values.append(values[i] + sum(masks[i]))     online = [i for i in range(n) if random.random() >= dropout_prob]     residual = 0    for j in online:        for k in range(n):            if k not in online:                residual += masks[j][k]     server_sum = sum(masked_values[i] for i in online) - residual    true_sum = sum(values[i] for i in online)    assert server_sum == true_sum    return online, masked_values, server_sum if __name__ == "__main__":    clients = [10, 8, 12, 6, 9]    online, masked, total = run_secure_aggregation(clients)    print("在线客户端:", online)    print("服务器收到的掩码值:", masked)    print("聚合总额:", total)
目的:用标量模拟 5 个客户端的隐私聚合过程,展示“掩码相加抵消 + 掉线残留扣除”的安全聚合核心步骤。
  1. masks[j][i] = -m保证每对客户端的掩码方向相反,聚合时能成对抵消。
  2. masked_values.append(values[i] + sum(masks[i]))客户端把真实值加上所有掩码后再上传。
  3. online = [i for i in range(n) if random.random() >= dropout_prob]模拟随机掉线,只保留在线客户端参与聚合。
  4. residual += masks[j][k]服务器只从在线客户端与掉线客户端之间的掩码关系中扣除残留。
  5. server_sum = sum(masked_values[i] for i in online) - residual服务器最终只还原在线客户端真实值总和。
  6. assert server_sum == true_sum验证隐私保护后的聚合结果与真实总和完全一致。

常见误区

误区我以为安全聚合和同态加密是一样的,都是对加密数据做任意计算,所以叫“同态聚合”。

正解安全聚合主要依赖“随机掩码 + 秘密共享”,不是通用同态加密。它只擅长“求和”这类线性聚合,不能对密文做任意复杂的机器学习计算。打个比方,同态加密像一个万能厨房,能对加密食材做各种料理;安全聚合更像小区只允许做“总金额”这一道菜。

为何常见:两者都让服务器在看不到明文的情况下完成计算,初学者容易把“能算总和”误当成“能算一切”。

误区我听说安全聚合保护隐私,就觉得服务器完全看不到任何数据,连最终聚合结果也看不到。

正解安全聚合的隐私边界是“看不到单个客户端梯度”,但服务器最终能看到全体客户端梯度的总和(或平均)。这本来就是联邦学习的目的。如果只有 1 个客户端在线,服务器看到的“总和”就等于这个客户端的梯度,隐私保护基本失效。

为何常见:宣传中常强调“不可见”,让初学者把保护个体隐私误解为保护所有聚合结果。

误区我以为只要有一个客户端掉线,所有掩码就没法抵消,整个协议只能重来。

正解安全聚合使用秘密共享把掩码分割成碎片。只要掉线数量不超过阈值,在线客户端通过协作提交碎片,服务器就能移除掉线者残留的掩码,完成聚合。掉线是设计时的核心场景,而不是异常边缘。

为何常见:只看“成对抵消券”的故事,会自然觉得少了一方就没法抵消;只有看到秘密共享机制,才知道为何能恢复。

误区我觉得安全聚合已经隐藏了所有梯度,再加差分隐私纯属浪费算力。

正解安全聚合只防止“聚合过程中偷看”,差分隐私保护的是“聚合结果本身”。当参与方很少或某类样本极不均衡时,即便服务器只拿到总和,也可能反推出个体信息。两者是互补关系:一个挡住窥探的眼睛,一个给答案本身加噪声。

为何常见:人们容易高估某种单一隐私技术的能力,忽略了“过程安全”和“结果安全”是两回事。

误区我要让每个客户端和所有其他客户端都交换掩码,这样一定最安全,反正多算几次加法不费事。

正解安全聚合的通信开销包含 \(n^2\) 项,客户端数量一多,密钥协商和掩码同步会占用大量网络带宽。需要通过分组聚合、梯度稀疏化、有损压缩等工程手段控制成本。隐私保护的强度要和威胁模型匹配,而不是盲目堆叠掩码。

为何常见:小规模实验中 \(n\) 很小,平方项并不明显,容易让人低估规模化后的通信爆炸。

面试题

Q1. 安全聚合主要解决联邦学习中的哪类风险?

单选题 · easy

  • A.模型精度不足
  • B.梯度明文泄露← 正确答案
  • C.通信带宽过大
  • D.标签体系混乱

答案:B。安全聚合让服务器在看不到单个客户端梯度的情况下完成聚合,核心目标是防止梯度明文泄露。模型精度、通信带宽和标签体系不是它的主要解决对象。

Q2. 安全聚合中,成对掩码的核心作用是?

单选题 · easy

  • A.压缩通信数据
  • B.降低计算开销
  • C.覆盖个体梯度← 正确答案
  • D.增强模型精度

答案:C。每对客户端约定方向相反的随机数,客户端把真实梯度加上掩码后上传,单个梯度被掩盖;服务器合并时掩码抵消,总额不丢。选项 C 准确描述了核心作用。

Q3. 在双掩码安全聚合协议中,客户端上传的梯度形式是?

单选题 · mid

  • A.原始梯度加自噪声
  • B.原始梯度加双重掩码← 正确答案
  • C.原始梯度做哈希压缩
  • D.原始梯度用RSA加密

答案:B。双掩码协议要求每个客户端把“配对掩码”和“个人掩码”都加到真实梯度上再上传。只加自噪声没有考虑配对抵消,哈希和 RSA 都不是该协议的主要机制。

Q4. 下列哪些机制可以抵御客户端掉线?

多选题 · mid

  • A.Shamir秘密共享← 正确答案
  • B.阈值重构机制← 正确答案
  • C.梯度裁剪缩放
  • D.模型参数量化

答案:AB。Shamir 秘密共享把掩码拆成碎片分给多方,达到阈值后即可重构。梯度裁剪属于差分隐私常用手段,模型量化属于通信压缩,它们不直接解决掉线恢复。

Q5. 安全聚合的通信开销主要来源是?

单选题 · mid

  • A.梯度维度与户数平方← 正确答案
  • B.模型层数复杂度
  • C.本地数据样本数量
  • D.客户端运行时间

答案:A。通信量可近似写成 \(n d + n^2\):\(n d\) 来自所有客户端上传 d 维梯度,\(n^2\) 来自客户端两两协商掩码。因此主要来源是梯度维度与客户端数量的平方项。

Q6. 关于安全聚合与差分隐私协同,说法正确的是?

多选题 · mid

  • A.安全聚合防偷看← 正确答案
  • B.差分隐私防推理← 正确答案
  • C.两项机制互相替代
  • D.两项机制可叠加← 正确答案

答案:ABD。安全聚合保护聚合过程,防止服务器偷看个体梯度;差分隐私保护聚合结果,防止从总和反推个体。两者不是替代关系,而是可以叠加的双层保护。

Q7. 安全聚合完成后,中央服务器最终能获得?

单选题 · hard

  • A.所有客户端原始梯度
  • B.部分客户端原始梯度
  • C.全体客户端梯度总和← 正确答案
  • D.客户端私有数据标签

答案:C。安全聚合设计目标就是“只见森林,不见树木”。服务器能够计算出全体客户端梯度的总和或平均,但不应看到任何一个客户端的原始梯度,更不可能拿到私有标签。

Q8. Shamir秘密共享中,要重构被丢弃客户端的掩码至少需要多少共享碎片?

单选题 · hard

  • A.任意一块碎片
  • B.达到阈值共享碎片← 正确答案
  • C.全部共享碎片
  • D.两倍共享碎片

答案:B。Shamir 秘密共享设定阈值 \(t\),任意 \(t\) 个碎片即可重构秘密;少于 \(t\) 个碎片无法得到任何有效信息。它不需要收集全部碎片,这正是其健壮性所在。

Q9. 下列属于安全聚合通信优化手段的有?

多选题 · hard

  • A.梯度稀疏化← 正确答案
  • B.有损压缩编码← 正确答案
  • C.分组聚合调度← 正确答案
  • D.增加隐私预算

答案:ABC。梯度稀疏化能减少上传维度,有损压缩编码能降低每个参数的比特数,分组聚合能把两两协商的二次方成本控制在小组范围内。增加隐私预算与通信优化无关。

Q10. 当联邦学习只剩一个在线客户端时,安全聚合的隐私保护效果是?

单选题 · extreme

  • A.隐私效果完全不受影响
  • B.与差分隐私保护效果等价
  • C.隐私保护基本失效← 正确答案
  • D.自动加入更强噪声

答案:C。安全聚合保护的是“个体不被从聚合中识别”。只有一个客户端在线时,服务器看到的“总和”就是该客户端的梯度,隐私保护自然失效。因此安全聚合通常要求足够多的参与方在线。