基于Transformer注意力机制的日降水量预测方法技术

技术编号:32832780 阅读:31 留言:0更新日期:2022-03-26 20:48
本发明专利技术公开了一种基于Transformer注意力机制的日降水量预测方法。本发明专利技术首先构造输入序列;其次通过Word2vec算法获取输入序列的每一日降水量的嵌入向量,通过向量转化公式计算出每一日降水量时间排列位置的嵌入向量,由此得到向量表示矩阵。然后将向量表示矩阵传入编码器中,输出编码信息矩阵C,最后将编码器输出的编码信息矩阵C传递到解码器中得到当前日降水量的预测值。本发明专利技术采用了transformer注意力机制模型可以较好的进行并行训练,另外本发明专利技术采用了多头注意力机制结构,可以捕获日降水量数据序列各个数据之间多种维度上的相关注意力分数。意力分数。意力分数。

【技术实现步骤摘要】
基于Transformer注意力机制的日降水量预测方法


[0001]本专利技术属于降水量预测
,涉及一种基于Transformer注意力机制的日降水量预测方法。

技术介绍

[0002]降水量预测是现代气候预测工作的核心与难点,降水量预测主要分为两类,一类是利用影响降水的因子,如地区地形、温度、湿度、植被等预测降水量的概率及降水量的多少,这一类主要集中在有台风、冷流等特殊天气时预测降水;另一类是利用以往年份的历史降水量数据,基于降水量时间序列数据的季节性及周期性,对未来年份相同日期在无特殊情况下也就是常规日的降水量进行预测。
[0003]目前对于常规日降水量预测的方法主要有两类方法:一种为基于统计学的方法,例如自回归滑动平均模型,移动平均模型,小波分析等;另一种为基于机器学习的方法,例如循环神经网络,长短时记忆网络等。深度学习中的注意力机制可以看作是神经网络的一个改进,它与人类的注意力机制工作原理基本相似,通过输入变量对权重进行自分配,在众多信息中选择出对当前任务目标更关键的信息。
[0004]谷歌提出的Transformer模型是一种完全基于注意力机制的模型,它摒弃了卷积神经网络和循环神经网络的结构,很好的解决了普通神经网络难以并行化的缺点,并可以实现较快的训练速度。Transformer是一种完全基于注意力机制的模型,其结构主要包括编码器和解码器。编码器由6个编码单元、1个线性层和1个Softmax逻辑回归层;解码器由6个解码单元、1个线性层和1个Softmax逻辑回归层组成。
[0005]基于时间序列的常规日降水量预测是利用以往时间的相同地区的降水量历史数据来预测之后的降水量。传统的基于统计的方法一般是利用过去几段时间的降水量平均值作为下一段时间的预测值,以此来迭代预测;当前基于神经网络的方法一般是将历史降水量作为神经网络的输入变量,经过神经网络的黑盒操作产生的输出变量作为预测值。由于降水量受季节性影响较大,因此进行预测时对过往数据依赖性较高,而普通的神经网络无法满足这一需求,虽然长短时记忆网络可以实现短期历史数据的回忆,但是面对更久远数据的也泛善可陈,而Transformer模型基于注意力机制通过输入变量对权重进行自分配,在众多信息中选择出对当前任务目标更关键的信息却能很好的解决这个问题。

技术实现思路

