ATCN:边缘时间序列的资源节约型处理

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

ATCN:边缘时间序列的资源节约型处理

ABSTRACT

本文介绍了一种可扩展的深度学习模型称为敏捷时态卷积神经网络(ATCN),用于在资源受限的嵌入式系统中进行高精度快速分类和时间序列预测。 ATCN是一系列紧凑网络,具有正式化的超参数,可以对模型体系结构进行应用特定的调整。它主要为具有非常有限的性能和内存的嵌入式边缘设备设计,例如可穿戴生物医学设备和实时可靠性监测系统。ATCN在主流时态卷积神经网络方面进行了根本性改进,包括残差连接以增加网络深度和准确性,并引入可分离的深度卷积以降低模型的计算复杂度。作为本研究的一部分,还介绍和评估了两个ATCN家族,即T0和T1,它们在不同范围的嵌入式处理器上进行了评估,如Cortex-M7和Cortex-A57处理器。ATCN模型与最佳InceptionTime和MiniRocket进行评估,结果显示在需要在嵌入式边缘上进行实时处理的广泛应用范围内,ATCN几乎保持了准确性,同时提高了执行时间。同时,与现有解决方案相比,ATCN是首个基于深度学习的时间序列分类器,可以在内存和计算性能有限的嵌入式微控制器(Cortex-M7)上运行,同时提供最先进的准确性

1 Introduction

深度学习算法的快速增长改变了嵌入式和网络物理系统(CPS)处理周围环境的方式,并显著提高了其在完成任务时的整体性能。时间序列分析和预测是重要应用,可以在智能物联网和嵌入式边缘设备的广泛范围内显着受益于深度学习范式。一些明显的例子包括可穿戴健康监测设备[1, 2, 3]、车载预测性维护[4, 5, 6]、机器翻译[7, 8]和智能交通系统[9, 10, 11]。这些应用都要求在具有有限计算资源的边缘设备上对时间序列进行实时准确处理。

对于大多数深度学习从业者来说,循环网络,尤其是LSTM[12]和GRU[13]这两种成熟模型,与时间序列分析是同义词,这是因为它们在序列建模问题(如机器翻译、语言处理和设备健康监测)中取得了显著的成功。这些模型基于当前和时间信息进行输出的内插,该信息是按顺序学习并在隐藏状态之间传播的。隐藏状态的传播链引发了两个主要问题[14]:1)梯度不稳定,如消失/爆炸梯度;2)由于各单元之间的现存依赖关系,并行化级别较低。

时态卷积网络(TCN)最初是基于WaveNet[15]和时延神经网络[16]的改编提出的它通过在编码器-解码器架构中编排扩张卷积来实现统一的动作分割框架。后来,Bai等人[14]设计了一种用于序列建模的通用TCN(GTCN),在时间序列和序列建模任务上优于LSTM。然而,GTCN存在两个主要缺点:1)扩张大小随着层次呈指数增加,这阻碍了网络深度的增加2)每层使用两个标准卷积,这对于资源受限的嵌入式系统来说计算成本很高

总的来说,目前缺乏高精度轻量级的深度学习解决方案,可用于对各种嵌入式应用的时间序列进行稳健处理。

本文提出了一种名为敏捷时态卷积网络(ATCN)的新颖算法解决方案,用于在嵌入式和边缘设备上实时深度学习处理时间序列[2]。ATCN提供一系列快速网络体系结构,具有各种可扩展的旋钮,满足各种设计约束。**在ATCN中,镜像谱时态卷积块(STCB)以编码器-解码器段的形式串联在一起。**在每个块中,利用残差连接加深网络,同时利用可分深度卷积来降低计算复杂度

图1展示了T0(图1(a)-1(b))和T1(图1©-1(d))与MiniRocket[17]的成对准确性-延迟关系,MiniRocket是来自UCR 2018数据集[18]的基准网络的超越技术。如第5部分详细解释的延迟是基于在Cortex-A57上运行基准测试报告的结果。在平均情况下,T0比MiniRocket快1.4倍,在30项基准测试中具有更好或相同的准确性。就准确性而言,T1和MiniRocket之间没有明显差异,但T1提高了平均6%的延迟。然而,MiniRocket无法在Cortex-M7微控制器上运行,而T0和T1可以在M7的裸机上编译和执行。我们的实验结果还表明,T0配置使MAC数和模型大小分别减少了102.38倍和16.84倍,而T1的MAC数减少了73.59倍,并且模型大小减少了14.23倍,相对于InceptionTime[19]。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

