前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >FedPylot,联邦学习框架下的YOLOv7实时目标检测与隐私保护研究!

FedPylot,联邦学习框架下的YOLOv7实时目标检测与隐私保护研究!

作者头像
集智书童公众号
发布2024-06-14 13:39:36
1500
发布2024-06-14 13:39:36
举报
文章被收录于专栏:集智书童集智书童

车辆物联网(IoV)成为自动驾驶和智能交通系统(ITS)的关键组成部分,通过在密集互联的网络中实现低延迟的大数据处理,该网络包括车辆、基础设施、行人和云。 自动驾驶车辆严重依赖机器学习(ML),并且能从边缘生成的丰富感官数据中强烈受益,这需要采取措施来协调模型训练与保护敏感用户数据的隐私。 联邦学习(FL)作为一种有前景的解决方案,可以在保护道路用户隐私的同时减轻通信开销,用于在车联网中训练复杂的ML模型。 本文研究了在数据异质性(包括不平衡性、概念漂移和标签分布偏差)下,使用联邦学习优化前沿的YOLOv7模型以解决实时目标检测问题。 为此,作者引入了FedPylot,一个基于MPI的轻量级原型,用于在高性能计算(HPC)系统上模拟联邦目标检测实验,作者在其中使用混合加密来保护服务器-客户端通信。 作者的研究考虑了准确性、通信成本和推理速度,从而为自动驾驶车辆面临的挑战提供了平衡的方法。 作者展示了FL在IoV中应用的前景,并希望FedPylot将为未来关于联邦实时目标检测的研究提供基础。 源代码可在https://github.com/cyprienquemeneur/fedpylot。

I Introduction

智能交通系统(ITS)有望通过提高安全性、优化交通流量、减少车辆排放和燃油消耗以及提供信息娱乐服务来 Reshape 流动性。这种转变得益于机器学习(ML)和车辆与一切(V2X)通信技术的进步,促进了车辆网络、行人和基础设施之间的无缝合作,产生了大量数据,并整合成一个统一的车辆互联网(IoV)[1]。为了实现数据共享,IoV依赖于最先进的无线网络技术,这些技术可以提供远距离、低延迟、可靠和安全的传输[2]。

反过来,通过IoV促进信息共享的联网自动车辆可以提高它们的环境感知能力,但它们解决高级导航任务的能力仍然依赖于机器学习(ML)模型[3]。

此外,尽管车辆可以利用摄像头、激光雷达、雷达和GPS系统等多种传感器来收集支持ML和及时决策的多模态数据,但将模型训练卸载到云端会引发隐私、可用性以及长期可扩展性的问题。

为了缓解这些问题,联合学习(FL)已被提出作为一种解决方案,以促进边缘模型训练的合作并保护用户隐私,同时减轻IoV中出现的通信瓶颈[4, 5]。在FL中,禁止共享原始数据,训练在边缘客户端本地进行,然后依靠中央聚合代理定期收集和组合模型更新。图1展示了IoV中的这个过程,主要的客户端是车辆,中央聚合服务器战略性地位于网络边缘位置以减少延迟。此外,分散在给定地理区域的边缘服务器本身可能会依赖云平台来大规模地促进协调,或提供第二层聚合[6]。

实时视觉对于自动驾驶车辆是不可或缺的,因为要实现完全的驾驶自主性,需要复杂的基于视觉的系统,这些系统能够在复杂和动态的环境中实现人类 Level 的感知能力[7]。许多研究探讨了利用联邦学习(FL)提高车辆视觉感知能力的潜力,并涵盖了交通标志识别[8, 9, 10],坑洞和其他道路损伤检测,语义分割[14, 15],以及更常见的目标检测。部分但不仅仅依赖于车辆视觉感知的其他任务也用FL进行了探索,例如轨迹预测[32]和避撞[33]。然而,这些调查通常采用不适合实时视觉的模型,或者相关但过时的机器学习(ML)模型。这使得用现代实时视觉ML模型评估FL可行性的发现适用性降低。相比之下,本研究将重点转向YOLOv7,这是YOLO(You Only Look Once)系列实时目标检测模型中的最新成员。