[0006]为解决现有技术存在的上述问题,本专利技术提出了一种利用注意力机制的transformer模型,来实现利用历史常规日降水量预测未来常规日降水量的方法。
[0007]本专利技术包括以下步骤:
[0008]S1、构造输入序列:将某地以往年份的日降水量数据做成输入序列,缺失数据利用以往年份相同日期的降水量数据的3年滑动平均值补齐,按照时间先后顺序排列成时间序列数据作为模型的输入。
[0009]S2、通过Word2vec算法获取输入序列的每一日降水量的嵌入向量,通过向量转化公式计算出每一日降水量时间排列位置的嵌入向量,将该日降水量的嵌入向量和该日降水量时间排列位置的嵌入向量相加得到输入序列的向量表示矩阵X
n
×
d
,矩阵的每一行是每一日降水量的表示。
[0010]S3、将得到的序列向量表示矩阵传入编码器中,编码器由六个编码单元组成,经过六个编码单元后再通过线性层和Softmax逻辑回归层得到序列的所有降水量数据的编码信息矩阵C,每个编码器单元输出的矩阵维度与编码器单元的输入矩阵维度一致。
[0011]S4、将编码器输出的编码信息矩阵C传递到解码器中,解码器也包含六个解码单元,经过六个解码器单元后再通过线性层和Softmax逻辑回归层得到当前日降水量的预测值。
[0012]本专利技术与现有技术相比有以下有益效果:
[0013]第一,本专利技术方法中采用了transformer注意力机制模型,不同于其他神经网络网络可以较好的进行并行训练。
[0014]第二,本专利技术方法采用了多头注意力机制结构,可以捕获日降水量数据序列各个数据之间多种维度上的相关注意力分数。
附图说明
[0015]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做以简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。
[0016]图1是本专利技术的方法的流程图。
具体实施方式
[0017]如图1所示,一种基于Transformer注意力机制的日降水量预测方法,对某市常规日降水量进行预测,具有如下步骤:
[0018]S1、将某地以往年份的日降水量数据做成输入序列,缺失数据利用以往年份相同日期的降水量数据的3年滑动平均值补齐,若缺失第i年的某日数据,则3年滑动平均值等于其中p
i
‑1,p
i
‑2,p
i
‑3,p
i
‑4,p
i
‑5分别为前五年的该日期的降水量(前五年指的是有相同日期的年份),得到完整的数据之后,再按照时间先后顺序排列成时间序列数据作为模型的输入。
[0019]S2、通过Word2vec算法获取输入降水量时间序列数据的每一个数据的表示向量,得到该序列数据的向量表示矩阵X
n
×
d
,矩阵的每一行是一个日降水量数据的表示,其中n表示该序列的降水量总个数,d表示向量的维度。向量表示矩阵X
n
×
d
由降水量的嵌入向量和该日时间位置的嵌入向量相加得到,其中降水量的嵌入向量利用Word2vec算法求得,降水量时间位置的嵌入向量通过以下公式求得,若将日降水量时间位置的嵌入向量表示为PE,则
[0020][0021][0022]其中position表示该日降水量在序列中的时间位置,d表示PE的维度,2i表示偶数的维度,2i+1表示奇数的维度。
[0023]S3、将得到的序列表示向量矩阵传入编码器中,经过六个编码器单元后可以得到序列的所有日降水量的编码信息矩阵C,每个编码器单元输出的矩阵维度与输入矩阵维度完全一致。编码器单元包括一个多头注意力机制层,一个前馈神经网络层(FNN)和两个残差连接及归一化层(Add&norm),其中多头注意力机制是由多个自注意力机制(Self

attention)组成。当编码器收到向量表示矩阵X
n
×
d
后,多头注意力机制中的每一个自注意力机制随机产生三个初始化线性变阵矩阵,分别与嵌入向量相乘得到三个新向量Q(查询)、K(键值)、V(值)。通过Softmax逻辑回归层计算每一个日降水量对于其他日降水量的注意力系数,其中d
k
是向量维度即矩阵的列数。得到Softmax矩阵后再与V相乘,最终得到当前自注意力机制的最终的输出。多头注意力机制将各个自注意力机制得到的矩阵拼接在一起,通过本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.基于Transformer注意力机制的日降水量预测方法,其特征在于以下步骤:S1、构造输入序列:将某地以往年份的日降水量数据做成输入序列,缺失数据利用以往年份相同日期的降水量数据的3年滑动平均值补齐,按照时间先后顺序排列成时间序列数据作为模型的输入;S2、通过Word2vec算法获取输入序列的每一日降水量的嵌入向量,通过向量转化公式计算出每一日降水量时间排列位置的嵌入向量,将该日降水量的嵌入向量和该日降水量时间排列位置的嵌入向量相加得到输入序列的向量表示矩阵X
n
×
d
,矩阵的每一行是每一日降水量的表示;S3、将得到的序列向量表示矩阵传入编码器中,编码器由六个编码单元组成,经过六个编码单元后再通过线性层和Softmax逻辑回归层得到序列的所有降水量数据的编码信息矩阵C,每个编码器单元输出的矩阵维度与编码器单元的输入矩阵维度一致;S4、将编码器输出的编码信息矩阵C传递到解码器中,解码器也包含六个解码单元,经过六个解码器单元后再通过线性层和Softmax逻辑回归层得到当前日降水量的预测值。2.根据权利要求1所述的基于Transformer注意力机制的日降水量预测方法,其特征在于:所述时间排列位置的嵌入向量PE转化公式为:化公式为:其中position表示该日降水量在序列中的位置,d表示PE的维度,2i表示偶数的维度,2i+1表示奇数的维度。3.根据权利要求1所述的基于Transformer注意力机制的日降水量预测方法,其特征在于:所述编码器单元包括一个多头注意力机制,一个前馈神经网络和两个残差连接及归一化层,其中多头注意力机制是由多个自注意力机制组成。4.根据权利要求3所述的基于Transformer注意力机制的日降水量预测方法,其特征在于:所述编码信息矩阵C的计算过程如下:当编码器收到向量表示矩阵X
n
×
d
后,多头注意力机制中的每一个自注意力机...

【专利技术属性】
技术研发人员:贺治国马赫朱业卢美季余韩东睿
申请(专利权)人:浙江省海洋监测预报中心
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1