基于Transformer模型的电力负荷预测

2023-03-10 05:11王园浩朱月尧查易艺
机电信息 2023年4期
关键词:解码器用电注意力

王园浩 朱月尧 查易艺

(1.南京理工大学自动化学院,江苏南京 210094;2.国网江苏省电力有限公司淮安供电分公司,江苏淮安 223022;3.国网江苏省电力有限公司信息通信分公司,江苏南京 210024)

0 引言

电力系统的主要任务是为用户提供标准且稳定的电能,以满足生活中各类负荷的用电需求,由于目前难以实现电能的大量存储,故为使电力系统稳定运行,需要实时动态地平衡发电量与负荷变化[1]。为保证电网经济且稳定运行,应按需发电并合理分配负荷,其关键点在于如何对电力系统负荷进行精准预测。

电力系统负荷预测是电力系统规划的重要组成部分,也是电力系统经济运行的基础[2]。细化到民用领域,居民用电量本质上是一系列的时序数据,故可用时序预测问题予以建模,它能从已知的历史用电需求出发来预测未来的用电需求。传统的电力系统负荷预测常采用基于时间序列的方法,例如文献[3]从负荷影响因素的复杂性和随机性考虑,以电力系统负荷为因变量,经济、人口、季节为自变量构建回归方程,利用多元线性回归模型进行预测;文献[4]利用灰色模型(Grey Model,GM)拟合电力负荷的增长趋势,再利用马尔可夫链(Markov Chain,MC)修正预测结果;文献[5]利用粒子群算法(Particle Swarm Optimization,PSO)对灰色模型的参数进行适当优化,并使用傅里叶变换对预测误差进行修正,但灰色预测法需要负荷序列连续平滑且符合指数变化规律,该方法虽联合了寻优算法,但仍未摆脱灰色模型的框架。

电力系统负荷最大的特点在于非线性,以上方法虽然计算速度快,但是无法解决序列非线性的问题,故精度欠佳,难以在电力系统规划与电网调度中发挥重要作用。为解决电力负荷序列非线性强从而导致难以准确预测的问题,一批机器学习算法开始涌现:支持向量机(Support Vector Machine,SVM)对高维度的非线性问题有较好的处理能力,文献[6]使用SVM对某区域一天内的短期电力负荷进行预测,一定程度上解决了历史数据有限且系统非线性的问题;文献[7-8]等采用了随机森林(Random Forest,RF)算法,但该方法在噪声较大的数据上会出现较为明显的过拟合问题。近年来火热的人工智能算法在传统机器学习算法的基础上更进一步提高了对非线性数据的拟合能力,理论上神经网络模型可以拟合任意非线性函数,其中基于反向传播(Back Propagation,BP)[9-10]的神经网络模型被最早应用于电力系统负荷预测领域,并在短期预测领域取得了较为成熟的结果。

但电力实际调度时,不仅要进行短期预测,往往还需要进行中长期预测,处理长时序数据,这要求算法必须具备记忆能力,以从海量数据中提取有效的时间特征,保证算法预测精度,传统BP算法无法满足要求,被以长短时记忆网络(Long Short-Term Memory,LSTM)为首的循环神经网络(Recurrent Neural Network,RNN)算法取代,其缓解了传统RNN 存在的梯度爆炸及梯度消失问题,且具备记忆能力。文献[11-12]采用LSTM 算法及其变体取得了优于传统时间序列方法与人工智能算法的预测精度;文献[13]利用LSTM 模型对中国股市中的一些银行股股价进行预测,其预测结果在200个时间步内较好地捕捉了股价的涨跌趋势。LSTM 并非完美,受其原理所限,LSTM 网络无法进行并行计算,在工程实践中极大地浪费了计算资源,并且该网络模型记忆能力有限,对于数据中的长期依赖特征无法很好地提取,在处理中长期预测任务时,其性能表现仍有进一步的提升空间。Transformer克服了传统LSTM 存在的一些问题,可以在时序中建立较好的长时依赖性。文献[14]利用Transformer模型对网购平台多种商品的价格与销量进行预测,很好地体现了Transformer在处理长时序信息时的能力;文献[15]将Transformer模型应用于行人轨迹预测,并取得了比LSTM 更好的预测结果。

在本文中,受Transformer模型优势的启发,将Transformer模型从机器翻译领域引入电力系统负荷预测领域,构建基于Transformer的用电负荷预测模型,并对某区域内20户用户一年内的用电负荷以小时为粒度构建数据集,以训练模型并验证预测精度。实验结果表明,Transformer模型取得了优秀的预测精度,较好地预测了用电负荷可能出现的波动,且无时滞效应。

1 Transformer电力负荷预测模型

Transformer是一种以编码器-解码器为结构的神经网络,核心是自注意力机制,在2017年由Vaswani等人[16]首次提出,并在需要处理海量长文本信息的机器翻译领域取得了极大的成功。该领域常以整本小说作为训练数据,要准确翻译必须建立相当跨度的长期依赖关系以理解文本中包含的大量上下文信息。Transformer很好地解决了这个问题,同时该网络模型可以进行并行计算,且具备强于LSTM 的长期记忆能力。此外,在序列输入模型进行训练的过程中,不同时间步数据之间的距离均为O(1),从而彻底克服了RNN 模型梯度爆炸和梯度消失的问题,大大提升了模型训练成功的概率及计算效率。

