老陈是全城连锁餐厅“众口居”的总厨。总部规定:各分店的顾客口味数据绝不允许离开门店——这是隐私红线。可老陈必须给六家分店研发出同一款招牌酱料。怎么办?他定下流程:每周每家分店用自家顾客的反馈独立试调几次配方,然后把“该往哪边调整”的建议发回总部;老陈把所有建议平均起来,微调配方,再发下去。没有集中数据,没有统一意见,几个月后酱料评分竟稳步上升。这套流程,正是联邦学习经典算法 FedAvg 的缩影:数据不动,模型参数动。但一个追问随之而来——各家口味差异这么大,反馈还带随机噪声,凭什么这种“东拼西凑”的流程能收敛?数学给出的答案是:只要目标函数是全局加权平均、随机梯度无偏且方差有界、学习率设置得当,FedAvg 的收敛误差就能被一个清晰的上界牢牢控制住。本文将沿用这场“酱料研发”的故事,一步步揭开 FedAvg 收敛的数学面纱。

岗位关联

理解 FedAvg 的收敛上界,意味着你能预判训练何时趋于稳定、知道该调学习率还是采样率,不再靠试错调参——这是联邦学习工程师从“能跑通”走向“训得好”的关键一步。

目录
  1. 可视化演示
  2. 收敛性定义:全局目标与收敛判据
  3. 梯度噪声分析:摇晃但不跑偏
  4. 非IID数据挑战:众口难调怎么办
  5. 学习率调控:步幅决定命运
  6. 客户端采样:只听一部分人的意见
  7. 收敛上界与调参:三股力量的平衡
  8. AI 应用场景
  9. Python 演示
  10. 常见误区
  11. 面试题

可视化演示

动态演示FedAvg为何能收敛的核心机制,通过基础/核心/应用/扩展四种模式展示关键概念与交互流程。

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

FedAvg为何能收敛:FedA FedAvg收敛性理论框架与分 非IID数据分布下的收敛上界推 核心机制可视化 FedAvg为何能收敛整体架构与关键组件

收敛性定义:全局目标与收敛判据

老陈的第一堂管理课是:在没有统一评分标准之前,任何“改进”都是自说自话。川菜分店说“不够麻”,甜品分店说“不够甜”,谁嗓门大听谁的,永远吵不出结果。于是他给全连锁定了唯一标准——把每位顾客对当前配方的不满程度打分,再按各店客流量加权平均。这个总分,就是全部工作的指挥棒。

FedAvg 面对的是同样的问题。它要把 N 个客户端的数据用一个模型参数 w 统一描述,就必须明确优化对象。记第 k 个客户端的本地损失为 F_k(w),它是该客户端本地数据在参数 w 下的平均损失;FedAvg 优化的全局目标 F(w) 是所有 F_k(w) 的加权平均。

有了这把“加权平均不满分”,每个客户端在汇报“该往哪调”时,参照的都是同一份总目标。哪怕各自的本地计算五花八门,聚合时都有了一把统一的尺子。这正是 FedAvg 能够谈收敛的第一块基石:目标明确、方向统一。

F(w)=∑k=1NpkFk(w),Fk(w)=1∣Dk∣∑i∈Dkℓi(w)\displaystyle F(w)=\sum_{k=1}^{N}p_k F_k(w),\qquad F_k(w)=\frac{1}{|\mathcal{D}_k|}\sum_{i\in\mathcal{D}_k}\ell_i(w)
通俗理解:全局总不满度 = 各分店“顾客平均不满度”的加权和,权重就是各店的客流量占比。
  1. 全局目标把每家分店的顾客不满度按权重叠加,得到整个体系的总不满度,这是联邦优化唯一的指挥棒。
    F(w)=∑k=1NpkFk(w)\displaystyle F(w)=\sum_{k=1}^{N}p_k F_k(w)
  2. 本地损失单个分店 k 在自己顾客记录上算出的平均不满度,相当于“这家店的试吃评分表”。
    Fk(w)=1∣Dk∣∑i∈Dkℓi(w)\displaystyle F_k(w)=\frac{1}{|\mathcal{D}_k|}\sum_{i\in\mathcal{D}_k}\ell_i(w)
  3. 权重系数通常按本地样本量占比赋予话语权,客流量大的店说话分量更重。
    pk=nk∑j=1Nnj\displaystyle p_k=\frac{n_k}{\sum_{j=1}^{N}n_j}

