摘 要:风电功率预测对电力调度和新能源管理极为重要。为准确高效预测多变量风电功率,提出一种基于轻量化Transformer(Light Transformer)的风电功率预测方法。首先,采用滚动序列建模方法,确定输入数据,然后采用Transformer预测模型,改进和精简原始结构,在前馈网络模块中使用GeLU激活函数来代替传统的ReLU激活函数,提升模型的质量,轻量化网络结构,利用多头注意力机制,加快模型训练速度,提升预测模型精度。
关键词:轻量化Transformer模型;风电功率;激活函数
中图分类号:TP391 文献标识码:A 文章编号:2096-4706(2024)16-0141-05
Multivariate Wind Power Prediction with Lightweight Transformer Model
Abstract: Wind power prediction is extremely important for power dispatching and new energy management. In order to accurately and efficiently predict the multivariate wind power, a wind power prediction method based on Light Transformer is proposed. Firstly, the rolling sequence modeling method is used to determine the input data, and then the Transformer prediction model is used to improve and streamline the original structure and use the GeLU Activation Function instead of the traditional GeLU Activation Function in the feed-forward network module to improve the quality of the model. It lightens the network structure, utilizes the multi-attention mechanism, accelerates the training speed of the model and improves the accuracy of the prediction model.
Keywords: Lightweight Transformer model; wind power; Activation Function
0 引 言
为深入落实“双碳”目标任务,风电功率成为加快推进能源绿色低碳转型的整的重要保障。因风力发电的随机性、波动性和不稳定性特点,直接影响了风电的消纳,进而在风电大规模并网时,将对电网系统的稳定运行及电力系统做出合理的调度决策带来挑战[1]。因此,准确可靠的风电功率预测对于新型电网系统的安全稳定运行以及提高风电场管理调度具有重要意义[2]。
目前,已有多数学者对风电功率预测做了深入研究,并且在短期风电功率预测方面取得了显著成果。随着人工智能的兴起发展,深度神经网络在拟合风电功率随机波动能力不断提高。因此,BP模型、LSTM模型和GRU模型在风电功率预测方面有了大量的应用。文献[3]利用改进序列到序列的LSTM构建超短期风电功率预测模型,文献[4]采用CNN对数据进行深层特征提取,然后将其送入到GRU进行风电功率预测。文献[5]建立CNN-BiGRU模型进行特征挖掘,再利用ISSA对模型参数智能寻优。文献[6]提出基于偏自相关函数和BiLSTM神经网络的预测方法进行风电功率预测。上述方法中采用的LSTM、GRU以及BiLSTM网络由于自身串行结构的限制,只能顺序读取序列数据,容易出现梯度爆炸或梯度消失的问题,从而难以捕捉长期依赖关系。文献[7]提出一种基于误差修正的ILSTM短期风电功率预测方法;文献[8]为提高风力发电功率短期预测的准确度,提出一种将自适应噪声完备集成经验模态分解与改进TCN结合的短期风电功率预测模型。文献[9]采用动态权重选择、孤立森林算以及邻近节点算法筛选并处理数据,构建多元注意力框架,提高模型预测精度。
Transformer模型由于编码器-解码器的结构设计可以捕捉时间序列数据的全局依赖关系[10]。文献[11]对离散化海上风电机组进行聚类,并采用Transformer模型进行海上风电功率的超短期预测。文献[12]采用多级注意力机制捕捉风电功率序列的自相关性以及功率与气象数据间的耦合关系,并通过全连接层进行点预测和区间预测。文献[13]根据风电出力的季节性特点划分风电功率大小不同的月份进行测,该方法需要更多的超参数且划分较为粗糙,不具有普适性。
Transformer模型是一种强大的神经网络模型,已经在自然语言处理、计算机视觉等领域取得了巨大突破。在风电功率预测领域,也可以利用Transformer模型来进行多变量风电功率预测研究。传统的方法通常采用基于统计模型或者人工智能模型,但是这些方法无法充分利用多变量之间的复杂关系。
综上所述,通过Transformer模型可以构建能处理多变量输入的风电功率预测方法。本文针对风电预测中波动性和随机性带来的风电功率预测精低的问题,提出一种轻量化Transformer的风电功率预测模型。通过轻量化Transformer模型挖掘得到低维数据与风电功率序列间的时序关系,实现多变量风电功率的短期预测。最后,采用某风电场的实际数据对本文所提方法进行验证,实验结果表明,本文所提预测方法具有较高预测精度,且预测结果更稳定,同时还降低了计算复杂性。
1 相关理论
1.1 位置编码
原始Transformer模型借助其精巧的自注意力并行结构,既能进行并行计算,又同时解决了长期依赖性问题。虽然相较于LSTM模型,Transformer模型的训练速度遥遥领先,但是由于并行计算结构,也带来了上下文关系注入问题。因此,对于Transformer模型而言,序列的顺序关系无法进行直接获取,自注意力模块在计算注意力分布时,只能给出输出向量和输入向量之间的权重关系,而不能给出位置信息。故而,需要融入位置编码矩阵。
Transformer模型引入使用正余弦位置编码。位置编码通过使用不同频率的正弦、余弦函数生成,提供输入数据在风电功率序列中相对位置的信息,位置编码表示为:
其中,Pos为数据在整个序列中的位置,i为特征的第i个维度,dm为特征的维度。
1.2 自注意力机制
注意力机制采取学习输入元素的相关关系,通过神经网络架构能够智能权衡任意输入的个别相关性,并在执行时序建模计算时考虑权重自调整。其基本理念是计算输入序列的权重分布,为密切相关的元素分配较大的权值。具体来讲,注意力机制是将一组K键、V向量和Q向量进行计算后得到相应的输出。
原始Transformer模型采用自注意力机制来处理长序列依赖问题[14],在Transformer模型中,其本质上就是使用Q向量和K键来计算“注意力权重”,对V向量进行加权求和并输出。其按比例缩放的注意力公式如下:
Transformer模型不同于BP模型、LSTM模型,它是采用多头注意力机制模块并行计算,用于提高模型的表达能力。多头注意力机制公式如下:
1.3 编码器
编码器模块主要是对风电功率序列进行特征提取,然后将位置编码加入,最后通过解码器提取风电功率序列的高维特征。编码器模块包括多头注意力机制、残差连接和前馈神经网络三大部分。Transformer模型通过层规范化和残差连接对矩阵进行处理,层规范化和残差连接能够在一定程度上,解决深度神经网络因层数过多而导致的梯度消失和网络退化问题,加速模型预测结果的收敛。进入前馈神经网络,前馈神经网络的计算公式为:
其中,Fx为前馈神经网络函数;k为层归一化输出值;ω1和b1为第1个线性层的权重矩阵和偏置向量;ω2和b2为第2个线性层的权重矩阵和偏置向量。
1.4 激活函数
GeLU函数也称为更平滑的整流线性单元函数,被广泛应用于如Google的BERT[15]和OpenAI的GPT-2[16]等较为先进的网络模型中。其计算公式如下所示:
其中,X为输入值,X为具有零均值和单位方差的高斯随机变量。P(X<x)为X小于等于给定值x的概率。其近似结果为:
与ReLU和Sgmoid激活函数相比,GeLU激活函数引入了随机正则化的理念,自适应地摒弃无关的结果输出。神经元的输入值越大,激活后的数值就增加了被保留的可能性,随着输入值的减小,激活值被归0的概率也更大,因此激活后的输出值更凸显非线性化,特征的表达更为充分[17]。本实验发现在前馈神经网络层使用GeLU激活函数能够取得更好的性能,可以促进L-Transformer模型非线性处理能力,提高预测模型的拟合能力。
2 基于L-Transformer的风电功率预测
2.1 预测模型结构
本文构建的L-Transformer模型由1个输入层、1个Transformer层和输出层组成。其中Transformer模型精简化为由多层结构的编码器和解码器组成,其中编码器每一层都包括一个多头自注意力模块和一个前馈神经网络(FNN)子层模块。编码器将输入序列映射到高维,而后将其馈送到解码器生成输出序列。L-Transformer的解码器由全连接层代替。轻量化网络结构如图1所示。
2.2 预测流程
本文通过对风电功率及影响因素的分析,确定输入数据,利用轻量化Transformer模型实现对风电功率短期预测,其预测流程如图2所示。
风电功率预测具体步骤如下:
1)构建数据集。通过采集风电场70 m的风速、风向、温度、湿度、气压、功率等构建数据集。
2)数据预处理。需要对输入数据进行预处理,将多个变量的时间序列数据整合成一个输入序列,利用Transformer模型的自我注意力机制来学习变量之间的关系。
3)构建预测模型。将分析后的数据按照8:2
划分为训练集和测试集,通过输入训练集调整L-Transformer模型中的超参数建立最优模型,将测试集输入到建立好的最优模型中得到预测结果。
4)性能分析。选择平均绝对误差(MAE)、均方根误差(RMSE)和决定系数R2等评价指标来衡量模型的预测精度。
3 实验结果及分析
3.1 数据预处理
本文基于我国某地区某风电场2019年1月1日到2019年12月31日的实际数据进行实验分析,数据主要包括测风塔70 m的风速、测风塔70 m的风向、温度、气压、湿度、发电功率等数据,采样周期为15 min。本文采用80%的数据作为训练集数据,将其余20%的数据作为测试集数据。本文采用归一化方法对数据进行归一化处理,归一化公式为:
其中,ynorm为归一化后的值,y为实际值,ymin为原数据集中的最小值,ymax为原数据集中的最大值。
3.2 评价指标
为了准确反映预测效果,本文采取平均绝对误差(MAE)、均方根误差(RMSE)和决定系数(R2)来对L-Transformer模型进行精准评价。MAE、RMSE越小,或R2越接近于1,模型的预测性能越好。其中MAE、RMSE、R2的公式分别为:
3.3 实验结果分析
3.3.1 预测环境
本文实验运行均在相同环境下进行,在Windows 11操作系统,8核16线程,CPU是Intel Core i5-12400F @2.5 GHz,采用Python 3.6搭建模型框架,并在NVIDIA GeForce GTX 1660 SUPER平台进行训练测试,计算平台选择CUDA 10.1和cuDNN。经过多轮实验后,对超参数进行调优,使用Adam优化器训练模型,MSE为损失函数,隐藏层的数量是256层,编码器的数量4,解码器是1个,学习率设置为0.001,并加入dropout防止过拟合,设定值为0.5,batch_size大小为256。
3.3.2 模型性能比较
为了验证轻量化Transformer模型预测性能,分别与BP模型、LSTM模型和Transformer模型进行性能对比,预测结果对比如表1和图3所示。
由此发现,Transformer模型与BP模型、LSTM模型相比,R2的值分别上升了0.015、0.009 8,RMSE分别降低了7.71%、6.21%,MAE分别减少了16.04%、3.20%,说明Transformer模型更擅长从长序列中学习特征。
L-Transformer模型与Transformer模型相比,R2的值提升了0.019 2,其MAE、RMSE值下降了14.38%,24.46%,轻量化的L-Transformer模型其预测精度更高,误差更小,能更准确预测短期风电功率。
3.3.3 不同激活函数选择
针对神经网络的输出结果,激活函数将对其展开非线性映射处理,故而选择不同的激活函数直接影响网络模型的输出参数,进而影响到预测模型的性能。为验证其结果,分别采用ReLU与GeLU激活函数对前馈神经网络层的激活函数替换,使用GeLU激活函数相比ReLU激活函数增加了随机性,且明显在MAE、RMSE降低了10.92%,23.72%,R2提升了0.014 9。实验结果如表2所示。
4 结 论
本文提出了一种基于轻量化Transformer模型的短期多变量风电功率预测方法,并在西北某风电场真实数据集上进行实验,通过改进Transformer模型,替换激活函数,轻量化网络结构,减半编码器个数,进行多变量风电功率预测研究,根据实验分析可知,L-Transformer模型在性能方面明显优于BP模型、LSTM模型和原始Transformer模型。结合多注意力机制,使用残差连接防止出现梯度消失问题,L-Transformer模型表现出更优越的性能,采用GeLU激活函数也可以进一步提升模型的预测性能。构建的轻量化Transformer模型进行风电功率预测,可以有效地挖掘风速、风向、温度和湿度等多变量之间的关系,提高预测的准确性和鲁棒性,为电力调度和风电场的运营和管理提供更准确的预测结果。
参考文献:
[1] 王晓东,栗杉杉,刘颖明,等.基于特征变权的超短期风电功率预测 [J].太阳能学报,2023,44(2):52-58.
[2] 商立群,李洪波,黄辰浩,等.基于多变量相空间重构和优化深度极限学习机的短期风电功率预测 [J].南方电网技术,2023,17(2):82-91.
[3] 郭恒宽,田建艳,刘竖威,等.基于改进Sequence2Sequence架构的LSTM超短期可解释风电功率预测 [J/OL].控制工程:1-12[2024-02-24].https://doi.org/10.14107/j.cnki.kzgc.20230921.
[4] 杨芮,文武,徐虹.基于PCC-CNN-GRU的短期风电功率预测 [J].成都信息工程大学学报,2022,37(2):165-170.
[5] 王瑞,徐新超,逯静.基于特征选择及ISSA–CNN–BiGRU的短期风功率预测 [J].工程科学与技术,2024,56(3):228-239.
[6] 唐贤伦,张家瑞,郭祥麟,等.基于数据平稳化和BiLSTM的短期风电功率预测方法 [J].重庆邮电大学学报:自然科学版,2023,35(6):1135-1144.
[7] 赵铁成,谢丽蓉,叶家豪.基于误差修正的NNA-ILSTM短期风电功率预测 [J].智慧电力,2022,50(1):29-36.
[8] 赵凌云,刘友波,沈晓东,等.基于CEEMDAN和改进时间卷积网络的短期风电功率预测模型 [J].电力系统保护与控制,2022,50(1):42-50.
[9] 崔杨,王议坚,黄彦浩,等.基于多元注意力框架与引导式监督学习的闭环风电功率超短期预测策略 [J].中国电机工程学报,2023,43(4):1334-1347.
[10] 施进炜,张程,原冬芸.基于数据修正的概率稀疏自注意短期风电功率预测 [J].智慧电力,2023,51(10):54-61.
[11] 林铮,刘可真,沈赋,等.考虑海上风电多机组时空特性的超短期功率预测模型 [J].电力系统自动化,2022,46(23):59-66.
[12] 张越,臧海祥,程礼临,等.基于自适应时序表征和多级注意力的超短期风电功率预测 [J].电力自动化设备,2024,44(2):117-125.
[13] 骆钊,吴谕侯,朱家祥,等.基于多尺度时间序列块自编码Transformer神经网络模型的风电超短期功率预测 [J].电网技术,2023,47(9):3527-3537.
[14] 陈锐,丁凯,祖连兴,等.基于AED-CEEMD-Transformer的锂离子电池健康状态估计 [J].储能科学与技术,2023,12(10):3242-3253.
[15] LIU Y,WU H,WANG J,et al. Non-stationary Transformers: Exploring the Stationarity in Time Series Forecasting [J].Advances in Neural Information Processing Systems,2022,35:9881-9893.
[16] JIN W,ZHANG W,HU J,et al. Transformer for Sub-seasonal Extreme High Temperature Probabilistic Forecasting Over Eastern China [J].Theoretical and Applied Climatology,2023,151(1-2):65-80.
[17] 周娴玮,赖坚,陈玮涛,等.RFC-Net:基于残差结构的动作质量评估网络 [J].计算机技术与发展,2022,32(11):146-153+163.