← 返回 2026-04-30

面向联邦学习非独立同分布数据的多任务自编码器样本选择方法 Sample Selection Using Multi-Task Autoencoders in Federated Learning with Non-IID Data

Emre Ardıç, Yakup Genç 📅 2026-04-28 👍 5 2026-07-13 08:36
噪声鲁棒性 异常检测 样本选择 联邦学习 自编码器 非IID

用多任务自编码器在联邦学习客户端过滤噪声样本,提升非IID下的训练精度。

前置知识

联邦学习 (Federated Learning)

一种分布式机器学习范式,N 个客户端在不共享原始数据的前提下,仅通过交换模型参数或梯度在中心服务器协同训练全局模型。典型算法 FedAvg 在每一轮执行「客户端选择→广播→本地更新→聚合→全局更新」五步流程,原始数据始终保留在客户端本地,从而保护隐私。

本文的核心场景就是联邦学习:所有样本选择策略都要在「看不见客户端数据」的约束下运行,因此读者必须先理解为什么无法在中心端做集中式清洗。

非独立同分布 (Non-IID) 数据

在 FL 中,每个客户端的数据由其本地使用模式决定,类标签、样本数量、特征分布都可能差异巨大,违反传统机器学习中样本独立同分布的假设。这种统计异质性会导致客户端本地模型漂移(client drift)、全局收敛变慢甚至训练失败。

本文在 50/100/200/1000 个客户端的非IID 划分下做实验,结论高度依赖客户端数量,因此非IID 是理解全部实验结果的前提。

自编码器 (Autoencoder) 与多任务学习

自编码器由编码器 $f: x \to z$ 与解码器 $g: z \to \hat{x}$ 组成,通过最小化重建误差 $\mathcal{L}_{rec}(x,\hat{x})$ 让 $z$ 捕捉输入的低维流形。本文把它扩展为多任务自编码器 (MTAE):编码器同时供解码器重建和分类器 $h: z \to \hat{y}$ 使用,总损失为 $\mathcal{L} = \lambda_{rec}\mathcal{L}_{rec} + \lambda_{cls}\mathcal{L}_{cls}$。

MTAE 同时给出 MSE 重建损失与 CE 分类损失,让本文既能识别「像素层面的脏样本」也能识别「标签层面的脏样本」,是所有样本选择方法的信号源。

无监督异常检测 (OCSVM, Isolation Forest, Deep SVDD)

One-Class SVM 在特征空间中学习一个包围正常样本的超平面;Isolation Forest 通过随机切分把异常点「快速孤立」;Deep SVDD 用神经网络把样本映射到以类中心为球心的超球内,偏离球心的视为异常。三者都是无监督的,适合 FL 客户端没有标签监督的场景。

本文的两种选择路线(损失空间、特征空间)都基于这三种检测器,复现时必须熟悉它们在 scikit-learn / PyTorch 中的接口与超参含义。

Shapley Value 与数据估值

源自合作博弈论,Shapley Value 通过遍历所有子集边际贡献的均值来分配每个参与者的收益,被用于衡量每个样本或每个客户端对模型性能的贡献。其优点是理论严谨,缺点是计算复杂度指数级,需要反复重训模型。

本文在 Related Works 中专门讨论了 SV 类方法(Federated SV、Leave-one-out SV),并以此为对比基线说明「损失/特征路线」的实用性,读者需要知道 SV 为什么在 FL 中难以落地。

研究动机

联邦学习虽然通过「数据不出本地」保护了隐私,却在客户端层面引入了新的数据质量问题:传感器故障、人为误标注、对抗投毒都会让本地数据集混入噪声或异常样本,进而拖慢全局收敛甚至让模型偏离正确解。已有研究主要依赖 Shapley Value 做数据估值(理论严谨但复杂度爆炸,需要反复重训模型,难以在算力受限的客户端落地),或简单使用梯度范数(时间空间开销比单次前向的损失更高),或仅依据样本数量(完全忽略数据质量)。同时,已有自动编码器类方法要么只在全连接网络上验证、要么把客户端聚成少量社区,对 50–1000 客户端的非IID 场景缺乏可扩展性。