梯度噪声分析:摇晃但不跑偏

老陈最怕的不是分店提意见,而是意见本身是“随机的”。今天抽到的十桌客人恰好多在减肥,试吃后齐刷刷说“太油腻”;明天抽到的十桌都是健身教练,又说“能量不够”。如果调整方向被这种抽样的偶然性牵着走,配方永远定不下来。

机器学习里的随机梯度下降,本质就是“只抽一小批样本,估算梯度”。客户端 k 在本地计算随机梯度 g~_k(w),它和真实梯度 ∇F_k(w) 之间存在随机误差。收敛性证明首先要回答:这种估算误差会不会把整个系统带偏?只需两个假设——无偏性,以及方差有界。

随机噪声就像试吃客人的偶然偏好——有正有负、均值为零。只要抽取方式足够随机,多次平均后噪声互相抵消,整体方向仍然指向真实的改进方向。所以 FedAvg 天然容忍“本地只算一小批数据”的效率设计,这是它工程可行的关键。

E[g~k(w)]=∇Fk(w),E[∥g~k(w)−∇Fk(w)∥2]≤σk2\displaystyle \mathbb{E}\left[\tilde{g}_k(w)\right]=\nabla F_k(w),\qquad \mathbb{E}\left[\left\|\tilde{g}_k(w)-\nabla F_k(w)\right\|^2\right]\le\sigma_k^2
通俗理解:试吃团的建议在期望上等于真实方向,单次偏差的抖动幅度有上限——噪声只让路径摇晃,不会改变前进方向。
  1. 期望符号对多次随机采样的结果取平均,相当于“重复很多次会议后看到的平均意见”。
    E[⋅]\displaystyle \mathbb{E}[\cdot]
  2. 无偏条件随机梯度的期望等于真实梯度,说明抽样误差不会系统性地偏向某个错误方向。
    E[g~k(w)]=∇Fk(w)\displaystyle \mathbb{E}\left[\tilde{g}_k(w)\right]=\nabla F_k(w)
  3. 方差有界单次估计与真实梯度的偏差平方的期望不超过 σ_k²,保证噪声不会无限大。
    E[∥g~k(w)−∇Fk(w)∥2]≤σk2\displaystyle \mathbb{E}\left[\left\|\tilde{g}_k(w)-\nabla F_k(w)\right\|^2\right]\le\sigma_k^2

非IID数据挑战:众口难调怎么办

几周后老陈发现,真正的麻烦不是试吃的随机波动,而是川菜店和甜品店各自训练出的“理想配方”根本不在同一个方向。川菜店的本地梯度始终指向“加辣”,甜品店的始终指向“加糖”,两家都振振有词,因为他们的顾客数据本来就是两个世界。

这就是联邦学习中最著名的“非IID”(Non-IID,非独立同分布)问题:各客户端的本地数据分布与全局分布不一致,导致本地梯度 ∇F_k(w) 与全局梯度 ∇F(w) 之间存在系统性偏差,而非随机噪声。数学上用异质性上界 β² 来约束这种偏差。

随机噪声会随采样互相抵消,系统性偏差却不会——它让本地参数在聚合前就“漂移”到偏离全局方向的区域。非IID越严重,这个漂移越大,最终收敛点离全局最优越远。这正是 FedAvg 收敛性分析中最重要的不等式:它用 β² 给“众口难调”定了量化等级,也预告了后续所有方差缩减算法的动机。

E[∥∇Fk(w)−∇F(w)∥2]≤β2\displaystyle \mathbb{E}\left[\left\|\nabla F_k(w)-\nabla F(w)\right\|^2\right]\le\beta^2
通俗理解:β² 度量的是“各家分店建议方向的分歧上限”。β 越大,众口越难调,本地更新越容易在聚合前就走偏。
  1. 方向差本地梯度与全局梯度的差代表该分店与全体系意见的分歧向量,川菜店和甜品店的分歧就落在这里。
    ∇Fk(w)−∇F(w)\displaystyle \nabla F_k(w)-\nabla F(w)
  2. 平方范数对差向量求平方长度,把“分歧大小”变成一个非负数值,方便与上界比较。
    ∥⋅∥2\displaystyle \left\|\cdot\right\|^2
  3. 异质性上界所有客户端与全局方向分歧的期望平方不超过 β²,β 越大,数据分布越异质、训练越难。
    ≤β2\displaystyle \le\beta^2

