CN111860785A - 基于注意力机制循环神经网络的时间序列预测方法及系统 - Google Patents

基于注意力机制循环神经网络的时间序列预测方法及系统 Download PDF

Info

Publication number
CN111860785A
CN111860785A CN202010723438.8A CN202010723438A CN111860785A CN 111860785 A CN111860785 A CN 111860785A CN 202010723438 A CN202010723438 A CN 202010723438A CN 111860785 A CN111860785 A CN 111860785A
Authority
CN
China
Prior art keywords
data
sequence
attention mechanism
neural network
vector
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202010723438.8A
Other languages
English (en)
Inventor
吴雪敏
潘炎
刘冶
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Flamingo Network Guangzhou Co ltd
Sun Yat Sen University
Original Assignee
Flamingo Network Guangzhou Co ltd
Sun Yat Sen University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Flamingo Network Guangzhou Co ltd, Sun Yat Sen University filed Critical Flamingo Network Guangzhou Co ltd
Priority to CN202010723438.8A priority Critical patent/CN111860785A/zh
Publication of CN111860785A publication Critical patent/CN111860785A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/049Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明涉及一种基于注意力机制循环神经网络的时间序列预测方法及系统,包括:构建一数据集,从所述数据集中确认驱动序列和目标序列;构建基于注意力机制的循环神经网络模型,所述网络模型在驱动序列之间、驱动序列与目标序列之间、时间三个维度中运用注意力机制;将所述数据集划分出训练集、验证集和测试集,对模型参数进行定义,对所述网络模型进行训练,通过以均方误差为目标函数的反向传播算法来对所述参数进行学习;以及将所述测试集输入到训练后的所述网络模型中进行预测。本发明有效解决了由于输入序列过长而出现的信息丢失导致性能瓶颈的问题,同时有效捕捉较长的时间内序列之间的相关性,从而实现对时间序列的更精确的预测。

Description

