Ultralytics YOLO27: 加入候补名单。
获取 YOLO 许可
返回 Ultralytics 术语表

Split Learning

分割学习在某个切分层处分开神经网络,让客户端保留原始数据和前几层,而服务器根据客户端的激活值训练其余部分。

拆分学习是一种协作式分布式训练方法,会在选定的切分层处分割神经网络,由数据所有者(客户端)和服务器分别处理。客户端在私有数据上运行切分层之前的各层,只发送由此产生的激活值(有时称为压缩数据);服务器运行剩余各层并计算损失,再将切分处的梯度发回客户端,以便客户端更新自己的层。原始训练数据不会离开客户端,任何一方也都不会持有完整模型。MIT 媒体实验室的 Otkrist Gupta 和 Ramesh Raskar 于 2018 年 10 月在《多个代理上的深度神经网络分布式学习》中介绍了这一方法;该团队于 2018 年 12 月发表的后续论文《健康领域的拆分学习》提出了不同配置,让持有不同类型患者数据的医院(例如持有用于医学图像分析的扫描图像的医院)能够共同训练模型,而不共享原始记录。

拆分学习的工作原理#

每个训练步骤都会两次经过切分点:前向传播时,激活值从客户端发送到服务器;在反向传播时,损失相对于这些激活值的梯度会传回客户端。由于链式法则只需要这一个梯度就能继续计算,客户端的更新结果与训练未拆分模型完全相同。下面通过一个PyTorch单进程模拟展示这一过程:

import torch
from torch import nn

torch.manual_seed(0)
client = nn.Sequential(nn.Linear(784, 256), nn.ReLU())  # 切分点之前的层,与私有数据并列
server = nn.Sequential(nn.Linear(256, 10))  # 切分点之后的层
images, labels = torch.randn(32, 784), torch.randint(0, 10, (32,))

# 客户端:前向传播到切分层,然后只发送激活值
activations = client(images)
received = activations.detach().requires_grad_()

# 服务器:完成前向传播并反向传播至切分点,然后将该梯度发回
nn.functional.cross_entropy(server(received), labels).backward()

# 客户端:根据返回的梯度继续反向传播
activations.backward(received.grad)
split_grad = client[0].weight.grad.clone()

# 在未拆分模型上执行相同步骤时,客户端得到的梯度完全相同
client.zero_grad()
nn.functional.cross_entropy(server(client(images)), labels).backward()
print("Same client gradients as unsplit training:", torch.equal(split_grad, client[0].weight.grad))

输出结果为 Same client gradients as unsplit training: True。随后,双方分别执行自己的优化器步骤。使用多个客户端时,原始协议会让客户端依次训练;每个客户端都会接着使用前一个客户端最新的客户端侧权重。

具体设置会根据需要保密的内容而变化。上面的基础设置会将标签发送给服务器;U 形设置也会将最后几层和标签保留在客户端;纵向设置则适用于掌握同一批记录的不同特征的组织:

拆分学习与联邦学习的对比#

联邦学习也会将数据保留在数据所有者的设备上,但每个客户端都会训练一份完整的模型副本,并发送权重更新以供平均。拆分学习发送的是激活值和梯度,因此客户端所需的计算资源少得多,也不会持有完整模型;通信量会随着数据量而非模型大小增长,而且客户端是依次训练,而不是并行训练。Chandra Thapa 等人于 2020 年提出的 SplitFed 学习结合了这两种方法:客户端侧各层并行运行,并采用联邦学习的方式进行平均。

纵向拆分学习也适用于金融领域,例如银行与掌握相同客户的不同特征的合作方共同训练一个模型,SecretFlow 的银行营销教程就是一个例子,而且双方无需交换私有数据。流水线并行也会按深度切分网络,但切分发生在同一可信集群的多块 GPU 之间,以便将大型模型装入内存。

隐私风险#

激活值和梯度仍然会携带数据相关信息。早期层的激活值可以被逆向还原为可辨认的图像;当服务器持有标签时,服务器返回的梯度也可能将标签泄露给客户端。Dario Pasquini、Giuseppe Ateniese 和 Massimo Bernaschi 在 ACM CCS 2021 上证明,恶意服务器可以通过返回的梯度劫持训练过程,使客户端的各层变成一种能让服务器重建私有输入的形式。防御措施可以添加差分隐私噪声、惩罚激活值泄露输入信息的程度,或检测异常梯度;这些方法都会在一定程度上影响准确率。部署时会将拆分学习与数据安全控制措施(例如身份验证和加密传输)结合起来,因为该协议本身只规定哪些内容可以跨越切分点。

如何选择切分层#

切分层决定了客户端计算量、通信量和信息暴露之间的平衡:较早的切分层所需的客户端计算量最少,但会发送较大的激活值,这些激活值仍与输入相似;较晚的切分层会发送更抽象的特征图,但对客户端硬件的要求更高,这对边缘 AI设备尤其重要。跳跃连接会让选择更加复杂,因为每个跨越切分点的张量都必须发送。若在主干网络之后切分 Ultralytics YOLO26,就必须发送三张特征图,因为其模型配置会将第 4、6 和 10 层的输出输入颈部网络:对于 YOLO26n(imgsz=640),这些特征图包含 1,126,400 个值,几乎与输入图像中的 1,228,800 个值一样多。

Explore solutions

体育领域的计算机视觉

体育领域的计算机视觉

了解 Ultralytics YOLO 如何通过球员和球追踪、表现分析、教练洞察及运动员康复,推动体育视觉技术的发展。
了解详情
航空影像计算机视觉

航空影像计算机视觉

借助 Ultralytics YOLO,将无人机和航空影像转化为实时洞察,应用于农业、水产养殖、环境监测、自然保护和地理空间分析。
了解详情
航空航天中的计算机视觉

航空航天中的计算机视觉

使用 Ultralytics YOLO 模型将视觉 AI 应用于航空监测。借助计算机视觉解决方案,赋能无人机、航空航天工作流、环境保护和地理空间行业。
了解详情
安防领域的计算机视觉

安防领域的计算机视觉

使用 Ultralytics YOLO 模型守护每个场所。视觉 AI 可用于周界监控、威胁检测、车牌识别和工作场所安全。
了解详情
机器人领域的计算机视觉

机器人领域的计算机视觉

使用 Ultralytics YOLO 模型提升智能机器的能力。机器人领域的视觉 AI 可用于自主导航、感知、目标跟踪和实时控制。
了解详情
物流中的计算机视觉

物流中的计算机视觉

借助 Ultralytics YOLO 模型优化物流流程。视觉 AI 可用于包裹检查、分拣、车辆跟踪和仓库安全实时监控。
了解详情
零售中的计算机视觉

零售中的计算机视觉

借助 Ultralytics YOLO 模型重新构想零售。视觉 AI 可用于库存跟踪、货架监控、排队管理和更深入的客户洞察。
了解详情
医疗领域的计算机视觉

医疗领域的计算机视觉

借助 Ultralytics YOLO 模型构建医疗解决方案。医疗领域的视觉 AI 可加快医学影像处理、优化诊断并监测患者。
了解详情
制造业中的计算机视觉

制造业中的计算机视觉

利用 Ultralytics YOLO 模型优化制造流程。视觉 AI 可用于质量控制、缺陷检测、个人防护装备合规检查和装配线自动化。
了解详情
汽车领域的计算机视觉

汽车领域的计算机视觉

利用 Ultralytics YOLO 模型在汽车领域应用计算机视觉。视觉 AI 可提升道路安全、驾驶辅助和车辆自动化水平,让道路更智能。
了解详情
农业中的计算机视觉

农业中的计算机视觉

借助 Ultralytics YOLO 模型,将视觉 AI 引入智慧农业。为作物监测、牲畜追踪和精准农业提供支持,从而提高产量并实现更智能的生产。
了解详情
体育领域的计算机视觉

体育领域的计算机视觉

了解 Ultralytics YOLO 如何通过球员和球追踪、表现分析、教练洞察及运动员康复,推动体育视觉技术的发展。
了解详情
航空影像计算机视觉

航空影像计算机视觉

借助 Ultralytics YOLO,将无人机和航空影像转化为实时洞察,应用于农业、水产养殖、环境监测、自然保护和地理空间分析。
了解详情
航空航天中的计算机视觉

航空航天中的计算机视觉

使用 Ultralytics YOLO 模型将视觉 AI 应用于航空监测。借助计算机视觉解决方案,赋能无人机、航空航天工作流、环境保护和地理空间行业。
了解详情
安防领域的计算机视觉

安防领域的计算机视觉