学习率调控:步幅决定命运

老陈发现后厨新手和老师傅的差别就在“下料”上。新手用大勺,恨不得一步到位,结果辣精下去整锅报废;老师傅前几轮用中勺快速探方向,之后换小勺,一次只动一点点。酱料调配的步幅,决定了能不能稳定靠近理想口味。

SGD 中这个“步幅”就是学习率 η。客户端本地更新规则是:w ← w − η∇F_k(w)。步长过大,参数会在损失地形中越过谷底、甚至发散;步长过小,收敛又太慢。FedAvg 的收敛性证明一般要求 η 受光滑常数 L 约束,并推荐使用衰减学习率。

衰减学习率正是老师傅的烹饪智慧:前期快速探索方向,后期精细打磨,确保随机噪声项 ησ²/μ 随着训练推进不断缩小。在联邦场景中,学习率还要配合本地步数 E 一起调——本地多走几步,步幅就要适当收一收,否则漂移会盖过收敛。

wt+1(k)=wt(k)−ηt ∇Fk(wt(k)),ηt=η01+λt\displaystyle w_{t+1}^{(k)}=w_t^{(k)}-\eta_t\,\nabla F_k(w_t^{(k)}),\qquad \eta_t=\frac{\eta_0}{1+\lambda t}
通俗理解:每家分店先按自己的试吃建议调整配方,调整幅度 η_t 随时间 t 递减;步长太大容易翻车,太小则进展太慢。
  1. 本地配方迭代第 k 家分店拿着当前的配方,在自己数据上沿不满度下降的方向修改一次参数。
    wt+1(k)=wt(k)−ηt ∇Fk(wt(k))\displaystyle w_{t+1}^{(k)}=w_t^{(k)}-\eta_t\,\nabla F_k(w_t^{(k)})
  2. 负梯度方向梯度指向不满度上升最快的方向,取负号才是下降方向,即“顾客觉得该往哪个方向改进”。
    −∇Fk(w)\displaystyle -\nabla F_k(w)
  3. 学习率η_t 是单次调整的幅度,相当于下料的那把勺子,控制每一步走多远。
    ηt\displaystyle \eta_t
  4. 衰减设计从 η_0 出发,随轮次 t 的增加逐步缩小,模拟“先大勺探方向、后小勺精调”的过程。
    ηt=η01+λt\displaystyle \eta_t=\frac{\eta_0}{1+\lambda t}

客户端采样:只听一部分人的意见

连锁店扩张到一百家后,每周让所有分店都提交试吃报告显然不现实。老陈改为随机抽查:每周抽五家,被抽中的店按客流量大小发言,汇总成调整建议。问题随之而来:抽样会不会让结论失真?

FedAvg 同样每轮只随机采样 K 个客户端参与聚合(K ≤ N)。聚合公式是在被采样客户端集合 S_t 上做样本量加权平均。采样比例 K/N 是联邦学习最核心的工程旋钮:比例越大,梯度估计方差越小,收敛越稳;但通信开销越大。

抽样就像开“分店代表会”:代表越多、越接近全体意见,但会议成本也越高。如果各家口味本来就接近,少请几家也无妨;如果众口难调(β² 大),就必须多请几家,否则聚合梯度会被少数分店带偏。采样比例 K/N 的选取,本质是在“会议成本”和“决策准确度”之间做权衡。

wt+1=∑k∈StnknStwt+1(k),nSt=∑k∈Stnk\displaystyle w_{t+1}=\sum_{k\in S_t}\frac{n_k}{n_{S_t}}w_{t+1}^{(k)},\qquad n_{S_t}=\sum_{k\in S_t}n_k
通俗理解:每周只召开“分店代表会”,被抽中的分店按客流量加权投票,合成下一版全局配方。
  1. 采样集合第 t 轮被随机抽中参与聚合的客户端下标集合,大小为 K。
    St\displaystyle S_t
  2. 归一化权重分母 n_{S_t} 是被抽中客户端的总样本量,权重 n_k/n_{S_t} 保证每家按实际数据量发声。
    nknSt\displaystyle \frac{n_k}{n_{S_t}}
  3. 聚合参数把被抽中客户端的本地参数做加权平均,得到新一轮全局参数,再发给所有客户端。
    wt+1=∑k∈StnknStwt+1(k)\displaystyle w_{t+1}=\sum_{k\in S_t}\frac{n_k}{n_{S_t}}w_{t+1}^{(k)}