Transformer整体结构如图1所示,从组织结构的角度来看,该模型主要可以分为三个部分:嵌入部分、编码器-解码器部分与逻辑回归部分。

图1 Transformer模型网络结构示意图

1.1 嵌入部分

电力负荷数据一大特点是序列性,RNN 网络通过对输入序列进行迭代操作的方式将序列中每个时间步的位置信息赋予网络模型,这也直接导致了RNN网络无法并行计算,必须串行迭代,而Transformer神经网络打破了该桎梏,但也面临一个问题,即如何将每个时间步的位置信息准确提供给模型,让模型明白输入序列的顺序关系。为解决该问题,Transformer神经网络首先对输入序列中的每个数据进行词嵌入(Word Embedding,WE)操作,词嵌入将原本一维的数据升维成二维矩阵,将输入序列中的每个数值均映射为512维的特征行向量。之后Transformer神经网络通过正余弦函数对输入序列进行编码并生成固定的绝对位置表示,即位置编码(Positional Encoding,PE),再将其与之前完成词嵌入的序列对位相加。其位置编码公式如下:

式中:pos为某时间步数据所在输入序列中的位置索引;dmodel为输入序列词嵌入的维度;i为向量的某一维度。

1.2 编码器-解码器部分

1.2.1 自注意力机制

编码器-解码器的核心是自注意力机制。自注意力机制将输入序列映射为问题-键-值(query-key-value)并计算一个问题与所有键的点积以得到权重,从而学习到每个数据与序列中所有其他数据之间的相对重要性。其计算过程如下:

式中:Q代表问题;K代表键;V代表值,并以词嵌入维度dmodel作为缩放因子,可以使梯度在训练过程中更加稳定。

Transformer神经网络通过自注意力机制,使得模型更关注输入序列数据之间的内在联系,降低了模型发生反常预测的概率,从而为电力负荷预测任务提供了偶然性过滤能力,使网络模型更加稳定与鲁棒。

1.2.2 多头自注意力

在工程实际中,Transformer神经网络在自注意力机制的基础上升级为多头注意力机制,该机制将单个注意力拆分成8个,即将式(2)中的一组Q、K、V拆分成8组等大小的Qi、Ki、Vi,i=1,2,…,8,并在这些组内分别进行注意力操作,最后将每个小组的输出重新拼接为原始大小,作为多头注意力层的输出。多头注意力层可以形成多个子空间,让模型去关注不同子空间内的信息,最后将各个方面的信息综合起来,有助于网络捕捉到更丰富的特征信息,提升模型预测精度。

1.2.3 编码器整体结构

Transformer神经网络编码器的结构由图1左侧部分组成,设输入序列为用户耗电量X,则编码器计算过程可表示为如下四步:

(1)对输入序列进行词嵌入与位置编码:

(2)自注意力机制先计算问题矩阵Q、键矩阵K、值矩阵V:

式中:WQ、WK、WV为随着电力负荷预测模型训练而不停学习更新的权值矩阵,经过嵌入后的输入序列与之点乘、进行线性变换而得到矩阵Q、K、V。

之后按公式(2)计算自注意力得分:

(3)残差连接与层归一化:

(4)以ReLU 为激活函数的全连接线性映射,得到编码器向隐藏层的输入:

1.2.4 带遮挡的自注意力

解码器的整体计算流程与编码器大致相同。传统序列到序列模型中的解码器常使用RNN 模型,该网络模型由时间驱动,在训练中,模型只能看到当前t时刻的输入,无论如何也看不到未来时刻的值。而基于自注意力机制的解码器在训练时,整个序列都暴露在解码器中,会导致真值提前泄露,故需要对输入解码器的序列进行遮挡(Mask)操作,具体操作如图2所示。

图2(a)为自注意力矩阵,考虑到负无穷经过Softmax函数映射后为0,故选用下三角全零、上三角负无穷的矩阵作为遮挡矩阵,如图2(b)所示。将自注意力矩阵与遮挡矩阵逐元素相加即可得到带遮挡的自注意力得分。

图2 输入遮挡

1.3 逻辑回归部分

逻辑回归部分如图1中右侧灰色部分所示,由一个线性变换与Softmax映射组成,其作用是将解码器的输出回归到输出向量空间中并重新映射为下一时刻用电负荷的预测概率。

2 基于Transformer的电力负荷预测

2.1 用电负荷数据预处理

在用电负荷预测问题中,每户用户的用电量都存在一些潜在特征,这些特征的量纲与数值量级上均存在差异,如果直接将用户原始的用电数据提供给预测模型进行训练,将容易导致模型难以收敛而达不到理想的训练效果。为此,本研究引入标准化(Normalization)以克服以上问题,它将不同的特征规整到统一尺度上,使其具有可比性。其计算方法如下:

