这篇文章的主要内容可以总结如下:
研究背景与问题
-
背景:车联网(IoV)是自动驾驶和智能交通系统(ITS)的关键组成部分,能够通过低延迟的大数据处理实现车辆、基础设施、行人和云之间的互联。自动驾驶车辆依赖机器学习(ML)模型,但将模型训练卸载到云端会引发隐私和可扩展性问题。
-
问题:如何在保护用户隐私的同时,利用边缘设备生成的大量数据进行模型训练,并减少通信开销。
解决方案
-
联邦学习(FL):提出使用联邦学习(FL)作为解决方案,FL允许在边缘设备上本地训练模型,避免原始数据共享,并通过中央服务器聚合模型更新,从而保护隐私并减少通信开销。
-
FedPylot原型:开发了一个名为FedPylot的轻量级MPI(消息传递接口)原型,用于在高性能计算(HPC)系统上模拟联邦目标检测实验。FedPylot支持混合加密,确保服务器与客户端之间的通信安全。
实验与评估
-
数据集:在KITTI和nullmages两个自动驾驶数据集上进行实验,模拟了数据异构性(如不平衡性、概念漂移和标签分布偏差)。
-
模型:使用YOLOv7模型进行实时目标检测,并探索了其在FL框架中的应用。
-
优化策略:提出了FedOpt和FedOptM两种优化策略,分别专注于客户端优化和服务器端优化,并通过实验验证了其有效性。
-
结果:实验结果表明,FedPylot在数据异构性条件下表现出色,能够在保护隐私的同时实现高效的模型训练,并满足自动驾驶车辆的实时处理需求。
贡献
-
FedPylot原型:提供了一个开源的FL原型,支持大规模实验,并集成了混合加密技术。
-
YOLOv7的联邦优化:首次提出了YOLOv7的联邦优化框架,并进行了全面的性能评估。
-
数据异构性处理:通过模拟数据异构性,展示了FedPylot在复杂环境下的鲁棒性。
未来工作
-
扩展支持:计划支持更多目标检测器、多模态感知能力、高级隐私技术、异步和低参与率配置,以及模型个性化。
结论
-
潜力:FedPylot展示了FL在车联网中实现实时目标检测的潜力,能够在保护隐私的同时满足自动驾驶车辆的实时处理需求。
这篇文章通过提出FedPylot原型,展示了联邦学习在车联网中的应用潜力,特别是在实时目标检测任务中的有效性和鲁棒性。这里是自己的论文阅读记录,感兴趣的话可以参考一下,如果需要阅读原文的话可以看这里,如下所示:
官方项目地址在这里,如下所示:
摘要
车联网(IoV)作为自动驾驶和智能交通系统(ITS)的关键组成部分,通过在一个由车辆、基础设施、行人和云组成的密集互联网络中实现低延迟的大数据处理,推动了自动驾驶和智能交通系统的发展。自动驾驶车辆严重依赖机器学习(ML),并可以从边缘生成的大量传感器数据中获益,这要求采取措施在模型训练和保护敏感用户数据隐私之间取得平衡。联邦学习(FL)作为一种有前景的解决方案,能够在车联网中训练复杂的ML模型,同时保护道路用户的隐私并减少通信开销。本文研究了在数据异构性(包括不平衡性、概念漂移和标签分布偏差)的情况下,如何对最先进的YOLOv7模型进行联邦优化,以应对实时目标检测的挑战。为此,我们引入了FedPylot,这是一个基于MPI的轻量级原型,用于在高性能计算(HPC)系统上模拟联邦目标检测实验,并通过混合加密保护服务器与客户端之间的通信。我们的研究综合考虑了准确性、通信成本和推理速度,从而为自动驾驶车辆面临的挑战提供了一个平衡的解决方案。我们展示了FL在车联网中的良好应用前景,并希望FedPylot能为未来的联邦实时目标检测研究提供基础。
关键词:联邦学习,车联网,目标检测,自动驾驶,智能交通系统。
图1. 车辆客户端通过联邦学习(FL)协作学习一个联合模型。
车辆使用各种传感器收集驾驶数据来训练自己的本地模型,而中央服务器负责定期收集和聚合本地权重更新向量,以计算全局模型,随后将该模型分发给客户端进行进一步训练。原始数据保持私有,但由于客户端的去中心化特性,数据通常是非独立同分布的(样本取自nuImages)。
I 引言
智能交通系统(ITS)有望通过增强安全性、优化交通流量、减少车辆排放和燃料消耗以及提供信息娱乐服务来重塑交通方式。这一转变得益于机器学习(ML)和车联网(V2X)通信技术的进步,促进了车辆、行人和基础设施之间的无缝协作,生成了大量数据并整合为一个统一的车联网(IoV)[1]。为了实现数据共享,车联网依赖于能够提供远距离、低延迟、可靠和安全传输的先进无线网络技术[2]。反过来,联网自动驾驶车辆可以利用车联网促进的信息共享来增强其环境感知能力,但其解决高级导航任务的能力仍然依赖于机器学习(ML)模型[3]。此外,尽管车辆可以利用摄像头、激光雷达、雷达和GPS系统等多种传感器来收集多样化的多模态数据,这对于支持ML和及时决策至关重要,但将模型训练卸载到云端会引发隐私、可用性以及长期的扩展性问题。为了缓解这些问题,联邦学习(FL)被提出作为一种解决方案,以促进边缘模型的协作训练,保护用户隐私,同时减少车联网中的通信瓶颈[4, 5]。在FL中,禁止原始数据共享,训练在边缘客户端本地进行,然后依赖中央聚合代理定期收集和合并模型更新。图1展示了车联网中的这一过程,其中主要客户端是车辆,中央聚合服务器战略性地放置在网络边缘位置以减少延迟。此外,分布在特定地理区域的边缘服务器本身可以依赖云平台来促进大规模编排,或提供第二层聚合[6]。
实时视觉是自动驾驶车辆的不可或缺的要求,因为实现完全自动驾驶需要能够在复杂和动态环境中实现人类水平感知的基于视觉的系统[7]。许多研究探索了通过FL提升车辆视觉感知能力的潜力,涵盖了交通标志识别[8, 9, 10]、坑洞和其他道路损坏检测[11, 12, 13]、语义分割[14, 15],以及更常见的目标检测[16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31]。其他部分依赖但不完全依赖车辆视觉感知的任务也通过FL进行了探索,例如轨迹预测[32]和碰撞避免[33]。然而,这些研究通常使用不适合实时视觉的模型或相关但过时的ML模型。这反过来降低了这些研究结果在评估现代实时视觉ML模型的FL可行性时的适用性。相比之下,本工作将重点转向YOLOv7[34],这是YOLO(You Only Look Once)系列实时目标检测模型中的最新成员。通过多次连续改进,YOLO模型在计算机视觉领域获得了广泛认可,并已广泛应用于各种应用,包括自动驾驶车辆、监控系统和机器人[35]。此外,本研究探索了YOLOv7在FL框架中的应用,以应对自动驾驶场景中的数据异构性,这些数据源来自不同地理位置和时间段的车辆,导致车辆遇到异构数据。
本文的贡献可以总结如下:
-
我们开发了FedPylot,这是一个基于消息传递接口(MPI)的FL原型,专门用于在高性能计算(HPC)系统上进行联邦目标检测实验,并实现了混合加密系统以保护FL参与者之间的通信。
-
我们提出了据我们所知第一个允许大规模实验的YOLOv7联邦框架。我们在评估中考虑了预测性能、推理速度和通信开销,强调了局部优化,并包括服务器端动量和自定义学习率。
-
我们在两个相关的自动驾驶数据集上展示了FedPylot,并模拟了由时空变化引起的数据异构性,考虑了不平衡性、概念漂移和标签分布偏差。我们通过包含长尾分布的两个类映射来捕捉不同粒度的异构性,同时在我们的分割策略中考虑了导航序列。
我们开源了FedPylot,希望它能对目标检测社区的FL相关项目有所帮助。FedPylot保留了扩展到大量计算节点的能力,同时比高级FL框架(如FedML[36]、PySyft[37]、Flower[38])更容易上手,这些框架在集成复杂的自定义模型(如最先进的目标检测器)时可能会遇到麻烦。
本文的其余部分组织如下。第二部分概述了本工作中使用的基本概念和工具。随后,第三部分回顾了当前关于目标检测、联邦学习和自动驾驶交叉领域的文献。第四部分详细介绍了我们FL原型的理论设计。第五部分介绍了FedPylot的实现和我们的实验设置。第六部分概述了我们的实验结果。最后,第七部分总结了本文。
II 背景
联邦学习
II-A1 公式化
这对应于使用SGD作为服务器优化器,学习率为1。为了评估训练过程的收敛性,有必要评估全局模型。评估可以在服务器端在服务器上留下的单独数据集Ds上进行,或者在聚合结果本地统计数据之前在部分客户端上进行。原始的FL过程可以以多种方式衍生,例如,个性化联邦学习(pFL)允许对共享模型进行一定程度的定制,该模型不再对所有客户端唯一[41],而一些实现利用区块链通过完全消除中央服务器来实现完全去中心化[42];还可以假设垂直分区,其中本地数据集在特征空间上不同,而不是在样本空间上不同[43]。
II-A2 数据异构性
在FL中,数据通常在客户端之间是非独立同分布的(non-IID),这可能导致训练期间本地模型的分歧和全局模型的准确性下降。Kairouz等人[44]提出了各种形式的数据异构性,其中三种与我们的研究相关:
-
概念漂移:相同的标签对于不同的客户端可能具有非常不同的特征,例如由于天气条件、位置或时间尺度的变化。
-
标签分布偏差:数据标签的分布可能在客户端之间有所不同,例如因为某些标签的出现概率与某些特定客户端的环境相关。
-
不平衡性:存储的数据样本数量在客户端之间可能有很大差异。
FL从业者已经设计了几种策略来模拟实验中的数据异构性。在图像分类中,标签偏差被广泛研究,Dirichlet分布通常用于创建人工的non-IID数据集分割[45]。相反,在目标检测等任务中,数据异构性是多方面的,最好通过识别数据集中的自然语义分离来模拟,例如ITS中的天气或位置。许多流行的技术已经被引入以解决数据异构性问题,包括但不限于FedProx[46],它在每个本地目标函数中引入了一个近端项以提高对可变本地更新的鲁棒性,SCAFFOLD[47]使用控制变量来执行方差减少并抵消客户端漂移,以及MOON[48]在模型级别应用对比学习以基于模型表示之间的相似性纠正本地训练。然而,这些算法中的许多最初是为图像分类设计的,当直接应用于更具挑战性的视觉任务时可能效果不佳[49]。其他方法更容易与目标检测兼容,我们将在下文中讨论它们。基于将服务器端SGD替换为更高级的ML优化器(如Adam[50])的策略与上述策略正交,并且可以在non-IID设置中提高收敛性[40]。类似地,Hsu等人[45]在服务器端优化中引入了动量以创建FedAvgM,并经验性地展示了在异构分布下的改进性能。在FedAvgM中,全局更新集成了一个速度项v,它以由常数动量因子β∈[0,1)控制的速率累积指数衰减的过去伪梯度。FedAvgM可以通过添加一个额外的常数学习率η来推广,更新规则因此变为如下
II-A3 FL中的其他挑战
FL引发了多种其他挑战,例如设计激励措施以鼓励拥有最大数据池的客户端参与联邦过程,确保客户端之间的公平性,考虑客户端计算能力的异质性,设计FL框架以及限制开销。此外,尽管FL增加了隐私保护,但它并非没有风险。恶意参与者可以洞察原始训练数据或通过进行模型反演和模型更新中毒等攻击来降低训练完整性。诸如安全多方计算[55]、同态加密[56]和差分隐私[57]等反制技术可以帮助缓解这个问题,但可能会增加计算和通信开销或导致性能下降。
目标检测
目标检测是计算机视觉中的一项任务,其中模型试图检测图像中所有感兴趣的对象类别的实例,并通过用边界框划定它们来报告它们的位置和空间范围[58]。在实时目标检测中,模型的推理速度也被认为是任务实现的关键,通常以毫秒或帧每秒(FPS)来衡量。深度学习在过去十年中对目标检测产生了重大影响,现代目标检测器通常基于卷积神经网络。两阶段目标检测器,如R-CNN[59]和SPP-Net[60],首先生成区域提议,然后将它们发送到分类模型,而一阶段目标检测器,如YOLO[61]、SSD[62]和RetinaNet[63],在单次扫描中定位和分类对象,通常使它们更快但准确性较低。一阶段和两阶段目标检测器通常都依赖于非极大值抑制(NMS)后处理技术来过滤重叠预测并仅保留给定对象的最相关边界框。最近,基于Transformer的目标检测器引起了兴趣,例如检测Transformer(DETRs)[64]。DETRs消除了执行端到端检测所需的许多手工设计组件(如NMS),并且正在努力使它们在实时设置中成为可能[65]。
为了使用单一阈值t对模型进行基准测试可能不够令人满意。因此,通常在从50%到95%的十个IoU阈值上平均平均平均精度,步长为5%,从而产生一个简称为mAP的指标。
YOLOv7
YOLOv7是YOLO系列一阶段实时目标检测器中的最新成员。在2022年7月发布时,它是5到160 FPS范围内最快和最准确的目标检测器,具有比性能相当的模型更少的参数,并且是从仍然广泛流行的YOLOv5[67]的飞跃。YOLOv7从头开始在MS COCO[68]上训练,并具有优化的结构和优化方法,称为可训练的自由赠品。这些包括基于梯度流路径分析的计划重参数化卷积,以及一种新颖的标签分配策略,以及一些现有的概念,如将批量归一化统计直接嵌入卷积层以进行推理,YOLOR隐式知识[69]合并到卷积层以进行加法和乘法,以及使用指数移动平均(EMA)模型作为最终推理模型。自由赠品加强了模型的训练成本和预测性能,但不会增加推理期间的延迟,这一概念在YOLOv4[70]中已经讨论过。YOLOv7还引入了架构改进,包括Extended-ELAN,这是高效层聚合网络(ELAN)[71]的修改变体,允许无限堆叠计算块同时保留学习能力,以及一种新的复合缩放方法,用于基于连接的模型,以保持模型的属性和最佳结构。
更一般地说,YOLOv7是一个基于锚点的模型,使用特征金字塔网络(FPN)[72]。作者引入了YOLOv7-tiny和YOLOv7,它们分别是为边缘和普通GPU设计的P5模型,以及YOLOv7-W6,这是为云GPU设计的P6模型。复合缩放方法应用于YOLOv7以派生YOLOv7-X,并应用于YOLOv7-W6以派生YOLOv7-E6、YOLOv7-D6、YOLOv7-E6E,后者将ELAN替换为Extended-ELAN作为其主要计算单元。推荐的训练输入分辨率为640×640用于P5模型,1280×1280用于P6模型。传递给YOLOv7的图像被调整到给定的输入,同时保持纵横比,并在必要时应用填充。在训练期间,损失通过求和三个子函数来计算,这些子函数由预定义的增益超参数平衡。这些子函数测量模型在目标检测问题的不同模态上的性能。特别是,分类损失和目标性损失使用常见的二元交叉熵(BCE)损失,而边界框回归损失子函数则基于完全IoU(CIoU)损失[73]。所有YOLOv7变体都使用SiLU激活函数(除了YOLOv7-tiny使用LeakyReLU),YOLOX引入的SimOTA策略用于标签分配[74],马赛克、混合和左右翻转增强,梯度累积,自动混合精度训练,推理时的半精度,以及NMS用于后处理。
除了2D目标检测外,YOLOv7还扩展到支持姿态估计和实例分割,并且提供了一个无锚点变体YOLOv7-AF,其基础性能与后续版本(包括YOLOv6 3.0[75]和YOLOv8[76])相当或超越。YOLOv7被用作YOLOv9[77]的基础,后者引入了可编程梯度信息(PGI)和广义高效层聚合网络(GELAN)。
III 相关工作
在下文中,我们简要回顾了以前的工作,这些工作应用FL来解决自动驾驶车辆中的2D目标检测问题。Rjoub等人[16]研究了在恶劣天气驾驶场景中使用原始YOLO模型进行联邦实时目标检测。Chen等人[17]研究了在通信和计算约束下使用SSD进行车辆目标检测的FL。Bommel[18]和后来的Rjoub等人[19]使用主动学习,分别使用YOLOv5s和YOLOR,解决了在自动驾驶车辆中联邦实时目标检测中稀疏数据标注的困境。Dai等人[20]提出了FLAME,一个旨在促进探索由自动驾驶车辆连续流式传输的数据的在线联邦目标检测的框架,他们使用YOLOv2[78]进行了演示。Wang等人[21]设计了CarlaFLCAV,一个开放的FL模拟平台,支持广泛的汽车感知任务,包括使用YOLOv5进行目标检测,并解决了网络资源和道路传感器放置优化问题。Chi等人[22]利用软教师半监督目标检测框架,在驾驶时收集的未标记数据上使用Faster-R-CNN[79]进行FL训练,给定少量精心策划的现有数据。Rao等人[23]提出了FedWeg,一个稀疏FL训练过程,他们在YOLOv3[80]上进行了评估,以适应车联网中的计算和通信约束。Su等人[24]提出了FedOD,一个基于多教师蒸馏的跨域pFL框架,用于目标检测,并在自动驾驶数据集上验证了他们的提议。最后,Kim等人[25]提出了一个名为FedSTO的两阶段训练策略,并在车辆客户端的本地数据集完全未标记且标记数据仅对中央服务器可用的异构情况下,使用YOLOv5解决了半监督联邦目标检测问题。
相比之下,其他研究人员将注意力转向了多模态数据。特别是,Zheng等人[26]提出了AutoFed,一个专门用于鸟瞰图车辆检测的FL框架,其中数据异构性来自包含多种传感模式,并在多个NVIDIA Jetson TX2设备上训练了一个自定义的两阶段目标检测器,该检测器适应LiDAR和雷达数据。Mishra等人[27]主张建立一个完全去中心化的基于区块链的自动驾驶FL系统,称为群体学习,并在3D点云目标检测中使用Complex-YOLOv4[81]验证了他们的提议。此外,Chi等人[28]表明,通过将基础设施纳入集群联邦过程,可以改进联邦3D目标检测,并在他们的实验中包含了一个复杂的多步感知系统,其中从点云提取的特征图由视觉Transformer处理。
我们的提议与以前的工作不同,重点是对最新的实时目标检测器进行联邦优化,并对其性能进行全面评估,同时允许在数据中心进行大规模模拟。我们的分割策略具有这些论文中未发现的特殊性。我们还提供了少数提供开放实现的工作之一。
两篇论文分别使用YOLOv8进行了实验,并分别引入了FedProx+LA,一种解决车辆网络中标签分布偏差的FL方法,显示出改进的目标检测性能和收敛速度[29],以及一种自适应集群FL技术,用于解决存储和带宽限制,并在不同天气和光照条件下验证了汽车检测[30]。然而,这些工作仅考虑了YOLOv8的nano变体,即最小的变体,该变体专为边缘设备设计,学习能力有限。这进一步强调了提供支持大规模FL实验的必要性。也许与我们的提议最相似的是Jallepalli等人[31]引入的原型,据我们所知,这是唯一一个在HPC环境中为自动驾驶目的对目标检测器进行联邦优化的贡献。我们通过将YOLOv3替换为YOLOv7,引入更高的数据多样性、更多客户端、现实的non-IID设置、更多本地和服务器端优化配置、测量多个模型变体的通信成本和推理速度,以及通过用MPI替换低级套接字通信,并用更安全的混合加密方案替换对称Fernet加密方案,显著改进了这一先前的工作。
IV 系统设计
几辆联网和自动驾驶车辆使用车载摄像头实时收集视频数据,同时参与使用YOLOv7架构的共享目标检测模型的联邦训练。服务器充当FL系统的协调者,负责收集和聚合本地模型更新、服务器端优化以及模型参数的传播。服务器拥有自己的一组精心策划的代表性数据,用于在每个通信轮次结束时评估全局模型的质量。我们实验中使用的服务器优化器是FedAvgM(4),尽管FedPylot也支持FedAdagrad、FedAdam和FedYogi[40]。为了更准确地反映部署中的模型状态,评估是在重新参数化的模型上进行的,该模型具有较少的参数,但仍保持与基础模型相同的预测性能。一个轮次包括所有客户端共有的固定数量的本地训练轮次,共享批量大小,而不考虑训练集的大小,因此本地优化步骤的数量可能在客户端之间有所不同。为简单起见,我们假设每个轮次都有完整的客户端参与,边缘的训练数据标签可用,并且聚合是同步的。
图2. 用于服务器与客户端通信的混合加密系统。
服务器与车辆客户端之间的传输使用高效的对称加密算法进行加密。对称密钥由服务器生成,并在传递给客户端时使用公钥加密系统进行保护。
参与者之间的通信通过混合加密系统进行保护。它结合了一种高效的对称加密算法,用于加密明文,但要求发送方和接收方都拥有相同的对称密钥,以及一种更实用但昂贵几个数量级的公钥加密算法,仅用于在传输过程中保护对称密钥免受对手攻击。我们设计我们的系统,使得每个车辆客户端在联邦过程开始时生成一个公钥-私钥对,并立即将其公钥传输到服务器。同时,服务器在每个轮次开始时生成一个新的对称密钥,并使用它来加密全局模型,然后将两者传递给客户端,如图2所示,或者如果分离密钥和模型交换被认为更实用,则分别传递。客户端然后可以使用相同的密钥解密全局模型并加密其本地更新。混合加密简单且适用于低延迟环境。实际上,它仅产生可忽略的通信开销,并且在我们的设置中,加密开销主要由模型训练的成本主导。然而,仅在向服务器透露模型更新是可接受的情况下才适用。如果不满足此条件,则必须添加高级隐私技术,如第II-A3节中提到的那些。联邦过程总结在算法IV-B中,而其余细节在下一节中介绍。
V 实验
原型实现细节
V-A1 联邦模拟
我们的实验使用PyTorch[82]在Cedar上进行。每个FL参与者被分配到一个计算节点,配备一个Tesla V100-SXM2-32GB GPU、八个CPU核心和每个核心最多6000 MiB的内存。在FL实验开始之前,每个客户端的本地数据集从网络存储传输到相应计算节点的本地磁盘,将其与其他参与者隔离,并加速输入和输出(I/O)事务。验证集和服务器节点也进行了相同的操作。互连是Intel Omni-Path[83],我们使用MPI处理服务器和客户端之间的通信,使用Open MPI标准的实现[84]和mpi4py Python包[85]。MPI专为HPC环境设计,并且是多个FL框架(包括FedML)中的通信后端。在模拟期间,每个计算节点(即每个FL参与者)创建一个MPI进程,中央服务器使用集体通信(包括收集、广播和散射)来协调传输。实际上,我们区分第一轮,其中必须将整个模型检查点从预训练权重初始化传输到客户端,以及随后的轮次,其中仅需要传输可学习参数。此外,权重在传输期间使用半精度(FP16)表示以减少通信开销。
V-A2 加密
用于保护FL参与者之间通信的混合加密系统使用Python的cryptography包实现。密钥封装方案基于RSA[86]和OAEP[87]填充方案,而数据封装使用256位对称密钥处理,使用高级加密标准(AES)算法[88]和Galois/计数器模式(GCM)[89],并使用scrypt作为基于密码的密钥派生函数[90]。AES-GCM要求每次新加密使用一个加密随机数以防止重放攻击。在我们的方案中,每次数据加密使用的12字节随机数和创建新对称密钥时使用的盐都使用Python的secrets包生成,以确保使用加密强随机数。使用AES-GCM加密还会产生一个16字节的认证标签,可以安全地与随机数和密文一起传输,以确保消息的完整性和真实性。
数据集
我们在两个相关的自动驾驶数据集上进行了实验:KITTI视觉基准套件[91]的2D目标检测子集和nullmages,这是nuScenes的扩展,专门用于2D目标检测[92]。KITTI是一个先驱且仍然广泛流行的基准,具有同步的立体RGB图像、GPS坐标和LiDAR点云,并支持2D和3D目标检测。然而,它在天气和光照条件、位置和对象方向方面的数据多样性较低。KITTI的2D目标检测子集没有预先存在的训练/验证分割,包含7481个标记图像,最常见的尺寸为1242×375(存在小的变化)。KITTI包含一个对应于未标记区域的_DontCare_类,该类别被排除在我们的实验之外,因此数据集中剩下八个类。nullmages包含近500个不同长度的驾驶日志,并组织为关系数据库,具有67279个标记的训练图像和一个单独的预定义验证集,包含16445个标记图像,所有样本的尺寸为1600×900。数据通过六个摄像头采集,这些摄像头朝向提供车辆周围的360度视图,并有一些小的重叠。场景在1月至9月期间在波士顿和新加坡拍摄,如图3所示,并包括雨、雪和夜间,使nullmages比KITTI显著更多样化。nullmages还包括23个不同的类,分布在长尾分布中。我们在实验中没有考虑KITTI和nullmages的预定义未注释测试集。在这两种情况下,边界框都使用其左上和右下绝对坐标表示,因此边界框的注释首先必须转换为YOLO格式,其中边界框使用归一化中心坐标、框宽度和高度表示。
数据分割策略
由于KITTI是一个低方差数据集,不允许任何简单的自然语义数据分离,因此它作为我们的IID设置。我们随机抽取25%的训练数据存储在中央服务器上,而剩余的样本均匀分布在五个客户端之间,如图4所示。对于nullmages,我们通过依赖训练集中可用的时空元数据创建non-IID分割,以生成不平衡性、概念漂移和标签分布偏差。服务器持有的集合仅由nullmages的预定义验证数据组成,而训练分割组织如下。客户端C1,C2和分别接收在波士顿3月和5月、6月和7月以及9月收集的数据,而C4接收在新加坡1月和2月收集的数据。新加坡6月至8月的数据在训练集中过度表示,分布在客户端C5到C9之间;然而,分布不是基于单个样本,而是通过随机采样整个数据日志来进行的,从而确保基于每个导航序列的特性的最小数据异构性阈值。最后,客户端C10接收新加坡9月的数据。此外,我们为nullmages实现了两个类映射,以观察数据集的长尾分布对联邦优化的影响。我们将从nuScenes竞赛复制的映射生成的数据集称为nullmages-10,其中仅保留了十个类,而包含所有23个类的基数据集称为nullmages-23。我们注意到,上述分割策略自然导致不平衡性和标签分布偏差,如图5和图6所示,当包含完整的长尾分布时,后者进一步加剧。特别是,在仅通过其导航序列不同的客户端中,标签分布的差异仅在稀有类中变得明显,从而说明我们的分割如何在不同粒度级别捕捉异构性。
实验设计
对于第一组实验,我们实现了FedAvg作为基线。本地和服务器端优化器都是SGD,固定学习率分别为0.01和1。
第二种FL方法FedOpt专注于客户端优化。服务器端优化器仍然是SGD,但我们调整了原始YOLOv7训练过程以适应联邦设置,使用默认的微调超参数。具体来说,模型参数分为三组,包括偏置、批量归一化参数和剩余参数,其中权重衰减应用于剩余参数,未缩放的正则化常数为0.0005。每组采用自己的单周期学习率调度策略,包括线性预热期和余弦衰减退火。学习率在偏置组初始化为0.1,在其余两组初始化为0,所有学习率在预热期间向0.01演变,在衰减期间向0.001演变。为了保持同步性,我们将预热持续时间固定为所有客户端共有的固定轮次数(分别为KITTI和nullmages的30和15)。此外,Nesterov动量也应用于FedOpt中的本地,起始动量因子为0.8,在预热期间线性增加到0.937,之后保持恒定。我们选择不聚合本地动量,从而减少通信开销,但迫使客户端在训练轮次之间保持持久状态。FedPylot的一个可能改进是实现一个无状态的客户端级动量变体,以支持它,无论参与率如何。
最后,我们使用FedAvgM(4)服务器端优化器与FedOpt中描述的本地优化进行了消融实验,我们将这种组合称为FedOptM。我们对服务器学习率η∈{0.5,1.0,1.5}和动量因子β∈{0.1,0.3,0.5,0.7,0.9}进行了网格搜索。我们将ηη限制在其默认值附近的小范围内,因为本地学习率调度保持不变。
在上述所有实例中,我们使用原始基于锚点的YOLOv7架构,权重在MS COCO上预训练,letterbox调整为640,批量大小为32,马赛克和水平翻转增强的概率分别为1.0和0.5,测试数据的NMS的IoU阈值为0.65,边界框回归、分类和目标性损失的增益分别为0.05、0.3和0.7。在适用的情况下,我们允许学习率和动量因子在通信轮次内演变,以适应车联网中的通信约束。本地EMA模型未聚合,调度策略在本地维护。FedAvg和FedOpt在150轮训练中进行了比较,轮次长度不同,(R,E)∈{(30,5),(15,10),(10,15)},而对于FedOptM,我们特别关注30轮设置,以允许更多的服务器优化步骤。FL与默认的集中式过程进行了比较,其中模型在所有数据上进行了150轮训练。为简单起见,预热长度与联邦实验中的相同。
VI 结果
客户端优化的效果
集中式学习、FedAvg和FedOpt的训练损失和mAP的演变如图7所示,我们在表I中报告了每种设置下达到的最高测试准确性。在联邦设置中,聚合训练损失来自每个客户端计算的本地损失的加权平均值,如(1)所示,mAP通过在每轮通信结束时在中央服务器上存储的单独未见示例集上评估全局模型来测量,如算法1中所定义。高级本地优化方案在所有异构性水平上导致了一致的性能提升,但在IID设置中更为显著,其中改进的本地更新不受客户端漂移的影响。较长的训练轮次在IID数据上是有益的,但在异构设置中也没有导致性能下降,我们将其归因于我们的分割策略和使用预训练权重。相对于集中式设置,性能下降在nullmages-23中比nullmages-10更为显著,证实了包含长尾分布对联邦优化的不利影响。
服务器学习率和动量的消融
FedOptM在服务器学习率和动量对测试准确性影响的全网格搜索细节如图8所示,我们评论了相对于FedOpt在可比通信轮次数和长度下的改进。在KITTI上的训练非常稳定,它受益于更高的服务器端学习率,mAP达到67.6%(+1.3%)。在nullmages-10上观察到的小改进47.6%(+0.1%),但小的动量值导致更异构的nullmages-23的小但一致的改进28.5%(+0.3%)。然而,选择高动量因子(如0.9)导致更新量的大幅增加,显著扰乱了训练过程并导致不准确的预测,特别是在non-IID数据上。FedAvg和FedOptM之间的定性比较如图9所示。
通信成本和推理速度
我们测量了不同YOLOv7变体的测试准确性、推理速度以及训练期间服务器-客户端通信的通信开销,在KITTI、nullmages-10和nullmages-23上进行了测量。我们考虑了三个P5模型(YOLOv7-tiny、YOLOv7、YOLOv7-X)和基础P6模型(YOLOv7-W6),并在表II中报告了我们的发现。联邦算法是FedOptM,我们重用了在消融期间产生最佳性能的服务器超参数。对于YOLOv7-W6,letterbox调整从640px增加到1280px,而训练批量大小从32减少到8。训练持续了30个通信轮次,每个轮次5个轮次,所有其他超参数保持如前所述的所有模型变体。为了便于比较,延迟测量在单个Colab环境中进行,与模型训练分开,结果在KITTI和nullmages上分别平均了20次和5次运行。与YOLOv7的原始基准测试类似,我们在V100上以批量大小1测量了FPS的延迟,在重新参数化和模型跟踪之后,但没有将模型移植到ONNX或TensorRT。仅考虑模型推理,因此预处理和后处理成本(包括NMS)未计入。通信成本以兆字节为单位报告,用于服务器和客户端之间对称加密的可学习参数的一对一传输,在一个轮次中,传输次数是参与客户端的两倍。初始广播包含整个模型检查点,其成本略高于表中报告的成本。在模型传输期间使用半精度减少了通信开销,并且易于实现,我们将更高级的模型压缩技术的实现留给未来的工作。
VII 结论
在本研究中,我们主张使用FL来解决车联网中固有的隐私和可扩展性挑战。我们提出了FedPylot,一个实用的基于MPI的客户端-服务器原型,具有混合加密功能,用于在HPC系统上模拟现代目标检测器的联邦训练。通过对相关自动驾驶数据集进行的全面实验分析,我们考虑了预测质量、模型延迟和通信开销,展示了FL在实现目标检测和满足自动驾驶车辆实时处理需求方面的潜力。我们的研究结果强调了在现实异构性约束下联邦优化YOLOv7的鲁棒性,我们希望FedPylot将邀请进一步的研究,将最先进的目标检测引入FL。我们正在考虑对FedPylot进行可能的未来改进,包括添加对其他目标检测器的支持、多模态感知能力、高级隐私技术、异步和低参与率配置以及模型个性化。