收敛上界与调参:三股力量的平衡

年底总结时,老陈在墙上画了三条曲线:初始配方离理想配方的距离、试吃过程的随机抖动、各分店口味的不可调和程度。他说,这半年所有的调整,都是在跟这三股力量博弈。

收敛性理论把这三股力量写进同一个不等式。在强凸且光滑的假设下(L 是光滑常数,描述满意度地形坡度不会突变的上限;μ 是强凸参数,描述谷底凹陷强度;Γ 为非IID gap,代表各分店理想配方之间的不可调和分歧),FedAvg 的全局损失期望与最优值之差满足以下简化上界:

这个上界给出了清晰的调参路线图:先估计 σ² 和 β²,再决定 T、η_t 衰减系数和采样 K。如果损失曲线过早进入平台期,结合上界判断是噪声项还是异质项占主导——前者靠衰减学习率解决,后者则需要方差缩减、个性化聚合等更进阶的手段。老陈的三句话总结得恰到好处:别怕多开会,T 是消除初始距离的免费午餐;越到后期一次只动一点点,衰减学习率是压制噪声的稳定器;如果众口难调到极限,就不要指望一瓶酱料满足所有人——这时需要换交流方式,或为不同客群定制专属配方。

E[F(wT)−F∗]≤L ∥w0−w∗∥22μT⏟初始距离+η σ22μ⏟随机噪声+Γμ⏟数据异质\displaystyle \mathbb{E}\left[F(w_T)-F^\ast\right]\le\underbrace{\frac{L\,\|w_0-w^\ast\|^2}{2\mu T}}_{\text{初始距离}}+\underbrace{\frac{\eta\,\sigma^2}{2\mu}}_{\text{随机噪声}}+\underbrace{\frac{\Gamma}{\mu}}_{\text{数据异质}}
通俗理解:最终差距 ≤ 初始配方差距(随轮次 T 变多而缩小)+ 试吃噪声(随学习率 η 变小而缩小)+ 众口难调的根本分歧(与轮次无关)。
  1. 左侧差距第 T 轮时全局期望损失与理论最小损失之差,是衡量收敛效果的直接指标。
    E[F(wT)]−F∗\displaystyle \mathbb{E}\left[F(w_T)\right]-F^{\ast}
  2. 初始距离第一项与初始参数 w_0 离最优点 w* 的平方距离成正比,随 T 增大线性衰减——多开几轮会,总能逼近。
    L ∥w0−w∗∥22μT\displaystyle \frac{L\,\|w_0-w^\ast\|^2}{2\mu T}
  3. 随机噪声第二项正比于学习率 η 和噪声方差 σ²,因此衰减学习率能把稳态误差压下去。
    η σ22μ\displaystyle \frac{\eta\,\sigma^2}{2\mu}
  4. 数据异质第三项只取决于非IID gap Γ 和强凸参数 μ,增加 T 无法消除——这是朴素 FedAvg 的天花板。
    Γμ\displaystyle \frac{\Gamma}{\mu}

AI 应用场景

医疗影像跨院联合建模中的收敛监控

阶段:联邦模型训练与超参调优

解决的问题:三家医院的影像数据(设备型号、人群构成)差异很大,直接使用固定学习率的 FedAvg 常常在训练 30 轮后 loss 开始震荡。传统做法靠人工盯 loss 曲线,滞后且容易把正常波动误判为发散。利用收敛上界公式,可以提前估计 σ² 和 β²,判断“当前已经进入异质 gap 主导区”,从而自动切换到学习率衰减或引入方差缩减策略。

具体案例:某三甲医院联盟在 CT 影像分割任务中,发现 K=5 采样、η₀=0.1 时验证指标在第 25 轮后不再提升。按上界公式估算,第三项 Γ/μ 已经占主导;将学习率衰减为 0.01 并增加本地正则后,AUC 又提升了 1.8 个百分点。

手机输入法候选词预测的采样调度

阶段:在线联邦训练系统的采样调度

