基于双重注意力机制改进的DA-LSTM时间序列预测模型

2023-03-15 08:47李克文于明洋
计算机应用与软件 2023年2期
关键词:隐层注意力机制

李克文 于明洋

(中国石油大学(华东)计算机科学与技术学院 山东 青岛 266580)

0 引 言

在预测任务中有一类数据以时间为索引按照发生先后顺序进行排列,被称为时序数据,以时序数据为输入进行预测可以更好地利用现有信息进行分析和决策。时间序列预测广泛地应用在包括但不限于,临床医学[1]、金融预测[2]、交通流量预测[3]和人类行为预测[4]等领域。不同于其他预测建模任务,时间序列数据间的序列依赖性增加了其复杂程度,因此如何充分利用复杂的序列依赖关系,为实际序列预测任务建立合适的预测模型是一个关键问题。

近年来,深度学习的方法和技术已经成功地应用于现实世界中各种具有挑战性的预测问题,其中就包括时间序列预测[5-8]。对于时间序列预测问题中的噪声和混乱性质,深度学习可以有效处理并实现更精确的预测。其中长短期记忆(LSTM)网络是目前最流行、最有效、应用最广泛的深度学习技术[9],它所具有的长短期记忆能力使其在时间序列预测领域中预测精度获得了显著提高,与传统统计方法、机器学习方法甚至其他深度学习方法相比,LSTM都表现出最优的预测性能[10-13]。尽管如此LSTM也有它的弊端,例如,大量的权重和偏置参数需要优化,当输入的时间序列较长时,LSTM容易出现训练缓慢、难收敛等问题。

近年来,注意力模型越来越多地应用于深度学习的各个领域。注意力机制可以通俗地解释为,人类通过视觉获取的信息往往不会获得同等的关注度,正相反会选择性地将注意力集中在某些部分,这是由于人类对信息的处理能力有限,因此会优先关注有吸引力的部分而忽略掉其余部分,这有助于在有限的信息处理能力下,快速有效地获取有用信息。注意力机制的加入可以大大减少高维输入带来的计算负担,同时也有助于模型快速找到和学习关键特征,进而提升模型性能[14]。其在直观性、通用性以及可解释性上的优秀表现使得注意力机制的相关研究十分活跃,广泛应用于机器翻译、图像描述生成等领域。

针对LSTM存在的训练速度较慢、难收敛的问题,受认知神经科学的启发,本文将注意力机制引入LSTM,提出了一种基于双重注意力机制改进的DA-LSTM时间序列预测模型。通过添加注意力门和自注意力层来加快训练速度,提高预测精度。最后通过实验对所提出模型进行验证。

1 相关工作

关于时间序列预测的研究最早开始于基于回归的方法,Yule[15]利用回归方程通过数据分析预测了一年中太阳黑子的数量;直至自回归移动平均模型(ARMA)和自回归综合移动平均模型(ARIMA)被提出,标志着基于回归方法的时间序列预测建模走向成熟,同时也成为了时间序列预测中最基本、最重要的模型。事实上受限于实际数据的高度复杂性、不规则性、随机性和非线性等特点,基于回归方法很难实现高精度的时间序列预测建模。

机器学习方法的应用为解决时间序列预测问题提供了新思路,相比基于回归的方法,它可以建立基于大量历史数据的非线性预测模型,通过重复训练迭代和学习近似,从而获得比传统的基于回归的模型更精确的预测。常见的方法有如下几类:支持向量回归(SVR)[16]、具有强非线性函数逼近的人工神经网络(ANN)[17],以及基于树的集成学习方法,如梯度强回归(GBRT)和提升决策树(GBDT)[18-19]。然而上述方法由于缺乏对输入数据间序列依赖关系的有效处理,在时间序列预测任务中效果有限[20]。

