CN116596033A - 一种基于窗口注意力和生成器的Transformer臭氧浓度预测方法 - Google Patents
一种基于窗口注意力和生成器的Transformer臭氧浓度预测方法 Download PDFInfo
- Publication number
- CN116596033A CN116596033A CN202310575634.9A CN202310575634A CN116596033A CN 116596033 A CN116596033 A CN 116596033A CN 202310575634 A CN202310575634 A CN 202310575634A CN 116596033 A CN116596033 A CN 116596033A
- Authority
- CN
- China
- Prior art keywords
- data
- layer
- attention
- model
- sequence
- 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
Links
- CBENFWSGALASAD-UHFFFAOYSA-N Ozone Chemical compound [O-][O+]=O CBENFWSGALASAD-UHFFFAOYSA-N 0.000 title claims abstract description 61
- 238000000034 method Methods 0.000 title claims abstract description 34
- 238000012549 training Methods 0.000 claims abstract description 57
- 238000007781 pre-processing Methods 0.000 claims abstract description 4
- 230000006870 function Effects 0.000 claims description 42
- 238000010606 normalization Methods 0.000 claims description 28
- 238000013507 mapping Methods 0.000 claims description 22
- 239000003344 environmental pollutant Substances 0.000 claims description 18
- 231100000719 pollutant Toxicity 0.000 claims description 18
- 230000008569 process Effects 0.000 claims description 13
- RAHZWNYVWXNFOC-UHFFFAOYSA-N Sulphur dioxide Chemical compound O=S=O RAHZWNYVWXNFOC-UHFFFAOYSA-N 0.000 claims description 12
- 230000002159 abnormal effect Effects 0.000 claims description 7
- 230000003993 interaction Effects 0.000 claims description 7
- 239000013598 vector Substances 0.000 claims description 7
- MGWGWNFMUOTEHG-UHFFFAOYSA-N 4-(3,5-dimethylphenyl)-1,3-thiazol-2-amine Chemical compound CC1=CC(C)=CC(C=2N=C(N)SC=2)=C1 MGWGWNFMUOTEHG-UHFFFAOYSA-N 0.000 claims description 6
- UGFAIRIUMAVXCW-UHFFFAOYSA-N Carbon monoxide Chemical compound [O+]#[C-] UGFAIRIUMAVXCW-UHFFFAOYSA-N 0.000 claims description 6
- 230000004913 activation Effects 0.000 claims description 6
- 229910002091 carbon monoxide Inorganic materials 0.000 claims description 6
- 230000007246 mechanism Effects 0.000 claims description 6
- JCXJVPUVTGWSNB-UHFFFAOYSA-N nitrogen dioxide Inorganic materials O=[N]=O JCXJVPUVTGWSNB-UHFFFAOYSA-N 0.000 claims description 6
- 239000000356 contaminant Substances 0.000 claims description 5
- 238000012544 monitoring process Methods 0.000 claims description 5
- 238000012545 processing Methods 0.000 claims description 4
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 claims description 3
- 238000010200 validation analysis Methods 0.000 claims description 3
- 239000000284 extract Substances 0.000 abstract description 4
- 238000002474 experimental method Methods 0.000 description 11
- 238000012360 testing method Methods 0.000 description 7
- 238000011156 evaluation Methods 0.000 description 5
- 238000000605 extraction Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000013527 convolutional neural network Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 238000013136 deep learning model Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000000306 recurrent effect Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000006403 short-term memory Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 208000000059 Dyspnea Diseases 0.000 description 1
- 206010013975 Dyspnoeas Diseases 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000000875 corresponding effect Effects 0.000 description 1
- 238000013075 data extraction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 206010022000 influenza Diseases 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000013618 particulate matter Substances 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
- G06N3/0455—Auto-encoder networks; Encoder-decoder networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/18—Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computing Systems (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Mathematical Analysis (AREA)
- Molecular Biology (AREA)
- Health & Medical Sciences (AREA)
- Pure & Applied Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Computational Mathematics (AREA)
- Mathematical Optimization (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Operations Research (AREA)
- Probability & Statistics with Applications (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明涉及臭氧浓度预测技术领域,尤其涉及一种基于窗口注意力和生成器的Transformer臭氧浓度预测方法,包括模型训练阶段和模型推理阶段;模型训练阶段包括:步骤S1.1、数据预处理阶段;步骤S1.2、调整模型参数,构建基于窗口注意力和生成器的TransformerWAG‑NAT模型,WAG‑NAT模型包括编码器、生成器和解码器三个部分;步骤S1.3、将历史数据输入至WAG‑NAT模型的编码器中,抽取历史信息和长程依赖;步骤S1.4、将协变量输入至生成器中,结合编码器的输出,生成最优序列;步骤S1.5、将生成器产生的序列输入至解码器中,得到的运算结果即为预测结果。本发明不仅能有效提取局部信息,还能充分挖全局信息,并将二者融合;还学习其他多源数据对臭氧浓度的影响模式,从而给出更精确的臭氧浓度预测结果。
Description
技术领域
本发明涉及臭氧浓度预测技术领域,尤其涉及一种基于窗口注意力和生成器的Transformer臭氧浓度预测方法。
背景技术
当前,随着工业化和城市化的不断推进,空气质量急剧下降。大气中含有的主要污染物包括一氧化碳、二氧化氮、微粒物质、二氧化硫和臭氧。在过去的十几年里,PM2.5一直是我国主要的大气污染物之一,但政府及相关部门的有效管控使其威胁程度得到了有效缓解。然而,臭氧浓度逐年攀升,成为当前大气中的主要污染物。长时间接触过高或过低浓度的臭氧都回对人体产生危害,如呼吸困难等。出于对人体健康的考虑,迫切需要一种能够准确预测臭氧浓度的方法,以便相关机构采取措施加强管控。
随着人工智能和深度学习领域的发展,用深度学习模型来预测大气中污染物的浓度已经成为研究热点和发展趋势。现有的基于深度学习的预测臭氧浓度的模型有:循环神经网络(RNN)、长短期记忆网络(LSTM)以及基于卷积神经网络和长短期记忆网络的混合模型(CNN-LSTM)。循环神经网络是较早提出的机器翻译领域的深度学习模型,后有许多学者将其应用于时间序列预测领域。Biancof iore等学者使用传统的RNN模型,以佩斯卡拉市为例,用过去的臭氧数据及其它大气污染物数据作为训练数据,分别预测了未来1、3、6、12、24小时内的臭氧浓度,在6小时内的预测效果不错,但在6小时以外的预测误差较大。传统RNN模型往往有长程依赖问题,即对于较长的输入和输出序列不会产生较好的效果。目前主流的用于时间序列预测的模型为CNN和LSTM混合模型,CNN可以提取数据之间的局部时空特征,而LSTM模型相对于传统的RNN模型在一定程度上缓解了长程依赖问题,故这两个模型结合可以在时间序列预测取得较好的效果。
然而,LSTM模型依然没有很好的解决长程依赖问题,当输入序列很长时,会不断遗忘得到的信息,导致最终提取的有效信息较少。Vaswan i等学者提出的基于注意力机制的Transformer模型可以很好地解决信息遗忘问题。Wu等学者采用深度Transformer模型对美国流感进行预测,该研究表明Transformer能在单变量数据集上取得很好的效果,但在多源数据集上的预测效果并不显著,说明该模型没有很好的挖掘数据不同维度之间的关联。同时,Transformer中编码器的多头自注意力层的计算复杂度与输入序列的长度成平方级相关,当输入序列较长时需要消耗较多的计算资源,导致训练速度慢。此外,Transformer中的解码器为自回归式结构,需要花费较多的时间进行推理,在一些对实时性需求较高的场景中不占优势。
因此,如何改进Transformer模型,在提高其对多源数据的信息提取能力的同时降低编码器计算复杂度并加快推理速度,是我们面临的问题。针对上述问题,本申请提出了一种基于窗口注意力和生成器的Transformer臭氧浓度预测方法。
发明内容
本发明的目的是为了解决现有技术中存在的缺点,而提出的一种基于窗口注意力和生成器的Transformer臭氧浓度预测方法,能够精确、有效的预测大气臭氧浓度,解决传统Transformer架构中对多源数据提取能力较差、编码器计算复杂度高以及推理速度慢的问题,该预测方法可以提取多源数据中不同特征之间的潜在关系,充分利用历史数据和协变量信息对未来的臭氧浓度作出精准的预测,同时可以显著降低编码器的计算复杂度并且加快推理速度。
为了实现上述目的,本发明采用了如下技术方案:
一种基于窗口注意力和生成器的Transformer臭氧浓度预测方法,包括模型训练阶段和模型推理阶段:
模型训练阶段包括下列步骤:
步骤S1.1、数据预处理阶段:获取臭氧数据、气象数据和其他大气污染物数据作为训练数据,处理缺失值和异常值,将处理后的多源数据归一化,从而消除量纲差异带来的影响;所述气象数据包括风向、风速、气压、最高气温、最低气温,所述其他大气污染物数据包括一氧化碳、二氧化氮、二氧化硫、PM2.5、PM10;使用滑动窗口技术构造时间序列训练样本;该预测模型提供默认滑动窗口大小,用户也可以自定义滑动窗口的大小来决定用于预测未来臭氧浓度的历史数据的时间跨度。用户还可以调整预测数据的长度,即输出数据的时间跨度;
步骤S1.2、调整模型参数,构建基于窗口注意力和生成器的Transformer WAG-NAT模型,将时间序列训练样本送至模型中,开始模型训练过程;
所述WAG-NAT模型包括编码器、生成器和解码器三个部分;
这里WAG-NAT模型采取编码器-生成器-解码器结构,在编码器解码器结构的基础上引入了一种即插即用的生成器模块来产生解码器所需的输入,可以一次性生成指定长度的预测序列结果;
步骤S1.3、将历史数据输入至WAG-NAT模型的编码器中,抽取历史信息和长程依赖;
步骤S1.4、将协变量输入至生成器中,结合编码器的输出,生成最优序列;
步骤S1.5、将生成器产生的序列输入至解码器中,得到的运算结果即为预测结果;
模型推理阶段包括下列步骤:
步骤S1.6、从环境监测站实时获取臭氧浓度数据和其他大气污染物数据,并从气象台实时获取气象数据作为历史数据,处理缺失值和异常值,将处理后的数据进行归一化以消除量纲差异带来的影响;将数据输入至训练好的WAG-NAT模型中,得到预测结果,即臭氧浓度预测值。
优选地,在步骤S1.1中,将处理后的数据进行归一化处理,具体包括:
对于臭氧数据,使用最大最小值归一化函数对获取的数据在特征维度上进行归一化,将数据的范围限定在[0,1]之间;
所述最大最小值归一化函数,其公式表达如下:
其中,x为原始数据且x∈XO,XO表示包含臭氧数据的原始数据集X表示原始数据集,包含臭氧数据,x*表示归一化后的数据,xmin为原始数据集中的最小值,xmax为原始数据集中的最大值;
对于其他大气污染物数据和气象数据,采用均值方差归一化函数在数据的特征维度上进行归一化,把数据缩放到均值为0,方差为1的分布中;
所述均值方差归一化函数,其公式如下:
其中,x为原始数据且x∈XAM,XAM表示包括其他大气污染物数据和气象数据的原始数据集,x*表示归一化后的数据,μ表示原始数据集中的均值,σ表示原始数据集中的标准差。
优选地,在步骤S1.3中,所述编码器用于提取时间序列的长程依赖,接收历史数据作为输入;
其中,所述编码器中有1个输入映射层、1个位置编码层和2个编码层;所述输入映射层将历史输入的特征维度映射成模型需要的指定特征维度512;所述位置编码层对映射后的历史输入增加位置编码向量,从而保留时序信息;所述2个编码层,每个编码层由1个窗口注意力块和1个前向全连接层组成;所述窗口注意力块包括两个部分:窗口自注意力层和窗口交互层;所述窗口自注意力层先将序列数据等分成M个窗口,接着将这些窗口输入至输出维度为512,头数为8的多头自注意力层中,然后把窗口复原成序列数据,并与一开始的输入序列数据作残差连接并应用层归一化函数;所述窗口交互层同样将序列数据拆分成若干个窗口,并输入至一维卷积层融合不同窗口之间的信息,应用一维批量归一化函数和ELU激活函数,最后将窗口复原成序列数据,与一开始的输入序列数据作残差连接并应用层归一化函数后得到输出序列结果;所述ELU激活函数,表达为:
其中,x表示残差连接后的序列上的每一个点,即对每一个点应用ELU激活函数。
所述前向全连接层输出维度为512,负责将窗口注意力块的输出在特征通道上进行融合,输出结果与传入的序列作残差连接并应用层归一化函数,得到编码层的最终输出。
优选地,在步骤S1.4中,生成器接收协变量(如日期特征、节假日信息等)作为输入;其中,生成器中有1个输入映射层、1个位置编码层、1个位置多头注意力层和1个交叉多头注意力层;所述输入映射层的功能与上述编码器中的输入映射层一致,将协变量序列的特征维度映射成模型需要的特征维度,即512,区别于传统的自注意力模块;所述位置编码层将位置编码层得到的位置编码向量作为注意力机制中的查询部分,与映射后的协变量序列一齐参与注意力运算,运算后的结果与映射后的协变量序列作残差连接并应用层归一化函数;所述交叉多头注意力层的输出维度为512,头数为8,将位置多头注意力层的输出作为查询,编码器输出作为键,映射后的编码器输入作为值,进行注意力运算,生成最优序列。
优选地,在步骤S1.5中,所述WAG-NAT模型中的解码器移除了输入映射层,以上述生成器产生的最优序列为输入;其中,解码器中有2个解码层和1个输出映射层,每个解码层包含1个多头自注意力层、1个位置多头注意力层、1个交叉多头注意力层和1个前向全连接层;所述位置多头注意力层的结构和功能与生成器中的多头位置注意力层一致;所述交叉多头注意力层将位置编码层的输出作为查询,编码器的输出作为键和值,参与注意力运算;所提及的所有多头注意力层,输出维度均为512且头数均为8;所述输出映射层将编码层输出的特征维度由512映射为目标特征维度1,得到模型最终输出。
优选地,在步骤S1.2中,模型训练过程为:设置模型的迭代次数为100,训练批次大小为32,使用Adam作为优化器,学习率为0.0001;在训练阶段,采用MSE作为损失函数,其表达式如下:
其中,n为训练集或验证集的样本总数,Oi为第i个样本臭氧的真实值,Pi为第i个样本臭氧的预测值;
对于每一次迭代过程,首先将训练样本输入到编码器中提取历史信息,输出的时序序列作为输入送至生成器中生成与未来高度相关的序列,并将其作为解码器的输入,经过解码后得到维度为1的输出序列,将结果反归一化得到最终预测值,将预测值与真实值比对并计算MSE值,继续迭代直至模型达到最优,即MSE值最小。
优选地,训练结束后,若MSE值没有达到设定的阈值,则认为本次训练不够理想,可从步骤S1.2开始重复训练过程直至MSE达到理想阈值。
与现有技术相比,本发明具有以下有益效果:
1、本发明利用了其时间序列数据全局特征提取的能力,通过引入窗口注意力机制,充分降低了传统注意力机制的计算复杂度,允许输入更长的时间序列数据,从而更有效地地提取更多历史信息。
2、本发明设计了一种即插即用的生成器模块,将编码器提取的信息与其他协变量信息充分融合,可以一次性生成最优序列,以生成的序列作为解码器的输入,从而将解码器改进为非自回归式结构,使得一次推理即可得到所有的预测结果。
3、本发明采用位置注意力模块,使得输入序列对位置敏感,可以加强对时序信息的提取,并且能更有效地捕捉时间序列变化的趋势性。
4、本发明根据采用的数据集开展了不同实验,实验结果展现了WAG-NAT的优越性及其预测的精确性。
附图说明
图1为本发明的流程图;
图2为本发明实施例提供的滑动窗口技术过程示意图;
图3为本发明的整体架构图;
图4为本发明实施例提供WAG-NAT编码器中的窗口注意力块的具体架构图。
具体实施方式
下面结合附图将对本发明实施例中的技术方案进行清楚、完整地描述,以使本领域的技术人员能够更好的理解本发明的优点和特征,从而对本发明的保护范围做出更为清楚的界定。本发明所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供一种基于窗口注意力和生成器的Transformer臭氧浓度预测方法,解决传统预测模型精度不高、传统Transformer模型对多维特征特征提取能力不足、推理速度慢和传统注意力机制计算复杂度高的问题,基于北京监测站点的历史空气质量数据与气象数据,结合WAG-NAT模型有效提高臭氧浓度预测的精度。
为了使本发明的上述目的、特征和优点能够更加清晰易懂,下面结合附图和具体实施方案对本发明作进一步阐述。
如图1所示,一种基于窗口注意力和生成器的Transformer臭氧浓度预测方法,包括模型训练阶段和模型推理阶段:
模型训练阶段包括下列步骤:
步骤S1.1:数据预处理阶段。获取臭氧数据、气象数据和其他大气污染物数据作为训练数据,处理缺失值和异常值,将处理后的多源数据归一化,从而消除量纲差异带来的影响;所述气象数据包括风向、风速、气压、最高气温、最低气温,所述其他大气污染物数据包括一氧化碳、二氧化氮、二氧化硫、PM2.5、PM10。使用滑动窗口技术构造时间序列训练样本;
步骤S1.1具体包括:
对于缺失值和异常值,都采用均值填补法,即使用所有数据的均值来填充缺失值;
采用最大最小值归一化函数将处理后的臭氧数据归一化,最大最小值归一化函数公式如下:
其中,x为原始数据且x∈XO,XO表示包含臭氧数据的原始数据集,包含臭氧数据,x*表示归一化后的数据,xmin为原始数据集中的最小值,xmax为原始数据集中的最大值。
对于处理后的其他大气污染物数据和气象数据,采用均值方差归一化函数在数据的特征维度上进行归一化,把数据缩放到均值为0,方差为1的分布中;
所述均值方差归一化函数,其公式如下:
其中,x为原始数据且x∈XAM,XAM表示包括其他大气污染物数据和气象数据的原始数据集x*表示归一化后的数据,μ表示原始数据集中的均值,σ表示原始数据集中的标准差。所述其他大气污染物数据包括一氧化碳、二氧化氮、二氧化硫、PM2.5、PM10,所述气象数据包括风速、风向、气压、最高气温和最低气温。
采用滑动窗口技术构造时间序列训练样本,具体包括:
假设时间序列样本Tm的特征维度为k,m为样本的索引值,将数据以向量的形式表示,即Tm=[Tm,1,…,Tm,k],Tm,k为臭氧浓度数据。引入一个长度为N+N的滑动窗口来分割数据,在所有样本中,Tm,…,Tm+N-1作为历史数据,Tm+N作为已知的未来数据,模型给出的臭氧预测结果Pm+N会与Tm+N,k进行比较。将滑动窗口移动一步从而产生下一个序列样本,重复滑动过程直至所有样本数据都被扫描。图2给出了一个使用滑动窗口技术将数据序列化的例子,该例子中滑动窗口的大小为3,Si表示第i个训练样本,n表示序列的长度。
步骤S1.2、调整模型参数,构建基于窗口注意力和生成器的Transformer模型WAG-NAT,将时间序列训练样本送至模型中,开始模型训练过程;
图3展示了WAG-NAT模型的整体架构,该模型训练的流程如下:首先将训练样本输入到编码器中提取历史信息,输出的时序序列作为输入送至生成器中生成与未来高度相关的序列,并将其作为解码器的输入,经过解码后得到维度为1的输出序列,将结果反归一化得到最终预测值,将预测值与真实值比对并计算MSE值,继续迭代直至模型达到最优,即MSE值最小。WAG-NAT模型主要由编码器、生成器和解码器三部分组成,下面结合步骤S1.3至S1.5,对这三个部分作详细的介绍。
步骤S1.3、将历史数据输入至WAG-NAT模型的编码器中,抽取历史信息和长程依赖;
如图3所示,时间序列数据首先经过编码器中的输入映射层,将数据维度映射成新的维度,即为dm,接着将数据进行位置编码。在这个过程中,假设输入序列的长度为n,t表示序列的特定位置,i表示该位置上的第i个特征维度,表示该维度上的位置编码函数,该函数可以表示为:
其中,i=1,…,dm,t=1,…,n,频次每个计算完成的位置编码函数值会加到对应的样本上,即给样本添加了时序信息。接着进入到编码层,编码层由2个模块构成,分别为:窗口注意力块和前向全连接层。每个模块经过运算后都要进行残差连接并使用层归一化。将添加了位置编码的数据送入编码层,编码层由2个子模块构成,分别为:窗口注意力块和前向全连接层。窗口注意力块的具体架构如图3所示,计算流程已在上文阐述,其输出维度依然为dm。前向全连接层进一步提取序列之间的特征关联,输出最终的序列,输出序列的特征维度为dm。
图4展示了WAG-NAT模型中窗口注意力块的具体架构。窗口注意力块中包括2个部分,分别为窗口自注意力层和窗口交互层。一个传统的自注意力模块将输入序列分别乘以3个不同的权重张量,从而产生三个不同的矩阵:查询、键、值,分别记为Q,K,V,然后对通过注意力函数进行计算,该函数可以表示为:
由上式可知,每个查询会和所有的键相乘,导致平方级别的计算复杂度。窗口自注意力层在每个窗口中执行注意力函数,每个查询只会与同窗口中的键相乘。接着,这些窗口通过窗口交互层进行交互,因此不同窗口的信息被充分融合。下面结合图4对窗口自注意力层和窗口交互层作详细介绍。
窗口自注意力层:记L为输入序列的长度,w为每个窗口中序列的长度,称为窗口大小,故可得到M=L/w个窗口。接着可以得到每个窗口的查询、键、值,由此产生M个输出序列
其中i=1,…,M且/>dm为模型所需的特征维度,在本实施例中为512。传统多头自注意力模块(MSA)的计算复杂度为/>而窗口多头自注意力模块(WMSA)的计算复杂为/>当窗口大小w固定时,后一项式子/>是与L成线性关系的。也就是说,窗口自注意力模块将传统自注意力模块的复杂度由平方级降低为线性级,使得编码器允许更长的输入序列,提取更多的历史信息,从而提供更精确的预测结果。
步骤S1.4、将协变量输入至生成器中,结合编码器的输出,生成最优序列;
生成器以协变量(如日期特征、节假日信息等)构成的序列为输入,首先经过一个输入映射层,将数据维度映射成dm,接着进入位置多头注意力模块。与普通多头注意力模块不同的是,位置多头注意力层使用位置编码向量作为查询,映射后的协变量序列作为键和值,然后一起参与注意力运算,这样可以让序列对位置敏感,更有效地提取时序信息。将位置多头注意力模块的输出送入交叉多头注意力层中,交叉多头注意力层以位置多头注意力模块的输出为查询部分,编码器的输出作为键,映射后的编码器输入作为值,旨在查询与时序高度相关的编码器输入作为最优生成序列,该最优生成序列的长度即为所需预测的长度,特征维度为dm。
步骤S1.5、将生成器产生的序列输入至解码器中,得到的运算结果即为预测结果;
解码器有2个解码层和1个输出映射层。每个解码层中又有4个子层,分别为:多头自注意力层、位置多头注意力层、交叉多头注意力层以及前向全连接层。解码器中没有输入映射层,因为已经有维度为dm的输入,即生成器中产生的最优序列。序列首先进入多头自注意力模块参与运算,然后进入位置多头注意力层,该部分与生成器中的位置多头注意力层结构一致,仍然以位置编码向量作为查询部分。交叉多头注意力层以编码器的输出为键和值,位置多头注意力层的输出为查询。前向全连接层用于将解码层输出序列的每个时间点的特征映射到dm维度。最终,通过输出映射层的全连接运算,将解码器输出的特征维度dm压缩至目标维度,在本实施例中目标维度为1,最后对目标序列使用最大最小值归一化函数进行反归一化,即可得到需要预测的臭氧浓度。
为了评估所训练的WAG-NAT模型对臭氧浓度的预测能力以及精确度,本发明使用MSE作为函数,具体包括:
根据下列公式计算训练模型给出的预测结果与真实结果MSE的值:
其中,n为训练集或验证集的样本总数,Oi为第i个样本臭氧的真实值,Pi为第i个样本臭氧的预测值。MSE的值越小,说明训练的WAG-NAT模型的预测值与真实值越接近,即模型精确度越高。为了优化MSE值,模型需要不断训练迭代,每一次训练完成后会更新模型中的所有参数,直至MSE值最优。训练结束后,若MSE值没有达到设定的阈值,则认为本次训练不够理想,可从步骤S1.2开始重复训练过程直至MSE达到理想阈值。
步骤S1.6、从环境监测站实时获取臭氧浓度数据和其他大气污染物数据,并从气象台实时获取气象数据作为历史数据,处理缺失值和异常值,将处理后的数据进行归一化以消除量纲差异带来的影响。将数据输入至训练好的WAG-NAT模型中,得到预测结果,即臭氧浓度预测值。
在进行臭氧浓度预测时,需要注意的是,所需预测的时间范围必须与模型训练时提供的目标序列时间范围完全一致,否则预测的结果可能会不准确。如果在模型训练时提供的目标序列仅包含24小时内的臭氧浓度数据,那么在实际预测时也只能预测未来24小时内的臭氧浓度数据。这是因为预测时所采用的运算过程与训练时的运算过程是完全一致的。如果预测所需的时间跨度超出了模型训练时提供的目标序列时间跨度,则需要重新训练模型,以便模型可以更好地适应新的时间跨度。
为了能够使本领域技术人员更好地理解本方案,选取北京市作为研究案例城市,该实验方案可以扩展到更大范围。实验分为两个部分,第一部分为模型的训练,用大量历史数据作为训练数据对构造的混合WAG-NAT模型进行训练,并用一部分数据作为验证集进行模型的性能评估;第二部分为模型的推理测试,使用部分数据作为测试集,用第一部分中训练好的WAG-NAT模型进行预测,并将预测值与真实值作比较,采用多种评估指标给出评分结果衡量模型的预测精度。
选择北京市14个监测站点作为研究目标,样本数据分为臭氧数据、其他多源污染物数据(一氧化碳、二氧化氮、二氧化硫、PM2.5、PM10)及气象数据(风向、风速、气压、最高气温、最低气温)。这里采用从2013年3月1日至2017年2月28日的数据。为了保证数据的完整性,对于部分缺失或异常值,本实施例均采用均值填补。本实验采用前38个月的数据作为训练集,后5个月的数据作为验证集,再后5个月的数据作为测试集。
本实施例共开展两组实验,第一组实验为预测未来48小时的臭氧浓度,第二组实验为预测未来336小时的臭氧浓度。两组实验中的训练参数如下:模型的迭代次数为100,训练批次大小为32,使用Adam作为优化器,学习率为0.0001。在训练阶段,采用MSE作为损失函数。
需要注意的是,本领域技术人员可以针对不同类型的数据设定不同的超参数和输入序列长度,不必参照本实施例所述,本实施例中提供的参数不应理解为对本发明的限制。
在进行推理测试时,本实施例采用均方根误差(RMSE)、平均绝对误差(MAE)两个评估指标来衡量模型的预测精度,这两个指标用下列公式表达:
其中,n为测试集的样本总数,Oi为第i个样本的真实值,Pi为第i个样本的预测值。表1分别展示了两组实验的两个评估指标值。
表1实验1、2在测试集上的两种评估指标值
评价指标 | 实验1 | 实验2 |
RMSE | 1.827×10-2 | 1.953×10-2 |
MAE | 4.357×10-4 | 4.957×10-4 |
本领域技术人员也可选择其他指标来评估模型的表现。当模型给出的预测结果在测试集上的指标值达到一定的阈值时便可认为训练的WAG-NAT模型能给出准确的预测结果,本发明不对该阈值作限定。
本发明中披露的说明和实践,对于本技术领域的普通技术人员来说,都是易于思考和理解的,且在不脱离本发明原理的前提下,还可以做出若干改进和润饰。因此,在不偏离本发明精神的基础上所做的修改或改进,也应视为本发明的保护范围。
Claims (7)
1.一种基于窗口注意力和生成器的Transformer臭氧浓度预测方法,其特征在于,包括模型训练阶段和模型推理阶段:
模型训练阶段包括下列步骤:
步骤S1.1、数据预处理阶段:获取臭氧数据、气象数据和其他大气污染物数据作为训练数据,处理缺失值和异常值,将处理后的多源数据归一化;所述气象数据包括风向、风速、气压、最高气温、最低气温,所述其他大气污染物数据包括一氧化碳、二氧化氮、二氧化硫、PM2.5、PM10;使用滑动窗口技术构造时间序列训练样本;
步骤S1.2、调整模型参数,构建基于窗口注意力和生成器的Transformer WAG-NAT模型,将时间序列训练样本送至模型中,开始模型训练过程;
所述WAG-NAT模型包括编码器、生成器和解码器三个部分;
步骤S1.3、将历史数据输入至WAG-NAT模型的编码器中,抽取历史信息和长程依赖;
步骤S1.4、将协变量输入至生成器中,结合编码器的输出,生成最优序列;
步骤S1.5、将生成器产生的序列输入至解码器中,得到的运算结果即为预测结果;
模型推理阶段包括下列步骤:
步骤S1.6、从环境监测站实时获取臭氧浓度数据和其他大气污染物数据,并从气象台实时获取气象数据作为历史数据,处理缺失值和异常值,将处理后的数据进行归一化以消除量纲差异带来的影响;将数据输入至训练好的WAG-NAT模型中,得到预测结果,即臭氧浓度预测值。
2.根据权利要求1所述的一种基于窗口注意力和生成器的Transformer臭氧浓度预测方法,其特征在于,在步骤S1.1中,将处理后的数据进行归一化处理,具体包括:
对于臭氧数据,使用最大最小值归一化函数对获取的数据在特征维度上进行归一化,将数据的范围限定在[0,1]之间;
所述最大最小值归一化函数,其公式表达如下:
其中,x为原始数据且x∈XO,XO表示包含臭氧数据的原始数据集,x*表示归一化后的数据,xmin为原始数据集中的最小值,xmax为原始数据集中的最大值;
对于其他大气污染物数据和气象数据,采用均值方差归一化函数在数据的特征维度上进行归一化,把数据缩放到均值为0,方差为1的分布中;
所述均值方差归一化函数,其公式如下:
其中,x为原始数据且x∈XAM,XAM表示包括其他大气污染物数据和气象数据的原始数据集,x*表示归一化后的数据,μ表示原始数据集中的均值,σ表示原始数据集中的标准差。
3.根据权利要求1所述的一种基于窗口注意力和生成器的Transformer臭氧浓度预测方法,其特征在于,在步骤S1.3中,所述编码器用于提取时间序列的长程依赖,接收历史数据作为输入;
其中,所述编码器中有1个输入映射层、1个位置编码层和2个编码层;所述输入映射层将历史输入的特征维度映射成模型需要的指定特征维度512;所述位置编码层对映射后的历史输入增加位置编码向量,从而保留时序信息;所述2个编码层,每个编码层由1个窗口注意力块和1个前向全连接层组成;所述窗口注意力块包括两个部分:窗口自注意力层和窗口交互层;所述窗口自注意力层先将序列数据等分成M个窗口,接着将这些窗口输入至输出维度为512,头数为8的多头自注意力层中,然后把窗口复原成序列数据,并与一开始的输入序列数据作残差连接并应用层归一化函数;所述窗口交互层同样将序列数据拆分成若干个窗口,并输入至一维卷积层融合不同窗口之间的信息,应用一维批量归一化函数和ELU激活函数,最后将窗口复原成序列数据,与一开始的输入序列数据作残差连接并应用层归一化函数后得到输出序列结果;所述ELU激活函数,表达为:
其中,x表示残差连接后的序列上的每一个点,即对每一个点应用ELU激活函数;
所述前向全连接层输出维度为512,负责将窗口注意力块的输出在特征通道上进行融合,输出结果与传入的序列作残差连接并应用层归一化函数,得到编码层的最终输出。
4.根据权利要求1所述的一种基于窗口注意力和生成器的Transformer臭氧浓度预测方法,其特征在于,在步骤S1.4中,生成器接收协变量作为输入;其中,生成器中有1个输入映射层、1个位置编码层、1个位置多头注意力层和1个交叉多头注意力层;所述输入映射层的功能与上述编码器中的输入映射层一致,将协变量序列的特征维度映射成模型需要的特征维度,即512;所述位置编码层将位置编码层得到的位置编码向量作为注意力机制中的查询部分,与映射后的协变量序列一齐参与注意力运算,运算后的结果与映射后的协变量序列作残差连接并应用层归一化函数;所述交叉多头注意力层的输出维度为512,头数为8,将位置多头注意力层的输出作为查询,编码器输出作为键,映射后的编码器输入作为值,进行注意力运算,生成最优序列。
5.根据权利要求1所述的一种基于窗口注意力和生成器的Transformer臭氧浓度预测方法,其特征在于,在步骤S1.5中,所述WAG-NAT模型中的解码器移除了输入映射层,以上述生成器产生的最优序列为输入;其中,解码器中有2个解码层和1个输出映射层,每个解码层包含1个多头自注意力层、1个位置多头注意力层、1个交叉多头注意力层和1个前向全连接层;所述位置多头注意力层的结构和功能与生成器中的多头位置注意力层一致;所述交叉多头注意力层将位置编码层的输出作为查询,编码器的输出作为键和值,参与注意力运算;所提及的所有多头注意力层,输出维度均为512且头数均为8;所述输出映射层将编码层输出的特征维度由512映射为目标特征维度1,得到模型最终输出。
6.根据权利要求1所述的一种基于窗口注意力和生成器的Transformer臭氧浓度预测方法,其特征在于,在步骤S1.2中,模型训练过程为:设置模型的迭代次数为100,训练批次大小为32,使用Adam作为优化器,学习率为0.0001;在训练阶段,采用MSE作为损失函数,其表达式如下:
其中,n为训练集或验证集的样本总数,Oi为第i个样本臭氧的真实值,P i为第i个样本臭氧的预测值;
对于每一次迭代过程,首先将训练样本输入到编码器中提取历史信息,输出的时序序列作为输入送至生成器中生成与未来高度相关的序列,并将其作为解码器的输入,经过解码后得到维度为1的输出序列,将结果反归一化得到最终预测值,将预测值与真实值比对并计算MSE值,继续迭代直至模型达到最优,即MSE值最小。
7.根据权利要求6所述的一种基于窗口注意力和生成器的Transformer臭氧浓度预测方法,其特征在于,训练结束后,若MSE值没有达到设定的阈值,则认为本次训练不够理想,可从步骤S1.2开始重复训练过程直至MSE达到理想阈值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310575634.9A CN116596033A (zh) | 2023-05-22 | 2023-05-22 | 一种基于窗口注意力和生成器的Transformer臭氧浓度预测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310575634.9A CN116596033A (zh) | 2023-05-22 | 2023-05-22 | 一种基于窗口注意力和生成器的Transformer臭氧浓度预测方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116596033A true CN116596033A (zh) | 2023-08-15 |
Family
ID=87604201
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310575634.9A Pending CN116596033A (zh) | 2023-05-22 | 2023-05-22 | 一种基于窗口注意力和生成器的Transformer臭氧浓度预测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116596033A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116913413A (zh) * | 2023-09-12 | 2023-10-20 | 山东省计算中心(国家超级计算济南中心) | 基于多因子驱动的臭氧浓度预测方法、系统、介质及设备 |
CN117828308A (zh) * | 2024-03-04 | 2024-04-05 | 山东捷瑞数字科技股份有限公司 | 基于局部分段的时间序列预测方法 |
-
2023
- 2023-05-22 CN CN202310575634.9A patent/CN116596033A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116913413A (zh) * | 2023-09-12 | 2023-10-20 | 山东省计算中心(国家超级计算济南中心) | 基于多因子驱动的臭氧浓度预测方法、系统、介质及设备 |
CN117828308A (zh) * | 2024-03-04 | 2024-04-05 | 山东捷瑞数字科技股份有限公司 | 基于局部分段的时间序列预测方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN116596033A (zh) | 一种基于窗口注意力和生成器的Transformer臭氧浓度预测方法 | |
CN114611792B (zh) | 一种基于混合CNN-Transformer模型的大气臭氧浓度预测方法 | |
CN111382582A (zh) | 一种基于非自回归的神经机器翻译解码加速方法 | |
CN112434891A (zh) | 基于wcnn-alstm的太阳辐照度时间序列的预测方法 | |
CN111242377A (zh) | 一种集成深度学习和数据去噪的短期风速预测方法 | |
CN115409258A (zh) | 一种混合深度学习短期辐照度预测方法 | |
CN114239718A (zh) | 基于多元时序数据分析的高精度长期时间序列预测方法 | |
CN117114160A (zh) | 一种短期光伏功率预测方法 | |
CN115827335A (zh) | 基于模态交叉方法的时序数据缺失插补系统以及插补方法 | |
CN114169251A (zh) | 一种超短期风电功率预测方法 | |
CN116227560A (zh) | 基于DTW-former的时间序列预测模型及方法 | |
CN116433223A (zh) | 基于双域稀疏Transformer模型的变电站设备故障预警方法及设备 | |
CN116777066B (zh) | 基于地基云图引导深度分解的光伏功率概率预测方法及装置 | |
CN117192385A (zh) | 一种基于深度学习模型的锂电池容量预测方法 | |
CN116911419A (zh) | 一种基于趋势相关性特征学习的长时序预测方法 | |
CN115809725A (zh) | 一种多因素短期电量预测方法及装置 | |
CN113377907B (zh) | 基于记忆掩码自注意力网络的端到端任务型对话系统 | |
CN114386666A (zh) | 一种基于时空相关性的风电场短期风速预测方法 | |
CN113835964A (zh) | 基于小样本学习的云数据中心服务器能耗预测方法 | |
CN113537573A (zh) | 基于双重时空特征提取的风电功率运行趋势预测方法 | |
CN112395832B (zh) | 一种基于序列到序列的文本量化分析与生成方法及系统 | |
CN118171772A (zh) | 基于双样本熵结构集成分解和二元神经网络的光伏功率预测方法 | |
CN117669395B (zh) | 改善焦炭热态质量预测模型适用性的领域自适应训练方法 | |
CN117190078B (zh) | 一种输氢管网监测数据异常检测方法及系统 | |
CN111339782B (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 |