拆分学习是分布式机器学习中的一种训练范式,其做法是把一个神经网络按选定的切分点拆成若干部分,分别放在客户端与服务器等多个参与方上,由各方按顺序协作完成前向与反向传播。参与方之间传递的是中间层的激活值(常被称为粉碎数据)以及对应的梯度,而不是原始数据或完整的模型参数,因此原始训练数据无需离开本地。它适用于算力受限的设备以及医疗、基因组学等对数据隐私敏感的领域,也被视为对联邦学习的一种补充方案。
定义
拆分学习是一种把神经网络按层切分、由多个参与方协作训练与推理的分布式机器学习方法。它在一个预先选定的切分点(cut layer)处把模型分成客户端侧模型部分与服务器侧模型部分,客户端只保有并计算切分点之前或之后的那一段网络[1]。训练时,客户端先用本地数据完成自己那一段的前向计算,把中间层的激活值传给服务器,服务器接着完成剩余的前向计算并算出损失,再把切分点处的梯度回传给客户端以更新其模型部分[1]。
这两方或多方之间交换的中间层激活值通常被称为粉碎数据(smashed data),它与联邦学习交换的模型权重或梯度在类型和频次上都不同,因此形成了另一种信息暴露的方式[2]。由于原始数据始终留在本地,拆分学习被用于医疗保健、基因组学等对数据隐私要求较高的场景,也用于算力差异较大的异构设备之间[2]。
原理
设完整模型为 $F$,在切分点处可写成 $F(x)=g(f(x))$,其中 $f$ 为客户端侧子网络,$g$ 为服务器侧子网络[3]。前向传播时,第 $k$ 个客户端用自己的数据 $x_k$ 计算 $z_k=f(x_k)$,把 $z_k$ 发送给服务器;服务器计算 $g(z_k)$ 得到预测并求出损失,再把切分点处的梯度 $\nabla z_k$ 返回客户端,客户端据此完成反向传播并更新本地参数[4]。整个过程在客户端与服务器之间反复进行,直到模型收敛。
参与方之间交换的数据量并不大:客户端通常只传送一个批次的激活值和相应的切分点梯度,其规模远小于联邦学习中每轮交换的完整模型参数,但通信发生的频次更高[5]。因此有研究给出的结论是,即便单次负载更小,拆分学习整体的带宽消耗仍可能高于联邦学习[5]。
按原始数据与标签在参与方之间的共享方式,拆分学习可分为若干配置。其中 U 型(U-shaped)配置把网络拆成 3 段:客户端保留接收原始输入的前段与最终解码的后段,服务器居中承担大部分计算,这种配置既不需要共享原始数据,也不需要共享标签[6]。此外还有多客户端串接的多跳配置,以及面向多个不同监督任务的多任务配置[7]。
多客户端场景下又有顺序与并行两种做法:顺序拆分会将客户端侧模型状态在客户端之间依次传递并同步;并行(非同步)拆分则为每个客户端保留各自的客户端侧模型,各自独立与服务器交互[1]。把联邦学习的聚合机制引入拆分学习,衍生出拆分联邦学习(SplitFed),由服务器负责聚合客户端侧模型,从而支持并行训练[1]。
发展历程
这一概念由 麻省理工学院媒体实验室 的 Praneeth Vepakomma、Otkrist Gupta、Tristan Swedish 与 Ramesh Raskar 于 2018 年提出,论文题为《Split learning for health: Distributed deep learning without sharing raw patient data》,其中给出的分布式深度学习方法称为 SplitNN[8]。该工作面向医疗机构之间在不共享敏感原始患者数据的前提下联合训练模型的需求,并比较了 SplitNN 与联邦学习、大批量同步随机梯度下降等方法在性能与资源效率上的取舍[8]。
此后,围绕顺序拆分训练效率较低的问题,研究者提出了并行拆分学习,以及把联邦聚合机制与拆分学习结合的拆分联邦学习系列方案,用于支持多个客户端同时参与训练[9]。相关改进还包括在切分点处先聚合梯度再回传的 SGLR、按客户端分组的集群式并行拆分学习,以及针对循环神经网络设计的 FedSL 等[10][9]。有研究把服务器侧训练本身视为一个更高层次的机器学习任务,并按坐标下降的思路让服务器与客户端交替更新,以减少对模型聚合的依赖[10]。
应用
医疗领域是拆分学习最主要的应用方向。相关研究覆盖医学影像分类与分割等任务,例如让掌握不同模态资料的机构各自持有一段编码器,把特征汇聚到持有标签与解码器的一方完成训练[3]。智慧医疗场景中,医院可以保留模型的最底层与最顶层,把中间层放在医疗中心一侧,在不出让原始影像与标签的条件下借助外部模型完成诊断[11]。
在设备侧,拆分学习被用于把模型的计算量分摊到算力很低的硬件上。有工作把 ROCKET 模型的训练完整运行在超低功耗设备上,通过沿特征维度切分并把特征与权重分布到多台设备来实现训练[12]。面向物联网的异构设备也有相应框架,在客户端算力不一时按早退机制决定哪些样本留在本地推断、哪些上传给服务器处理[13]。
无线与网络侧同样出现了应用探索。相关研究把拆分联邦学习用于 6G 物理层任务,例如信道估计与差错控制,认为它相比联邦学习只迁移子模型,有助于降低计算与能耗开销[14]。此外也有把拆分学习用于语言模型训练的工作,通过切分模型并加密传输来降低客户端的显存压力[15]。
局限
顺序拆分的学习过程天然是串行的,服务器需要逐个处理各客户端上传的激活值,客户端数量增多时会形成明显的串行瓶颈,训练时延随之上升[2]。并行方案虽然缓解了这一点,但通常依赖服务器侧模型的复制与聚合,在切分点靠前、大部分参数留在服务器时,会带来额外的计算与内存开销,并且可能受到客户端漂移等问题的影响[10]。
隐私方面,拆分学习不共享原始数据,但传递的中间激活值仍可能泄露信息。研究已实现针对切分点激活值的反演攻击,能够据此重建输入图像,这类风险在医学影像等场景中尤为值得关注[3]。已有工作尝试用 dropout、差分隐私、NoPeek 距离相关性损失等方法来降低泄露,但往往会损失一部分模型效用[3][11]。
客户端数据分布不一致也会带来问题。当某个客户端只见过部分类别的数据时,它接收到的上游激活值可能与其训练分布差异很大,产生协变量偏移,影响模型稳定性与性能,需要依靠批归一化等策略加以缓解[2]。此外,切分点位置的选择本身就是一个需要权衡的问题:切分越靠前,客户端计算越少但通信越频繁,隐私风险与训练效率之间需要折中[16]。
参见
参考资料
- Split learning (SL) (Vepakomma et al [引用日期2026-10-14]
- 拆分学习 | Bohrium [引用日期2026-10-14]
- Split-U-Net: Preventing [引用日期2026-10-14]
- Concurrent Split Learning Through Stable Client Clustering [引用日期2026-10-14]
- thesis(PDF) [引用日期2026-10-14]
- **Pure-AMC** [引用日期2026-10-14]
- 1812/1812.00564.md · huggingchat/papers-content [引用日期2026-10-14]
- mit.edu 上的网页 [引用日期2026-10-14]
- The basic steps of vanilla SL (Fig [引用日期2026-10-14]
- arxiv.org 上的网页 [引用日期2026-10-14]
- 特征传递给主服务器 [引用日期2026-10-14]
- acm.org 上的网页 [引用日期2026-10-14]
- arxiv.org 上的网页 [引用日期2026-10-14]
- ieee.org 上的 PDF 文件 [引用日期2026-10-14]
- Safely Learning with Private Data: [引用日期2026-10-14]
- keywords [引用日期2026-10-14]