随着深度学习的不断发展和应用越发普及,越来越多的实际问题通过深度学习找到了更好的解决方案。在时序预测任务中,很多时候循环神经网络即RNN[21]被认为是最有效的方法,但在某些时序预测任务中,伴随输入时间序列长度的增加,RNN极易出现梯度爆炸和梯度消失等问题,导致预测精度降低。为了解决上述问题,1997年Hochreiter等[22]提出了长短期记忆神经网络(LSTM),其本质上是一个简单的RNN,通过添加一些多阈值门来解决记忆和遗忘问题。随后它和它的变体门控循环单元(GRU)[23]被证明在一定程度上解决了长期依赖问题。

为了进一步提高LSTM的训练速度和预测精度,本文提出了一种基于双重注意力机制改进的DA-LSTM时间序列预测模型,在新型变体A-LSTM的基础上,通过自注意力层对各时间步上的隐层输出计算自注意力权重,充分利用细胞的记忆信息,减少信息损失。

2 长短时记忆神经网络

LSTM提出的目的是解决RNN由于长期依赖所带来的梯度消失和爆炸的问题,具体的,LSTM的一个神经元细胞包括三个门即输入门i、遗忘门f和输出门o,以及隐层状态ht和记忆细胞状态c。

it=σ(Wi[ht-1;xt]+bi)

(1)

ft=σ(Wf[ht-1;xt]+bf)

(2)

ot=σ(Wo[ht-1;xt]+bo)

(3)

(4)

(5)

ht=ot∘tanh(ct)

(6)

式中:σ表示sigmoid激活函数;xt是第t个时间步的输入向量;Wi、Wf、Wo、Wc∈Rd×2d;bi、bf、bo、bc∈Rd。LSTM的细胞结构如图1所示。

图1 LSTM细胞结构

3 基于双重注意力机制改进的DA-LSTM神经网络模型

3.1 A-LSTM网络层

在LSTM被提出以后,学者们相继提出了LSTM神经网络的几种变体,并应用在各种机器学习问题中。GREFF等[24]对已有的LSTM变体进行了大规模分析,证明三个门与输出激活神经层是LSTM中最关键的组成成分,修改了门控结构的LSTM变体在分类问题上表现出了明显的改善[25]。受认知神经科学的启发,有学者尝试将注意力机制引入门控结构形成A-LSTM,这种新型的LSTM变体改变了传统LSTM的内部门控结构,通过注意力机制融合遗忘门和输入门形成注意力门,大大减少模型参数,从而提升模型训练速度。

改进之后的注意力门at的计算方式如下:

at=activation(V·tanh(W·ct-1))

(7)

式中:activation(·)为激活函数,其值域应满足在0和1之间。

同时细胞状态ct的更新方式如下:

(8)

基于注意力机制改进后的A-LSTM的细胞结构如图2所示。

基于上述分析,增大直流电容可改善系统稳定性,从控制上引入虚拟电容,在不改变原电路的基础上起到等效电容增大的效果[13-14]。

图2 A-LSTM细胞结构

值得注意的是,这里注意力门取代了原来的输入门和遗忘门,直接对细胞状态做自注意力来确定要保留和遗忘哪些信息,所以模型参数大大减少,使得训练速度提高。

3.2 自注意力层

基于注意力机制的模型[26]可以在全局信息中快速捕获关键区域,并将注意力的焦点放在这片区域,从而更多地获取有用信息。为有效利用LSTM历史时刻输出的信息,Bahdanau等[27]将软注意力机制引入了LSTM模型中并在机器翻译领域中取得了成功应用。近年来,自注意力机制被广泛地应用于各种NLP任务上,成为了学者们研究和关注的热点,Lin等[28]对LSTM的输出计算自注意力,对不同的时间步数计算出多个分数,从而提出新的LSTM模型。其计算公式如式(9)-式(11)所示。

ut=tanh(Wtht)

(9)

(10)

(11)

式中:Wt、Vt是自注意力层参数;ht是第t个时间步的隐层状态输出;ut是第t个时间步隐层状态的注意力得分;αt是第t个时间步隐层状态的注意力权重;s为最终的自注意力层输出。