在 UCR 2018 的 70 项基准测试中,两个 ATCN 模型与 MiniRocket 进行了精确度/延迟的成对比较。

总的来说,本文的主要贡献包括:
• **提出了T0和T1作为ATCN家族网络的两个成员,其计算复杂度和模型大小都非常低。**此外,与现有技术的网络相比,T1模型的准确性差异在统计上是不显著的。
基于问题复杂性自动创建和训练不同配置的ATCN,以提高准确性。
• 在嵌入式物联网微控制器和微处理器(ARM Cortex-M7和Cortex-A57)上执行时,展示了ATCN相对于现有技术的显著优势。
本文的其余部分结构如下:第2节介绍文献综述,第3节介绍通用TCN及其架构的背景。在第4节中,我们详细介绍了时域-谱块、ATCN架构及其超参数。第5节呈现了实验结果,包括与现有方法的比较,最后第6节总结了本文。

2 Related Works

**传统的卷积神经网络主要用于计算机视觉应用,因为它们在捕捉二维框架内的空间特征方面取得了成功。**最近的研究表明,专门的卷积神经网络可以识别数据历史中的模式,以预测未来的观察结果。**这使得对时间序列预测感兴趣的研究人员可以选择超过循环神经网络(RNN)的选项,RNN被视为时间序列预测的已建立的深度神经网络。**例如,**扩张卷积(DC)已被证明在序列任务中达到了最先进的准确性。在首次使用DC的情况下,WaveNet [15]是用于合成原始音频波形的,它在准确性方面优于LSTM。**之后,Lea等人[20]提出了TCN,基于WaveNet DC的统一网络,用于基于视频的动作分割。在同一趋势中,门控DC被用于序列到序列的学习[21]。该方法在执行时间和准确性方面击败了深度LSTM。

GTCN [14]是一种用于序列建模的通用架构。**GTCN的设计基于两个主要原则:1)不应有从未来到过去的信息泄漏,2)网络应能够接收任意长度的输入,类似于RNN。由于GTCN的主要基本组件基于可变长度的DC,相比于RNN,它带来了更高的并行化和灵活的感受野。**此外,由于GTCN的梯度流与RNN的时间路径不同,它对梯度不稳定性问题更具鲁棒性

最近的方法利用了GTCN的优势或类似的架构。在[22]的工作中,他们使用了深度可分离卷积,对GTCN进行了改进,以增强时域中的语音DeepGLO [23]是另一个使用由TCN正则化的全局矩阵因式分解模型的工作,用于在高维时间序列中发现全局和局部的时间模式

InceptionTime [19]是一个由称为Inception模块的CNN块组成的集合,用于解决时间序列分类(TSC)问题。网络架构基于Inception-v4 [24]结构构建,并采用较大的卷积核尺寸,以击败如HIVE-COTE [25]等庞大复杂模型。

另一篇基于深度学习方法的研究文章,称为弹性匹配卷积神经网络(EM-CNN)[26],旨在使用匹配卷积(MConv)增强著名的视觉CNN(如Inception和ResNet),以超越时间序列分类的SotA解决方案,如HIVE-COTE。然而,它们对于资源有限的微控制器(如ARM Cortex-M系列)或嵌入式ARM Cortex-A系列微处理器来说仍然过于庞大。

HIVE-COTE和Rocket [27]都是当前被视为时间序列分类的最先进方法,它们都不使用深度学习。Rocket由线性分类器和信号转换器组成,通过将输入信号与各种随机卷积核进行卷积,将其映射为特征。要对输入进行分类,提取的特征通过线性层进行处理。MiniRocket是Rocket的一种变体,它通过减少探索空间并使用近似确定值的卷积核来最小化转换器复杂性,从而最小化训练时间并确保准确性。然而,由于其模型的非深度学习特性,它们仍然受限于缺乏标准工具和库,无法在裸机嵌入式微控制器上进行映射和执行。