解决的问题:数亿移动设备不可能每轮全部参与训练,K 太小会导致梯度噪声大、收敛慢。收敛性分析给出了量化指导:先测算客户端数据异质度 β²,再设定采样数 K 使得噪声项 ησ²/μ 低于目标精度;同时用样本量加权聚合,避免活跃度差异扭曲梯度方向。

具体案例:某输入法在“猜你想说”任务上,把每轮采样数从 1000 提升到 5000(仍只占总设备数 0.1%),学习率衰减系数从 0.5 调整为 0.9,收敛所需轮次从 80 降到 50,候选词点击率提升 5%。

金融反欺诈联合建模的训练终止判断

阶段:训练终止准则设计

解决的问题:银行间的数据高度非IID(欺诈率、客群差异巨大),朴素 FedAvg 的 loss 曲线进入平台期后,继续训练不仅浪费算力,还可能过度拟合全局目标、损害单一银行的体验。收敛上界明确指出 gap 项无法靠 T 消除,因此团队用“gap 检测”作为终止条件,并在终止后触发联邦迁移或本地微调。

具体案例:某跨国银行联盟做交易反欺诈建模,训练在第 120 轮后 loss 不再下降;检测到异质项已占收敛上界的 80% 后,停止全局更新,改为每家银行在全局模型上本地微调 5 轮,F1 分数整体提升 11%。

Python 演示

python61 行
import numpy as np def sigmoid(z):    return 1.0 / (1.0 + np.exp(-np.clip(z, -30.0, 30.0))) def log_loss(X, y, w):    p = sigmoid(X.dot(w))    eps = 1e-9    return -np.mean(y * np.log(p + eps) + (1.0 - y) * np.log(1.0 - p + eps)) def make_client_data(n_clients, per_client, n_feat, bias_probs):    X_list = []    y_list = []    for k in range(n_clients):        # 用不同的正样本概率制造非IID数据分布        Xk = np.random.randn(per_client, n_feat)        yk = (np.random.rand(per_client) < bias_probs[k]).astype(float)        X_list.append(Xk)        y_list.append(yk)    return X_list, y_list def sgd_update(X, y, w, lr, local_steps, batch_size=32):    for _ in range(local_steps):        idx = np.random.randint(0, len(y), batch_size)        grad = np.mean((sigmoid(X[idx].dot(w)) - y[idx])[:, None] * X[idx], axis=0)        w = w - lr * grad    return w def fedavg_round(X_list, y_list, w, lr, local_steps, sample_k):    n_clients = len(X_list)    # 随机采样 sample_k 个客户端参与本轮聚合    chosen = np.random.choice(n_clients, sample_k, replace=False)    total = 0    new_w = np.zeros_like(w)    for k in chosen:        wk = sgd_update(X_list[k], y_list[k], w, lr, local_steps)        new_w = new_w + wk * len(y_list[k])        total = total + len(y_list[k])    return new_w / total def main():    np.random.seed(42)    n_clients = 10    per_client = 200    n_feat = 20    bias_probs = np.linspace(0.15, 0.85, n_clients)    X_list, y_list = make_client_data(n_clients, per_client, n_feat, bias_probs)    X_test = np.random.randn(400, n_feat)    y_test = (np.random.rand(400) < 0.5).astype(float)    w = np.zeros(n_feat)    lr = 0.1    local_steps = 3    sample_k = 5    for t in range(60):        w = fedavg_round(X_list, y_list, w, lr, local_steps, sample_k)        if t % 10 == 0:            loss = log_loss(X_test, y_test, w)            print("round {}: test loss = {:.4f}".format(t, loss)) if __name__ == "__main__":    main()
目的:用合成数据模拟非IID 分布下的 FedAvg 训练流程,运行后可以看到全局模型在测试集上的损失随轮次逐渐下降,直观验证收敛上界中“初值误差随 T 衰减”的结论。
  1. yk = (np.random.rand(per_client) < bias_probs[k]).astype(float)让不同客户端拥有不同的正样本比例,制造非IID 数据分布。
  2. grad = np.mean((sigmoid(X[idx].dot(w)) - y[idx])[:, None] * X[idx], axis=0)用小批量样本算出梯度估计,对应随机梯度。
  3. chosen = np.random.choice(n_clients, sample_k, replace=False)每轮只随机采样 K 个客户端,模拟采样比例。
  4. new_w = new_w + wk * len(y_list[k])按客户端样本量加权累加参数,对应聚合公式中的 n_k 权重。
  5. w = fedavg_round(X_list, y_list, w, lr, local_steps, sample_k)完成一轮“本地更新 + 聚合”,循环 60 轮观察收敛。