式中:X为用户原始用电负荷样本;X′为标准化后的用电负荷样本;μ为全部样本的样本均值;σ为全部样本的标准差。

经过标准化后,所有样本的均值为0,标准差为1,且可以提升模型在训练时梯度下降的速度。

2.2 用电负荷预测流程

用电负荷预测的重点是对用户历史耗电数据的长时依赖特征进行学习并拟合其背后的非线性曲线,Transformer神经网络具有可以拟合强非线性曲线的优秀性质,故本文采用Transformer神经网络对用户用电负荷进行预测,其过程如下:

步骤1,收集某区域20户用户以每小时为粒度的历史用电数据。

步骤2,标准化数据。

步骤3,对标准化后的用户历史用电数据建立时序数据集,并将其划分为训练集、验证集和测试集。

步骤4,构建Transformer神经网络预测模型,设置参数与超参数后使用训练集训练模型,使用验证集验证模型训练效果。

步骤5,取测试集中一定帧数的历史用电数据样本输入Transformer神经网络预测模型,由模型预测后续一定时长的用户用电负荷。

3 实验结果及结论分析

3.1 实验设定

为充分且有效地训练模型,本文使用某地区20户居民2012年1月1日00:00至2012年12月31日24:00以每小时为粒度的用电负荷构建数据集,共计8 784 h、175 680个数据点。进一步地,将其中85% 的数据作为训练集,由于数据量较为充足,所以采用其中的5% 作为验证集便能很好地检验模型训练效果,而最后的10% 则作为测试集用于测试模型训练完成后的最终预测精度。在验证模型预测精度时,选用均方误差(Mean Square Error,MSE)与平均绝对误差(Mean Absolute Error,MAE)度量,设一共预测mh的用电负荷,yi为实际用电负荷值,为模型预测用电负荷值,则MSE与MAE的计算方式如下:

在结构选择时,Transformer的电力负荷预测模型共使用6层编码器、3层解码器;输入数据的词嵌入维度为512维;在多头注意力层中使用8个头,以将特征投影到8个不同的特征空间中。在训练模型时,初始学习率为0.001,且每轮训练之后先将学习率乘以0.8再开始新一轮训练,这样做既可以让模型快速收敛,又可以尽量去逼近损失函数的全局最优值。本文损失函数采用的是最小均方误差(MSE),将损失从解码器的输出传播回整个模型。

3.2 实验结果

为充分探究Transformer预测模型对用电负荷进行预测的潜力,使用该模型对20户用户用电负荷进行24、48、168、512 h四种不同时长的预测,每种时长预测10次,其以MSE与MAE度量的预测精度展示如图3所示。

由图3可见,Transformer模型对用电负荷进行预测时精度相当高且表现稳定,在时序预测领域MSE与MAE低于1则视为可用,本文所研究模型精度高于可用精度阈值的5~7倍。此外,该模型的预测误差虽然随预测时长的增加而上升,但趋势非常缓慢:预测24 h最小MSE与MAE分别为0.121 82与0.236 51,预测512 h最大MSE与MAE分别为0.176 31与0.292 46,以24 h预测结果为基准可知,预测时长增加至21.33倍时,MSE预测误差仅增长44.73%,MAE预测误差仅增长23.66% 。由此可见,Transformer模型可以充分捕捉用户用电负荷中的长期依赖特征并由此进行精准的预测,在预测时长倍增的同时能够有效控制住误差的增长,具备非常强的长期预报能力,方便电网工作人员进行长期规划,提前为可能出现的用电高峰或低谷做准备,以保证电网的经济运行。

图4为进行标准化后的预测结果,选用标准化后的结果进行展示可以消除量纲对预测结果的影响,更直观地展示模型的预测精度。由图4可知,虽然预测负荷的精度在波动的峰值处可能有所欠缺,但Transformer模型无论预测时间长短,均可较好地预测用电负荷波动的趋势,且没有明显的时滞效应。

图4 不同长度归一化后预测结果

4 结语

数字化技术在电网企业生产经营等多个专业领域得到了推广运用,运用人工智能方法,对电力系统负荷进行准确的预测,全面挖掘数据价值,对于电网稳定且经济运行具有重要意义。鉴于传统神经网络预测方法受限于RNN 结构的劣势,无法进行长期精准预测,本文提出了基于Transformer模型的用电负荷预测方法,并通过仿真实验证明了该方法在预测长期用电负荷时精度高,可以较好地预测用电负荷可能出现的波动且无时滞效应。后续工作可以考虑加入先验的专家知识,如季节、气候等因素,以进一步提高模型的预测精度,优化模型在波动峰值处的表现。

猜你喜欢
解码器用电注意力
让注意力“飞”回来
科学解码器(一)
科学解码器(二)
科学解码器(三)
安全用电知识多
线圣AudioQuest 发布第三代Dragonfly Cobalt蓝蜻蜓解码器
对输配电及用电工程的自动化运行的几点思考
为生活用电加“保险”
用电安全要注意
“扬眼”APP:让注意力“变现”