通过无数次的连续改进,YOLO模型在计算机视觉领域获得了显著认可,并已被广泛应用于包括自动驾驶车辆、监控系统、机器人技术在内的各种应用中[35]。此外,本研究探讨了在FL框架内应用YOLOv7,以处理源于不同地理位置和时间段车辆的自动驾驶情况数据,导致车辆遭遇异质数据。

本文的贡献可以总结如下:

  • 作者开发了FedPylot,一个基于消息解析接口(MPI)的FL原型,专门用于在高性能计算(HPC)系统上进行联邦目标检测实验,并实现了一个混合加密系统,以保护FL参与者之间的通信安全。
  • 据作者所知,作者提出了第一个针对YOLOv7的联邦框架,允许进行大规模实验。在作者的评估中,作者考虑了预测性能、推理速度和通信开销,强调局部优化,并包括服务器端动量和自定义学习率。
  • 作者在两个相关的自动驾驶数据集上展示了FedPylot,并模拟了由时空变化引起的数据异质性,同时考虑了不平衡性、概念漂移和标签分布偏斜。通过在作者的划分策略中包含两种长尾分布的类别图,作者在不同的粒度上捕捉异质性,同时考虑导航序列。

作者将FedPylot开源,希望它能对目标检测社区的联邦学习相关项目有所帮助。FedPylot保持了扩展到大量计算节点的能力,同时比高级联邦学习框架(例如,FedML [36],PySyft [37],Flower [38])更容易上手,在高级框架中集成复杂的自定义模型,比如最先进的目标检测器,可能会遇到麻烦。

本文的其余部分安排如下。第二节概述了本文中使用的基本概念和工具。

随后,第三节回顾了当前关于目标检测、联邦学习和自动驾驶交叉领域的研究文献。在第四节中,作者详细介绍了作者的联邦学习原型的理论设计。第五节专门介绍FedPylot的实现和作者的实验设置。第六节概述了作者的实验结果。最后,第七节总结了本文。

II Background

联邦学习(FL)是由McMahan等人在2016年提出的[39]。在传统的FL中,个客户端在协调服务器的帮助下,在几轮通信中参与协作训练一个共享的机器学习模型,而不透露他们各自的本 地数据集。作者假设一个水平分割,即客户端的本地数据集在数据样本上有所不同,但共享相同 的特征空间。每个本地数据集的大小由指定,其中。优化目标是最小化

其中是客户端的可能非凸的本地目标函数。在训练过程开始时,中央服务器从随机或预训练的权重初始化全局模型,并将其与客户端共享。在原始和 Baseline 算法FedAvg中,在通信轮次开始时,随机选择具有指数在中的客户端子集参与该轮次。这些客户端然后从服务器接收共享模型,并在其各自的本地数据集上使用具有局部小批量大小的随机梯度下降(SGD)进行几个周期的本地训练。中央服务器然后从每个客户端收集更新的本地模型并将它们聚合,从而产生全局模型的下一个实例

Reddi等人[40]将FedOpt形式化为FedAvg的直接泛化。在FedOpt中,不再假设客户端的本地优化器必须是SGD,并且将全局模型的更新规则重新表述为一个优化问题。假设将权重更新向量传输到服务器,后者可以聚合局部更新以形成一个_pseudo-gradient_,然后将其输入到服务器优化器中。特别是,(2)等价于

这对应于使用学习率为1的SGD作为服务器优化器。为了评估训练过程的收敛性,需要评估全局模型。可以在服务器上对单独的数据集进行服务器端的评估,或者在聚合产生的局部统计之前,在部分客户端上进行单独评估。原始的FL过程可以以多种方式进行变化,例如,个性化联邦学习(pFL)允许对共享模型进行一定程度的定制,该模型不再是所有客户端的唯一[41],而一些实现通过利用区块链实现完全去中心化,从而完全消除对中央服务器的需求[42];也可以假设一个垂直分割,其中本地数据集在特征空间上而不是样本空间上有所不同[43]。

Ii-A2 Data heterogeneity