本文的目标是本文的目标是设计一套完全在 FL 框架下运行、不依赖任何预训练模型或预处理步骤的样本选择方法,把客户端上的恶意、噪声或冗余样本在本地训练前过滤掉,从而提高全局模型精度并加速收敛。核心抓手是用一个多任务自编码器同时给出 MSE 重建损失与 CE 分类损失,并把它们送入无监督异常检测器做判断;进一步,本文希望在 50–1000 客户端的多种非IID 划分与 40% 高噪声下系统验证三种检测器(OCSVM、IF、AT)与一种联邦 SVDD 正则的效果,量化每种方法在不同数据集、噪声类型、客户端规模下的精度增益与稳定性,为「如何在不破坏隐私的前提下提高 FL 对脏数据的鲁棒性」提供一个可直接复现的基线方案。

与已有工作不同的是,本文的独特切入角度是把「样本贡献估计」拆成损失空间与特征空间两条互补路线:损失空间通过单次前向的加权 (MSE, CE) 二维点云识别异常(擅长捕捉像素级与标签级噪声),特征空间则借助 MTAE 编码器的 embedding 做 OCSVM/IF(擅长捕捉结构性异常)。更关键的是,本文首次把单类 Deep SVDD 损失扩展为多类别联邦版本——服务器在公共测试集上算出每个类的中心 $\mu_i$ 与半径 $R_i$,客户端只回传样本到类中心的 $L_2$ 距离而非原始 embedding,从而在不破坏隐私的前提下把 SVDD 的超球约束在非IID 多客户端场景下落地。这与 Nardi 等人「把客户端聚成社区再共享自编码器」的路线形成鲜明对比:本文坚持客户端之间不共享模型/数据,检测器全部由中心服务器集中训练后下发。

核心方法

方法整体思路可以一句话概括为「双损失信号 + 三种无监督检测器 + 一个联邦 SVDD 正则」。直觉上,异常样本会让分类器不确定(CE 高)、让重建器失真(MSE 高),或者在编码器 embedding 里跑到离类中心很远的位置;本文把这三类信号分别在 2D 损失平面与高维特征平面上喂给 OCSVM、Isolation Forest 或自适应阈值 AT,由中心服务器统一训练检测器后再下发给客户端。具体路线上,先为 MNIST/CIFAR10 分别设计两个 MTAE 架构(编码器-分类器-解码器三头),用 $\mathcal{L}=\lambda_{rec}\mathcal{L}_{rec}+\lambda_{cls}\mathcal{L}_{cls}$ 联合训练;训练到 400 轮后启动损失空间样本选择,500 轮加入联邦多类 SVDD 正则,600 轮再启动特征空间样本选择;每隔 5 轮在服务器侧重新拟合检测器并下发给客户端。

与已有方法的本质区别在于「单信号 → 双信号」的转变。传统 FL 样本贡献估计只用梯度范数或单一损失,丢失了标签噪声与像素噪声的区分度;而本文用 MTAE 同时输出 MSE 和 CE 两路损失,并把它们送入 OCSVM/IF,让同一个样本在 2D 损失空间里的异常得分由「重建失败 + 分类失败」共同决定,从而把误标注(CE 高但 MSE 正常)和结构损坏(CE 正常但 MSE 高,或两者都高)都识别出来。此外,把 Deep SVDD 改造成多类联邦版本——服务器用公开测试集算每个类的中心 $\mu_i$ 与半径 $R_i$,客户端只回传 $L_2$ 距离——是该方向此前没有的工作:在 Nardi 等人的去中心化自编码器路线中,检测器只能在社区内共享;在 Li 等人的 FedBalancer 路线中,阈值只由单一损失构造;而本文首次让超球约束在多个类上同时生效,并通过中心-客户端双向通信维护半径。

方法步骤详情