基于注意力机制循环神经网络的时间序列预测方法及系统
技术领域
本发明涉及时间序列预测领域,特别是涉及一种基于注意力机制循环神经网络的时间序列预测方法及系统。
背景技术
随着物联网和大数据技术的发展,在金融市场预测、天气预报、复杂动力系统分析等领域,数据采集工作通常从多个不同的特征维度来进行,由此而产生的时间序列数据大多以多元特征的形式呈现。时间序列数据是在不同时间上收集到的数据,用于描述现象随时间变化的情况。时间序列预测是指通过时间序列的过去一段时间窗口长度的值向量以及多个驱动序列的当前和过去值来预测时间序列的当前值,在上述领域中具有重要的应用价值。
循环神经网络(Recurrent Neural Network,RNN)是一种专门为处理时序数据而设计的深度神经网络,其神经元的更新依赖上一次的输入以捕捉时序数据特征。RNN在捕获非线性关系方面具有很大的灵活性,然而,传统的RNN存在梯度消失的问题,难以捕获长期依赖关系。改进的RNN模型如长短期记忆网络(Long Short-Term Memory,LSTM)已经克服这个缺点,在机器翻译、语音识别和图像处理方向应用比较成熟。
基于LSTM的编解码器网络得到广泛的应用,最初是在机器翻译方面应用并获得成功,其关键思想是将源语句编码为固定长度的向量,并使用译码器生成翻译。然而,随着输入序列长度的增加,其性能将出现瓶颈。在时间序列预测中,通常期望根据目标序列和输入的驱动序列的相对较长的片段来做出预测,因此,上述性能问题是不能容忍的。为了解决这个问题,基于注意力的编解码器网络被提出,其主要是使用了一种注意力机制来选择编码器的隐藏状态,使得在较长的距离上捕捉上下文联系。由于时间序列预测问题中通常驱动序列较多,如何选择合适的驱动序列以及如何捕捉驱动序列之间的关系来对时间序列的预测至关重要,如果没能正确捕捉到数据序列之间的关系,由此预测出的结果有可能跟实际结果南辕北辙。
发明内容
基于此,本发明的目的在于,提供一种基于注意力机制循环神经网络的时间序列预测方法,包括以下步骤:选择一数据源,所述数据源包含一定时期内的数据序列,从所述数据序列中挑选出部分或全部数据序列,并将这些数据序列分别定义为驱动序列或目标序列;
构建基于注意力机制的循环神经网络模型,包括:对输入的数据序列建立循环神经网络的自注意力机制,对于同时间点不同所述驱动序列之间的关系进行关联;对所述循环神经网络的编码器部分建立注意力机制,对同时间点不同所述驱动序列与所述目标序列的关系进行关联;对所述循环神经网络的解码器部分建立注意力机制,对不同时间点的所述驱动序列与所述目标序列的关系进行关联;
将所述数据集划分出训练集、验证集和测试集,对网络模型的参数进行定义,将所述训练集和验证集中的数据输入到经过所述参数定义后的网络模型进行训练,使用均方误差的方法来构建损失函数,通过以均方误差为目标函数的反向传播算法来对所述参数进行学习;以及通过所述经过训练的网络模型对数据进行预测。
本发明有效解决了由于输入序列过长而出现的信息丢失导致性能瓶颈的问题,从而实现对时间序列的更精确的预测。
进一步地,所述自注意力机制的构建方法具体为:
对于驱动序列向量ai,对每一个驱动序列i,计算其查询向量qi、键值向量ki和值向量vi,设xi为输出向量,则
Figure BDA0002600843710000021
其中,
Figure BDA0002600843710000022
d为所述查询向量qi或所述键值向量ki的维度。
进一步地,所述编码器部分注意力机制的构建方法具体为:
对于时刻t的输入xt,编码器将xt映射为ht
ht=f1(ht-1,xt)
其中,ht为t时刻的隐藏层状态,f1是一个采用LSTM结构的非线性集合函数,用ht-1和LSTM的神经元状态st-1作为输入来构建注意力层,对于所述驱动序列xi,其计算方式如下:
Figure BDA0002600843710000023
其中We、Ue、ve均为参数,[ht-1;st-1]是指两个向量的连接,
Figure BDA0002600843710000024
经过Softmax层后即得到对应的权重
Figure BDA0002600843710000025
经过这部分的注意力机制后得到的输出为
Figure BDA0002600843710000026
其中,t时刻的隐藏层状态更新为
Figure BDA0002600843710000027
进一步地,用解码器的隐藏层dt-1和解码器部分的LSTM的神经元状态s′t-1作为输入来构建注意力层,对于t时刻,计算方式如下
Figure BDA0002600843710000031
其中,Wd、Ud、vd均为参数,[dt-1;s′t-1]是指两个向量的连接,
Figure BDA0002600843710000032
经过Softmax层后即得到对应的权重
Figure BDA0002600843710000033
Figure BDA0002600843710000034
表示编码器第k(1≤k≤T)个隐藏状态的重要性,中间的上下文向量ct为:
Figure BDA0002600843710000035
将上下文向量与给定的已知目标序列进行连接:
Figure BDA0002600843710000036
隐藏层状态在t时刻的更新为
Figure BDA0002600843710000037
其中,f2为为一个采用LSTM结构的非线性集合函数,最后模型的输出预测结果为
Figure BDA0002600843710000038
其中,[dT;cT]是指两个向量的连接。
进一步地,所述基于注意力机制循环神经网络的时间序列预测方法还包括对所述数据集中的数据进行预处理,所述预处理包括对缺失值的处理以及数据规范化处理。
进一步地,所述对缺失值的处理方法具体为:所述对缺失值的处理方法具体为:对于缺失值较少的数据序列,对其进行填充处理,包括线性插值、均值、相邻数据等填充方式;对于缺失值较多的数据序列,对其进行丢弃处理。
进一步地,所述数据规范化处理方法具体为:对序列i的数据序列xi进行z-score标准化,其计算公式为:
Figure BDA0002600843710000039
其中μi为对应序列i所有样本数据的均值,σi为序列i所有样本数据的标准差,(xi)′为对xi进行z-score标准化后的结果。
进一步地,所述损失函数使用均方误差,其数学表达式为
Figure BDA0002600843710000041
其中,
Figure BDA0002600843710000042
为预测值,yT为真实值。
基于上述基于注意力机制循环神经网络的时间序列预测方法,本发明还提供一种基于注意力机制循环神经网络的时间序列预测系统,所述系统包括数据构建单元、网络模型构建单元、损失函数构建单元、网络模型训练单元、以及预测单元;
所述数据构建单元构建出一数据集,所述数据集包含一定时期内的数据序列,所述数据集中,部分数据序列为驱动序列,部分序列为目标序列;
所述网络模型构建单元构建基于注意力机制的循环神经网络模型,包括:对输入的数据序列建立循环神经网络的自注意力机制,对于同时间点不同所述驱动序列之间的关系进行关联;对所述循环神经网络的编码器部分建立注意力机制,对同时间点不同所述驱动序列与所述目标序列的关系进行关联;对所述循环神经网络的解码器部分建立注意力机制,对不同时间点的所述驱动序列与所述目标序列的关系进行关联;
所述损失函数构建单元使用均方误差的方法来构建损失函数;
所述网络模型训练单元将所述数据集划分出训练集、验证集和测试集,对网络模型的参数进行定义,将所述训练集和验证集中的数据输入到经过所述参数定义后的网络模型进行训练,通过以所述损失函数为目标函数的反向传播算法来对所述参数进行学习;
所述预测单元通过所述经过训练的网络模型对数据进行预测。
进一步地,所述系统通过运用所述基于注意力机制循环神经网络的时间序列预测方法来对数据进行预测。
为了更好地理解和实施,下面结合附图详细说明本发明。
附图说明
图1为本发明一实施例提供的基于注意力机制循环神经网络的时间序列预测方法的流程示意图。
图2为本发明一实施例提供的基于注意力机制循环神经网络的时间序列预测方法的数据序列结构示意图。
具体实施方式
本发明提供一种基于注意力机制循环神经网络的时间序列预测方法,该方法在驱动序列之间、驱动序列与目标序列之间以及时间三个维度中运用注意力机制,通过构建适合的表示和学习时间序列中时空关系的注意力结构,捕捉较长时间内数据间的相关性,并选择相应的驱动序列来进行预测,以实现对数据的更精确的预测。
具体地,请参阅图1,本发明的基于注意力机制循环神经网络的时间序列预测方法包括5个阶段,分别是数据集的构建、网络模型的构建、损失函数的构建、网络模型的训练以及预测的执行。其中,损失函数的构建独立于数据集的构建及网络模型的构建,本发明对其执行的先后顺序没有要求。下面针对每个阶段进行详细说明。
S1:数据集的构建
S11:选择一数据源,该数据源包含一定时期内的数据序列,每一个数据序列均为在不同时间点的数据,即时间序列数据。从所述数据源中挑选出部分或全部数据序列,并将这些数据序列分别定义为驱动序列或目标序列,如图2所示。由所有所述驱动序列和目标序列组成的数据构建成数据集。
S12:对数据集中的数据序列进行预处理,包括对缺失值的处理以及数据规范化处理。
在S11中所获取的数据集中,实际可能会存在部分数据的缺失,数据的缺失可能会导致有用信息的丢失,同时,空值数据可能导致不可靠的模型输出等情况,对实验结果产生较大的影响。因此,在将数据导入模型之前有必要对缺失的数据进行处理。在实际应用中可根据不同的应用场景对缺失值进行不同的处理,例如,对于缺失值较少的数据序列,对其进行填充处理,包括线性插值、均值、相邻数据等填充方式;对于缺失值较多的数据序列,对其进行丢弃处理,即直接丢弃该列数据序列,以避免其可能带来的噪声及其对结果造成的不良影响。
另外,数据规范化处理是为了统一输入数据之间的量纲,从而提升数据模型的收敛速度和模型精度。可采用z-score标准化对数据规范化处理,具体地,对某一序列i的数据序列xi进行z-score标准化,其计算公式为:
Figure BDA0002600843710000051
其中μi为对应序列i所有样本数据的均值,σi为序列i所有样本数据的标准差。
上述对缺失值的处理以及数据规范化处理在次序上没有先后之分。此外,步骤S12对数据集中的数据序列的预处理也可以在步骤S11之前执行;;若步骤S12在S11之前执行,则需对数据集中所有的数据序列进行预处理;若步骤S12在S11之后执行,则可仅对挑选出的数据序列进行预处理,以减少预处理的数据量。
S2:网络模型的构建
网络模型的构建主要指建立用于时间序列预测的基于注意力机制的循环神经网络模型G(以下简称G网络模型),其中,G网络模型包括编码器、解码器和其他数据模块。本步骤S2对于同一时间点的不同驱动序列之间的关系、同一时间点的驱动序列与目标序列的关系以及不同时间点的驱动序列与目标序列关系的问题分别进行建模,主要包括以下3个步骤:
S21:对输入的数据序列建立G网络的自注意力机制网络,对于同一时间点的不同驱动序列之间的关系进行关联。
具体地,对于输入的n个驱动序列,可将其表示为A=(a1,a2,...an)T=(a1,a2,...,aT)∈Rn*T,其中T是时间窗口的大小;对于第i个驱动序列以T为时间步长的向量,可将其表示为
Figure BDA0002600843710000061
对于t时刻由n个输入驱动序列的值所组成的向量,可以将其表示为
Figure BDA0002600843710000062
首先,对于每一个驱动序列向量ai(1≤i≤n),计算其查询向量qi、键值向量ki和值向量vi;接着,对所述数据集内的任意2个驱动序列进行两两之间的关系建模。对驱动序列i和驱动序列j之间的关系进行建模的方法为:对每一个qi与所有的kj进行矩阵乘法后除以
Figure BDA0002600843710000063
d为查询向量和键值向量的维度,从而得到
Figure BDA0002600843710000064
Figure BDA0002600843710000065
经过Softmax层之后得到mi,mi再乘上每一个的vj,即可得到βij。其中
Figure BDA0002600843710000066
的计算公式如下:
Figure BDA0002600843710000067
Softmax函数可以对输出结果进行归一化,其计算公式如下:
Figure BDA0002600843710000068
βij的计算公式如下:
βij=mi·vj (4)
最后,将所有的βij相加即可得到输出向量xi,其计算公式如下:
Figure BDA0002600843710000069
至此,驱动向量ai经过自注意力机制后得到的输出向量xi,本步骤使用自注意力机制网络对驱动序列之间的关系建模学习,能够捕捉到驱动序列之间的相关性。
S22:对G网络模型的编码器部分建立注意力机制网络,对于同时间点驱动序列与目标序列的关系进行关联。
具体地,对于时刻t的输入xt,其中
Figure BDA0002600843710000071
代表时刻t驱动序列1到驱动序列n的数据向量,编码器将xt映射为ht
ht=f1(ht-1,xt) (6)
其中,ht为t时刻的隐藏层状态,f1是一个采用LSTM结构的非线性集合函数。用ht-1和LSTM的神经元状态st-1作为输入来构建注意力层,那么,对于经由步骤S21获得的输入的驱动序列xi,其中
Figure BDA0002600843710000072
其计算方式如下:
Figure BDA0002600843710000073
其中We、Ue、ve均为参数,[ht-1;st-1]是指两个向量的连接,
Figure BDA0002600843710000074
经过Softmax层后即得到对应的权重
Figure BDA0002600843710000075
经过这部分的注意力机制后得到的输出为
Figure BDA0002600843710000076
其中,t时刻的隐藏层状态更新为
Figure BDA0002600843710000077
本步骤使用注意力机制对驱动序列对目标序列的重要性进行建模,挖掘驱动序列的特征重要性,使得编码器能够选择相关性强的驱动序列输入到解码器中。
S23:对G网络模型的解码器部分建立注意力机制网络,对于不同时间点的驱动序列与目标序列关系的问题进行关联。
具体地,用解码器的隐藏层dt-1和解码器部分的LSTM的神经元状态s′t-1作为输入来构建注意力层,对于t时刻,计算方式如下:
Figure BDA0002600843710000078
其中,Wd、Ud、vd均为参数,[dt-1;s′t-1]是指两个向量的连接,
Figure BDA0002600843710000079
经过Softmax层后即得到对应的权重
Figure BDA00026008437100000710
Figure BDA00026008437100000711
表示编码器第k(1≤k≤T)个隐藏状态的重要性,中间的上下文向量ct为:
Figure BDA00026008437100000712
将上下文向量与给定的已知目标序列进行连接:
Figure BDA0002600843710000081
隐藏层状态在t时刻的更新为
Figure BDA0002600843710000082
其中,f2为一个采用LSTM结构的非线性集合函数。最后模型的输出预测结果为
Figure BDA0002600843710000083
其中,[dT;cT]是指两个向量的连接。
本步骤使用注意力机制加入解码器中,有效解决了由于输入的驱动序列过长而出现的信息丢失导致性能瓶颈的问题。
至此,对于输入的驱动序列向量ai,经过自注意力机制网络得到输出向量xi,再输入到编码器网络,经过该网络得到输出向量
Figure BDA0002600843710000084
最后输入到解码器网络,经过该网络得到
Figure BDA0002600843710000085
S3:损失函数的构建
损失函数是用来评估模型的预测值与真实值的不一致程度,损失函数的值越小,代表模型的鲁棒性越好,损失函数用于指导模型的训练。由于本发明所构建的网络模型具有光滑可微的特点,可以通过以均方误差为目标函数的反向传播算法来对参数进行学习。损失函数使用均方误差,其数学表达式为
Figure BDA0002600843710000086
其中,
Figure BDA0002600843710000087
为预测值,yT为真实值。
S4:网络模型的训练
首先,对于根据步骤S2获得的G网络模型,对其参数进行定义,其中,所述模型参数包括时间步长T、编码器的隐藏层的大小m、解码器隐藏层的大小p、批处理大小batch以及学习率大小。上述经过参数定义的G网络模型称为G′网络模型。同时,将步骤S1中所述数据集划分为训练集、验证集和测试集。其中,所述训练集、验证集及测试集各自均包含完整的驱动序列及目标序列,一般地,将时间点靠前的数据划分为训练集或验证集,将时间点靠后的数据划分为测试集。然后,将所述训练集和验证集中的数据输入到G′网络,对该网络进行训练,通过以公式(15)为目标函数的反向传播算法来对所述参数进行学习,并且对所述参数进行调优。
S5,预测的执行
至此,进入最后的预测执行阶段,将所述测试集输入到训练后的模型中进行预测,从而得到目标序列数据的预测值。
下面结合具体的应用场景,具体地,以对NASDAQ 100股票数据的预测为例,进一步说明本发明所提供的基于注意力机制循环神经网络的时间序列预测方法是如何实现的。
首先,对应于步骤S1,对数据集进行构建,具体如下:
对应于步骤S11,选择NASDAQ 100股票数据集,所述数据集包含从2016年7月26日到2016年12月22日105天的数据,其数据为每分钟采样一次。去除日期、时间等无关的序列,保留股票的收盘价和纳斯达克100指数的数据序列,以公司的股票价格作为驱动序列,以纳斯达克100指数的指标作为目标序列。
对应于步骤S12,对数据集的缺失值进行处理。具体地,在所选取的NASDAQ 100股票数据集中,有部分公司其股票数据的数据缺失比较严重,将该部分公司的股票数据进行丢弃处理,仅保留81家主要公司的股票数据作为驱动序列;在所述81家主要公司的股票数据中,对于缺失较少的股票数据,使用线性插值方式对缺失的数据进行填充。对数据进行缺失值处理后,采用z-score标准化对其进行规范化处理。
其次,对应于步骤S2,对网络模型进行构建。具体地,对于输入的驱动序列向量ai,经过步骤S21所述的自注意力机制网络得到输出向量xi,再输入到步骤S22所述的编码器网络,经过该网络得到输出向量
Figure BDA0002600843710000091
最后输入到步骤S23所述的解码器网络,经过该网络得到
Figure BDA0002600843710000092
再次,对应于步骤S3,采用算式(15)来构建损失函数。
再有,对应于步骤S4,对网络模型进行训练。具体地,在步骤1所述的数据序列中,选取时间靠前的35100个时间点的数据序列作为训练集,选取时间紧随其后的2730个时间点的数据序列作为验证集,选取最后的2730个时间点的数据序列作为测试集。对于模型的参数时间步长T、编码器的隐藏层大小m以及解码器隐藏层的大小p,使用网格搜索算法得到最优参数,分别为:T=10,m=p=128,batch大小设为128,学习率设为0.001,并且在每10000个迭代后减少10%。采用步骤S3中的构建的损失函数来指导网络模型的训练。
最后,对应于步骤S5,将步骤S4中所述测试集输入到训练后的模型中进行预测,从而得到目标序列的预测值。
本实施例在NASDAQ 100股票数据集上进行的时间序列预测任务中与Encoder-Decoder模型、基于单个注意力机制的Attention RNN模型和Input-Attn-RNN模型以及双阶段模型DA-RNN相比,均取得最好的效果,实验效果使用RMSE、MAE、MAPE作为评价指标,具体数据如下:
Figure BDA0002600843710000093
Figure BDA0002600843710000101
其中RMSE、MAE、MAPE的计算公式如下:
Figure BDA0002600843710000102
Figure BDA0002600843710000103
Figure BDA0002600843710000104
其中,
Figure BDA0002600843710000105
为t时刻目标序列的真实值,
Figure BDA0002600843710000106
为t时刻目标序列的预测值。
本实施例所提供的基于注意力机制循环神经网络的时间序列预测方法,构建了适合的表示和学习时间序列之间关系的注意力结构,算法的第一部分使用自注意力机制网络对驱动序列之间的关系建模学习,能够捕捉到驱动序列之间的相关性;第二部分使用注意力机制对驱动序列对目标序列的重要性进行建模,挖掘驱动序列的特征重要性,从而增强预测准确率;第三部分使用注意力机制加入解码器中,有效解决了由于输入序列过长而出现的信息丢失导致性能瓶颈的问题,从而实现对时间序列的更加精确的预测。
基于上述基于注意力机制循环神经网络的时间序列预测方法,本发明还提供一种基于注意力机制循环神经网络的时间序列预测系统,其包括数据构建单元、网络模型构建单元、损失函数构建单元、网络模型训练单元以及预测单元。
所述数据构建单元用于构建一数据集,所述数据构建单元通过执行所述步骤S1及其分步骤S11、S12的功能来构建所述数据集。
所述网络模型构建单元用于构建一基于注意力机制的循环神经网络模型,所述网络模型构建单元通过执行所述步骤S2的功能,构建出所述基于注意力机制的循环神经网络模型。具体地,所述网络模型构建单元包括自注意力构建单元、编码器注意力构建单元和解码器注意力构建单元。其中,所述自注意力构建单元执行所述步骤S21的功能,对于同时间点不同驱动序列之间的关系进行关联,以捕捉驱动序列之间的相关性;所述编码器注意力构建单元执行所述步骤S22的功能,挖掘驱动序列的特征重要性,使得编码器能够选择相关性强的驱动序列输入到解码器中;所述解码器注意力构建单元执行所述步骤S23的功能,对于不同时间点的驱动序列与目标序列关系的问题进行关联,有效解决了由于输入的驱动序列过长而出现的信息丢失导致性能瓶颈的问题。
所述损失函数构建单元用于构建损失函数,所述损失函数构建单元通过执行所述步骤S3的功能来构建出合适的损失函数,所述损失函数用于指导模型的训练。
所述网络模型训练单元用于网络模型的训练,所述网络模型训练单元通过执行所述步骤S4的功能,采用所述损失函数来指导网络模型的训练。
所述预测单元用于对目标序列的数据进行预测,所述预测单元通过执行所述步骤S5的功能来实现对目标序列数据的预测。
本发明所提供的基于注意力机制循环神经网络的时间序列预测系统,构建了适合的表示和学习时间序列之间关系的注意力结构,使用自注意力机制网络对驱动序列之间的关系建模学习,能够捕捉到驱动序列之间的相关性;使用注意力机制对驱动序列对目标序列的重要性进行建模,挖掘驱动序列的特征重要性,从而增强预测准确率;使用注意力机制加入解码器中,有效解决了由于输入序列过长而出现的信息丢失导致性能瓶颈的问题,从而实现对时间序列的更加精确的预测。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。