在联邦学习(FL)中,数据在客户端之间通常是非同分布的(非IID),这可能导致训练过程中局部模型发散,以及全局模型的准确度下降。Kairouz等人[44]提出了多种数据异质性的形式,其中三种与作者的研究相关:

  • 概念漂移:对于不同的客户端,相同的标签可能具有截然不同的特征,例如,由于不同的天气条件、地点或时间尺度。
  • 标签分布偏斜:客户端之间的数据标签分布可能存在差异,例如,因为遇到某些标签的可能性与某些特定客户端的环境有关。
  • 不平衡性:存储的数据样本数量在各个客户端之间可能差异很大。

联邦学习的实践者设计了几种策略来在实验中模拟数据异质性。在图像分类中,标签偏斜被广泛研究,Dirichlet分布通常用于创建数据集的人工非IID分割[45]。相反,在诸如目标检测等任务中,数据异质性是多方面的,并且最好通过识别数据集中的自然语义分割来模拟,例如在ITS中的天气或地点。已经引入了许多流行技术来解决数据异质性问题,包括但不限于FedProx[46],它向每个局部目标函数引入了一个近端项,以增强对变量局部更新的鲁棒性;SCAFFOLD[47],它使用控制变量进行方差减少和平衡客户端漂移;以及MOON[48],它在模型层面应用对比学习,根据模型表示之间的相似性来纠正局部训练。然而,这些算法中的许多最初是为图像分类设计的,当它们被应用到更具挑战性的视觉任务时[49],可能效果不佳。其他方法更容易与目标检测兼容,作者将在下面讨论它们。基于将服务器端的SGD替换为更先进的ML优化器(如Adam[50])的策略与上述策略正交,并可以在非IID设置中改善收敛性[40]。同样,Hsu等人[45]在服务器端优化中引入了动量,创建了FedAvgM,并实证显示了在异质分布下的性能改进。在FedAvgM中,全局更新集成了一个速度项,它以由常数动量因子控制的指数衰减速率累积过去的伪梯度。FedAvgM可以通过添加一个额外的常数学习率来泛化,更新规则因此如下:

其中,取和则恢复到原始的FedAvg算法。动量也可以应用于客户端 Level ,以改善局部更新的稳定性,同时在非IID设置中保持收敛性[51, 52]。在预训练阶段之后而不是随机初始化开始联邦学习,使用服务器上可用的代理数据,也已被证明可以改善全局聚合的稳定性,并缩小与集中式学习的差距,即使数据是异质的[53, 54]。

Ii-A3 Other challenges in FL

FL引发了众多其他挑战,比如设计激励措施以鼓励拥有最大数据池的客户端参与联合过程,确保客户端之间的公平性,考虑客户端计算能力中的异质性,设计FL框架,以及限制开销。此外,尽管FL增加了隐私保护的好处,但它并非没有风险。参与其中的恶意行为者可能会通过进行模型反转和模型更新投毒等攻击,洞察原始训练数据或降低训练的完整性。诸如安全多方计算[55],同态加密[56]和差分隐私[57]等对抗技术可以帮助缓解这个问题,但可能会增加计算和通信开销或导致性能下降。

Object detection

目标检测是计算机视觉任务中的一种,模型试图在图像中检测到所有感兴趣的目标类实例,并通过边界框圈定它们的位置和空间范围[58]。在实时目标检测中,模型的推理速度对任务实现也至关重要,通常以毫秒或每秒帧数(FPS)来衡量。在过去的十年里,深度学习对目标检测产生了重大影响,现代目标检测器通常基于卷积神经网络。两阶段目标检测器,如R-CNN[59]和SPP-Net[60],首先生成区域 Proposal ,然后再将它们发送到分类模型,而单阶段目标检测器,如YOLO[61],SSD[62]和RetinaNet[63],在一次操作中定位并分类目标,通常使它们更快但准确性较低。单阶段和两阶段目标检测器通常都依赖于非最大抑制(NMS)后处理技术来过滤重叠的预测,并为给定目标仅保留最相关的边界框。近来,基于 Transformer 的目标检测器引起了兴趣,如检测 Transformer (DETRs)[64]。DETRs消除了执行端到端检测时对许多手动设计组件(如NMS)的需求,并且正在努力使它们适用于实时设置[65]。

评估目标检测器预测性能最常用的指标是由Padilla等人[66]回顾的,作者对以下内容进行了简要回顾。在阈值下,预测边界框的位置精度由与 GT 值的交叠面积与联合面积之比给出,称为交并比(IoU)

