TinyTNAS: 不依赖GPU的、有时间限制的、硬件感知的神经架构搜索,用于TinyML时间序列分类

这篇论文的标题是《TinyTNAS: GPU-Free, Time-Bound, Hardware-Aware Neural Architecture Search for TinyML Time Series Classification》,作者是印度理工学院(Indian Institute of Technology Kharagpur)的Bidyut Saha, Riya Samanta, Soumya K. Ghosh, 和 Ram Babu Roy。以下是该论文的主要内容概述:

摘要

  • 提出了TinyTNAS,这是一种针对TinyML时间序列分类的新型硬件感知多目标神经架构搜索(NAS)工具。
  • TinyTNAS与传统依赖GPU的NAS方法不同,它能够在CPU上高效运行,适用于更广泛的应用场景。
  • 用户可以定义RAM、FLASH和MAC操作的约束,以在这些参数内发现最优的神经网络架构。
  • 支持时间限制搜索,确保在用户指定的时间内找到最佳模型。
  • 通过在多个基准数据集上的实验,展示了TinyTNAS在显著降低RAM、FLASH、MAC使用和延迟的同时,保持了优越的准确性。

引言

  • 讨论了神经架构搜索(NAS)的优势,包括自动化设计神经网络架构,节省手动设计所需的时间和专家努力。
  • 传统NAS方法依赖于大量的计算资源,主要是GPU,这对需要快速部署或在硬件约束下运行的应用来说是不切实际的。
  • 介绍了硬件感知NAS方法,这些方法将硬件参数(如内存使用、计算复杂性、功耗)整合到架构搜索过程中。

NAS是神经架构搜索(Neural Architecture Search)的缩写,这是一种自动化设计神经网络架构的方法。在传统的机器学习或深度学习项目中,设计一个高效的神经网络架构通常需要大量的专业知识和实验。而NAS通过搜索和评估大量可能的网络架构,自动寻找到对于特定任务最优的网络设计。

相关工作

  • 回顾了NAS的发展,包括传统NAS方法和硬件感知NAS(HW NAS)。
  • 讨论了TinyML领域的最新进展,包括MCUNet和MicroNets等工具。

TinyTNAS

  • 搜索空间:介绍了TinyTNAS使用的cell-wise搜索空间,以及如何通过用户定义的硬件限制(RAM、FLASH、MAC)来约束生成的模型。
  • 搜索算法:详细描述了TinyTNAS的搜索算法,它使用网格搜索方法的变体,优化了k(第一层1D卷积层的滤波器数量)和c(重复块的数量)两个维度。

TinyTNAS是一种专为TinyML时间序列分类设计的硬件感知多目标神经架构搜索(NAS)工具。这一工具与传统的依赖于GPU资源的NAS方法不同,它能够在CPU上高效运行,使得在资源受限的环境中也能进行神经网络架构的搜索和优化。以下是TinyTNAS的详细介绍:

3.1 搜索空间

TinyTNAS使用的搜索空间基于cell-wise策略,其中每个候选的神经网络架构遵循特定的模板。这个模板包括:

  • 起始层:一个深度可分离的一维卷积层(Depthwise Separable 1D Convolutional layer),具有步长为1、核大小为3的卷积核,以及k数量的卷积核,使用ReLU激活函数。
  • 重复块:可能重复0到c次的块,c是可能的最大MaxPooling1D层数,这些层根据数据集的输入形状进行自适应。
  • 全局平均池化层(GlobalAveragePooling1D layer)。
  • 前密集层(Dense layer with ReLU activation),包含kc+1个神经元。
  • 分类器层:一个与类别数对应的密集层(Dense neurons)和softmax激活函数。

重复块结构以MaxPooling1D开始,接着是深度可分离的一维卷积层,核大小为3,步长为1,使用ReLU激活函数,并且滤波器大小ki遵循增长模式,即ki = 1.5×ki−1,从k1 = 1.5×k开始。搜索空间受到用户定义的RAM、FLASH和MAC硬件限制的约束。

3.2 搜索算法

TinyTNAS的搜索算法专注于在CPU上高效运行,避免使用GPU,并在合理的时间内生成架构。因此,它避免了使用强化学习或进化算法,而是采用了网格搜索方法的变体。用户可以定义RAM、FLASH和MAC操作的约束,以发现满足这些参数的最优神经网络架构。此外,TinyTNAS允许有时间限制的搜索,确保在用户指定的时间内找到最佳可能的模型。

搜索算法优化两个维度来找到最优架构:k和c。这里,k代表第一层深度可分离的1D卷积层中的滤波器数量,而c是重复块的数量。算法通过通常加倍k并保持c不变(除非连续探索的架构中准确度下降)来减少计算需求。对于详细的搜索算法工作流程,可以参考论文中的算法描述。

3.3 实现细节
  • 模型构建:基于用户定义的硬件限制(如RAM、FLASH和MAC操作),TinyTNAS使用TensorFlow Lite进行模型优化,并使用MLTR库估算资源需求。
  • 训练策略:候选架构直接在完整的目标数据集上训练四个周期。用户可以调整这个值:增加它将需要更多的搜索时间,但可能会产生更好的决策;减少它将减少搜索时间,但可能导致次优决策。

TinyTNAS通过其创新的搜索策略,有效地在资源受限的TinyML应用中优化神经网络架构,确保了效率和高性能。

实验

  • 使用了五个基准数据集进行实验,包括UCI HAR、PAMAP2、WISDM、MIT-BIH和PTB Diagnostic ECG数据库。
  • 介绍了生成的架构的规格,包括在20 KB RAM、64 KB FLASH内存、60K MAC操作和10分钟搜索时间的约束下运行。
  • 与现有最先进(SOTA)方法进行了比较,包括在ESP32和Nano BLE Sense等低功耗MCU上的部署和延迟评估。

结论

  • TinyTNAS有效地将NAS与TinyML结合起来,特别是在资源受限设备上的时间序列分类任务。
  • 通过优化的网格搜索方法,TinyTNAS在CPU上高效运行,显著减少了RAM、FLASH内存、延迟和MAC操作,同时保持了SOTA的准确性。

代码

  • 提供了TinyTNAS的GitHub代码库链接。

论文还包含了一些算法伪代码,详细描述了TinyTNAS的主要模块、状态更新、可行性检查、模型构建和深度探索的过程。此外,论文还提供了在不同数据集上使用TinyTNAS生成的模型的准确性和资源需求的详细比较表。

  • 12
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

神一样的老师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值