一种适用于TinyML边缘设备上的自适应城市声音分类的联邦学习方法
Athanasios Trigkas
Dimitrios Piromalis
Panagiotis Papageorgas
《Sensors》:A Federated Approach for Adaptive Urban Sound Classification on TinyML Edge Devices
Athanasios Trigkas,
Dimitrios Piromalis and
Panagiotis Papageorgas
【字体:
大
中
小
】
时间:2026年05月06日
来源:Sensors 3.5
编辑推荐:
**亮点:**
**主要发现是什么?**
一种联邦化的微型机器学习(TinyML)架构,该架构具备可在设备上进行训练的分类器头部,使得在微控制器上实现实时多类别城市声音分类,准确率从78.27%提升到了大约85%,尤其是在跨数据集的领域转换情况下。仅通过消息队列遥测传输(M
**亮点:**
**主要发现是什么?**
一种联邦化的微型机器学习(TinyML)架构,该架构具备可在设备上进行训练的分类器头部,使得在微控制器上实现实时多类别城市声音分类,准确率从78.27%提升到了大约85%,尤其是在跨数据集的领域转换情况下。仅通过消息队列遥测传输(MQTT)交换一个包含231个参数的分类器头部(约1.2kB),就支持了高效通信的协同学习。
**主要发现的含义是什么?**
微控制器级别的边缘设备可以支持自适应的实时声学系统。在保持数据局部性的同时,可以实现联邦化的协调。
**摘要:**
城市中的声音模式会随地点和时间的变化而变化,而传输原始音频会引入通信和隐私方面的问题。我们提出了一种联邦化的TinyML架构,用于在微控制器级别的边缘设备上进行实时城市声音分类。一个紧凑的音频嵌入网络作为固定特征提取器被部署,同时在设备上训练一个轻量级的分类器头部并通过MQTT进行共享,从而实现高效通信的协同学习。该系统在ESP32(Espressif Systems,中国上海)硬件上进行了评估,测试内容是从UrbanSound8K数据集转换到SONYC数据集。领域转换将基线准确率从90.39%降低到了78.27%,而通过局部适应和联邦聚合,准确率提高了大约85%,恢复了大部分性能损失。重复的聚合进一步改善了在不同数据集上的宏观F1分数和类别平衡。嵌入式测量证实了实时推理能力(每个窗口约250毫秒),且开销可以忽略不计,每次更新仅交换一个紧凑的分类器头部(约1.2kB)。这些结果表明,在资源受限的节点上可以实现自适应分类。
**1. 引言:**
城市的声音特征会随着基础设施的发展、移动趋势、季节性影响以及人类活动的变化而发生变化。此外,城市不同区域的声音也会有所不同,这取决于交通状况、社会经济条件和建成环境[1,2]。监控这些声音景观正成为智慧城市系统的一个重要组成部分,在环境噪声、公共安全和拥挤区域的人们福祉方面都有应用[1,3,4]。因此,自动城市声音分类是一项新兴技术,符合联合国可持续发展目标11(可持续城市和社区)和目标9(产业、创新和基础设施)。
如今,系统严重依赖基于云的数据收集和模型训练。虽然这种做法在受控环境下有效,但在实际应用中也会遇到限制。传输原始音频会引入通信开销和延迟,并引发隐私问题[5]。此外,这些模型往往难以适应异构环境,因为不同地点的声学特性各不相同且不断演变。城市感知系统通常是参与式的或机会主义的,异构设备会随时间加入或离开[6]。许多联邦学习方法假设客户端始终可用。但在实际应用中,设备的连接性和参与度各不相同,这可能导致训练偏向于始终在线的节点[7]。
TinyML提供了一种有前途的替代方案,它允许在低功耗嵌入式设备上直接处理音频。本地推理减少了通信需求,并限制了敏感数据的暴露,符合声学感知的隐私要求[5]。然而,大多数基于TinyML的系统仍然仅限于推理,依赖于离线训练的模型并不变地部署到边缘设备[8,9]。这种方法限制了在变化的城市环境中的适应性。
**联邦学习(FL)**是一种训练方法,多个设备通过交换模型参数来协作优化共享模型[10]。对于基于边缘的感知场景来说,FL很有吸引力,因为它可以在保持数据局部性的同时实现协同学习。然而,最近的调查指出,由于计算、内存和通信的限制,将FL应用于TinyML设备仍然具有挑战性,并且很少有研究在现实条件下展示了完整的设备上学习流程[8,11,12]。我们提出了一种用于城市声音分类的联邦化TinyML系统(图1)。一个固定的音频嵌入网络提供稳定的特征,而一个轻量级的分类器头部在设备上进行训练,从而无需重新训练整个神经网络即可实现自适应学习。
**2. 相关工作:**
本节回顾了与TinyML系统的联邦学习和设备上学习相关的技术工作,以及基于TinyML的城市音频分类在智慧城市应用中的研究,重点关注已实现的系统和实验研究。
**2.1.TinyML系统的联邦学习和设备上学习**
在TinyML背景下,人们通过限制模型大小并将设备上训练的范围限制在微控制器级别的内存和计算预算内来探索FL[12]。TinyFedTL提出了一种基于分模型设计的联邦迁移学习方法,将固定的特征提取器与轻量级的分类器头部结合起来,使得在资源受限的设备上实现协同学习[19]。该方法依赖于重复的联邦轮次,在这些轮次中仅交换和聚合分类器参数。在报告的实现中,模型权重和偏置通过有线串行接口在设备和服务器之间传输。
FL还与元学习技术结合使用,用于资源受限的设备。TinyReptile通过更新共享的模型初始化而不是聚合训练好的模型参数来实现联邦元学习。每个设备在完整网络上执行少量局部梯度步骤,服务器更新初始化,以便未来的设备可以从这个起点开始进行适应[18]。该论文讨论了用于向服务器传输更新的串行和批量客户端协调模式,但没有指定具体的通信协议。在这种设置中,学习到的初始化并不旨在代表一个稳定的特定任务模型。
最近的一项研究关注了在资源受限的物联网(IoT)设备上的FL的系统级方面,重点讨论了通信效率、能耗和在联邦执行过程中的隐私保护[20]。该研究使用小型多层感知器(MLP)在基于网关的IoT架构中对低维传感器数据进行了FL评估,其中边缘节点通过低功耗长距离通信将更新传输到中央网关。该工作专注于通过压缩、量化和通信感知聚合等技术来减少联邦协调的开销。
在与应用无关的IoT设置中也展示了基于联邦学习的设备上学习,使用浅层神经网络或小型卷积模型进行感知和回归任务[9]。由于这些模型的表示能力有限,它们通常应用于低维传感器数据和决策边界相对简单的任务。类似地,也探索了用于关键词识别的特定于音频的FL,使用小型MLP模型[21]。这证明了在资源受限条件下的可行性,但仍依赖于简单架构,限制了其对小词汇量的适用性,并且需要有线通信来进行模型更新。
除了联邦学习方法外,还研究了无需协作的本地设备上学习。TinyOL通过将一个可训练的层附加到固定的神经网络上并在设备上逐步更新它,研究了TinyML设备上的流式数据在线学习机制[22]。另一项工作证明了在严格的内存限制下,在微控制器级别设备上进行完整卷积神经网络(CNN)训练的可行性,通过专门的训练流程和内存感知的反向传播[23]。这为设备上学习提供了有趣的概念证明,但仅限于单设备训练。
**2.2.基于TinyML的城市音频分类在智慧城市应用中的应用**
TinyML技术已被应用于智慧城市应用中的城市音频分析,重点关注低功耗和嵌入式声音监控系统的部署。无基础设施的城市噪声监控系统表明,卷积音频嵌入可以在低功耗传感器节点上高效计算,并在现实城市环境中进行长期监控[24],推理结果通过低功耗广域网(LPWAN)传输。在[25]中提出了一种基于TinyML的城市噪声源分类流程,适用于环境监测和城市噪声管理等应用。其他工作关注CNN架构的设计和优化,用于城市声音检测,解决了内存和计算限制[26]。
还探索了以嵌入为中心的方法进行城市音频分类。应用了师生学习和近似技术来生成适合在资源受限的边缘设备上部署的紧凑的、特定于领域的音频嵌入[27]。除了监督分类外,还提出了基于无监督TinyML的方法来检测城市噪声模式中的异常,使用基于自动编码器的模型[28]。早期的研究在采用基于深度学习的TinyML之前,提供了关于执行时间和准确性的参考结果[29]。
**2.3. 与本工作的关系:**
所提出的系统采用了一种仅针对头部的设备上训练方法,其中轻量级分类器在固定的特征提取器基础上进行本地训练,这种方法在TinyOL中得到了演示,并在TinyFedTL中扩展到了联邦化设置。这些工作展示了在严格的内存和计算限制下进行增量学习和联邦迁移学习的可行性。然而,现有的研究通常评估的是简化的学习场景和通信设置。例如,TinyFedTL专注于二值图像分类任务,并通过串行通信与中央主机进行模型交换,而其他微控制器FL原型依赖于严格控制下的实验环境和小的词汇识别任务[21]。因此,分布式TinyML感知节点与IoT通信之间的交互并未得到广泛探索。此外,之前的工作通常在单一数据集或任务领域内评估训练和推理。
在这项工作中,仅针对头部的训练方法被应用于基于CNN的联邦TinyML架构的城市声音分类。该系统引入了基于MQTT的协调机制来支持边缘节点之间的异步通信,并评估了跨数据集转换时的模型适应能力。使用固定的嵌入是有必要的,这是由于微控制器级别的设备存在内存、计算和能源限制,因为它避免了通过整个网络进行反向传播所带来的开销,同时仍可以通过轻量级分类器头部实现适应。
与之前的联邦TinyML研究的直接比较受到任务、数据集、硬件平台和通信设置的差异限制。作为参考,TinyFedTL在Arduino Nano 33 BLE Sense(Arduino SA,瑞士Chiasso)设备上进行了评估,报告称内存使用量约为210kB,每次更新时的通信负载超过6kB,串行通信的传输时间大约为数十秒。TinyReptile在Raspberry Pi 4(Raspberry Pi Foundation,英国剑桥)和Arduino Nano 33 BLE Sense平台上进行了评估,报告的内存需求从几KB到几百KB不等,具体取决于任务。TinyOL在Arduino Nano 33 BLE Sense设备上进行了评估,但没有详细的计算测量。在这项工作中,系统在ESP32设备上进行了评估,每个窗口的推理延迟约为250毫秒,推理相关的内存使用量约为50kB的静态RAM,每次更新的通信负载约为1.2kB。
**3. 系统架构和方法论:**
所提出的系统采用分模型设计,其中基于CNN的音频嵌入网络离线训练,并使用TensorFlow Lite Micro(TFLM)(Google LLC,美国Mountain View)作为固定的特征提取器进行部署。在设备上应用本地学习,对嵌入输出进行操作,该嵌入输出使用随机梯度下降(SGD)更新逐步进行训练[19,20]。FL仅应用于分类器头部,该头部定期通过MQTT与协调服务器传输,并在那里进行聚合和重新分配。该系统支持串行和脉冲密度调制(PDM)音频输入,并使用梅尔频率倒谱系数(MFCC)进行特征提取。表1总结了所提出系统的关键配置参数。系统配置和设计参数。3.1. 边缘节点架构与设备端学习
图2展示了单个感测节点的内部架构以及在边缘部署的分模型学习流程,在该流程中,每个节点都执行音频采集、特征提取、推理和分类器更新。图2. 边缘节点处理流程。音频通过一个固定的嵌入网络转换为32维特征向量,然后由一个轻量级的可训练头部进行分类,并在设备上进行更新。箭头表示数据流动,线条和圆圈代表网络连接,符号表示处理步骤。
3.1.1. 采集与特征提取
音频以16 kHz的采样率采集,并使用连续重叠的2秒窗口进行处理。预测每0.5秒生成一次,同时保持实时声音分类以及低延迟和计算成本。每个窗口都由固定的嵌入网络处理,该网络提取MFCC特征,并使用离线训练的紧凑CNN将其映射到32维嵌入空间,这些CNN是通过Edge Impulse(位于美国加利福尼亚州圣何塞的EdgeImpulse Inc.)的TinyML工具链部署的[30]。信号处理流程的详细配置和窗口参数在第4.4节中描述。
3.1.2. 分类器头部架构
对于每个窗口,固定的嵌入模型输出一个特征向量,其维度对应于嵌入空间的维度。分类由一个轻量级的线性分类器头部执行,该头部由权重矩阵和偏置向量参数化,其中是目标声音类别的数量。类别得分计算如下:
(1)
其中是未归一化的类别得分向量,是与类别相关的得分。然后使用softmax函数将这些得分转换为类别概率:
(2)
其中是类别的预测概率,是对数的底数。预测的声音类别对应于输出的最大概率的索引。
分类器头部是从离线训练模型的最后一层初始化的。它直接使用C/C++实现,通过线性和softmax操作,允许在不需要嵌入训练运行时间或通过神经网络反向传播的情况下进行本地训练。
3.1.3. 设备端训练
分类器头部使用本地可用的标记样本进行增量训练。对于每个输入片段,固定的嵌入网络产生一个固定维度的特征向量,该向量与相应的真实标签结合,基于第3.1.2节中定义的预测类别概率,通过单次SGD步骤更新分类器参数。更新立即独立地应用于每个片段,而不需要存储之前的样本或在多个输入之间累积。
学习率控制每次标记片段后应用的参数更新幅度。因为每个片段只执行一次SGD步骤,所以它决定了每个新样本对分类器的影响程度。较大的值可以更快地适应变化,但会导致较大的参数变化,而较小的值则提供更稳定的更新。学习率可以在固件中配置,并在运行时进行调整。
一个本地计数器记录每个设备执行的更新步骤数量。它实现为一个32位无符号整数,这样可以在溢出之前进行多次更新。这个值在联合聚合过程中用于根据每个设备执行的本地训练量来加权客户端贡献。
3.2. 联合学习与协调
分布式节点之间的协作是通过仅交换分类器头部参数来实现的,而将原始音频和中间特征保留在设备端,如图3所示。为了协调节点和中央聚合器,我们使用MQTT发布-订阅协议。每个更新消息包含一个小的有效载荷,其中包含分类器权重矩阵、偏置向量以及与模型相关的本地更新步骤数量。
图3. 边缘节点之间的异步联合协调。节点通过MQTT发布分类器头部更新,使用联合平均(FedAvg)进行聚合,并重新分布为一个全局模型。箭头表示通信流,虚线分隔本地和通信阶段。根据这种方案,节点在连接可用时以最小的通信成本上传更新,服务器在重新发布之前聚合收到的模型。两个主题用于模型交换:“fed/node/”是每个节点发布其本地分类器头部的上行主题,“fed/model”是服务器用于分发聚合后的分类器头部的广播主题。
3.2.1. 启动时同步
在启动或重新连接时,每个节点订阅“fed/model”主题并开始使用其当前的分类器头部进行推理。当发布新的全局模型时,节点替换其本地参数,并从同步状态继续设备端学习。本地分类器头部定期通过“fed/node/”上传,从而在间歇性连接下实现异步参与。
3.2.2. 服务器端聚合
在服务器端,接收到的分类器头部使用基于联合平均(FedAvg)[10]的加权平均进行聚合。设表示包含在给定聚合步骤中的节点集合,表示从节点收到的头部参数。服务器计算出聚合后的全局头部,作为接收到的头部的加权平均值:
(3)
其中表示贡献于更新的本地更新步骤的数量。得到的全局头部通过相同的“fed/model”主题广播给所有订阅的节点。
4. 实验设置
本节介绍了用于评估所提出的联合TinyML系统的设置。实验遵循第3节中介绍的分模型设计,每个节点都有一个固定的嵌入网络,并且有一个轻量级的分类器头部,该头部在本地更新并通过联合聚合共享。
4.1. 嵌入式硬件平台
实验使用ESP32板作为代表微控制器级别的边缘设备进行TinyML基础的城市声音感应测试。ESP32配备了Tensilica Xtensa LX6 32位处理器,运行频率为240 MHz,片上有520 kB的SRAM和4 MB的外部SPI闪存。该平台还通过ESP-NN库提供了优化的数字信号处理,TFLM可以利用这些功能在推理过程中加速卷积操作。
选择ESP32是因为它在计算能力、内存资源和成本之间提供了实用的平衡,同时仍然能够代表受限的IoT感测节点。尽管存在更轻量级的受限平台,但本研究中使用的音频嵌入网络相对较重,不如 TinyML中的关键词检测任务所使用的网络。因此,ESP32能够在保持真实部署条件的同时实现可靠的实时推理。表2列出了ESP32的选定平台特性。连接性和运行时支持也影响了这一选择。ESP32集成了Wi-Fi,以便与聚合服务器直接通信,并原生支持FreeRTOS和ESP-IDF “esp-mqtt”客户端(版本5.5.1)用于MQTT通信。这些组件共同支持设备上的并发流式推理、高效的神经网络执行和联合模型通信。ESP32开发模块价格低廉(通常为5-10美元),适用于城市环境中大规模部署分布式声学传感器。
4.2. 数据集准备
所有实验中使用的音频嵌入模型都是使用UrbanSound8K数据集离线训练的。由于评估是在SONYC目标域上进行的,并且两个数据集之间只有一部分标签重叠,因此训练和评估局限于选定的七个类别子集:“car_horn”、“children_playing”、“dog_bark”、“engine_idling”、“jackhammer”、“siren”和“street_music”。
UrbanSound8K包含具有单一主导声音事件的短音频片段,非常适合训练TinyML的紧凑模型。在嵌入式推理中,模型通常在有限的资源下对单个主要声音事件进行分类。因此,该数据集的事件聚焦结构和短片段时长符合基于微控制器的系统的要求。UrbanSound8K中的“children_playing”类别与SONYC中更广泛的人类声音超类别(说话、喊叫、大群人)对齐。尽管SONYC没有提供特定于儿童的标签,但这两个类别都代表了公共城市环境中的声音活动。在数据集中,“children_playing”特征包括说话、喊叫和群体互动等声音表达。因此,这个类别被解释为一种通用的人类声音活动类别,这种对齐保留了关于人类活动的信息,这对于城市声音监测非常重要。
UrbanSound8K最初包含十个声音类别。由于SONYC分类法中没有可靠的对应类别,“air_conditioner”、“gun_shot”和“drilling”这三个类别被排除在本研究之外。特别是,SONYC中与钻孔相关的“rock-drill”在声学上与UrbanSound8K中的电动钻孔录音不同。将标签限制在重叠的子集有助于确保跨数据集的比较主要反映数据集之间的差异,而不是类别定义的不匹配。分类法不匹配是跨领域学习中的一个已知挑战[31],排除没有可靠对应类别的类别有助于避免负迁移,因为源领域的异常类别可能会干扰共享类别之间的特征迁移[32]。之前的工作通过将几个UrbanSound8K类别(如“engine_idling”、“jackhammer”、“drilling”和“street_music”)合并到一个更广泛的“background”或“ambient noise”类别中来解决分类法不匹配的问题,以适应特定于部署的应用[33]。虽然这种分组可以简化分类并提高稳定性,但它可能会掩盖在不同领域转换下声学相似类别之间的混淆。因此,我们在选定的子集中保留了原有的类别区分。
我们采用预定义的UrbanSound8K折叠方式来保持标准的数据集划分。然而,由于评估使用的是SONYC数据集,所有折叠都用于训练,而不是将第10个折叠保留为测试集。最终的数据集包含6358个音频片段,类别分布总结在表3中。
4.3. SONYC映射与联合分区
为了构建用于跨数据集评估和联合实验的目标域数据集,使用了SONYC数据集。与UrbanSound8K不同,SONYC提供了具有分层分类法和邻近元数据的多标签注释,这与UrbanSound8K的单标签结构不同[34]。因此,应用了确定性过滤和对齐程序来获得与先前定义的7个类别分类法兼容的子集。
4.3.1. 标签对齐到UrbanSound8K
SONYC类别被映射到本研究选定的UrbanSound8K类别子集。SONYC提供具有分层类别和注释者投票的多标签注释。我们认为,当一个类别从公民注释者那里收到至少两个正面投票时,就认为该类别存在。为了进一步减少噪声和歧义,应用了以下约束:
- 仅使用公民贡献者的注释。
- 邻近性过滤:标记为远离的片段被丢弃,以优先考虑与UrbanSound8K中的录音匹配的事件。
- 非音乐类别的单标签约束:对于所有非音乐类别,只有当恰好有一个匹配的类别达到所需的投票阈值时,才保留片段。
- 发动机限制:对于“engine_idling”类别,只保留声音较小的和中等的发动机。这减少了与重型机械的重叠,并更好地匹配典型的怠速车辆声音。
- SONYC中的音乐注释需要特殊处理,因为数据集经常包含音乐与其他城市声音源(如交通或人群噪声)共存的场景。为了与UrbanSound8K的“street_music”类别对齐,所有与音乐相关的SONYC子类型被合并为一个类别。只有当音乐构成主导超级类别时,才保留片段。这种限制去除了音乐仅是微弱组成部分的片段,同时仍然保留了足够的样本数量。结果对齐的数据集包含2986个片段,分布在七个目标类别中,如表4所示。
4.3.2. 联合式分区
对于联合实验,得到的SONYC数据集被划分为五个客户端子集和一个共享的评估集(表5)。评估集按类别采样,并在将剩余的2029个片段分布在五个客户端之前删除。这样产生的客户端分布大致是独立同分布(IID)的,而我们通过后续描述的仿真实验分别探索非IID场景。为了考虑分区的可变性,这个过程使用三个不同的随机种子重复进行,确保没有片段出现在多个子集中。
4.4. 冲动创建
在Edge Impulse中,我们配置了一个冲动来处理以16 kHz采样率采样的音频,使用2秒持续时间的固定窗口和0.5秒的步长,从而在连续推理过程中每0.5秒产生一个新的预测。MFCC特征的提取参数包括25毫秒的帧长度、20毫秒的帧步长、32个Mel滤波器、512点FFT、151的归一化窗口大小、80 Hz到奈奎斯特频率的频率范围以及0.98的预加重系数。MFCC因其能够有效捕捉城市声音分类中的复杂声学特征而被选中,在嵌入式物联网设备上,基于MFCC的CNN模型表现出了强大的性能[3,29]。根据Edge Impulse自动调优,将倒谱系数的数量从默认的13个增加到20个。增加系数数量使模型能够在保持硬件内存和运行时间限制的同时,保留更多异质声音事件的频谱细节。这一设计选择与早期研究结果一致,这些研究表明基于MFCC的特征可以捕捉城市声音环境中的复杂声学特征[2]。在脉冲设计阶段还探讨了其他技术。特别是,测试了Mel频率能量(MFE)特征作为MFCC的轻量级替代方案。实验表明,基于MFE的模型在验证准确率上相似,但推理速度稍快,计算量减少。然而,对类别预测的检查发现,对于声学相似的类别(如“儿童玩耍”和“街头音乐”),分类效果较弱。这些类别包含在城市环境中常见的背景声音,而MFCC特征能够更稳定地区分它们。因此,最终选择MFCC特征作为报告中的实验表示方法。
4.5 模型训练
音频嵌入网络由一个在MFCC特征上运行的轻量级CNN组成,如图4所示。该架构包括四个卷积层,每个层之后都跟着批量归一化和修正线性单元(ReLU)激活函数,前两个卷积层之后应用了最大池化以降低时间分辨率。这些层之后是全局平均池化和两个全连接层,第一个全连接层包含96个单元,第二个全连接层产生一个32维的嵌入表示,作为本工作中使用的轻量级分类器头的输入。图4. 音频嵌入网络架构。虚线区域表示部署的嵌入层,最终的softmax被轻量级设备上分类器头替代。箭头表示数据流;颜色区分模型组件。在训练过程中,应用了增强和正则化机制来减少过拟合。输入特征中添加了标准差为0.10的高斯噪声,而SpecAugment时间掩码在训练期间随机隐藏输入特征表示的短时间片段。卷积块和全连接层之后应用了Dropout,嵌入层之前的全连接层应用了L2权重正则化。网络使用分类交叉熵损失和Adam优化器进行了100个周期的训练。我们将初始学习率设置为0.001,批量大小设置为32。
探索了各种架构和训练配置,包括更深的卷积配置、使用Conv2D和Conv3D层的替代卷积公式以及不同的正则化设置。虽然某些配置在验证准确率上有所提升,但通常会增加推理时间或模型复杂性。因此,最终选择了能够在微控制器级边缘设备的计算限制下平衡预测性能的架构和训练配置。
4.6 模型后处理
Edge Impulse将训练好的网络作为包含特征提取和分类层的完整端到端Keras模型导出。对于嵌入式部署,默认导出的分类器模型被替换为同一训练网络的切片版本,保留了32维的中间层作为嵌入输出,采用了类似于[19,22]的方法。此后处理步骤不修改学习参数,并保留到选定的嵌入层为止的原始网络拓扑。为了支持在微控制器级硬件上的部署,嵌入模型使用Edge Impulse工具链以32位浮点数(FP32)和完全量化的8位整数(INT8)TFLM格式导出。INT8训练后的量化使用从Edge Impulse导出的MFCC训练数据执行,确保校准反映了模型训练期间看到的相同特征分布。这允许为量化推理确定适当的激活范围,并在ESP32上实现稳定的嵌入行为。嵌入网络在所有实验中保持不变,永不更新或在设备之间更换,仅作为第3.2节中描述的设备上分类器头的一致特征提取器。
4.7 嵌入式节点实现
每个边缘节点都在ESP32微控制器上使用PlatformIO(版本6.1.18)和TFLM实现。为了暴露嵌入表示以进行设备上学习,自动生成的脉冲元数据被修改,使得模型输出对应于32维嵌入层而不是原始的softmax分类器。脉冲配置被更新为定义32个占位符输出类别,允许嵌入向量通过标准推理接口返回。原始的分类器层参数被单独提取出来并用于初始化分类器头。对TFLM运行时进行了少量调整,以便在ESP32上部署。使用动态分配的张量竞技场进行的初步实验偶尔会因为堆碎片化而失败,因此将张量竞技场分配在静态DRAM中。解释器配置了静态的“AllOpsResolver”,以确保推理期间的确定性内存分配和操作符可用性。与协调服务器的通信使用ESP-IDF “esp-mqtt”客户端库进行。
4.8 基于音频流的训练和评估协议
为了确保在真实嵌入式条件下的可重复评估,训练和评估实验都使用硬件在环(HIL)管道进行,如图5所示。来自UrbanSound8K和SONYC数据集的预录音频片段在主机计算机上以WAV文件形式播放,并通过高速通用异步收发器(UART)连接流式传输到ESP32。图5. HIL评估和训练管道。主机将音频流式传输到ESP32,ESP32使用滑动窗口推理(500毫秒步长,每10秒片段20个窗口)处理音频,并将窗口聚合为片段级预测。每个标记的片段触发分类器头的更新。箭头表示数据和决策流,虚线区域表示ESP32的处理过程。所有音频文件都重采样到16 kHz的采样率,并作为序列音频切片传输到设备。ESP32缓冲传入的样本,并使用Edge Impulse连续推理API处理它们,该API应用了第4.4节中定义的相同窗口和步长配置。因此,每个音频片段生成多个推理窗口。由于单个片段会产生多个窗口,必须聚合窗口级输出以获得稳定的片段级预测。这种聚合策略遵循[35]中将帧级预测转换为片段级决策的方法。训练和评估都使用相同的流式管道。在训练期间,每个流式片段的真实类别标签被传输到设备并用于更新分类器头。在评估期间,执行相同的推理管道,但不更新分类器参数。除了监督学习外,还进行了基于伪标记和置信度阈值预测的初步实验,包括受[36]启发的变体。然而,在UrbanSound8K和SONYC之间的跨数据集域偏移下,伪标签错误偶尔会强化错误的预测,导致行为不稳定。由于这些方法没有提高性能,因此本工作的评估专注于监督学习更新。
4.9 服务器端协调和聚合
我们使用轻量级的MQTT消息传递实现服务器端协调,而消息路由由运行在服务器主机上的Eclipse Mosquitto代理(Eclipse Foundation,比利时布鲁塞尔,版本2.0.14)提供。服务器订阅来自节点的更新主题,并向参与节点发布聚合的分类器头参数。分类器头以二进制形式包含928字节,在MQTT传输前使用base64编码,每次更新的数据量约为1.2 kB。模型上传和广播使用服务质量(QoS 1)来提高在不确定Wi-Fi连接下的鲁棒性。聚合使用第3.2.2节中描述的重加权平均法进行,更新是异步处理的,没有同步的训练轮次。服务器使用Python(版本3.13)实现,并支持将本地和聚合的分类器头作为NumPy存档文件进行离线分析。它可以按需请求分类器头,并重新广播聚合模型以同步参与设备。
5. 实验评估和嵌入式性能
本节评估了在第4节描述的跨数据集设置下提出的联邦TinyML系统。性能使用总体准确率、宏F1和加权F1来衡量。早期研究表明,性能会因数据集和类别分布而异,因此单一指标不足[15,16]。在FL中,模型还必须在不同的客户端环境中表现良好[17]。因此,准确率提供了性能的总体衡量,而宏F1捕捉了每个类别的行为,加权F1反映了在真实类别分布下的性能。所有实验都使用连续流式推理和重叠窗口进行,声音事件不与片段边界对齐,反映了传感器持续运行的部署情况。窗口持续时间和步长是固定的,与第3.1.1节中描述的配置相匹配。实验在三个随机种子上重复进行,结果以平均值±标准差报告。除了在ESP32设备上进行的实验外,第5.7节还提出了基于模拟的联邦实验,以评估数据异质性和客户端可扩展性。
5.1 嵌入式推理性能
除了分类准确率外,TinyML部署还必须满足严格的延迟和内存限制。本节评估了所提出系统在ESP32平台上的嵌入式推理性能,包括推理延迟、ESP-NN加速的影响以及内存使用情况。由于感知管道以500毫秒的步长进行流式推理,系统必须比这个间隔运行得更快才能保持实时操作。以下测量结果确认,部署的模型在这些限制内运行,同时与硬件的有限资源兼容。
5.1.1 推理延迟和ESP-NN加速
推理延迟在ESP32上使用第4.4节描述的连续流式配置和从数字PDM麦克风(Adafruit PDM MEMS麦克风,Adafruit Industries,纽约)捕获的真实音频输入通过ESP32 I2S外设进行评估。为了确保稳健的连续采集,音频捕获和推理作为不同的FreeRTOS任务在不同的ESP32 CPU核心上执行。捕获任务连续记录麦克风样本并将其存储在环形缓冲区中,而推理任务在窗口可用时处理它们。这种分离防止了推理阻塞音频采样,并确保即使处理延迟超过步长间隔,传入的音频也不会丢失。表6总结了不同部署配置下的测量延迟。我们报告了两个指标:捕获间隔和总推理延迟。前者表示系统连续处理相邻推理窗口之间的有效时间,反映了在连续流式传输期间新音频数据的分析频率;在理想的实时条件下,它与配置的500毫秒步长相匹配。然而,如果推理速度慢于捕获率,系统会继续缓冲传入的音频,导致捕获间隔增加。总推理延迟对应于完成特征提取、运行神经网络推理和评估可训练分类器头所需的时间。表6. 在不同配置下ESP32上的推理和音频捕获延迟。结果显示,带有ESP-NN加速的INT8部署能够在配置的步长下保持实时流式传输。总推理延迟约为每个窗口250毫秒,这意味着推理完成的速度是所需间隔的两倍。因此,系统在保持实时操作的同时,仍有足够的能力处理其他任务或更复杂的模型。禁用ESP-NN后,INT8推理延迟显著增加到每个窗口约1.26秒,导致处理任务落后于捕获率。在这种情况下,处理窗口之间的有效间隔增加到大约1.5秒,因为系统在处理缓冲的音频。对于FP32推理,无论是否启用ESP-NN,延迟都超过了这些限制,执行时间约为每个窗口1.7秒。这表明ESP32上的浮点推理不适合实时流式传输。作为参考,Edge Impulse Studio报告INT8模型的估计执行时间为大约843毫秒,FP32模型为1252毫秒,包括特征提取和分类。虽然这些值低于我们在部署中测量的延迟,但它们提供了计算成本的近似值,并正确反映了量化推理和浮点推理之间的相对差异。特别是,Edge Impulse的估计表明,FP32推理所需的计算时间比INT8模型多大约500毫秒,这与我们在禁用ESP-NN的实验中观察到的差异一致。在所有配置中,用于设备上适应的额外分类器头部引入的可忽略不计的开销(约0.18毫秒),证实了所提出的机制实际上不会影响推理延迟。5.1.2 内存和闪存占用量我们在ESP32上使用仅进行推理的配置来评估内存使用情况,该配置排除了Wi-Fi和MQTT组件,以隔离模型执行成本。静态RAM和闪存的使用量是从PlatformIO链接器报告中获得的,而堆统计信息则是在连续流式推理后直接在设备上测量的。结果总结在表7中。表7. 推理过程中的RAM和闪存使用情况。在INT8部署中,张量区域的预留大小为20,147字节,与Edge Impulse估计的20.0 KB峰值RAM非常接近。整个固件使用了49,968字节的静态RAM,连续推理后的最小可用堆空间为177,424字节,这表明有足够的可用内存。至于闪存,使用的大小为724,469字节。对于FP32部署,张量区域的预留大小增加到51,635字节,Edge Impulse同样估计峰值RAM为50.8 KB。静态RAM增加到81,456字节,而最小可用堆空间减少到146,004字节。类似地,闪存占用量增加到917,453字节。Edge Impulse报告INT8模型的闪存大小为124.0 KB,FP32模型为284.4 KB,两者之间的差异约为160 KB。在ESP32上测量的闪存差异为192,984字节,这个差异在数量上也是一致的。分类器头部包含231个fp32参数(7个32位权重和7个偏置),总计924字节。这个组件在INT8和FP32部署中是相同的,对内存的影响可以忽略不计。5.2 嵌入式硬件上的验证为了评估不同执行环境之间的数值一致性,我们使用与离线训练相同的UrbanSound8K数据集来评估冻结的嵌入模型。所有音频片段的持续时间大约在2到4秒之间,通过连续流式推理进行处理。片段级别的预测是通过第4.8节描述的UART连接获得的。由于这个实验严格关注数值一致性而非泛化能力,因此没有进行任何适应、重新训练或联邦聚合。从Edge Impulse的结果来看,FP32部署的准确率为91.30%,加权F1分数为91.34%,宏观F1分数为90.40%。INT8部署也达到了类似的数值,准确率为91.34%,加权F1分数为91.40%,宏观F1分数为90.36%,表明由于训练后的量化处理,性能损失可以忽略不计。接下来我们在ESP32上评估嵌入模型的性能,其中INT8版本的准确率略优于FP32,达到90.39%(加权F1分数为90.42%,宏观F1分数为89.52%),而FP32的准确率则低大约一个百分点。在两种环境下,相对于Edge Impulse的偏差都保持在大约两个百分点以内。这些差异主要与连续流式处理和嵌入式执行的限制有关。表8总结了Edge Impulse评估和ESP32之间的性能差异,而图6提供了INT8预测行为的类别级视图。表8. 不同执行环境之间的准确率指标。图6. Edge Impulse和ESP32上INT8推理的行标准化混淆矩阵(%)。一致的对角线优势表明量化后类别的可分性得到了保持。在类别级别上,性能在不同执行环境之间是一致的,如INT8部署的行标准化混淆矩阵所示。“jackhammer”(97.0%)和“engine_idling”(94.8%)的召回率很高,“siren”(93.6%)和“street_music”(88.3%)的性能也很强。这些类别在ESP32上的召回率保持得相当高,而那些特征为短暂事件的类别,如“car_horn”和“siren”,则显示出适度的下降。尽管存在这些变化,没有类别出现崩溃或不稳定的情况,类别性能在两种环境下都得到了保持。5.3 在设备上适应之前的跨数据集评估在验证了执行环境之间的嵌入一致性之后,我们使用SONYC数据集评估了跨数据集的泛化能力。在ESP32上部署了在UrbanSound8K上训练的嵌入网络和分类器头部,没有进行任何设备上的学习或联邦聚合。预录制的SONYC音频片段(持续时间为10秒)通过相同的UART连接到ESP32进行流式传输。在零适应的情况下,ESP32部署在SONYC评估集(957个片段)上的准确率为78.27%,宏观F1分数为75.63%,加权F1分数为79.28%。与第5.2节中的UrbanSound8K性能(准确率为90-91%)相比,这表示性能下降了大约12-13%,反映了数据集之间的数据和类别差异。不同类别的性能有所不同。“siren”、“dog_bark”和“children_playing”的表现强劲,表明模型对具有独特声学模式的声音类别处理得很好。值得注意的是,将“children_playing”映射到SONYC中更广泛的人类声学活动表明,即使标签在数据集之间不完全匹配,模型仍能识别出相似的声音。相比之下,“engine_idling”和“car_horn”等类别的性能下降,而“street_music”和“jackhammer”则表现出更大的混淆,因为这些声音在片段之间存在显著差异。如图7所示,主导的对角结构得到了保持,但类别之间的误分类增加,反映了跨数据集的混淆。尽管所有类别相对于UrbanSound8K都有所下降,但没有一个类别完全崩溃。5.4 本地适应和联邦初始化在第5.3节的零适应评估之后,我们接下来检查单个边缘节点是否可以针对目标域进行本地适应。使用第4.3.2节中描述的相同HIL流式程序,每个ESP32设备使用其对应的SONYC分区进行一个完整的本地训练周期。分类器头部使用学习率为0.001的SGD进行在线更新。表9总结了适应前后的性能。与零适应基线的78.27%准确率相比,一个本地训练周期将准确率提高了大约3到5个百分点,设备间的准确率范围大约在80.4%到82.9%之间,显示出节点间的一致性能。对于宏观F1,我们观察到增加了大约2到4个百分点,表明这种改进是分布在各个类别上的。在这个阶段,每个节点使用自己的数据独立适应,从而形成了反映相应分区特征的个性化分类器头部。为了评估协作学习的效果,我们将五个本地适应的分类器头部使用一轮FedAvg进行聚合,得到的联邦模型的准确率为82.80 ± 0.24%,宏观F1分数为79.12 ± 0.38%,与单独适应的设备处于相同的性能范围内。值得注意的是,与评估过的模型相比,联邦模型实现了更高的宏观F1分数,表明类别平衡得到了改善。类别级别的趋势与适应前的趋势大体一致。“dog_bark”和“siren”等强类别保持稳定,而表现较弱的类别则表现出混合行为,“engine_idling”表现出持续的改进,“street_music”则相对具有挑战性,没有显示出改进。总体而言,这些结果表明,本地设备上的适应可以有效减少跨数据集的差异,而轻量级的联邦聚合可以在不损害整体性能的情况下进一步提高类别平衡。这一观察结果激发了后续章节中介绍的多轮联邦学习实验。5.5 在ESP32上进行的多轮联邦训练接下来我们评估联邦聚合的频率对适应性能的影响。使用第4.3.2节中定义的SONYC客户端分区,每个设备在其本地分区上使用SGD进行分类器头的训练,学习率为0.001,与第5.4节描述的本地适应设置类似。我们比较了三种小规模的通信计划,这些计划在每个设备上的总本地训练预算相同,但在联邦聚合发生的频率上有所不同:频繁的,每轮进行六次联邦训练和一次本地训练;基线的,每轮进行三次联邦训练和两次本地训练;稀疏的,在六次本地训练后进行一次联邦训练。所有三种计划最终都达到了类似的准确率,表明即使通信减少,联邦适应仍然有效,如图8所示。频繁计划每次轮次后的准确率为85.00 ± 0.10%,宏观F1分数为82.70 ± 0.10%;基线计划每次轮次后的准确率为85.06 ± 0.09%,宏观F1分数为82.76 ± 0.12%;稀疏计划每次轮次后的准确率为84.97 ± 0.06%,宏观F1分数为82.65 ± 0.11%。由于所有计划在每个设备上的总本地训练量相同(每次轮次六次),最终准确率的微小差异表明,这样的训练预算能够弥补不同数据集之间的性能差异。特别是,最终的基线模型与频繁计划的准确率相当,表明聚合频率对最终准确率的影响有限。然而,通过重复联邦训练观察到的略高的宏观F1分数表明,更多轮次可能会改善客户端之间的类别平衡。我们还在图8中展示了频繁配置的逐轮发展过程,从未适应的模型开始,性能在最初几轮迅速提高,然后逐渐稳定。六轮后,模型的准确率从78.27%提高到85.00 ± 0.10%,宏观F1分数从75.63%提高到82.70 ± 0.10%。图9显示了频繁配置下各类别的召回率变化,说明了轮次间类别表现的演变。随着适应的进行,不同类别的趋势各不相同。“engine_idling”的召回率显著提高,从62.5%提高到93.3 ± 0.3%,“car_horn”的召回率从52.7%提高到66.5 ± 0.8%,而“street_music”类别的召回率从72.3%下降到58.6 ± 0.0%,这可能是由于数据集中的异质性较大所致,即使在已经分离良好的类别中,如“jackhammer”,也观察到了小幅度的下降。图9. 频繁配置下各类别的召回率变化。线条显示了三次种子实验的平均召回率,阴影区域表示标准差。总体而言,ESP32的联邦结果表明,轻量级的设备上学习可以减少跨数据集的差异,尽管存在设备限制。匹配计算资源的比较进一步表明,更频繁的联邦可能会影响类别级别的行为,尽管其对最终性能的影响有限。为了评估对SONYC目标域的适应如何影响原始训练域,最终基线模型也在UrbanSound8K数据集上进行了评估。在SONYC上训练后,模型的准确率为88.37%,宏观F1分数为87.25%,加权F1分数为88.51%。与第5.2节报告的性能相比,这表示准确率降低了大约两个百分点。这表明仅头部联邦适应显著提高了目标域的性能,同时保留了从原始数据集学到的大部分结构。5.6 MQTT通信开销通过使用Paho MQTT客户端(Eclipse Foundation,比利时布鲁塞尔,版本2.1.0)产生的服务器运行时日志测量了通信开销。每个ESP32节点只传输分类器头部参数,从而产生了紧凑的消息负载。在当前实现中,二进制模型参数在传输前进行了base64编码,每次客户端更新产生的MQTT消息大小约为1.2 kB,如表10所示。表10. 联邦轮次期间的MQTT开销和协调延迟。在联邦轮次期间还记录了时间测量,以捕捉头部收集、聚合和模型分布的延迟。头部收集窗口指的是节点响应广播头部请求的时间。模型更新延迟表示从发布聚合头部到ESP32设备报告新联邦头部已应用之间的端到端延迟。5.7 基于仿真的联邦实验为了扩展ESP32实验,我们在Linux机器上使用Python实现进行了额外的联邦学习实验,其中重新使用了基于Edge Impulse POSIX平台的编译共享库(.so)中的相同Edge Impulse嵌入模型,确保特征提取与ESP32固件保持一致。在这种设置中,用于客户端分区的2029个SONYC片段被视为一个共同的训练池。分类器头部使用与ESP32中相同的暖启动参数进行初始化,并通过相同的训练程序进行更新,所有计算都在同一台机器上本地完成,无需基于UART的流式传输。联邦聚合也在本地完成,不需要网络通信。仿真遵循ESP32的基准配置,学习率为0.001,每轮通信有两个本地周期。为了考虑变异性,我们使用三种不同的随机种子重复每个配置。5.7.1 数据异质性我们首先考虑一个有五个客户端的设置,并评估数据异质性的影响。共享训练池使用IID抽样和非IID Dirichlet分割进行划分,α值分别为1.0、0.5和0.1,这是一种常用的方法,用于模拟联邦学习中客户端数据异质性的不同程度[37]。特别是,较小的α值对应于更偏斜的客户端分布,而较大的α值则产生更平衡的分割,α=0.1和α=0.5通常分别用于表示高和中等程度的异质性[38]。联邦训练进行30轮通信,每个客户端有两个本地周期,反映了ESP32的基准时间表。图10显示了不同数据划分策略下联邦轮次中平均准确率的演变。所有配置的准确率水平相似,IID在第三轮达到87.29% ± 0.05%,α=0.1达到86.73% ± 0.31%,表明对数据异质性的敏感度有限。在宏观F1分数中,这种效应更为明显,IID达到84.28% ± 0.06%,而α=0.1下降到81.75% ± 1.29%,并且种子之间的变异性更大。这种差异在早期轮次最为显著,α=0.1在第三轮时的标准差为3.31%,而IID为0.05%。这种变异性随时间减少,但性能差距仍然存在,表明非IID数据主要影响类别平衡而不是总体准确率。图10. 不同Dirichlet划分下联邦轮次的平均准确率(A)和宏观F1分数(B)。曲线显示了三个种子的平均值,阴影区域表示每轮的±标准差。5.7.2 客户端可扩展性为了检查可扩展性,我们在保持总数据集大小不变的情况下改变客户端数量,评估了在强非IID划分(α=0.1)下有5个、20个和50个客户端的配置,共30轮通信。如图11所示,增加客户端数量会导致收敛速度变慢和最终性能下降。在第三轮时,我们注意到准确率从5个客户端的86.73% ± 0.31%下降到20个客户的85.02% ± 0.61%,以及50个客户的83.49% ± 1.78%,宏观F1分数也有类似的下降趋势,从81.75% ± 1.29%下降到80.57% ± 1.09%和77.29% ± 3.11%。这种性能下降伴随着变异性的显著增加,尤其是在宏观F1分数中。图11. 强非IID划分(α=0.1)下不同客户端数量(N=5, 20, 50)的联邦轮次平均准确率(A)和宏观F1分数(B)。曲线显示了三个种子的平均值,阴影区域表示每轮的±标准差。5.7.3 类别分析为了进一步分析异质性和扩展性的影响,我们检查了联邦训练中的类别召回率。虽然全局指标(如准确率和宏观F1分数)提供了总体视图,但它们可能会隐藏特定类别的行为。表11报告了初始化时(第0轮)和30轮通信后所有类别的召回率。结果显示类别间的差异很大,“street_music”类别的下降最为明显,在IID下从87.90%下降到55.20%,在α=0.1和50个客户端的情况下进一步下降到27.60% ± 9.76%。这个类别在种子间的变异性也很高,表明它对类别不平衡和数据可用性的减少非常敏感。另一方面,“car_horn”类别在训练期间表现出一致的改进,在IID下从52.70%增加到83.80%,在α=0.1和5个客户端的情况下进一步增加到86.90% ± 2.55%。然而,随着客户端数量的增加,这种改进减少了,对于50个客户端来说下降了到58.10% ± 13.40%。表11. 在IID和非IID(α=0.1)条件下R0和R30的类别召回率(平均值±标准差,3个种子)。其他类别表现出更稳定的行为,“children_playing”在所有配置下保持高召回率,从82.80%增加到超过91%。同样,“dog_bark”基本不受影响,召回率始终在90-93%左右。“siren”在IID下仅略有下降,从92.50%下降到88.70%,在非IID设置下保持相对稳定。相比之下,“jackhammer”在非IID条件下的下降较为明显,从89.20%下降到79.70%,在50个客户端的情况下进一步下降到69.83% ± 2.80%,表明某些类别对数据分布的不均匀性更为敏感。总体而言,这些结果表明非IID数据和客户端数量的影响在很大程度上取决于具体类别。具有独特声学特征的类别保持稳健,而更具异质性的类别则受到较大影响。这种效应部分受到数据集组成的影响。例如,“children_playing”在SONYC数据集中的样本数量最多(表5),在所有配置下始终保持高召回率。相比之下,“street_music”样本数量较少,表现出性能下降和变异性。然而,样本数量本身并不能完全解释观察到的行为,因为像“dog_bark”和“siren”这样声学特征明显的类别尽管样本较少,仍保持稳定。5.8 全模型上限在进行了分割模型实验之后,我们使用Python实现了全模型联邦学习上限,以建立性能参考。这种设置消除了TinyML部署的限制,允许在训练期间更新所有模型参数,同时保留了ESP32实验中使用的数据、特征表示和联邦设置。实现使用了来自Edge Impulse的相同MFCC特征提取流程,并将其编译为共享库(.so),以及用于ESP32部署的原始Keras模型。模型推理和训练使用TensorFlow Lite Python API(Google LLC,Mountain View,CA,美国,版本2.20.0)和FP32模型进行。与典型的机器学习流程不同,MFCC特征是通过Edge Impulse流程计算的,与嵌入式实现一致。训练在剪辑级别进行,遵循与ESP32相同的逻辑。训练期间使用32个剪辑的批次,优化使用Adam算法进行,学习率为0.001,与原始模型训练和嵌入式实验一致。这种设置允许训练所有模型参数,并对整个模型应用联邦聚合。为了检查这种设置的行为,我们使用与ESP32实验相同的固定五个客户端划分,重复三次种子。联邦训练进行三轮通信,每轮有两个本地周期,与基准通信时间表匹配。表12总结了两个实验的性能指标以及选定的关键类别。总体而言,全模型设置在最终性能上优于ESP32实现。从第0轮的初始准确率79.62%和宏观F1分数77.89%开始,模型在三轮后达到88.78% ± 0.27%的准确率和86.63% ± 0.18%的宏观F1分数,提高了大约9个百分点,比仅使用分类器头部的设置高出约3-4个百分点。全模型设置提高了性能,同时使类别间的行为更加稳定。尽管准确率的提高幅度适中,但结果表明类别间的性能分布更加均匀。表12. ESP32与全模型在R0和R3的比较(准确率,宏观F1分数,类别召回率;平均值±标准差,3个种子)。特别是对于“street_music”类别,两种情况下训练后性能都有所下降,但在仅使用分类器头部的情况下下降更为明显,而在全模型设置中仍接近第0轮的水平(78.7% ± 1.6%)。对于“engine_idling”类别也观察到了类似的模式,两种情况下性能都有所提高,但ESP32设置下的提高更为显著,而全模型设置下的变化较为温和。同时,“car_horn”在全模型设置下表现出了显著的提高,训练后召回率很高。其余类别,包括“dog_bark”、“siren”和“children_playing”,在两种方法下表现出更一致的行为。6. 讨论结果表明,所提出的架构仅使用直接在设备上训练的轻量级线性分类器头部就可以适应领域变化。这表明稳定的嵌入表示可以通过最小的参数更新来支持部署后的适应,这对于资源受限的嵌入式设备尤其有利。跨数据集的评估说明了这种机制在不同部署条件下的相关性。数据集在记录流程、注释程序和声学环境方面存在差异,反映了在城市感测位置遇到的变化。虽然评估仅限于五个客户端和一个跨数据集设置,但它捕捉了嵌入式城市感测场景中领域变化的关键方面。在适应之前的性能下降以及通过本地和联邦更新实现的恢复突显了在动态环境中部署后学习的重要性。联邦聚合进一步提高了分布式节点的稳定性。虽然本地训练使每个模型适应其客户端数据,但重复聚合有助于在类别间重新分配决策边界,并在客户端观察到异质数据分布时改善类别平衡。仿真结果表明,所提出的方法在非IID数据分布下仍然稳健,尽管对总体准确率的影响有限,但增加客户端数量似乎会减慢收敛速度并导致性能显著下降。这些效应表明,非IID数据和更多的客户端数量可能会不同比例地影响某些类别。与全模型上限的比较表明了效率和性能之间的权衡。虽然全模型训练实现了更高的准确率和更一致的类别行为,但总体改进相对较小,这使得仅使用分类器头部的方法成为资源受限部署的实用选择,因为它具有显著较低的计算和通信要求。对个别类别的进一步检查提供了关于这些效应在模拟和嵌入式设置中的更多见解。例如,“dog_bark”和“children_playing”类别始终表现强劲,而“siren”仅略有下降,表明其对领域变化和数据异质性的相对稳健性。相比之下,“street_music”在仅使用分类器头部的适应下表现出明显的性能下降,而在全模型设置下则得到了更好的保持,表明仅更新分类器头部时该类别的混淆度增加。“car_horn”在仅使用分类器头部的情况下开始时性能较低,但在训练后显著提高,很可能是因为其短暂且独特的声学事件可以在单独的推理窗口内捕获并在适应过程中得到加强。另一方面,“engine_idling”在仅使用分类器头部的适应下表现出显著提高,而在全模型设置下获得了更温和的提高,这可能是由于其更为均匀的声学结构和数据集中的样本数量较多。这些观察表明,类别级别的性能不仅取决于数据分布,还取决于声音事件的声学特征,而且更复杂的适应机制可能对不那么明显的类别表现更好。嵌入式测量还确认了该架构适用于微控制器部署。分类器头部引入的内存开销可以忽略不计,而量化加速推理使得在ESP32平台的限制内能够进行连续的流式操作。结合较小的通信负载,这些特性可能表明它适用于带宽和设备资源有限的分布式感测网络,例如LoRaWAN或NB-IoT。由于每个联邦更新只包含分类器头部参数,因此通信需求较小。较小的负载还可以减少电池供电传感器无线传输所需的能量,尽管没有详细评估功耗和能量效率。挑战和未来研究能耗是实际部署在电池供电的边缘设备上的主要考虑因素。尽管所提出的系统在设计上在计算和通信方面都很轻量级,但本研究中没有明确测量能耗。特别是,每次推理和每次通信的能耗没有量化。详细评估功耗及其与通信频率以及设备上训练的关系是未来工作的重要方向。在嵌入式硬件上的评估仅限于少量的ESP32客户端和单个跨数据集设置,这可能限制了通用性。尽管仿真实验将分析范围扩展到了更大的客户群体和非独立同分布(non-IID)数据分布,但在未来的工作中仍需进一步研究现实世界的可扩展性和通信动态。在本研究中,性能评估依赖于手动标注的样本,这可能会限制在没有现成标注数据的部署环境中的适用性。在实际的智慧城场景中,可以通过交通计数器、雷达探测器或运动传感器等间接获取监督数据,这些设备可以确认声音事件。这些信号可以实现分类器的逐步更新,并支持自主的长期适应。我们使用了一种基于FedAvg的聚合方案,而其他旨在提高异构数据分布下鲁棒性的联合优化方法(如FedProx [39] 或 SCAFFOLD [40])则留待未来的研究。虽然没有实现自训练,但所提出的更新机制可以与半监督方法兼容。自训练方法使用高置信度的伪标签迭代重新训练模型[41],而FixMatch等方法证明了伪标签可以有效利用未标注的数据[36]。由于我们的方法仅更新一个紧凑的线性分类头,同时保持共享嵌入不变,因此与全网络训练相比,它限制了参数漂移,可能支持更稳定的分布式适应。
7. 结论
本文提出了一种用于微控制器级边缘节点的城市声音分类的联邦TinyML架构,该架构旨在在不集中原始音频的情况下,在异构和不断变化的城市声音条件下保持准确性。一个固定的嵌入网络提供稳定的特征,而一个轻量级的线性softmax分类头在设备上进行训练,并通过MQTT作为紧凑的参数更新进行共享。主要结果如下:
- 泛化能力:从UrbanSound8K到SONYC的跨数据集迁移使准确率从90.39%下降到78.27%,凸显了领域转换的影响。
- 设备上的适应:本地训练将准确率提高到约82%(宏观F1值为78%),而五个节点之间的联合聚合进一步提高性能,达到约85%的准确率(宏观F1值为83%)。
- 实时嵌入式可行性:INT8部署每个窗口的推理延迟约为250毫秒,使得在ESP32上以500毫秒的间隔实现连续推理成为可能。
- 最小通信开销:每次更新仅交换231个参数的分类头,数据量约为1.2千字节。
- 可扩展性和异构性影响:在非独立同分布条件下,性能保持稳定,但会受到参与设备数量的影响,更大的客户群体会降低最终准确率。
- 全模型比较:在全模型设置中,我们观察到略微更高的准确率,这似乎是因为类别分布更加均匀。
生物通微信公众号
生物通新浪微博
今日动态 |
人才市场 |
新技术专栏 |
中国科学人 |
云展台 |
BioHot |
云讲堂直播 |
会展中心 |
特价专栏 |
技术快讯 |
免费试用
版权所有 生物通
Copyright© eBiotrade.com, All Rights Reserved
联系信箱:
粤ICP备09063491号