常见误区

误区训练结束后服务器上的全局模型表现很好,那每家分店的本地效果应该也都是最好的。

正解FedAvg 优化的是全局加权平均损失,等价于追求“全城顾客平均不满度最低”的配方;在非IID 下,单个客户端本地损失未必最小。就像总厨的酱料让全城平均满意度最高,但嗜辣顾客仍然觉得不够辣。收敛判据是全局 gap,不是某个客户端的本地 gap。

为何常见:把“整体最优”和“每一个局部最优”混为一谈,忽略了 FedAvg 一开始就定义了全局加权目标。

误区每次本地更新的步子迈大一点,配方就能更快调整到位,收敛应该更快。

正解学习率过大时,参数会越过损失地形的谷底,甚至震荡发散。收敛上界中噪声项正比于 η,光滑性约束还要求 η < 1/L;步长一旦超过这个门槛,训练不是变快而是崩坏。正确做法是选一个适中初始值再按轮次衰减。

为何常见:直觉上“步子大走得快”只适用于平坦直线地形,忽略了非凸损失和随机噪声的交互作用。

误区各客户端数据越多样,模型见过的世界越丰富,泛化自然更强,联邦学习应该越练越好。

正解非IID 的“多样性”与通常说的“数据多样性”不是一回事。非IID 指各客户端分布彼此偏离,导致本地梯度与全局梯度系统性不一致,收敛上界中多出一个无法靠 T 消除的异质项 Γ/μ。要改善收敛,必须做方差缩减、调整聚合权重或个性化微调。

为何常见:把“类别丰富”(IID 的多类样本)与“分布偏斜”(标签/特征分布各异)混为一谈,没有区分随机噪声和系统性偏差。

误区让每个客户端在自己数据上多跑几轮 SGD,本地练得更充分,既能提升效果又能少开会。

正解本地步数 E 过大会让各客户端参数在本地目标方向上走得过远,聚合前就已发生严重漂移;尤其在非IID 数据下,E 越大,漂移越严重,聚合后的全局参数反而震荡。收敛性分析表明需要控制 E 与全局学习率的乘积,权衡通信效率和漂移风险。

为何常见:只看到“减少通信轮次”的好处,忽略了本地过拟合与方向漂移的代价。

面试题

Q1. FedAvg 中服务器聚合并更新全局模型时,最常用的方法是什么?

单选题 · easy

  • A.从所有客户端里挑出效果最好的模型直接替换全局模型
  • B.按各客户端本地样本量占比加权平均客户端的参数← 正确答案
  • C.将所有客户端参数求平均之后再加上随机噪声
  • D.保留上一轮旧参数只更新参与率最高的客户端

答案:B。FedAvg 的核心是按本地样本量占比 n_k/n 做加权平均,这在数学上等价于对全局经验风险做一次近似优化。选最强模型、加噪声或只更新某一家,都不满足全局加权目标的优化方向,因此 B 正确。

Q2. 客户端本地损失函数 F_k(w) 度量的是什么?

单选题 · easy

  • A.服务器端存储模型参数的开销
  • B.服务器测试集上全局模型的准确率
  • C.本地数据在当前模型下的平均损失← 正确答案
  • D.各客户端之间模型参数差的总和

答案:C。F_k(w) 定义在第 k 个客户端的本地数据集上,衡量本地数据在当前参数 w 下的平均损失,相当于“这家分店顾客对当前配方的不满度”。全局目标则是这些本地损失的加权平均,所以选 C。

Q3. 梯度噪声分析中,随机梯度满足无偏性是指?

单选题 · easy

  • A.随机梯度的期望等于真实梯度← 正确答案
  • B.随机梯度每次都与真实梯度相等
  • C.随机梯度的方差始终为零
  • D.随机梯度与真实梯度方向相反

答案:A。无偏性的数学表达是 E[g̃]=∇F,即多次随机抽样的平均估计等于真实梯度。B 是确定性而非随机性;C 在有限样本下不成立;D 与事实相悖。无偏是 FedAvg 在噪声下仍能收敛的基石。