方法分四步执行。第一步是构建 MTAE:MNIST 用 2 层 CNN 编码器(32→64 通道、5×5 核)+ 512 维 embedding + 单 FC 分类头 + 2 层转置 CNN 解码器;CIFAR10 用 4 层 CNN 编码器(64→128→128→256,3×3 核、步长 2)+ 1024 维 embedding + 两层 FC 分类头 + 4 层转置 CNN 解码器。第二步是联合训练:每轮 FedAvg 聚合前先在本地跑 5 个 epoch、batch=64 的 SGD(lr=0.1, weight decay=0.001),损失为 $L=1\cdot L_{MSE}+0.05\cdot L_{CE}$,$\lambda_{cls}$ 故意压低以避免重建图像模糊。第三步是样本选择:当 $t \ge t_s$(损失法 $t_s=400$,特征法 $t_s=600$)后,客户端对每个样本计算 CE 和 MSE,按权重聚合成 2D 点(或直接取出 embedding),再调用服务器下发的 OCSVM/IF 判定是否为离群点并剔除;其中 AT 法则用服务器线性插值出的全局阈值 $l_t^{R+1}=\min(L_{Low}^R)+(\overline{L_{High}^R}-\min(L_{Low}^R))\cdot ltr$ 划界,并按概率 $p=0.75$ 随机保留高损失样本。第四步是联邦 SVDD 正则:从第 500 轮起,服务器用测试集算出每个类的中心 $\mu_i$ 和半径 $R_i$ 后下发,客户端在本地损失中加上 $\mathcal{L}_{reg}=\frac{1}{k}\sum_i R_i^2+\frac{1}{k}\sum_i\frac{1}{n_i}\sum_j \mathbf{1}_{[y_j=i]}\max\{0,\|f(x_j)-\mu_i\|^2-R_i^2\}$(权重 $\lambda_{reg}=10^{-5}$),训练结束后把每个样本到类中心的 $L_2$ 距离 $[d_j^{L2}]$ 回传,服务器用分位数 $q=1-\nu$ 更新半径。

技术新颖性

技术新颖性主要体现在三个层面。其一是首次把 MTAE 引入联邦样本选择任务,让 MSE 与 CE 同时成为样本贡献的指示器,弥补了单一损失信息量不足的短板——在 CIFAR10 + 闭集噪声实验中,正是「双信号」让 OCSVM 在 50 客户端上拿到 +7.02% 的精度提升,而 AT 在 CIFAR10 上的乏力恰恰说明它只用单一加权损失就会失效。其二是把 FedBalancer 的自适应阈值思想迁移并改造(去掉 deadline control、把采样策略换成 $p\cdot|OT|$ 比例),让阈值更新只依赖各客户端最低/最高损失的元数据,避免上传原始梯度;同时引入 loss step size $lss=0.1$ 与 ControlLtr 函数,让阈值在 $t_w=5$ 轮的窗口内根据近期/远期 loss 之和自适应增减,避免一刀切。其三是把单类 Deep SVDD 损失扩展为多类联邦版本,使其能在非IID 多客户端场景下同时维护 $k$ 个超球,并通过 server-client 之间的「中心广播—距离回传」两步避免泄露原始数据;这一设计在 CIFAR10 + ImageNet32 上让 OCSVM 在 200 客户端再获 +0.99%,在 CIFAR10 + SVHN 上让 IF 在 100 客户端获 +0.80%,验证了正则项对特征空间选择的实际价值。

The MTAE architectures designed for MNIST (a) and CIFAR10 (b) datasets.
Fig. 3: The MTAE architectures designed for MNIST (a) and CIFAR10 (b) datasets.
An overview of multi-class federated SVDD loss for a client and server.
Fig. 4: An overview of multi-class federated SVDD loss for a client and server.

实验结果

实验在 MNIST 与 CIFAR10 上以 1000/200/100/50 四档客户端、每轮选中 10% 客户端、注入 40% 噪声的方式系统验证。基线(无样本选择)下,CIFAR10 加 40% 闭集噪声的精度从 1000 客户端的 39.74% 到 50 客户端的 38.59%,引入 OCSVM 后跃升到 44.94%~45.61%,最高 +7.02%(50 客户端);MNIST 加 40% 闭集噪声下,AT 方法在 100 客户端上把基线 88.36% 拉到 90.19%(+1.83%),是 MNIST 的最大收益。开放集噪声中,EMNIST 注入的 MNIST 实验里 OCSVM 最稳(最多 +1.12%),IF 因域相似而失效;ImageNet32 注入 CIFAR10 时 OCSVM 和 IF 都普遍有效,IF 在 200 客户端达到最大 +3.61%。宏平均 F1 指标进一步验证了 OCSVM 的稳定性——CIFAR10 闭集噪声下精度 +5.55%、F1 +5.64%(1000 客户端)。特征空间路线整体不如损失空间,但在加入联邦 SVDD 后 CIFAR10 上仍能给出 +0.99%(OCSVM, 200 客户端, ImageNet32)和 +0.80%(IF, 100 客户端)的增益,证明 SVDD 正则在复杂数据集上确实能拉大类间距离。