如果,则预测被认为是正确的。建立了确定检测正确性的标准后,可以得出模型的精度和召回率,其中TP、FP和FN分别代表真阳性、假阳性和假阴性。模型对类别在阈值下的平均精度是从精度召回率曲线下的面积(AUC)插值得到的。在包含个类别的数据集上评估模型的总体准确性称为平均精度均值,定义为

仅使用单一阈值来基准模型可能不令人满意。因此,通常在十个IoU阈值(从50%到95%,以5%的步长)之间平均平均精度,得到的指标简单地称为mAP。

YOLOv7

YOLOv7是YOLO系列单阶段实时目标检测器中的最新成员。在2022年7月发布时,它是5到160 FPS范围内速度最快、最准确的目标检测器,其参数数量少于表现相近的模型,并且相较于仍然广泛使用的YOLOv5 [67]有了质的飞跃。YOLOv7是从零开始在MS COCO [68]数据集上训练的,具有优化的结构和方法,称为_trainable bag-of-freebies_。这包括基于梯度流路径分析的计划重新参数化卷积,以及一种新颖的标签分配策略,同时还包含一些预先存在概念,例如将批量归一化统计直接嵌入卷积层以进行推理,将YOLOR隐含知识[69]合并到卷积层中进行加法和乘法,以及使用指数移动平均(EMA)模型作为最终推理模型。Bag-of-freebies增强了模型的训练成本和预测性能,但在推理过程中不增加延迟,这一概念在YOLOv4 [70]中已有讨论。YOLOv7还引入了架构改进,包括Extended-ELAN,这是高效层聚合网络(ELAN)[71]的一种改进变体,它可以在保留学习能力的同时无限堆叠计算块,以及一种新的基于拼接模型的复合缩放方法,该方法保持了模型的属性和最优结构。

更一般地说,YOLOv7是一个基于 Anchor 点的模型,使用特征金字塔网络(FPN)[72]。作者介绍了YOLOv7-tiny和YOLOv7,分别是为边缘和普通GPU设计的P5模型,以及为云GPU设计的P6模型YOLOv7-W6。复合缩放方法应用于YOLOv7以导出YOLOv7-X,应用于YOLOv7-W6以导出YOLOv7-E6、YOLOv7-D6、YOLOv7-E6E,其中后者用Extended-ELAN替代ELAN作为其主要计算单元。建议P5模型的训练输入分辨率为,P6模型的为。输入YOLOv7的图像在保持宽高比的同时调整到给定的输入尺寸,如有必要则应用填充。在训练期间,损失是通过将三个子函数相加来计算的,这些子函数通过预定义的增益超参数进行平衡。这些子函数衡量模型在不同目标检测问题模态下的性能。特别是,分类损失和目标性损失使用常见的二元交叉熵(BCE)损失,而边界框回归损失子函数基于完全交并比(CIoU)损失[73]。所有YOLOv7变体都使用SiLU激活函数(YOLOv7-tiny中除外,那里使用LeakyReLU),在标签分配中引入了YOLOX中的SimOTA策略[74],马赛克、混合和左右翻转增强,梯度累积,自动混合精度训练,推理时半精度,以及后处理中的NMS。

除了2D目标检测,YOLOv7还被扩展以支持姿态估计和实例分割,并提供了一个 Anchor-Free 点变体YOLOv7-AF,其基础性能与后来的版本相当或超过,包括YOLOv6 3.0 [75]和YOLOv8 [76]。YOLOv7被用作YOLOv9 [77]的基础,后者引入了可编程梯度信息(PGI)和广义高效层聚合网络(GELAN)。

III Related work