Q4. 在非IID 数据下,FedAvg 最终收敛位置的特点是?

单选题 · mid

  • A.一定收敛到全局最优解
  • B.收敛到全局最优附近的邻域← 正确答案
  • C.收敛到离最优解很远的点
  • D.收敛效果与IID 下完全一致

答案:B。非IID 下本地梯度存在系统性偏差,收敛上界中的异质项 Γ/μ 不随 T 消失,所以 FedAvg 收敛到全局最优附近的一个邻域,而不是精确最优点。A 过于乐观,C 忽略了邻域收敛,D 忽视了异质影响。

Q5. 关于学习率 η 在 FedAvg 收敛上界中的作用,正确的是?

单选题 · mid

  • A.η 只影响第一项初始距离的大小
  • B.η 只影响通信轮次之间的间隔
  • C.η 影响噪声项且过大会导致发散← 正确答案
  • D.η 与收敛性完全没有任何关系

答案:C。收敛上界第二项 ησ²/μ 正比于学习率,η 越大稳态误差越大;同时光滑性要求 η 不超过 1/L,否则参数会越过谷底震荡。A、B、D 都把 η 从收敛性中剥离,实际上 η 同时影响速度与稳定性。

Q6. 关于客户端采样比例 K/N,下列说法正确的有?

多选题 · mid

  • A.K 增大通常减小每轮的梯度方差← 正确答案
  • B.K 增大会增加每轮的通信开销← 正确答案
  • C.K 减小能提升全局收敛的精度
  • D.采样比例对收敛没有任何影响

答案:AB。采样比例 K 增大,相当于每轮听取更多分店意见,梯度估计方差下降,收敛更稳(A 对);同时通信与计算成本上升(B 对)。K 减小方差变大,精度反而下降,C 错;采样比例直接出现在收敛上界的方差项中,D 错。

Q7. 本地训练步数 E 过大会带来什么主要问题?

单选题 · hard

  • A.各客户端参数在本地方向漂移加剧← 正确答案
  • B.服务器的计算负载大幅度上升
  • C.客户端之间的通信数据量变大
  • D.全局目标函数会变得更加光滑

答案:A。E 过大的风险是本地漂移:客户端在本地目标方向上走得过远,聚合前已偏离全局方向;非IID 下漂移更严重,导致聚合点震荡。服务器负载、通信量和目标函数光滑性都不是本地步数 E 的直接后果。

Q8. 根据 FedAvg 收敛上界公式,以下哪些措施能有效降低最终损失?

多选题 · mid

  • A.增加通信总轮数 T 并配合学习率衰减← 正确答案
  • B.在每一轮中都减少采样的客户端数 K
  • C.提高本地步数 E 同时增大学习率 η
  • D.完全忽略非IID 因素继续照常训练

答案:A。增加 T 能压缩第一项初始距离,学习率衰减能压小噪声项(A 对)。减少 K 会增大采样方差,提高 E 同时增大 η 会放大漂移,忽略非IID 更不可能改善收敛,所以 B、C、D 均错。

Q9. 关于随机梯度噪声的假设,下列说法正确的是?

多选题 · hard

  • A.随机梯度的期望等于真实梯度← 正确答案
  • B.随机梯度的方差有界且上界为 σ²← 正确答案
  • C.随机梯度一定服从高斯分布
  • D.随机梯度与真实梯度完全无关

答案:AB。梯度噪声分析依赖两条核心假设:无偏性 E[g̃]=∇F(A 对)和方差有界 E‖g̃−∇F‖²≤σ²(B 对)。高斯分布不是必要假设,C 错;随机梯度与真实梯度无关会违背无偏性,D 错。

Q10. 在强凸光滑条件下,非IID 异质项 Γ/μ 在收敛上界中表示什么?

单选题 · extreme

  • A.仅由随机初始化造成的偏差
  • B.数据分布差异导致的稳态误差← 正确答案
  • C.客户端采样顺序导致的方差
  • D.学习率衰减速度不够快

答案:B。Γ 是非IID gap,衡量各客户端理想参数之间的不可调和程度,除以 μ 后成为朴素 FedAvg 的稳态误差极限,不随 T 衰减。A 归因于初始化,C 归因于采样顺序,D 归因于学习率,都混淆了上界三项各自的来源。