《Knowledge-Based Systems》:LightRNN: A lightweight recurrent neural network for edge computing
编辑推荐:
•LightRNN在循环分类之前会对序列进行压缩处理。•SSPU通过基于相似度的特征分组来减少循环处理步骤。•自适应粒度设置有助于在准确性与计算成本之间取得平衡。•实验涵盖了文本分类和UEA时间序列分类任务。•在树莓派上的测试证明了该模型在资源受限的边缘设备上的适用性。引言边缘计
- •
LightRNN在循环分类之前会对序列进行压缩处理。
- •
SSPU通过基于相似度的特征分组来减少循环处理步骤。
- •
自适应粒度设置有助于在准确性与计算成本之间取得平衡。
- •
实验涵盖了文本分类和UEA时间序列分类任务。
- •
在树莓派上的测试证明了该模型在资源受限的边缘设备上的适用性。
引言
边缘计算作为一种重要的计算范式,能够在数据产生的附近对其进行处理。通过减少对云服务器的依赖,边缘计算能够降低通信延迟、提升隐私保护水平,并在资源受限的环境中支持实时决策制定[1]、[2]。然而,边缘设备通常具有有限的内存、计算能力、存储容量以及能源供应[3]、[4]。这些限制使得人们需要开发出能在使用更少计算资源的同时仍保持可靠性能的机器学习模型。
序列分类是边缘计算场景中常见的学习任务,应用范围包括设备端的文本分类、传感器信号识别、可穿戴设备监测以及轻量级时间序列分类[5]、[6]、[7]、[8]。循环神经网络,尤其是长短期记忆网络[9]和门控循环单元[10],由于能够通过循环隐藏状态来建模时间依赖性,因此被广泛用于处理序列数据。不过,它们的门控结构以及逐步骤的循环计算方式会带来较高的训练成本、推理延迟以及内存开销[11]、[12]。当输入序列较长,或者模型需要在硬件资源有限的设备上运行时,这些问题会变得更加突出。
提升序列模型效率的一种直接方法就是简化循环转换过程或减少不必要的循环计算。基于跳过的循环模型能够在资源受限的情况下通过选择性更新隐藏状态来减少计算量,从而以牺牲预测质量为代价来降低推理成本[13]。更广义地说,基于预算约束的神经架构方法能够在明确的时间或内存限制条件下优化模型性能[14]。近期的轻量级循环模型,如minLSTM和minGRU,通过去除或简化门控操作来简化传统的门控循环单元[15]。其他高效的序列模型,如SRU以及包括Mamba在内的状态空间模型,则通过更并行或结构化的序列建模方式来提升计算效率[16]、[17]。这些方法为高效序列学习带来了重要进展。不过,其中很多方法主要侧重于修改循环结构或序列建模的核心部分。对于分类任务而言,另一个导致计算冗余的因素是并非每个时间步都对最终决策有同等的影响。因此,用相同的循环处理方式处理所有序列元素可能会在那些信息量较低或冗余的特征上浪费计算资源。
这一观察促使人们采用另一种提升效率的策略:在循环处理之前先缩短有效序列长度。在许多序列分类任务中,与类别相关的模式会体现在特征空间的相似度结构中。文本样本可能包含具有区分性的单词或短语,而时间序列样本则可能包含特定的局部模式或信号片段。如果能够在将这些与任务相关的特征传递给循环分类器之前对其进行了分组和压缩,那么循环模块就可以在更短且信息量更高的表示上进行运算,这样既能够减少循环计算量,又能保留用于分类的区分性信息。
基于这一思路,我们提出了LightRNN,这是一种专为资源受限的边缘计算环境中的高效序列分类而设计的轻量级循环架构。LightRNN的核心组件是序列相似度处理单元SSPU,它会在循环处理之前通过相似度引导进行特征分组和压缩。具体而言,SSPU会计算序列元素与参考表示之间的相似度,将序列元素按相似度划分到不同的组中,然后再将这些元素聚合为压缩后的序列表示。之后,这个压缩后的表示会由轻量级循环分类器进行处理。通过这种方式,LightRNN不仅仅是简化了循环转换过程,还减少了有效的循环步骤数。这一设计使得LightRNN有别于那些通常旨在增强上下文表示的传统注意力机制[18],也不同于那些主要侧重于简化循环单元本身的轻量级循环模型。
为了避免依赖固定的压缩方式,LightRNN还为SSPU引入了动态粒度调度机制。该调度机制可以控制训练过程中的相似度分组数量,使模型能够从相对细粒度的表示开始,逐步过渡到更为紧凑的、针对特定任务的表示形式。这一机制有助于在分类性能与计算效率之间实现平衡。在本研究中,该粒度调度机制被视为一种可插入的工程组件,而非基于认知或生物学原理的模型。用户可以选择不同的调度函数,默认设置则是根据实际测试性能来确定的。
我们在文本分类和非文本时间序列分类任务上对LightRNN进行了测试。实验涉及两个文本数据集以及七个UEA时间序列分类数据集。我们将LightRNN与传统的循环神经网络以及LSTM、GRU、minLSTM、minGRU、SRU和Mamba等具有代表性的高效序列模型进行了比较。评估指标不仅包括分类准确率,还包括训练时间、推理时间、CPU/GPU内存使用情况、FLOPs值以及E分数。此外,我们还对SSPU的额外开销进行了分析,开展了组件级消融实验、粒度调度策略的消融研究,并在树莓派4 Model B设备上进行了实际部署测试。实验结果表明,LightRNN在准确率与效率之间取得了良好的平衡,非常适合在资源受限的边缘设备上进行推理。
本文的主要贡献如下:
- •
我们提出了LightRNN,这是一种轻量级循环架构,通过在循环处理之前缩短有效序列长度,从而提升了序列分类的效率。
- •
我们设计了序列相似度处理单元SSPU,它能够通过相似度引导进行特征分组和压缩,同时通过动态粒度机制来平衡任务性能与计算成本。
- •
我们在文本分类和UEA时间序列分类数据集上对LightRNN进行了测试,将其与传统的循环神经网络以及其他高效序列模型进行了对比,同时通过树莓派部署验证了其在实际边缘设备上的适用性。
章节要点
面向边缘计算的高效序列分类
序列分类是许多边缘计算应用中的重要任务,比如设备端的文本分析、基于传感器的活动识别、生理信号监测以及轻量级时间序列分类等。在这些应用场景中,模型需要在有限的内存、计算能力、存储空间和能源供应条件下依然能够提供可靠的预测结果。传统的机器学习方法,如支持向量机、逻辑回归、词袋模型以及TF-IDF算法
方法论
本节介绍了所提出的LightRNN架构。LightRNN的核心目标是通过在循环处理之前压缩输入序列,从而减轻循环序列分类的计算负担。它不会将所有的时间步都输入到门控循环单元中,而是首先根据序列元素与序列级参考向量的相似度对它们进行分组,然后再将这些元素聚合为更简短的、与任务相关的表示形式。经过压缩后的序列
实验部分
本节旨在评估LightRNN在资源受限的序列分类任务中的有效性、效率以及实际部署可行性。这些实验是为了回答以下研究问题而设计的:
- •
问题1:LightRNN是否能在文本类和非文本类的序列分类任务中保持具有竞争力的分类准确率?
- •
问题2:与传统的循环神经网络相比,LightRNN能否降低训练和推理成本?
- •
问题3:与其它模型相比,LightRNN的表现如何?
讨论
实验结果表明,LightRNN在资源受限的序列分类任务中实现了良好的准确率与效率平衡。通过引入序列相似度处理单元SSPU,LightRNN能够在循环处理之前将原始输入压缩为基于相似度的较短表示形式,从而减少有效的循环步骤数。再加上简化的循环转换过程,这一设计大大降低了训练时间与推理延迟,
CRediT作者贡献说明
夏伟豪:论文撰写——初稿编写、软件开发、方法设计、实验研究、数据整理、概念构思。王华川:论文撰写——审阅与编辑、项目监督、项目管理、方法设计。马俊龙:可视化处理、数据整理。邱晨:模型验证、软件开发。吴国强:数据整理。王平:可视化处理。吴永凌:资源协调。罗詹姆斯:概念构思。
利益冲突声明
作者声明,他们不存在任何可能影响本文研究结果的已知财务利益冲突或个人关系。
Weihao Xia|Huachuan Wang|Junlong Ma|Chen Qiu|Guoqiang Wu|Ping Wang|Yongling Wu|James Lo