3.3 基于双重注意力机制改进的DA-LSTM神经网络模型

本文提出的DA-LSTM模型具体实现包括两部分:第一部分是基于注意力机制改进的A-LSTM网络层,通过注意力门学习上一时刻细胞状态需要注意的特征;第二部分是基于自注意力机制的自注意力层,它以不同时间步的隐层输出作为输入,计算自注意力权重并输出最终的结果。模型整体框架如图3所示。

图3 DA-LSTM模型框架

首先,时序数据输入到A-LSTM层并输出每个时间步的隐层状态ht,与LSTM使用最后一个隐层状态计算预测结果不同,DA-LSTM会将每个时间步的隐层状态输入到自注意力层,通过注意力打分函数计算其注意力分布α,最后综合考虑每一个时间步的隐层状态计算最终预测结果。

4 实验与结果分析

本节首先将介绍实验的环境配置和数据集的描述,然后给出实验的参数设置以及评价指标,最后将提出的模型与SVR、RNN、LSTM、GRU、A-BiLSTM和A-LSTM进行对比,来验证本文提出模型的有效性。

4.1 实验环境

本文实验在Windows 10 64位系统下进行,硬件设备CPU型号为Intel(R) Core(TM) i7- 4790 CPU @ 3.60 GHz,内存大小8 GB,实验环境为Python 3.7,借助Keras 2.2.4搭建神经网络,后端使用TensorFlow 1.14.0。

4.2 数据集描述

Beijing PM2.5Data(PM2.5)数据集包含自2010年1月1日至2014年12月31日每小时采集的PM2.5数据,同时还包括北京首都国际机场气象资料。实验中把PM2.5浓度作为预测的目标值。

SML2010(SML)是用于室内温度预测的UCI开放数据集,数据从安装在室内里的监控系统中采集。它包括大约40天的监测数据,数据每分钟采样一次,计算和上传时间为15分钟。实验中把室温作为预测的目标值。

PM2.5和SML的详细数据集设置见表1。

表1 数据集设置

4.3 实验参数

在LSTM中共有三个参数需要设置,它们分别是时间步长L,每个隐藏层的神经单元数m以及训练的批大小b。通过搜索法分别确定PM2.5和SML的最佳参数组合,如表2所示。

表2 模型超参设置

4.4 评价指标

均方根误差(RMSE):

(12)

平均绝对误差(MAE):

(13)

平均绝对百分比误差(MAPE):

(14)

4.5 结果分析

为了评价本文所提出的模型在时间序列预测任务中的性能,分别与传统的机器学习和深度学习方法的基线模型进行了对比实验,在实验中分别对SVR、RNN、LSTM、GRU、A-LSTM、A-BiLSTM和DA-LSTM进行5次训练和测试取最佳结果对比,最终的预测结果如表3所示。

表3 两组数据集下不同模型的实验结果

可以看出,机器学习方法SVR的误差要远大于其他深度学习方法,这是因为其缺乏对输入变量之间序列依赖关系的有效处理,所以在时序预测任务中表现远不如其他时序模型;RNN则是由于其本身存在长期依赖的问题,表现不如LSTM及其变体;对比LSTM、GRU以及基于注意力门改进的A-LSTM,可以发现LSTM和GRU、A-LSTM差异不大,其中A-LSTM要略优于前两者,但是A-LSTM通过引入注意力机制优化了门控结构,大大减少了训练参数,提高训练速度的同时,在性能上也有略微提升。随着时间步长增加,仅依靠最后一个隐层状态进行预测显然会损失一部分信息,从而影响最终的预测精度。为了进一步提高模型的准确性,本文在A-LSTM的基础上添加了自注意力层,对不同时间步的隐层输出做自注意力,最大程度上降低信息损失,并与同样添加自注意力层的A-BiLSTM进行对比,实验结果DA-LSTM性能更优。最终本文提出的DA-LSTM算法的各个误差评价指标均优于其他对比算法,在Beijing PM2.5数据集上RMSE较标准LSTM降低了4%,MAE降低了4.5%,MAPE降低了4.5%;在SML2010数据集上RMSE较标准LSTM降低了25.4%,MAE降低了38.3%,MAPE降低了37.5%。