除了算法设计,剪枝[28, 29, 30]、量化[31, 29, 32]和知识蒸馏[33]都是用于在受严格资源限制的边缘设备上实现和优化深度学习算法的正交压缩方法。McFly [34]是另一个独立的研究方向,它是一种蛮力算法,用于发现InceptionTime和ResNet等现有模型的超参数,以探索设计和训练调节开关,以找到最佳的网络配置。本文提出了ATCN,用于嵌入式和资源受限的硬件,以解决时间序列领域的问题,在准确性性能方面与InceptionTime相当。ATCN具有独特的编码器-解码器结构,使用深度可分离卷积和残差连接,有助于模型在不给最终硬件增添负担的情况下获得更好或类似的性能。我们在第5节通过比较ATCN和UCR时间序列数据集中的70个基准测试,对ATCN进行了测试。此外,我们报道了在运行ATCN系列时,Cortex-M7和Cortex-A57的执行概要。我们表明,ATCN在这三种情况下提高或保持了整体系统准确性,同时最小化了计算复杂性和模型大小。在接下来的部分,我们将深入研究DC的结构,为将ATCN引入第4节做准备。

3 Background: Temporal Neural Networks

GTCN是围绕两个基本原则设计的:1)卷积操作是因果性的,即预测仅基于当前和过去的信息2)网络接收任意长度的输入序列,并将其映射为相同长度的输出序列 [14]。基于第二个原则,为了将最终输出映射到任意大小,最后一个卷积层的输出可以连接到一个线性层。这增加了灵活性,允许最终的输出长度独立于输入长度。原始的因果卷积,其膨胀率为1,效率低下,因为它们的序列历史与网络深度成线性关系。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

这里的解决方案是采用扩张卷积来指数级扩大感受野,如图2所示。扩张卷积的核被拉伸以覆盖更大的输入区域。为了实现这一点,在核元素之间插入零(空位)。膨胀率定义了将在核元素之间插入的空位数量,从而确定扩大的程度。膨胀率d通常以d-1个空间表示。图2显示了应用于输入向量X = [x0,x1,x2,…,xt-1]的扩张卷积。层0的膨胀率为1,相当于标准卷积。随着深度增加,膨胀率增加到2,然后增加到4,对应的核中插入1个和3个空位。第一个膨胀率为d=1的卷积将输入向量X映射到更高的维度。然后,GTCN指数级地增加下一层的膨胀率以增加感受野。在映射到线性层之前,最小的输出序列长度可以通过计算其感受野来确定:[35]:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

其中l ∈ {1, 2, 3, …, L}是层数,k是核大小,d(l)是层l的膨胀率。**这意味着随着网络深度的增加,感受野也会增加。**对于序列X的元素s的扩张卷积F表示为:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

其中X ∈ R^n是1-D输入序列,∗d是扩张卷积运算符,f : {0, …, k-1} ∈ R是大小为k的核,d是膨胀率[14, 35]。对于需要非常大感受野的应用,**还需要在后续层中提供稳定性以解决梯度消失问题。**传统CNN架构中一种常用的技术,残差块[36]提供了一个没有任何门限函数的“高速公路”,允许信息从早期层流向最后一层。这些连接可以在图3中显示的最终GTCN架构中看到。GTCN由L个隐藏层和一个可选的线性层组成,用于将输入大小i映射到任意输出大小。为了增加网络吸收更多输入特征的能力,GTCN的每个隐藏层都有两个普通卷积和两个ReLU激活函数。在GTCN的第一个隐藏层中还可以有一个上采样单元,例如逐点卷积,将1-D输入序列映射到更高的维度,以确保逐元素加法接收相同维度的张量。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

GTCN的设计存在两个问题:1)膨胀大小的指数增长2)每层存在两个普通卷积。膨胀大小的指数增长和要求扩张卷积的输入和输出具有相同的长度,迫使网络设计者在高层上有过多的填充。此外,每层实现两个卷积块使得GTCN的计算成本非常高。在下一节中,我们通过引入ATCN架构来解决上述问题。

4 ATCN: Agile Temporal Convolutional Networks

在这一部分,我们介绍了ATCN的架构。首先,我们讨论了它的基本组件,接着详细介绍了超参数,最后呈现了ATCN架构及其模型构建器。

4.1 Network Structure

在ATCN的架构核心是一系列谱时空卷积块(STCB)每个STCB由一个逐点卷积(扩展)一个组卷积和一个逐点卷积(投影)组成。我们在图4(a)中对STCB进行了可视化。最大池化层是可选的,它允许架构师对时间信息进行下采样,以最小化计算复杂性,同时将该信息嵌入到更高或更低的维度中。当组大小及其输入通道大小相等时,STCB的极端情况下,组卷积设置为深度卷积,ATCN网络合成器将去除最大池化,并在逐元素加法和STCB输入之间添加一个跳线。ATCN的最终架构如图4(b)所示。ATCN是一个镜像残差膨胀卷积神经网络。它首先将一般为1-D的n维输入映射到更高维度的第一层,然后将数据编码到更低维度。在解码器部分,数据将再次解码到更高维度。根据最终的应用,解码器的输出可以用于回归或分类问题。接下来,我们将详细讨论STCB和网络的超参数。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

STCN 块结构(4(a))和 ATCN 结构(4(b))。每次卷积后的非线性激活和批量归一化单元未画出。带有组(深度)卷积和 MaxPooling(添加)单元的 STCB 结构见 4(a)。对于深度卷积的 STCB,由于输入尺寸和残差路径具有相同的维度,因此添加了一条跳线。在 STCB 配置中,紫色和橙色输出是点卷积的结果,黄色输出是组(深度)卷积的结果。

ATCN的第一层是标准卷积,可以选择使用最大池化来对输入进行下采样。在STCB中的标准卷积和扩展卷积之前均添加了填充单元,以确保块的输入和输出张量具有相同的大小,以满足GTCN的第2原则。填充单元通过对称添加2p个零来实现,其中p由以下公式给出:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

其中o为输出大小,i为输入大小,s为步长,k为卷积核大小,d为膨胀率。在每个卷积之后,还添加了1D批量归一化和非线性激活函数。在本文中,我们使用Swish作为激活函数

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图5(a)展示了不同激活函数在MNIST手写数字分类问题的验证损失上的表现。值得注意的是,根据应用的复杂性和可用的内存及硬件计算能力,ATCN的激活函数可以进行更改。

STCB包括扩展卷积,然后是组卷积和另一个投影卷积。扩展卷积的任务是将输入通道大小cin映射到更高或相同维度cexpout,其中cexpout = α × cin,α ≥ 1。相反,逐点投影将从组卷积中提取的特征嵌入和映射到块的输出大小cout。对于深度卷积的情况,我们将管理输入和输出连接的组设置为cexpout。对于这种情况,卷积权重的形状从(cout, cin, k)变为(cout, 1, k),其中k为卷积核大小。我们设计了网络合成器,以便在cin = cout时,自动从输入到逐点添加创建跳线。然后,将输入添加到点投影的残余输出。残余连接有助于设计者增加网络的深度,而不必担心梯度消失问题。模型合成器考虑了当选择最大池化时使用组卷积而不是深度卷积的情况。这样做的原因基于这样的观察:对于对输入进行下采样的激活最大池化单元,组卷积有助于更好地将时间信息映射到更高维度,而不会极大地增加计算复杂性和模型大小。组卷积唯一约束是它的输出通道大小cgcout应该能够被cexpout整除。两种极端的G-CNN情况分别是当group = cgcin和group = 1。在前一种情况下,组卷积是深度卷积,在后一种情况下,它是标准卷积。形式上,组卷积的权重形状为(cout, cingroup, k)。我们在图5(b)中描述了改变组值对MNIST手写数字分类问题的影响。正如我们所看到的,减小组值可以增加网络容量以最小化验证损失。

4.2 The Receptive Field of an ATCN

为了在不同网络深度下保持ATCN网络的感受野,需要调整两个参数:1) 卷积核大小2) 膨胀率。我们将在本文的其余部分详细阐述每个参数。

4.2.1 Dilation rate

对于固定的输入尺寸,如果根据GTCN架构指南增加层数,就需要指数级地增加膨胀率。这个决定将有助于网络拥有更大的感受野;然而,根据原则2,我们需要过度填充特征以确保输入和输出尺寸相同。这种不必要的填充会导致:1) 更多的计算和2) CNN性能下降。我们观察到,膨胀的线性增长将有助于具有超过六层的网络更好地表示特征。虽然膨胀率可以定义为层次数的函数,但我们在实验结果中在每个激活下采样的块之后增加了膨胀率。这个决定有助于设计一个对输入尺寸i较小的情况下的深度ATCN。

4.2.2 Kernel size

建议卷积核大小k足够大,以涵盖足够的特征上下文,以应对问题的复杂性。然而,根据方程3,降低较深层的卷积核大小是一个好的实践,以确保p不会呈指数增长。相比之下,根据方程1,如果增加膨胀率,就可以减小卷积核大小而无需考虑感受野。这个决定给嵌入式设备带来了两个关键优势:减少了1) 计算复杂度和2) 模型尺寸。类似于膨胀率,如果需要增加网络的深度以增强其容量,建议逐渐减小卷积核大小,并且膨胀率呈线性增长。我们可以在每个含有下采样单元的块之后修改这两个参数。这个决定有助于最终结构拥有足够的感受野来覆盖特征上下文,而不会增加MAC运算和模型尺寸。

4.3 ATCN Model Synthesizer

我们在图6中描述了ATCN模型合成器的输入以及其训练框架。ATCN模型合成器接收输出通道、卷积核尺寸、膨胀率、输入比率以及最终的第一个输入通道大小,以设计ATCN网络架构。模型合成器会自动配置STCBs并将它们序列化,以根据ATCN配置生成最终的网络模型,如卷积核大小和膨胀率。**模型将根据提供的数据集和训练超参数进行训练,如学习率和权重衰减。在线量化和修剪等压缩算法与ATCN模型独立,因此,合成器的训练阶段可以扩展到在训练阶段后在线或离线压缩模型。练好的ATCN模型可以导出为Open Neural Network Exchange (ONNX),这样就可以部署到嵌入式边缘设备上。**训练好的模型不能在运行时重新配置,因为需要重新进行训练阶段来微调修改后的模型。最终,ATCN的灵活性来自于模型合成器,它可以快速生成ATCN模型并配置训练框架,以缩短设计时间。接下来,我们将详细解释ATCN模型合成器的每个输入。

4.3.1 Output Channels

这是一个大小为L的向量,其中L是层数(块数)。在Cout = [c1out, c2out, …, cLout]中,通过定义每一层的输出通道clout,决定了每一层的输出通道。对于这项研究中,向量Cout中的值是降序-升序的(自编码器架构),以将特征编码为较低维度,以提取时间相关性,然后映射到更高的维度,以表示最终阶段提取的特征

4.3.2 Kernel Size

: 向量K,K = [k1, k2, …, kL] | kl ∈ N,定义了每个层的卷积核大小。根据第4.2.2节的讨论,逐渐减小k以减小模型大小和所需的计算复杂度是合适的。

4.3.3 Dilation Rates

: 向量D为D = [d1, d2, …, dL] | dl ∈ N,定义了每个层的膨胀率。与K相反,需要增加d以在更深层次获得更高或相同的感受野。

4.3.4 Input Size Ratios

: R = [r1, r2, …, rL] | 0 < rl ≤ 1,定义了输入比率。对于r<l<1, l>1的情况,ATCN模型合成器会配置带有最大池化单元的STCB块。对于l=1,r<1的情况,标准卷积后会添加最大池化;否则,标准卷积的输入和输出大小将相同。对于这项研究,rl只能被定义为1/2或1。对于其他比率,合成器可以修改以改变最大池化的步长,以满足目标比率。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

ATCN 模型合成器和训练框架。
4.4 ATCN Families

我们通过为UCR时间序列分类为T0和T1两种候选方案分配C、K、D和R的值,引入了两类ATCN系列。表1总结了T0和T1的配置,我们以降-升序的方式分配输出通道Cout,以将特征编码为较低维度,然后将其解码为更高维度,以供最终的密集层和分类器表示。由于增加了膨胀率D,我们减小了核大小K。因此,MACs和模型参数都减少了,而感受野的大小没有受到影响。**表1中为C、K、D和R的每个超参数分配的值是基于UCR 2018基准的输入特征和针对目标硬件平台的资源而考虑的。**因此,它们可以适应硬件内存,并根据可用的计算能力执行,同时与SotA时间序列分类器相比具有可比较的准确性。根据第4.2节中解释的超参数权衡,设计者可以明确增加网络容量,并将ATCN模型定义为服务器级解决方案。**表2比较了70个来自2018 UCR时间序列分类的基准的平均FLOPS和模型参数数量,这些基准在第5节中有详细解释。**由于MiniRocket不具有深度学习特性,我们无法利用标准库计算MiniRocket的MAC和FLOPS。T0配置较IT减少了102.38倍的MAC和16.84倍的模型大小。T1的MAC还减少了73.59倍,模型大小较IT减少了14.23倍。这些模型的算法准确性和训练方法在第5节有详细解释。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

5 Experimental Results

在本节中,我们通过将两种不同的ATCN系列应用于UCR时间序列分类问题来展示它们的能力。T0和T1都在ARM Cortex-M7微控制器和Cortex-A57微处理器上进行了编译和使用。我们还提供了有关RAM利用率、闪存使用情况和推理时间的报告。根据Demvsar的建议[37],我们使用了一个开源工具3来重复在[38]中解释的比较设置,以进行Friedman检验[39],并使用Holm’s alpha (5%)校正[41]的Wilcoxon符号秩检验[40]来比较每个模型在图8和图9的基准测试中的准确性和延迟。我们报告了Top-1准确率作为最终模型的准确性,并且当批处理大小为1时,延迟是输入和其分类输出之间的综合延迟。

5.1 Dataset

实验在70个基准测试上进行,这些基准测试来自UCR时间序列分类2018年的公开数据集,这些基准测试在时间长度、类别数、数据集类型和样本大小上有所变化。由于我们的文章侧重于嵌入式设备,因此我们选择了通常在边缘设备上出现的基准。因此,我们选择了类型为图像、频谱、ECG或传感器的基准,同时涵盖了广泛的输入长度和类别数。

5.1.1 Data augmentation

对于训练集大小较小的基准,例如ECGFiveDays,我们应用了四种数据增强方法:jittering [42]、magnitude warping[43]、window warping[44]和scaling。在图7中,每种方法都与观察到的信号X相关联。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

在 UCR 数据集上应用的不同数据增强方法。X 为观测信号,Xˆ 为增强数据。

5.2 Implementation details

模型使用PyTorch实现,并在Nvidia Tesla V100 GPU上使用ADAM优化器进行训练,学习率(LR)为0.001,梯度剪辑为0.25,权重衰减为0.001。当验证损失在连续八个时期停滞时,我们也会将学习率降低0.1倍。对于只有两个类别的数据集,使用二元交叉熵(BCE)损失函数,对于其他所有数据集使用交叉熵。

5.3 Execution Comparison

为了评估模型在裸机嵌入式设备上的性能,我们选择了STM32F746ZGT6作为微控制器,其具有运行频率为216 MHz的Cortex-M7和320 KB的RAM以及1 MB的闪存。网络已编译并使用STM32CubeIDE提供的网络编译器进行了8位量化。我们的目标是在M7上运行模型,而没有任何实时操作系统(RTOS)和内存管理的支持。我们在表3中比较了所有四个分类器的执行性能和硬件利用率。由于较高的RAM和闪存要求,无法执行8位量化的InceptionTime模型。此外,我们无法使用标准的Cortex-M7编译器工具将MiniRocket映射到微控制器上,因为它依赖于高性能的即时(JIT)Python编译器和线程构建块(TBB)库Numba。结果是通过在Coffee基准上进行训练的运行模型提取的。与T1配置相比,T0可以将RAM和闪存使用量分别减少7.5%和1.47%,同时将推理时间提高21.42%。由于低内存和计算资源需求,ATCN模型是唯一能够在微型微控制器上运行的模型。

**对于Cortex-A57,我们使用Ubuntu 18.04作为操作系统,具有4GB的RAM和64GB的闪存。此外,我们使用onnxruntime 1.4.0来运行全部七十个基准的ATCN ONNXes。CPU被设置为onnxruntime模块的执行引擎。**为了在A57处理器上运行MiniRocket,我们编译了LLVM 10.0.1和oneAPI TBB 2021.4,用于Aarch64架构,因为MiniRocket依赖于Numba JIT Python编译器。我们对每个基准进行了100次延迟采样,并跳过了前5次迭代作为热身,而对于超过95次迭代的平均延迟进行考虑。根据图8的结果,T0在所有七十个基准中的表现优于T1和MiniRocket。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

在 Cortex-A57 上运行 UCR 2018 七十个基准的 100 次重采样中,T0 和 T1 与 MiniRocket 的平均延迟排名。T0 的表现优于其他两个型号,在所有七十个基准测试中均排名第一。

5.4 Algorithmic Comparison

在图9中,我们展示了讨论过的分类器的临界差异图。用粗线连接的分类器表示根据Friedman检验,在统计上它们没有显著的差异。就准确性而言,MiniRocket优于T0、T1和InceptionTime;然而,从统计上看,它在准确性上与InceptionTime和T1表现相似。同样,T0、T1和InceptionTime的表现相似。图9也表明,在一些基准测试中,T0和T1的准确性相似或优于MiniRocket,因为MiniRocket并未在所有七十个基准中超越这些模型。由于T0和T1具有较低的延迟,我们需要提取帕累托最优设计,以获得在延迟和准确性方面高效的模型。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

T0、T1、InceptionTime 和 MiniRocket 的平均排名。该图表示分类器的整体平均排名,粗横线表示一组分类器在准确性方面没有显著差异。因此,T1、InceptionTime 和 MiniRocket 没有显著差异。

5.5 Pareto solutions

在这一部分中,我们基于T0、T1和MiniRocket模型的性能绘制了准确性-延迟帕累托前沿。由于InceptionTime的准确性低于MiniRocket,并且在FLOPS和模型大小指标上比T0和T1复杂,所以在本节中忽略了InceptionTime。为了确保每个模型生成有意义的结果,我们计算了帕累托前沿,并限定准确性至少为55%。这个限制可以根据应用需求进行修改。图10展示了最终的四个解决方案,为了清晰起见,我们没有展示所有144个帕累托点。为了演示这三个模型如何提供最佳实现,我们选择了DodgerLoopDay基准。我们可以看到,基于不同的准确性和延迟,三个模型可以为DodgerLoopDay生成三种不同的解决方案。表4总结了每个模型为提供总体144个最优点所做的贡献。当一个模型提供的准确性等同或高于所有其他模型,延迟更低时,我们将其分配到独特集。由模型提供的解决方案必须满足定义的约束条件,并且必须是帕累托前沿的一部分,这些解决方案构成了模型的总体集。在144个帕累托解决方案中,T0贡献了66个点,并且在15个基准测试中优于T1和MiniRocket。图10显示了Lightning2、Ham和ECGFiveDays,这些是从T0独特解决方案中选择的。正如我们所看到的,对于所有T0选择的独特解决方案,T0不仅比MiniRocket和T1准确性更好,而且速度更快。而T1和MiniRocket各自贡献了39个点,MiniRocket成功击败了T0和T1在名为RefrigerationDevices和EOGVerticalSignal的两个基准测试中。由于T0和T1在这两个基准测试中的准确性低于55%,因此T0和T1的解决方案被省略。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

T0 (+)、T1 (H) 和 MiniRocket (×) 三种模型的四个样本基准的精度-延迟帕累托前沿。T0 独特解决方案的三个示例包括 Lightning2、Ham 和 ECGFiveDays。可以看出,T0 产生的结果具有更高或同等的准确性,而其延迟时间则低于其他两种模型。因此,T1 和 MiniRockets 不属于帕累托解决方案。以 DodgerLoopDay 基准为例,所有三个模型都有帕累托解决方案。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

5.6 Architectural configuration study

**在本节中,我们将研究改变卷积核大小和通道大小的影响。**为了实现这一目标,ATCN模型Tβ被定义为每层通道大小是T1的两倍,而卷积核大小是T1的一半。由于这种配置,Tβ在模型复杂性方面比T1更高,无论是从FLOPS还是模型大小的角度来看,但仍能达到相同的准确性。表5总结了Tβ网络配置、FLOPS和参数数量。可以看出,Tβ的D和R与T1相同,但是Cβout = 2×C T1out,每个块的卷积核大小减半。尽管Tβ比T1具有更高的模型复杂性,包括FLOPS和模型大小,但图11呈现的结果显示,总体上T1和Tβ的准确性非常相似。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

**为了帮助理解这种行为,我们在图12和图13中描述了两个基准测试的输入和类激活映射(Class Activation Mapping,CAM)[45]。当模型正确分类输入信号时,通过将全局平均池化的输入乘以正确类别索引的权重矩阵,可以计算出CAM。**图12中展示的类0的激活热图,在输入信号幅度周围具有最低值。因此,对于类0,输出的概率趋近于零。然而,我们可以观察到,类1的激活热图在信号幅度周围具有最高值,这导致输出的概率为1。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

对于图13中展示的多类别分类问题,我们可以看到模型根据信号形状的细微差别进行激活。例如,T0模型(图13(a))根据在序列∼10到∼80中观察到的形式将输入分类为类0,根据在序列中间观察到的独特转变将输入分类为类1,并根据在∼70到∼150中识别到的曲线将输入分类为类2。**相比之下,Tβ模型显示出粗粒度的转变,可以在图12(f)中的序列∼20到∼60和图13(g)中的序列∼150到∼240中观察到。**这表明Tβ相比T1具有更低的感受野。由于T1具有较大的感受野,该模型能够更精确地预测类别,尽管在FLOPS和参数数量的两种形式下模型复杂性较低。

6 Conclusion

**该文章提出了ATCN(嵌入式和边缘设备上进行实时时间序列处理的新型网络)。**为了减少MAC操作和模型大小,我们引入了STCB作为主要的计算块。STCB块可以以多种配置顺序排列,构建可扩展的ATCN网络。我们还提出了一个名为ATCN Model Synthesizer的框架,用于构建不同的ATCN模型。ATCN Model Synthesizer的结果是一组具有形式化超参数的紧凑网络,允许根据应用需求进行配置和调整模型架构。通过使用模型合成器和ATCN的可重构性,我们开发了两个快速而准确的模型,T0和T1,可以在ARM Cortex-M7微控制器上执行。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

箭头数据集

对2018年UCR时间分类数据集的70个基准测试的实验结果表明,T0配置可以将MAC和模型大小分别减少102.38倍和16.84倍,相对于InceptionTime。T1的MAC减少了73.59倍,模型大小减少了14.23倍,相对于InceptionTime。此外,我们将T0和T1与MiniRocket进行了性能比较,MiniRocket是一种快速而准确的非深度学习时间序列分类器的基准。根据我们的结果,T0模型在15个基准测试中优于MiniRocket,并在144个帕累托点中提供了66个最佳解,而MiniRocket仅贡献了39个点。

102.38倍和16.84倍,相对于InceptionTime。T1的MAC减少了73.59倍,模型大小减少了14.23倍,相对于InceptionTime。此外,我们将T0和T1与MiniRocket进行了性能比较,MiniRocket是一种快速而准确的非深度学习时间序列分类器的基准。根据我们的结果,T0模型在15个基准测试中优于MiniRocket,并在144个帕累托点中提供了66个最佳解,而MiniRocket仅贡献了39个点。

References

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

爱学习的香农

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

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

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

打赏作者

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

抵扣说明:

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

余额充值