Claims (10)

1.一种基于注意力机制循环神经网络的时间序列预测方法,其特征在于,包括以下步骤:
选择一数据源,所述数据源包含一定时期内的数据序列,从所述数据序列中挑选出部分或全部数据序列,并将这些数据序列分别定义为驱动序列或目标序列;
构建基于注意力机制的循环神经网络模型,包括:对输入的数据序列建立循环神经网络的自注意力机制,对于同时间点不同所述驱动序列之间的关系进行关联;对所述循环神经网络的编码器部分建立注意力机制,对同时间点不同所述驱动序列与所述目标序列的关系进行关联;对所述循环神经网络的解码器部分建立注意力机制,对不同时间点的所述驱动序列与所述目标序列的关系进行关联;
将所述数据集划分出训练集、验证集和测试集;
对所述循环神经网络模型的参数进行定义,将所述训练集和验证集中的数据输入到经过所述参数定义后的网络模型进行训练;
同时使用均方误差的方法来构建损失函数,通过以均方误差为目标函数的反向传播算法来对所述参数进行学习;以及
通过所述经过训练的网络模型对数据进行预测。
2.根据权利要求1所述的基于注意力机制循环神经网络的时间序列预测方法,其特征在于,所述自注意力机制的构建方法具体为:
对于驱动序列向量ai,对每一个驱动序列i,计算其查询向量qi、键值向量ki和值向量vi,设xi为输出向量,则
Figure FDA0002600843700000011
其中,
Figure FDA0002600843700000012
d为所述查询向量qi或所述键值向量ki的维度。
3.根据权利要求2所述的基于注意力机制循环神经网络的时间序列预测方法,其特征在于,所述编码器部分注意力机制的构建方法具体为:
对于时刻t的输入xt,编码器将xt映射为ht
ht=f1(ht-1,xt)
其中,ht为t时刻的隐藏层状态,f1是一个采用LSTM结构的非线性集合函数,用ht-1和LSTM的神经元状态st-1作为输入来构建注意力层,对于所述驱动序列xi,其计算方式如下:
Figure FDA0002600843700000013
其中We、Ue、ve均为参数,[ht-1;st-1]是指两个向量的连接,
Figure FDA0002600843700000021
经过Softmax层后即得到对应的权重
Figure FDA0002600843700000022
经过这部分的注意力机制后得到的输出为
Figure FDA0002600843700000023
其中,t时刻的隐藏层状态更新为
Figure FDA0002600843700000024
4.根据权利要求3所述的基于注意力机制循环神经网络的时间序列预测方法,其特征在于,所述解码器部分注意力机制的构建方法具体为:
用解码器的隐藏层dt-1和解码器部分的LSTM的神经元状态s′t-1作为输入来构建注意力层,对于t时刻,计算方式如下
Figure FDA0002600843700000025
其中,Wd、Ud、vd均为参数,[dt-1;s′t-1]是指两个向量的连接,
Figure FDA0002600843700000026
经过Softmax层后即得到对应的权重
Figure FDA0002600843700000027
表示编码器第k(1≤k≤T)个隐藏状态的重要性,中间的上下文向量ct为:
Figure FDA0002600843700000028
将上下文向量与给定的已知目标序列进行连接:
Figure FDA0002600843700000029
隐藏层状态在t时刻的更新为
Figure FDA00026008437000000210
其中,f2为为一个采用LSTM结构的非线性集合函数,最后模型的输出预测结果为
Figure FDA00026008437000000211
其中,[dT;cT]是指两个向量的连接。
5.根据权利要求1至4中任一权利要求所述的基于注意力机制循环神经网络的时间序列预测方法,其特征在于:还包括对所述数据集中的数据进行预处理,所述预处理包括对缺失值的处理以及数据规范化处理。
6.根据权利要求5所述的基于注意力机制循环神经网络的时间序列预测方法,其特征在于,所述对缺失值的处理方法具体为:对于缺失值较少的数据序列,对其进行填充处理,包括线性插值填充方式、均值填充方式以及相邻数据填充方式;对于缺失值较多的数据序列,对其进行丢弃处理。
7.根据权利要求6所述的基于注意力机制循环神经网络的时间序列预测方法,其特征在于,所述数据规范化处理方法具体为:对序列i的数据序列xi进行z-score标准化,其计算公式为:
Figure FDA0002600843700000031
其中μi为对应序列i所有样本数据的均值,σi为序列i所有样本数据的标准差,(xi)′为对xi进行z-score标准化后的结果。
8.根据权利要求7所述的基于注意力机制循环神经网络的时间序列预测方法,其特征在于:所述损失函数使用均方误差,其数学表达式为
Figure FDA0002600843700000032
其中,
Figure FDA0002600843700000033
为预测值,yT为真实值。
9.一种基于注意力机制循环神经网络的时间序列预测系统,其特征在于:包括数据构建单元、网络模型构建单元、损失函数构建单元、网络模型训练单元、以及预测单元;
所述数据构建单元用于构建出一数据集,所述数据集包含一定时期内的数据序列,所述数据集中,部分数据序列为驱动序列,部分序列为目标序列;
所述网络模型构建单元用于构建基于注意力机制的循环神经网络模型,包括:对输入的数据序列建立循环神经网络的自注意力机制,对于同时间点不同所述驱动序列之间的关系进行关联;对所述循环神经网络的编码器部分建立注意力机制,对同时间点不同所述驱动序列与所述目标序列的关系进行关联;对所述循环神经网络的解码器部分建立注意力机制,对不同时间点的所述驱动序列与所述目标序列的关系进行关联;
所述损失函数构建单元用于采取均方误差的方法来构建损失函数;
所述网络模型训练单元将所述数据集划分出训练集、验证集和测试集,对网络模型的参数进行定义,将所述训练集和验证集中的数据输入到经过所述参数定义后的网络模型进行训练,通过以所述损失函数为目标函数的反向传播算法来对所述参数进行学习;
所述预测单元通过所述经过训练的网络模型对数据进行预测。
10.根据权利要求9所述的基于注意力机制循环神经网络的时间序列预测系统,其特征在于:所述自注意力机制的构建方法具体为:
对于驱动序列向量ai,对每一个驱动序列i,计算其查询向量qi、键值向量ki和值向量vi,设xi为输出向量,则
Figure FDA0002600843700000041
其中,
Figure FDA0002600843700000042
d为所述查询向量qi或所述键值向量ki的维度;
所述编码器部分注意力机制的构建方法具体为:
对于时刻t的输入xt,编码器将xt映射为ht
ht=f1(ht-1,xt)
其中,ht为t时刻的隐藏层状态,f1是一个采用LSTM结构的非线性集合函数,用ht-1和LSTM的神经元状态st-1作为输入来构建注意力层,对于所述驱动序列xi,其计算方式如下:
Figure FDA0002600843700000043
其中We、Ue、ve均为参数,[ht-1;st-1]是指两个向量的连接,
Figure FDA0002600843700000044
经过Softmax层后即得到对应的权重
Figure FDA0002600843700000045
经过这部分的注意力机制后得到的输出为
Figure FDA0002600843700000046
其中,t时刻的隐藏层状态更新为
Figure FDA0002600843700000047
所述解码器部分注意力机制的构建方法具体为:
用解码器的隐藏层dt-1和解码器部分的LSTM的神经元状态s′t-1作为输入来构建注意力层,对于t时刻,计算方式如下
Figure FDA0002600843700000048
其中,Wd、Ud、vd均为参数,[dt-1;s′t-1]是指两个向量的连接,
Figure FDA0002600843700000049
经过Softmax层后即得到对应的权重
Figure FDA00026008437000000410
表示编码器第k(1≤k≤T)个隐藏状态的重要性,中间的上下文向量ct为:
Figure FDA00026008437000000411
将上下文向量与给定的已知目标序列进行连接:
Figure FDA0002600843700000051
隐藏层状态在t时刻的更新为
Figure FDA0002600843700000052
其中,f2为为一个采用LSTM结构的非线性集合函数,最后模型的输出预测结果为
Figure FDA0002600843700000053
其中,[dT;cT]是指两个向量的连接。
CN202010723438.8A 2020-07-24 2020-07-24 基于注意力机制循环神经网络的时间序列预测方法及系统 Pending CN111860785A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010723438.8A CN111860785A (zh) 2020-07-24 2020-07-24 基于注意力机制循环神经网络的时间序列预测方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010723438.8A CN111860785A (zh) 2020-07-24 2020-07-24 基于注意力机制循环神经网络的时间序列预测方法及系统