以下,作者简要回顾了先前将联邦学习(FL)应用于自动驾驶车辆中2D目标检测的工作。Rjoub等人[16]研究了在恶劣天气驾驶场景中应用原始YOLO模型的联邦实时目标检测。Chen等人[17]在通信和计算限制下,研究了车辆目标检测中的FL,采用SSD模型。Bommel[18]和后来的Rjoub等人[19]分别使用YOLOv5s和YOLOR通过主动学习方法,解决了自动驾驶车辆实时目标检测中FL数据标注稀疏的困境。Dai等人[20]提出了FLAME框架,旨在促进对自动驾驶车辆连续传输数据的在线联邦目标检测的探索,他们使用YOLOv2[78]进行了演示。Wang等人[21]设计了CarlaFLCAV,这是一个开放的FL模拟平台,支持广泛的汽车感知任务,包括使用YOLOv5进行目标检测,并解决了网络资源和道路传感器布置优化问题。Chi等人[22]利用软教师半监督目标检测框架,在给定少量精心策划的现有数据的情况下,对驾驶过程中收集的 未标注 数据进行了FL训练,使用Faster-R-CNN[79]。Rao等人[23]提出了FedWeg,一个稀疏的FL训练过程,他们在YOLOv3[80]上进行了评估,以适应车联网中的计算和通信限制。Su等人[24]提出了FedOD,一个基于多教师蒸馏的跨领域pFL框架,用于目标检测,并在自动驾驶数据集上验证了他们的 Proposal ,使用RetinaNet。最后,Kim等人[25]提出了一个名为FedSTO的两阶段训练策略,并在异构情况下处理半监督联邦目标检测,使用YOLOv5,车辆客户端的本地数据集完全 未标注 ,而标记数据仅可在中央服务器获得。

相比之下,其他研究行人将注意力转向了多模态数据。特别是,Zheng等人[26]提出了AutoFed,这是一个专门用于鸟瞰车辆检测的FL框架,其中数据异质性源于包含多种感测模式,并在几个NVIDIA Jetson TX2设备上训练了一个自定义的两阶段目标检测器,以适应激光雷达和雷达数据。Mishra等人[27]提倡一个完全去中心化的基于区块链的自动驾驶FL系统,该系统使用智能合约,在文中称为“群学习”,并在Complex-YOLOv4[81]上验证了他们的 Proposal ,用于3D点云目标检测。此外,Chi等人[28]表明,通过将基础设施纳入集群联邦过程,可以改进联邦3D目标检测,并在实验中包括了复杂的多步骤感知系统,其中从点云提取的特征图由视觉 Transformer 处理。

作者的 Proposal 与先前工作的不同之处在于,作者专注于最近实时目标检测器的联邦优化,并提出了对其性能的全面评估,同时允许在数据中心进行大规模模拟。作者详细描述在第五节C中的分割策略具有这些论文中未发现的特点。作者还提出了少数提供开放实现的工作之一。

两篇论文尝试了YOLOv8,并分别引入了FedProx+LA,一种用于解决车载网络中标签分布偏斜的FL方法,该方法在目标检测上显示出改进的性能和收敛速度[29],以及一种自适应集群FL技术,用于解决存储和带宽限制,该技术在不同天气和光照条件下对车辆检测进行了验证[30]。然而,这些工作只考虑了YOLOv8的nano版本,即最小的版本,该版本专为边缘设备设计,学习能力有限。这进一步强调了提供对更大规模FL实验支持的需要。或许与作者的 Proposal 最相似的是Jallepalli等人[31]提出的原型,据作者所知,这是唯一一个在HPC环境中针对自动驾驶进行目标检测器联邦优化的贡献。作者通过用YOLOv7替换YOLOv3,引入了更高的数据多样性,更多的客户端,现实的非独立同分布设置,更多的本地和服务器端优化配置,测量了几个模型变体的通信成本和推理速度,并且用MPI替换了基于低级socket的通信,以及用更安全的混合加密方案替换了对称Fernet加密方案,从而显著改进了先前的工作。

IV System design

几辆互联的自动驾驶车辆使用车载摄像头实时收集视频数据,同时参与使用YOLOv7架构的共享目标检测模型的联邦训练。一个服务器充当FL系统的协调器,负责收集和汇总本地模型更新、服务器端优化以及模型参数的传播。服务器拥有自己精心挑选的代表数据集,用于在每次通信回合结束时评估全局模型的质量。作者实验中使用的服务器优化器是FedAvgM(4),尽管FedPylot也支持FedAdagrad、FedAdam和FedYogi [40]。为了更准确地反映部署中模型的状态,评估是在重参化模型上进行的,该模型具有较少的参数,但保持了与基本模型相同的预测性能。一轮通信包括所有客户端共有的固定数量的本地训练纪元,且无论训练集大小如何,都使用共享的批处理大小,因此不同客户端之间的本地优化步骤可能有所不同。为了简单起见,作者假设每轮都有完全的客户端参与,训练数据标签在边缘可用,且聚合是同步的。

参与者之间的通信通过混合加密系统进行保护。它包括结合一个高效率的对称加密算法,用于加密明文,但需要发送方和接收方都有相同的对称 Key ,以及一个更实用但成本高几个数量级的公钥加密算法,仅在传输对称 Key 时用于保护其不受对手攻击。作者设计系统使得每个车辆客户端在联邦过程开始时生成一对公私钥,并立即将其公钥发送给服务器。同时,服务器在每轮开始时生成一个新的对称 Key ,并使用它来加密全局模型,然后将这两个 Key 一起传递给客户端(如图2所示),或者如果认为解耦 Key 和模型交换更实用,则分别传递。客户端可以使用这个相同的 Key 来解密全局模型并加密其本地更新。混合加密简单且适用于低延迟约束的环境。实际上,它只产生微不足道的通信开销,在作者的设置中,加密开销主要由模型训练的成本主导。然而,它仅适用于向服务器透露模型更新是可以接受的情况。如果这个条件不满足,就必须加入如第二节A3中提到的先进隐私技术。联邦过程在算法1中总结,其余细节将在下一节中介绍。

V Experiments

Prototype implementation details

V-A1 Federated simulation

V-A2 加密

用于保护联邦学习参与者之间通信的混合加密系统是使用Python的加密包实现的。 Key 封装方案基于RSA [86] 与OAEP [87] 填充方案,而数据封装则是使用256位对称 Key ,采用高级加密标准(AES)算法 [88] 与Galois/Counter Mode(GCM)[89],以及scrypt作为基于密码的 Key 派生函数[90]。AES-GCM要求在每次新加密时使用一个密码学随机数来防止重放攻击。在作者的方案中,每次数据加密时使用的12字节随机数以及创建新对称 Key 时使用的盐值,都是使用Python的secrets包生成的,以确保使用密码学上强的随机数。使用AES-GCM加密还会产生一个16字节的认证标签,可以与随机数和密文安全地一起传输,以确保消息的完整性和真实性。

Datasets

图3:nuImages训练数据的样本分布。该数据集由近500个驾驶日志组成,通过六种不同的相机获取,涵盖了广泛驾驶场景和天气条件下的图像,所有样本的大小为。数据是通过六个朝向提供车辆周围360度视角的相机获取的,有一些小重叠。这些场景取自1月至9月在波士顿和新加坡,如图3所示,包括雨、雪和夜间场景,使得nuImages比KITTI在多样性上显著增强。nuImages还包括分布在长尾分布中的23个不同类别。在作者的实验中,作者没有考虑KITTI和nuImages预定义的非标注测试集。在这两种情况下,边界框用其左上角和右下角的绝对坐标表示,因此首先需要将边界框的标注转换为YOLO格式,其中边界框用归一化的中心坐标、框宽和框高表示。

作者在两个相关的自动驾驶数据集上进行了实验:KITTI视觉基准测试套件[91]的2D目标检测子集和专门用于2D目标检测的nuScenes的扩展版本nuImages[92]。KITTI是一个开创性的且仍然广泛流行的基准,它提供同步的立体RGB图像、GPS坐标和LiDAR点云,并支持2D和3D目标检测。然而,它在天气和光照条件、位置和目标方向的数据多样性方面存在不足。KITTI的2D目标检测子集没有预存的训练/验证划分,包含7481张标注图像,最常见的尺寸为(存在一些小变化)。KITTI中包含一个_DonCare_类别,对应于未标注目标的区域,在作者的实验中被排除,因此数据集中的类别剩下八个。nuImages包含近500个不同长度的驾驶日志,并作为一个关系数据库组织,具有67279张标注的训练图像和一个独立的预定义验证集,包含16445张标注的图像。

数据划分策略

由于KITTI是一个低方差的数据集,不能轻易进行自然语义数据划分,因此它作为作者的IID设置。作者随机抽取了25%的训练数据存储在中央服务器上,而其余样本均匀分布在五个客户机之间,如图4所示。关于nuImages,作者依靠训练集中的时空元数据生成了非IID划分,以产生不平衡性、概念漂移和标签分布偏斜。服务器持有的数据集仅仅是nuImages预定义的验证数据,而训练划分的安排如下。客户机和分别接收在波士顿收集的三个月份(3月和5月、6月和7月、9月)的数据,而接收在新加坡1月和2月收集的数据。在训练集中过度代表的6月至8月的新加坡数据,分布在客户机到之间;然而,分配不是基于单个样本,而是通过随机抽样整个数据日志,从而确保基于每个导航序列特定性的最小数据异质性阈值。最后,客户机接收新加坡9月的数据。此外,作者为nuImages实现了两个类别映射,以观察数据集长尾分布对联邦优化的影响。作者称从nuScenes竞赛复制的映射结果为nuImages-10的数据集,其中只保留了十个类别,而包含所有23个类别的 Baseline 数据集称为nuImages-23。作者注意到,上述划分策略自然导致了不平衡性和标签分布偏斜,如图5和图6所示,当包含完整的長尾分布时,后者进一步加剧。特别是,在仅通过导航序列不同客户机之间,标签分布的差异只有在稀有类别上变得明显,从而说明作者的划分如何在不同的粒度水平捕捉异质性。

Design of experiments

在第一组实验中,作者将FedAvg作为基准实现。本地和服务器端的优化器均为SGD,且分别具有固定的学习率0.01和1。

第二种联邦学习方法FedOpt专注于客户端优化。服务器端优化器仍然是SGD,但作者调整了原始YOLOv7训练过程以适应联邦设置,并使用默认的微调超参数。具体来说,模型参数被分为三组:偏置、批量归一化参数以及其余应用权重衰减的参数,选择0.0005作为未缩放的的正则化常数。每个组采用自己的单周期学习率调度策略,该策略包括线性 Warm up 期后接余弦衰减退火。偏置组的学习率初始为0.1,其余两组为0,所有学习率在 Warm up 期间逐渐变为0.01,在衰减期间变为0.001。为了保持同步,作者将 Warm up 期固定为所有客户端共有的固定数量的时期(KITTI和nuImages分别为30和15)。此外,在FedOpt中,本地也应用了Nesterov动量,起始动量因子为0.8,在 Warm up 期间线性增加到0.937,之后保持恒定。作者选择不聚合本地动量,从而减少通信开销,但迫使客户端在训练轮次之间保持持久状态。对FedPylot可能的改进是实施一个附加的无状态客户端级动量变体,以支持无论参与率如何都可以使用。在上述所有情况下,作者使用了基于原始 Anchor 点的YOLOv7架构,权重在MS COCO上进行预训练,使用640的letterbox调整大小,批量大小为32,马赛克和水平翻转增强,概率分别为1.0和0.5,置信度阈值为0.001,测试数据上的NMS的IoU阈值为0.65,以及分别为边界框回归、分类和目标性损失的增益0.05、0.3和0.7。在适用的情况下,作者允许学习率和动量因子在通信轮次内变化,以适应IoV中的通信限制。本地EMA模型没有聚合,调度策略在本地保持。在150个时期的训练中,比较了FedAvg和FedOpt,以及不同长度的轮次,,而对于FedOptM,作者特别关注30轮次设置,以允许更多的服务器优化步骤。FL与默认的中心化过程进行了比较,其中模型在所有数据上未经修改地训练了150个时期。为了简单起见, Warm up 长度与联邦实验中保持相同。

VI Results

Effects of client-side optimization

集中式学习、FedAvg和FedOpt的训练损失和mAP的演变如图7所示,作者在表1中报告了每种设置下达到的最高测试准确度。

在联邦设置中,聚合的训练损失是根据每个客户根据公式(1)计算出的局部损失加权平均值导出的,而mAP是通过在中央服务器上存储的一组未见示例上,按照算法1在每一通信轮次结束时评估全局模型来测量的。先进的局部优化方案在所有异质性水平上均实现了性能的持续提升,尤其是在独立同分布(IID)设置中,改进的局部更新没有受到客户漂移的抵消。在独立同分布(IID)数据上,更长的训练轮次是有益的,但在异质设置中也没有导致退化,这归功于作者的划分策略选择和使用预训练权重。相对于集中式设置,性能下降在nulmages-23上比nulmages-10更为明显,确认了长尾分布的包含对联邦优化产生了不利影响。

Ablation on server learning rate and momentum

全网格搜索细节在图8中报告了FedOptM在学习率和服务端动量对测试准确度的影响,作者评论了相对于FedOpt在相当的通信轮数和长度下的改进。在KITTI上的训练非常稳定,它得益于更高的服务端学习率,并且mAP达到了(+1.3%)。在nulmages-10 (+0.1%)上观察到了较小的改进,但对于更异质的nulmages-23 (+0.3%),小的动量值带来了小但一致的改进。然而,选择高动量因子(如0.9)导致更新量大幅增加,这显著扰乱了训练过程,并导致了在不均匀数据上的不准确预测。FedAvg与FedOptM之间的定性比较显示在图9中。

Communication costs and inference speed

作者测量了不同YOLOv7变体在KITTI、nulmages-10和nulmages-23数据集上的测试准确度和推理速度,以及训练期间服务器-客户端通信产生的通信开销。作者考虑了三种P5模型(YOLOv7-tiny、YOLOv7、YOLOv7-X)和基本的P6模型(YOLOv7-W6),并在表2中报告了作者的发现。所使用的联邦学习算法是FedOptM,作者重用了消融实验中产生最佳性能的服务器超参数。对于YOLOv7-W6,letterbox调整大小从640px增加到1280px,而训练批次大小从32减少到8。训练持续了30个通信回合,每个回合5个周期,所有其他超参数对所有模型变体保持不变。为了便于比较,在单独的Colab环境中进行了延迟测量,与模型训练分开进行,对KITTI和nulmages的结果分别平均了20次和5次运行。与原始YOLOv7的基准测试类似,作者在V100上以批大小1的FPS测量了延迟,在重参化和模型追踪之后,但没有将模型转换为ONNX或TensorRT。仅考虑模型推理,因此不考虑预处理和后处理成本(包括NMS)。通信成本以兆字节为单位报告,精确传输服务器与客户端之间对称加密的可学习参数,在一轮中,传输次数是参与客户端的两倍。首次广播模型的全量预训练权重成本略高于表中报告的成本。在模型传输中使用半精度降低了通信开销,并且易于实现,作者将更先进的模型压缩技术的实现留作未来工作。

VII Conclusion

这展示了联邦学习实现目标检测并解决自动驾驶车辆实时处理需求的潜力。

作者的发现强调了在现实异构性约束下YOLOv7联邦优化的鲁棒性,作者希望FedPylot能够吸引进一步的研究,将最先进的目标检测带到联邦学习领域。

作者正在考虑为FedPylot进行的一些可能的未来改进包括:支持其他目标检测器、多模态感知能力、高级隐私技术、异步和低参与率配置以及模型个性化。

在这项研究中,作者提倡使用联邦学习来解决物联网中固有的隐私和可扩展性挑战。作者提出了FedPylot,一个基于MPI的客户端-服务器原型,它采用混合加密来模拟现代目标检测器在HPC系统上的联邦训练。

参考

[1].FedPylot: Navigating Federated Learning for Real-Time Object Detection in Internet of Vehicles.

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-06-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 集智书童 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • I Introduction
  • II Background
  • Ii-A2 Data heterogeneity
  • Ii-A3 Other challenges in FL
  • Object detection
  • YOLOv7
  • III Related work
  • IV System design
  • V Experiments
  • Prototype implementation details
  • V-A1 Federated simulation
    • V-A2 加密
    • Datasets
      • 数据划分策略
      • Design of experiments
      • VI Results
      • Effects of client-side optimization
      • Ablation on server learning rate and momentum
      • Communication costs and inference speed
      • VII Conclusion
      • 参考
      相关产品与服务
      联邦学习
      联邦学习(Federated Learning,FELE)是一种打破数据孤岛、释放 AI 应用潜能的分布式机器学习技术,能够让联邦学习各参与方在不披露底层数据和底层数据加密(混淆)形态的前提下,通过交换加密的机器学习中间结果实现联合建模。该产品兼顾AI应用与隐私保护,开放合作,协同性高,充分释放大数据生产力,广泛适用于金融、消费互联网等行业的业务创新场景。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档