The details of datasets used in this study, including training datasets CIFAR10 and MNIST, and others used for open-set noise.
Table 1: The details of datasets used in this study, including training datasets CIFAR10 and MNIST, and others used for open-set noise.
The best performance of MTAE models trained on MNIST dataset without any noise and sample selection across varying numbers of clients.
Table 2: The best performance of MTAE models trained on MNIST dataset without any noise and sample selection across varying numbers of clients.
The best performance of MTAE models trained on CIFAR10 dataset without any noise and sample selection across varying numbers of clients.
Table 3: The best performance of MTAE models trained on CIFAR10 dataset without any noise and sample selection across varying numbers of clients.
The best performance of MTAE models trained on MNIST dataset with 40% noise and no sample selection across varying numbers of clients and noise types.
Table 4: The best performance of MTAE models trained on MNIST dataset with 40% noise and no sample selection across varying numbers of clients and noise types.
The best performance of MTAE models trained on CIFAR10 dataset with 40% noise and no sample selection across varying numbers of clients and noise types.
Table 5: The best performance of MTAE models trained on CIFAR10 dataset with 40% noise and no sample selection across varying numbers of clients and noise types.
The best performance of MTAE models trained on MNIST dataset with 40% noise and sample selection across varying numbers of clients and noise types.
Table 6: The best performance of MTAE models trained on MNIST dataset with 40% noise and sample selection across varying numbers of clients and noise types.
The best performance of MTAE models trained on MNIST and CIFAR10 datasets with 40% noise for 1000 clients, evaluated using macro-averaged classification metrics.
Table 8: The best performance of MTAE models trained on MNIST and CIFAR10 datasets with 40% noise for 1000 clients, evaluated using macro-averaged classification metrics.
The best performance of MTAE models trained on CIFAR10 and MNIST datasets with 40% noise and feature-based sample selection across varying numbers of clients.
Table 9: The best performance of MTAE models trained on CIFAR10 and MNIST datasets with 40% noise and feature-based sample selection across varying numbers of clients.
The best performance of MTAE models trained on CIFAR10 and MNIST datasets with 40% noise and feature-based sample selection for 1000 clients, with additional classification metrics.
Table 10: The best performance of MTAE models trained on CIFAR10 and MNIST datasets with 40% noise and feature-based sample selection for 1000 clients, with additional classification metrics.
查看结构化数据
任务指标本文基线提升
CIFAR10 + 40% 闭集噪声(损失法 OCSVM) 测试精度(Best Round) 45.61%(50 客户端),44.94%(1000 客户端) 38.59%(50 客户端),39.74%(1000 客户端) +7.02%(50 客户端),+5.20%(1000 客户端)
CIFAR10 + 40% 闭集噪声(损失法 IF) 测试精度(Best Round) 45.39%(1000 客户端),45.24%(50 客户端) 39.74%(1000 客户端),38.59%(50 客户端) +5.65%(1000 客户端),+6.65%(50 客户端)
MNIST + 40% 闭集噪声(损失法 AT) 测试精度(Best Round) 91.75%(1000 客户端),90.19%(100 客户端) 90.14%(1000 客户端),88.36%(100 客户端) +1.61%(1000 客户端),+1.83%(100 客户端)
MNIST + 40% EMNIST 开放噪声(损失法 OCSVM) 测试精度(Best Round) 95.65%(50 客户端),95.06%(100 客户端) 94.53%(50 客户端),94.48%(100 客户端) +1.12%(50 客户端),+0.58%(100 客户端)
CIFAR10 + 40% ImageNet32 开放噪声(特征法 OCSVM + 联邦 SVDD) 测试精度(Best Round) 54.19%(200 客户端),47.64%(1000 客户端) 53.60%(200 客户端),47.24%(1000 客户端) +0.59%(200 客户端),+0.40%(1000 客户端)
CIFAR10 + 40% ImageNet32 开放噪声(特征法 OCSVM + 联邦 SVDD) 宏平均 F1 47.30%(1000 客户端) 46.72%(1000 客户端) +0.58%

局限与改进

作者承认的主要限制有三点:其一,OCSVM 训练复杂度 $O(n^2 d)\sim O(n^3 d)$、IF 为 $O(t\psi\log\psi)$,在大规模客户端上服务器开销显著;SVDD 距离更新为 $O(k\cdot n_d\log n_d)$,虽然 AT 几乎无开销但表达能力有限。其二,OCSVM/IF 的 contamination 参数必须事先按噪声率调好(本文固定为 0.4),噪声分布未知时会误杀高质量样本;且样本选择的启动轮 $t_s$ 非常敏感,过晚启动会让模型记住噪声。其三,特征空间选择在 CIFAR10 上仅在 ≥200 客户端时通过 SVDD 才得到正向增益,小客户端或 MNIST 上几乎全部负增益,说明 512/1024 维特征空间里异常样本因过拟合而难以与正常样本区分。从我的观察看,作者把 OCSVM 当成主推方法,但 40% 噪声下 +5% 量级的提升相对有限,且未与简单的「保留 top-k 高损失样本」或更先进的对比学习式异常检测做对比,方法的天花板仍待验证。

独立分析的弱点

独立分析可见四点可改进之处。第一,OCSVM/IF 的 contamination 参数被钉死在 0.4,对真实场景中未知的噪声率脆弱;可改成基于验证损失的元学习控制器或贝叶斯优化自动调节。第二,样本选择启动轮 $t_s$ 是离散的硬开关,缺乏平滑过渡;可参考课程学习思路,把「过滤概率」从 0 线性提升到目标值,让模型在前 400 轮也享受软性样本加权。第三,特征空间路线在 1024 维 CIFAR10 embedding 上失败,说明标准自编码器 embedding 缺乏对比性质;可把 MTAE 的解码器换成对比损失或加入 VICReg 之类的非坍缩正则,让 embedding 真正具备可分性。第四,AT 法的加权损失只取 $L_{rec}$ 与 $L_{cls}$ 两个标量,丢弃了梯度方向信息;可以扩展成多维损失向量(再加一个 KL 散度或预测置信度),提升 AT 的判别力。

未来方向

作者在结论里提出了三个方向:降低 OCSVM/IF 的计算复杂度、引入自适应 contamination、自适应确定启动轮,并希望扩展到更复杂的数据集与真实异构设备场景。基于实验结果,我认为还有几条值得探索:(1) 把 SVDD 与对比学习结合,使类中心在特征空间更紧凑、异常点更易被推到球外;(2) 在 AT 中引入多损失多阈值组合,应对 CIFAR10 这种复杂数据集;(3) 把 MTAE 拓展到 NLP/表格数据,验证「双损失信号」框架的通用性;(4) 设计对抗投毒场景下的鲁棒性实验,检验 OCSVM/IF 是否能挡住有目标的恶意样本;(5) 与差分隐私、安全聚合结合,研究样本选择在加密聚合下的可部署性。

复现评估

复现评估总体偏正面。代码基于 FedML 库扩展,单进程模拟就够,硬件门槛低(论文标注 NVIDIA RTX 3090 + Ryzen 5900X + 32GB RAM),普通实验室一张 3090 即可复现全部 1000 轮训练。超参数全部给出:$\lambda_{rec}=1$、$\lambda_{cls}=0.05$、SGD lr=0.1/weight decay=0.001、batch=64、5 个本地 epoch、contamination=0.4、$lss=0.1$、$tw=5$、$t_s\in\{400,500,600\}$、$\lambda_{reg}=10^{-5}$。数据集全为公开(CIFAR10、MNIST、SVHN、ImageNet32、EMNIST),噪声注入脚本在论文中描述清晰(闭集=随机换标签,开集=替换为外部数据集图像),噪声率固定 40%。主要复现难点在于:(1) FedML 0.x 版本的 API 已较老旧,需要锁定 scikit-learn 0.24.2、PyTorch 1.8.2、CUDA 11.1 的版本组合;(2) MTAE 在 CIFAR10 上 1000 轮 × 1000 客户端 × 5 种子 = 计算量可观,单卡完整跑完可能需要数天;(3) OCSVM/IF 的随机种子与 server-side 训练时序需要严格对齐才能复现 Table 6/7/9 中的 Best Round;(4) 论文未公开代码仓库地址(虽在 Methods 中说明了实现细节),需要读者根据 Algorithm 1/2 自己实现。