使用 Ultralytics YOLO 模型守护每个场所。视觉 AI 可用于周界监控、威胁检测、车牌识别和工作场所安全。
了解详情
机器人领域的计算机视觉

机器人领域的计算机视觉

使用 Ultralytics YOLO 模型提升智能机器的能力。机器人领域的视觉 AI 可用于自主导航、感知、目标跟踪和实时控制。
了解详情
物流中的计算机视觉

物流中的计算机视觉

借助 Ultralytics YOLO 模型优化物流流程。视觉 AI 可用于包裹检查、分拣、车辆跟踪和仓库安全实时监控。
了解详情
零售中的计算机视觉

零售中的计算机视觉

借助 Ultralytics YOLO 模型重新构想零售。视觉 AI 可用于库存跟踪、货架监控、排队管理和更深入的客户洞察。
了解详情
医疗领域的计算机视觉

医疗领域的计算机视觉

借助 Ultralytics YOLO 模型构建医疗解决方案。医疗领域的视觉 AI 可加快医学影像处理、优化诊断并监测患者。
了解详情
制造业中的计算机视觉

制造业中的计算机视觉

利用 Ultralytics YOLO 模型优化制造流程。视觉 AI 可用于质量控制、缺陷检测、个人防护装备合规检查和装配线自动化。
了解详情
汽车领域的计算机视觉

汽车领域的计算机视觉

利用 Ultralytics YOLO 模型在汽车领域应用计算机视觉。视觉 AI 可提升道路安全、驾驶辅助和车辆自动化水平,让道路更智能。
了解详情
农业中的计算机视觉

农业中的计算机视觉

借助 Ultralytics YOLO 模型,将视觉 AI 引入智慧农业。为作物监测、牲畜追踪和精准农业提供支持,从而提高产量并实现更智能的生产。
了解详情
体育领域的计算机视觉

体育领域的计算机视觉

了解 Ultralytics YOLO 如何通过球员和球追踪、表现分析、教练洞察及运动员康复,推动体育视觉技术的发展。
了解详情
航空影像计算机视觉

航空影像计算机视觉

借助 Ultralytics YOLO,将无人机和航空影像转化为实时洞察,应用于农业、水产养殖、环境监测、自然保护和地理空间分析。
了解详情
航空航天中的计算机视觉

航空航天中的计算机视觉

使用 Ultralytics YOLO 模型将视觉 AI 应用于航空监测。借助计算机视觉解决方案,赋能无人机、航空航天工作流、环境保护和地理空间行业。
了解详情
安防领域的计算机视觉

安防领域的计算机视觉

使用 Ultralytics YOLO 模型守护每个场所。视觉 AI 可用于周界监控、威胁检测、车牌识别和工作场所安全。
了解详情
机器人领域的计算机视觉

机器人领域的计算机视觉

使用 Ultralytics YOLO 模型提升智能机器的能力。机器人领域的视觉 AI 可用于自主导航、感知、目标跟踪和实时控制。
了解详情
物流中的计算机视觉

物流中的计算机视觉

借助 Ultralytics YOLO 模型优化物流流程。视觉 AI 可用于包裹检查、分拣、车辆跟踪和仓库安全实时监控。
了解详情
零售中的计算机视觉

零售中的计算机视觉

借助 Ultralytics YOLO 模型重新构想零售。视觉 AI 可用于库存跟踪、货架监控、排队管理和更深入的客户洞察。
了解详情
医疗领域的计算机视觉

医疗领域的计算机视觉

借助 Ultralytics YOLO 模型构建医疗解决方案。医疗领域的视觉 AI 可加快医学影像处理、优化诊断并监测患者。
了解详情
制造业中的计算机视觉

制造业中的计算机视觉

利用 Ultralytics YOLO 模型优化制造流程。视觉 AI 可用于质量控制、缺陷检测、个人防护装备合规检查和装配线自动化。
了解详情
汽车领域的计算机视觉

汽车领域的计算机视觉

利用 Ultralytics YOLO 模型在汽车领域应用计算机视觉。视觉 AI 可提升道路安全、驾驶辅助和车辆自动化水平,让道路更智能。
了解详情
农业中的计算机视觉

农业中的计算机视觉

借助 Ultralytics YOLO 模型,将视觉 AI 引入智慧农业。为作物监测、牲畜追踪和精准农业提供支持,从而提高产量并实现更智能的生产。
了解详情

让我们携手构建 AI 的未来!

开启你的旅程,迎接机器学习的未来