FedPS:基于聚合统计的联邦数据预处理框架 FedPS: Federated data Preprocessing via aggregated Statistics
提出统一框架FedPS实现联邦学习中的隐私保护数据预处理
前置知识
联邦学习 (Federated Learning)
联邦学习是一种分布式机器学习范式,允许多个参与方(客户端)在不共享原始数据的情况下协作训练模型。核心思想是让每个客户端在本地计算模型更新,然后将更新发送到中央服务器进行聚合。这种方法解决了数据隐私和数据孤岛问题,使得不同机构可以共同构建机器学习模型而无需集中数据。FedAvg是最经典的联邦学习算法,通过多轮本地更新后再聚合来减少通信开销。
FedPS正是在联邦学习环境下解决预处理问题,理解联邦学习的基本设置(水平/垂直分区、通信限制、数据异质性)是理解本文必要前提。
数据预处理 (Data Preprocessing)
数据预处理是机器学习流水线中的关键步骤,包括特征缩放(StandardScaler、MinMaxScaler)、分类变量编码(OneHotEncoder、OrdinalEncoder)、离散化(KBinsDiscretizer)、缺失值填补(KNNImputer、IterativeImputer)等操作。这些操作将原始数据转换为适合机器学习算法的格式。在集中式设置中,预处理可以直接访问全部数据计算全局统计量,但在联邦设置中则面临根本性挑战。
本文的核心目标就是将这些标准预处理操作扩展到联邦场景,理解它们的工作原理是理解FedPS方法的基础。
数据素描 (Data Sketches)
数据素描是一种概率数据结构,用于以远小于原始数据的内存占用近似计算统计量。代表性技术包括KLL素描(用于近似分位数)、REQ素描(提供相对误差保证)、频繁项素描(识别最常见的元素)。这些素描支持分布式合并操作,非常适合联邦场景下通信高效的统计聚合。
FedPS的关键技术贡献之一就是利用数据素描实现通信效率的复杂统计量计算,如分位数和频繁项。
贝叶斯线性回归 (Bayesian Linear Regression)
贝叶斯线性回归在线性回归基础上引入参数的概率分布,将模型参数视为随机变量而非固定值。通过先验分布(通常为高斯分布)和似然函数,利用贝叶斯定理计算参数的后验分布。与普通最小二乘不同,贝叶斯方法天然处理不确定性量化,并可通过迭代更新超参数(精度参数 $\alpha$ 和 $\beta$)获得更准确的估计。迭代填补器(IterativeImputer)中正是用BLR来建模特征间的条件分布。
本文专门推导了水平和垂直两种联邦设置下的贝叶斯线性回归算法,这是技术难点之一。
水平/垂直联邦学习
水平联邦学习中,各客户端拥有相同的特征空间但持有不同样本(如不同医院的相同检查指标);垂直联邦学习中,各客户端拥有相同标识的不同特征(如银行和电商平台各拥有用户的部分信息)。这两种设置的数据分区模式完全不同,需要不同的预处理策略。
FedPS需要同时支持两种联邦设置,理解其差异对理解本文算法设计至关重要。
研究动机
在实际的联邦学习系统中,数据预处理是一个被严重忽视的关键瓶颈。现有的联邦学习研究主要集中在改进训练算法(如FedAvg),大多假设数据已经完成清洗和转换。然而这个假设在现实中站不住脚:真实数据往往包含缺失值、格式不一致、特征尺度差异大等问题,不处理这些问题会严重损害模型的收敛性和泛化能力。文中提出了几种现有策略但都存在根本性缺陷:集中式预处理(Option 1)违背隐私约束;不预处理(Option 2)导致模型性能下降,在Adult数据集上下降5-12%;迁移预处理(Option 3)假设公共数据与私有数据相似,不切实际;本地预处理(Option 4)在非独立同分布设置下会导致严重不一致,如Cover数据集上比联邦预处理低11%。文中Figure 1清晰展示了客户端A和B分别对数据进行本地标准化后,原本线性可分的数据变为不可分的情况。
本文的目标是本文的目标是设计一个统一、系统、通信高效的联邦数据预处理框架FedPS(Federated data Preprocessing via aggregated Statistics),能够覆盖特征缩放、编码、离散化、缺失值填补等核心预处理操作,并同时支持水平和垂直两种联邦学习设置。FedPS需要解决三个核心挑战:(1)隐私约束下如何计算全局统计量;(2)如何保证通信效率,控制客户端通信开销;(3)如何处理非独立同分布数据带来的统计不一致问题。
与已有工作不同的是,现有的联邦预处理方案非常有限,主要停留在简单聚合操作层面。如FATE、SecretFlow等框架仅支持MinMaxScaler、StandardScaler等基于简单统计量的方法,没有涉及更复杂的预处理如分位数计算、频繁项检测、迭代填补等。FedPS的独特切入角度在于:(1)将预处理操作分解为所需的充分统计量(sufficient statistics),建立统计量与预处理方法的系统映射(Table 1);(2)利用数据素描技术实现复杂统计量的通信高效聚合;(3)为迭代预处理(如IterativeImputer)推导专门的联邦贝叶斯线性回归算法,创新性地将 $X^{\top} X$ 的计算替换为 $XX^{\top}$ 的等价形式以避免跨客户端特征交互。
核心方法
FedPS的核心思路是将所有预处理操作统一到“统计量聚合”范式下。直觉上,每个预处理方法都需要某些全局统计信息(如均值、方差、分位数、频繁项等),而这些统计量都可以通过局部计算加服务器聚合的方式获得,无需暴露原始数据。技术路线分为两个层面:一是通用的联邦预处理工作流(五步流程),二是针对各具体预处理操作的充分统计量设计和通信优化。对于简单操作(如StandardScaler),所需统计量可以直接相加聚合;对于复杂操作(如KBinsDiscretizer的分位数离散化),则引入数据素描实现近似但高效的聚合;对于迭代操作(如IterativeImputer),则专门推导联邦贝叶斯线性回归的迭代算法。
FedPS的核心创新在于系统性地将预处理操作映射到其充分统计量,建立了一套完整的联邦预处理分类体系(Table 1和Table 2)。更重要的是,对于垂直联邦学习中的贝叶斯线性回归,文中提出了一个关键的代数重构:标准BLR需要 $X^{\top} X$,其非对角块 $X^{(j)\top} X^{(k)}$ 涉及跨客户端特征乘积,无法在不共享原始数据的情况下计算。文中证明使用等价形式 $\hat{\omega} = \beta X^{\top} \tilde{\Sigma}^{-1} Y$(其中 $\tilde{\Sigma} = \alpha I + \beta XX^{\top}$),可以将充分统计量从 $X^{\top} X$ 替换为 $XX^{\top}$,而 $XX^{\top}$ 可以分解为各客户端局部计算之和 $\sum_c X^{(c)}X^{(c)\top}$,完全消除了跨客户端特征交互。这个数学等价性通过Woodbury矩阵恒等式严格证明。
方法步骤详情
FedPS的联邦预处理工作流包含五个步骤:(1)各客户端计算本地统计量(Step 1),如StandardScaler要求计算 $\sum x_i^2$、$\sum x_i$ 和样本数 $n$;(2)服务器聚合所有客户端的统计量(Step 2),通过求和得到全局 $(S, C, N)$;(3)服务器基于聚合统计量推导预处理参数(Step 3),如计算全局均值 $\mu = C/N$ 和方差 $\sigma^2 = S/N - \mu^2$;(4)将参数广播给各客户端(Step 4);(5)各客户端在本地应用转换(Step 5),如 $(x - \mu)/\sigma$。对于迭代方法(IterativeImputer),每个目标特征都需要进行一轮贝叶斯线性回归,每轮中各客户端贡献充分统计量(水平设置为 $X^{(c)\top} X^{(c)}$,垂直设置为 $X^{(c)}X^{(c)\top}$),服务器进行特征值分解以支持高效迭代更新,客户端仅需在每轮通信标量误差。
技术新颖性
FedPS的技术新颖性体现在多个维度。首先,它是首个系统性研究联邦数据预处理的统一框架,填补了联邦学习流程中的重要空白。其次,文中首次将数据素描技术(KLL素描用于分位数、频繁项素描)引入联邦预处理,实现了通信复杂度为 $O(\frac{1}{\epsilon} \log^2 \log \frac{1}{\delta} \cdot m)$ 的近似分位数计算。第三,垂直联邦贝叶斯线性回归的代数重构是纯原创贡献,通过Woodbury恒等式证明了 $\hat{\omega} = \beta \Sigma^{-1} X^{\top} Y = \beta X^{\top} \tilde{\Sigma}^{-1} Y$ 的等价性,使得垂直设置下避免了跨客户端特征乘积。第四,首次对OneHotEncoder在联邦设置下的维度爆炸问题提出了解决方案,通过限制类别数量并使用频繁项素描过滤低基数项。第五,提供了完整的通信开销分析(Table 2),将所有预处理方法按所需统计类型分类,给出了通信轮数和每客户端通信成本的渐近界。
实验结果
实验在三个公开表格数据集(Adult、Bank、Cover)上进行,使用FedAvg训练逻辑回归和MLP模型。在独立同分布(IID)设置下,预处理始终提升模型性能:Cover数据集上MLP准确率提升17%,Adult数据集上逻辑回归提升5%、MLP提升12%。更重要的是,在非独立同分布(non-IID)设置下(使用Dirichlet分布 $\alpha = 0.5$ 的标签分布偏斜策略),联邦预处理相比本地预处理展现出显著优势:Cover数据集上MLP准确率差距达11%,逻辑回归差距为8%。特别值得注意的是,本地预处理在某些情况下甚至比不预处理更差,这说明不一致的本地统计量会严重扭曲数据分布。通信开销方面,StandardScaler每客户端仅约0.6 KB,KBinsDiscretizer(分位数离散化)约18 KB,k-Means离散化约61 KB,联邦贝叶斯线性回归(水平设置)约3 KB,PowerTransformer约73 KB,这些实际测量结果与理论分析完全一致。
查看结构化数据
| 任务 | 指标 | 本文 | 基线 | 提升 |
|---|---|---|---|---|
| Adult数据集-逻辑回归-IID | 测试准确率 | 联邦预处理约0.75 | 无预处理约0.70 | 约5% |
| Adult数据集-MLP-IID | 测试准确率 | 联邦预处理约0.85 | 无预处理约0.73 | 约12% |
| Cover数据集-MLP-non-IID | 测试准确率 | 联邦预处理约0.78 | 本地预处理约0.67 | 约11% |
| Cover数据集-逻辑回归-non-IID | 测试准确率 | 联邦预处理约0.62 | 本地预处理约0.54 | 约8% |
| 通信开销-StandardScaler | 每客户端通信量(KB) | 约0.6 KB | N/A | 最小开销 |
| 通信开销-KBinsDiscretizer(分位数) | 每客户端通信量(KB) | 约18 KB | N/A | 基于素描实现 |
局限与改进
本文存在几个明显的局限性。首先,隐私保护方面,FedPS虽然保证原始数据不离开客户端,但统计量本身可能泄露信息,文中明确承认隐私保护联邦预处理是未来工作。其次,实验规模相对有限,仅在三个中等规模的表格数据集上测试,每个数据集约1000样本/客户端,未涉及更大规模或更复杂的实际场景。第三,预处理方法的选择虽然全面,但未覆盖所有可能的操作,如自定义转换函数。第四,实验仅使用FedAvg一种联邦训练算法,未测试与其他联邦优化算法的兼容性。第五,对于IterativeImputer的通信成本分析显示在垂直设置下为 $O(tmn(\min(n,m) + t))$,当特征数 $m$ 很大时可能仍然很高。此外,数据素描带来的近似误差对最终模型精度的影响未被单独分析。
独立分析的弱点
FedPS的几个弱点值得深入分析。第一,虽然框架声称适用于非独立同分布数据,但对于极端异质性情况(如某些客户端完全没有某类标签样本),统计量聚合可能导致不合理的全局统计量,如标准差为零或分位数计算出现异常。改进方向是引入加权聚合机制,根据客户端数据量或质量分配不同权重。第二,迭代预处理(IterativeImputer)需要多轮通信,每轮涉及特征值分解,在高维数据场景下计算成本高。可以考虑引入随机化或截断策略来降低每轮的计算开销。第三,框架对预处理顺序的依赖未被讨论,不同预处理操作的执行顺序可能影响最终结果,联邦场景下如何协调顺序是实际部署的挑战。
未来方向
文中明确提出了几个未来研究方向。最重要的是隐私保护联邦预处理,包括引入安全多方计算(MPC)或全同态加密(FHE)来保护统计量。文中已指出,对于复杂统计量(如分位数),设计隐私保护协议需要在延迟、隐私、准确性和通信成本之间权衡。另外,迭代预处理的中间结果是否需要隐私保护也是一个开放问题。此外,可以将FedPS扩展到更多的预处理操作,如自定义特征工程、自动特征选择等。另一个有趣的方向是将FedPS与差分隐私结合,提供形式化的隐私保证。基于本文成果,还可以探索自适应预处理策略,根据数据分布自动选择最合适的预处理操作组合。
复现评估
FedPS的复现性非常好。文中明确提供了两个代码仓库:FedPS库本身(https://github.com/xuefeng-xu/fedps)和联邦表格数据实验代码(https://github.com/xuefeng-xu/fl-tabular)。实验使用了三个公开数据集(Adult、Bank、Cover),均为UCI机器学习库中的标准数据集,易于获取。实验设置清晰:20%测试集、80%训练集、FedAvg加Adam优化器、100轮通信、批量大小32、学习率从 $\{10^{-5}, 10^{-4}, 10^{-3}, 10^{-2}, 10^{-1}\}$ 中选取、5次运行取平均。计算资源需求适中,因为数据集规模不大(约数千样本级别)。对于通信开销实验,使用了每客户端1000样本的设置。总体来说,复现门槛较低,适合学术研究验证和扩展。
论文图表
左右两个子图分别展示客户端A和B在原始空间和标准化后空间的数据分布。左侧原始数据是线性可分的(两条平行线将两类分开),右侧经过本地标准化后,原本线性可分的数据变得不可分,分类边界变得复杂且不准确。
这张图直观地说明了为什么本地预处理在联邦学习中会导致性能下降,是理解本文核心动机的关键图示。它形象地展示了非独立同分布数据下独立标准化如何破坏全局数据结构。