为了验证基于双重注意力机制改进后的DA-LSTM相较标准的LSTM拥有更优的性能,接下来分别从模型和实验两个角度进行说明:首先从模型参数角度,以输入维度为256,输出维度为128的一层LSTM为例,不考虑偏置参数,则需要维度为[256+128,128×4]的权重,而DA-LSTM使用注意力门替换了输入门和遗忘门,所以仅需要[256+128,128×2]的门结构权重和3×[128,128]的自注意力权重,对于一层LSTM来说参数降低了25.0%,模型参数减少自然会带来训练速度上的提升;其次从实验角度,本文对两者同时训练1 000轮次所用的时间进行统计,如图4所示。

图4 1 000轮次实验对比

可以看出,DA-LSTM各轮次的训练速度明显快于LSTM,同时训练1 000个轮次,LSTM用时2 051 s,而DA-LSTM仅用时1 760 s。同时本文还通过实验对比了两者的收敛速度以及预测误差,如图5和图6所示,无论是在训练集还是测试集,DA-LSTM都要比LSTM更快收敛并且预测误差更低,并且在测试集上提升更为明显,这也从侧面说明DA-LSTM的泛化能力要强于LSTM。通过上述对比,可以发现基于双重注意力机制改进的DA-LSTM在收敛速度以及预测精度上较LSTM确有所提升,进一步验证了模型的有效性。

图5 训练集结果对比

图6 测试集结果对比

为了进一步探究DA-LSTM在多步输入和多步输出下的性能表现,实验分别对比了LSTM、GRU、A-LSTM、A-BiLSTM和DA-LSTM在PM2.5和SML2010数据集上不同时间步输出的预测情况。在PM2.5数据集上设定输入步长为18,在SML2010数据集上设定输入步长为8,分别对比1到4输出步长上的RMSE。

从图7和图8可以看出,随着输出步长的增加,各对比算法的RMSE普遍升高,这是由于输出步长越长则距离输入越远,相关性也就越低。在PM2.5数据集上,各对比算法差异不大,其中本文提出的DA-LSTM效果稍好一些;在SML2010数据集上,各对比算法的差异较为明显,同样也是本文提出的DA-LSTM效果最好。

图7 PM2.5数据集实验对比

图8 SML2010数据集实验对比

5 结 语

为了提高LSTM在时间序列预测上的精度,本文提出了一种基于双重自注意力机制改进的DA-LSTM时序预测模型。与其他模型相比,该模型主要有以下两个优点:首先在标准LSTM中引入注意力机制,对隐层细胞状态做自注意力,融合输入门和遗忘门形成注意力门,在不损失预测精度的情况下,减少了模型参数并提高了训练速度;其次,随着时间序列长度增加,仅依靠最后一个隐层的输出进行预测会造成信息损失,DA-LSTM通过自注意力层对不同时间步的隐层输出做自注意力,综合考虑各时间步上的输出,充分利用细胞记忆信息,提高了预测精度。实验表明,本文提出的模型较标准的LSTM有着较为全面的提升,在时间序列预测任务上具有良好的应用前景。

面对多步输出时间序列预测时,本文模型仍有进一步提升空间,如引入深度注意力门、修改注意力打分函数等。如何进一步结合注意力机制提高多步输出预测精度,将是本文接下来的研究重点。

猜你喜欢
隐层注意力机制
让注意力“飞”回来
基于RDPSO结构优化的三隐层BP神经网络水质预测模型及应用
自制力是一种很好的筛选机制
“扬眼”APP:让注意力“变现”
A Beautiful Way Of Looking At Things
破除旧机制要分步推进
注重机制的相互配合
打基础 抓机制 显成效
基于近似结构风险的ELM隐层节点数优化
最优隐层BP神经网络的滚动轴承故障诊断