Publications (1)

Publication Number Publication Date
CN111860785A true CN111860785A (zh) 2020-10-30

Family

ID=72950841

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010723438.8A Pending CN111860785A (zh) 2020-07-24 2020-07-24 基于注意力机制循环神经网络的时间序列预测方法及系统

Country Status (1)

Country Link
CN (1) CN111860785A (zh)

Cited By (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112380098A (zh) * 2020-11-19 2021-02-19 平安科技(深圳)有限公司 一种时序异常检测方法、装置、计算机设备及存储介质
CN112381595A (zh) * 2021-01-11 2021-02-19 平安科技(深圳)有限公司 基于交往行为的用户价值预测方法及相关设备
CN112418409A (zh) * 2020-12-14 2021-02-26 南京信息工程大学 一种利用注意力机制改进的卷积长短期记忆网络时空序列预测方法
CN112417000A (zh) * 2020-11-18 2021-02-26 杭州电子科技大学 一种基于双向循环编解码器神经网络的时间序列缺失值填充方法
CN112597704A (zh) * 2020-12-24 2021-04-02 东北大学 一种发动机异常原因分析方法、系统、设备及介质
CN112732785A (zh) * 2020-12-31 2021-04-30 平安科技(深圳)有限公司 时序数据异常检测方法、装置、设备及存储介质
CN112749761A (zh) * 2021-01-22 2021-05-04 上海机电工程研究所 基于注意力机制和循环神经网络的敌方作战意图识别方法及系统
CN112948743A (zh) * 2021-03-26 2021-06-11 重庆邮电大学 一种基于时空融合的煤矿瓦斯浓度缺失值填充方法
CN112992129A (zh) * 2021-03-08 2021-06-18 中国科学技术大学 语音识别任务中的保持注意力机制单调性方法
CN113033780A (zh) * 2021-03-24 2021-06-25 西北大学 一种基于双层注意力机制的云平台资源预测方法
CN113159413A (zh) * 2021-04-19 2021-07-23 山东理工大学 业务流程剩余时间预测方法、系统、存储介质及计算设备
CN113298288A (zh) * 2021-04-12 2021-08-24 国网浙江省电力有限公司湖州供电公司 一种融合时间序列和神经网络的供电所运维成本预测方法
CN113360848A (zh) * 2021-06-04 2021-09-07 北京工商大学 一种时序数据预测方法及装置
CN113392961A (zh) * 2021-08-17 2021-09-14 中国海洋大学 中尺度涡轨迹平稳序列提取与循环神经网络预测方法
CN113762485A (zh) * 2021-09-29 2021-12-07 西安交通大学 一种基于注意力机制的多数据集联合预测方法
CN113919232A (zh) * 2021-10-25 2022-01-11 北京航天创智科技有限公司 一种基于循环神经网络的光伏电站功率预测方法及系统
CN113962472A (zh) * 2021-10-31 2022-01-21 东南大学 一种基于GAT-Seq2seq模型的时空双注意力地铁客流短时预测方法
CN114035098A (zh) * 2021-12-14 2022-02-11 北京航空航天大学 一种融合未来工况信息和历史状态信息的锂电池健康状态预测方法
CN114266013A (zh) * 2021-12-31 2022-04-01 重庆大学 基于深度学习虚拟感知网络的传动系统振动解耦方法
CN114596010A (zh) * 2022-05-09 2022-06-07 西南石油大学 一种结合注意力机制的BiGRU网络钻井工况识别方法
CN115022194A (zh) * 2022-05-24 2022-09-06 桂林电子科技大学 基于sa-gru的网络安全态势预测方法
CN115034500A (zh) * 2022-06-28 2022-09-09 武汉理工大学 一种基于双注意力机制网络的车速预测方法、系统及车辆
CN115146700A (zh) * 2022-05-21 2022-10-04 西北工业大学 一种基于Transformer序列到序列模型的径流预测方法
CN115407874A (zh) * 2022-08-18 2022-11-29 中国兵器工业标准化研究所 一种基于神经网络的vr维修训练操作熟练度预测方法
CN116128158A (zh) * 2023-04-04 2023-05-16 西南石油大学 混合采样注意力机制的油井效率预测方法

Cited By (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112417000A (zh) * 2020-11-18 2021-02-26 杭州电子科技大学 一种基于双向循环编解码器神经网络的时间序列缺失值填充方法
CN112380098B (zh) * 2020-11-19 2024-03-19 平安科技(深圳)有限公司 一种时序异常检测方法、装置、计算机设备及存储介质
WO2021204010A1 (zh) * 2020-11-19 2021-10-14 平安科技(深圳)有限公司 一种时序异常检测方法、装置、计算机设备及存储介质
CN112380098A (zh) * 2020-11-19 2021-02-19 平安科技(深圳)有限公司 一种时序异常检测方法、装置、计算机设备及存储介质
CN112418409B (zh) * 2020-12-14 2023-08-22 南京信息工程大学 一种利用注意力机制改进的卷积长短期记忆网络时空序列预测方法
CN112418409A (zh) * 2020-12-14 2021-02-26 南京信息工程大学 一种利用注意力机制改进的卷积长短期记忆网络时空序列预测方法
CN112597704B (zh) * 2020-12-24 2024-02-06 东北大学 一种发动机异常原因分析方法、系统、设备及介质
CN112597704A (zh) * 2020-12-24 2021-04-02 东北大学 一种发动机异常原因分析方法、系统、设备及介质
CN112732785A (zh) * 2020-12-31 2021-04-30 平安科技(深圳)有限公司 时序数据异常检测方法、装置、设备及存储介质
CN112381595A (zh) * 2021-01-11 2021-02-19 平安科技(深圳)有限公司 基于交往行为的用户价值预测方法及相关设备
CN112749761A (zh) * 2021-01-22 2021-05-04 上海机电工程研究所 基于注意力机制和循环神经网络的敌方作战意图识别方法及系统
CN112992129A (zh) * 2021-03-08 2021-06-18 中国科学技术大学 语音识别任务中的保持注意力机制单调性方法
CN113033780A (zh) * 2021-03-24 2021-06-25 西北大学 一种基于双层注意力机制的云平台资源预测方法
CN112948743A (zh) * 2021-03-26 2021-06-11 重庆邮电大学 一种基于时空融合的煤矿瓦斯浓度缺失值填充方法
CN112948743B (zh) * 2021-03-26 2022-05-03 重庆邮电大学 一种基于时空融合的煤矿瓦斯浓度缺失值填充方法
CN113298288A (zh) * 2021-04-12 2021-08-24 国网浙江省电力有限公司湖州供电公司 一种融合时间序列和神经网络的供电所运维成本预测方法
CN113159413A (zh) * 2021-04-19 2021-07-23 山东理工大学 业务流程剩余时间预测方法、系统、存储介质及计算设备
CN113360848A (zh) * 2021-06-04 2021-09-07 北京工商大学 一种时序数据预测方法及装置
CN113392961B (zh) * 2021-08-17 2021-11-09 中国海洋大学 中尺度涡轨迹平稳序列提取与循环神经网络预测方法
CN113392961A (zh) * 2021-08-17 2021-09-14 中国海洋大学 中尺度涡轨迹平稳序列提取与循环神经网络预测方法
CN113762485A (zh) * 2021-09-29 2021-12-07 西安交通大学 一种基于注意力机制的多数据集联合预测方法
CN113762485B (zh) * 2021-09-29 2024-04-02 西安交通大学 一种基于注意力机制的多数据集联合预测方法
CN113919232A (zh) * 2021-10-25 2022-01-11 北京航天创智科技有限公司 一种基于循环神经网络的光伏电站功率预测方法及系统
CN113962472A (zh) * 2021-10-31 2022-01-21 东南大学 一种基于GAT-Seq2seq模型的时空双注意力地铁客流短时预测方法
CN113962472B (zh) * 2021-10-31 2024-04-19 东南大学 一种基于GAT-Seq2seq模型的时空双注意力地铁客流短时预测方法
CN114035098A (zh) * 2021-12-14 2022-02-11 北京航空航天大学 一种融合未来工况信息和历史状态信息的锂电池健康状态预测方法
CN114266013B (zh) * 2021-12-31 2024-05-28 重庆大学 基于深度学习虚拟感知网络的传动系统振动解耦方法
CN114266013A (zh) * 2021-12-31 2022-04-01 重庆大学 基于深度学习虚拟感知网络的传动系统振动解耦方法
CN114596010A (zh) * 2022-05-09 2022-06-07 西南石油大学 一种结合注意力机制的BiGRU网络钻井工况识别方法
CN115146700A (zh) * 2022-05-21 2022-10-04 西北工业大学 一种基于Transformer序列到序列模型的径流预测方法
CN115146700B (zh) * 2022-05-21 2024-03-12 西北工业大学 一种基于Transformer序列到序列模型的径流预测方法
CN115022194B (zh) * 2022-05-24 2023-09-26 桂林电子科技大学 基于sa-gru的网络安全态势预测方法
CN115022194A (zh) * 2022-05-24 2022-09-06 桂林电子科技大学 基于sa-gru的网络安全态势预测方法
CN115034500A (zh) * 2022-06-28 2022-09-09 武汉理工大学 一种基于双注意力机制网络的车速预测方法、系统及车辆
CN115034500B (zh) * 2022-06-28 2024-06-11 武汉理工大学 一种基于双注意力机制网络的车速预测方法、系统及车辆
CN115407874B (zh) * 2022-08-18 2023-07-28 中国兵器工业标准化研究所 一种基于神经网络的vr维修训练操作熟练度预测方法
CN115407874A (zh) * 2022-08-18 2022-11-29 中国兵器工业标准化研究所 一种基于神经网络的vr维修训练操作熟练度预测方法
CN116128158A (zh) * 2023-04-04 2023-05-16 西南石油大学 混合采样注意力机制的油井效率预测方法

Similar Documents

Publication Publication Date Title
CN111860785A (zh) 基于注意力机制循环神经网络的时间序列预测方法及系统
CN110659744B (zh) 训练事件预测模型、评估操作事件的方法及装置
US11593611B2 (en) Neural network cooperation
CN110929869B (zh) 序列数据处理方法、装置、设备及存储介质
CN110909926A (zh) 基于tcn-lstm的太阳能光伏发电预测方法
CN111079931A (zh) 一种基于图神经网络的状态空间概率性多时间序列预测方法
CN108647226B (zh) 一种基于变分自动编码器的混合推荐方法
CN111582694A (zh) 一种学习评估方法及装置
CN108960063A (zh) 一种面向事件关系编码的视频中多事件自然语言描述算法
CN111626764A (zh) 基于Transformer+LSTM神经网络模型的商品销量预测方法及装置
CN112765894B (zh) 一种基于k-lstm的铝电解槽状态预测方法
CN113935489A (zh) 基于量子神经网络的变分量子模型tfq-vqa及其两级优化方法
CN113627070A (zh) 一种短期光伏功率预测方法
CN112580848A (zh) 一种基于pt-lstm的时间序列预测系统与方法
CN116227180A (zh) 基于数据驱动的机组组合智能决策方法
CN115935372A (zh) 一种基于图嵌入和双向门控图神经网络的漏洞检测方法
CN111178902A (zh) 基于自动化特征工程的网络支付欺诈检测方法
CN114694379A (zh) 一种基于自适应动态图卷积的交通流预测方法及系统
CN112347531B (zh) 一种脆性大理石三维裂纹扩展路径预测方法及系统
Zhang et al. Real-time prediction of logging parameters during the drilling process using an attention-based Seq2Seq model
CN113378178A (zh) 一种基于深度学习的图自信学习软件漏洞检测方法
CN115713044B (zh) 一种多工况切换下的机电设备剩余寿命分析方法和装置
CN114610871B (zh) 基于人工智能算法的情报系统建模分析方法
CN114625969A (zh) 一种基于交互近邻会话的推荐方法
CN114357284A (zh) 基于深度学习的众包任务个性化推荐方法和系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination