APP下载

基于多头注意力卷积网络的电力负荷预测

2022-09-29郑征谭磊周楠韩军伟高晶翁理国

南京信息工程大学学报 2022年5期
关键词:消耗卷积注意力

郑征 谭磊 周楠 韩军伟 高晶 翁理国

0 引言

居民用电预测可被定义为一个多元时间序列预测问题[1].在能源管理系统(Energy Management System,EMS)领域,包括最近备受关注的智能电网服务,基于历史电力消耗和其他电力属性预测未来电力需求的过程是必不可少的[2].在电力规划阶段主要的问题是对电力消耗的性质进行建模,而目前这种建模仅限于线性回归等单纯的时间序列模型[3].

在负荷预测领域,机器学习的目标是利用所有客户的历史数据生成数据库,预测未来的电力需求.移动平均[4]和支持向量回归[5]是电力预测的代表性方法,它们成功地模拟了终端用户的长期行为,提高了预测精度.然而,在高时间分辨率条件下[6]针对暴露行为模式的短期行为建模的预测任务中,需要一种更加复杂和实用的时间序列建模方法.

深度学习由于其优秀的特征提取能力,使得其在负荷预测领域被重点关注.但深度学习的电力预测模型[7]仍然面临两个问题:一是有功功率消耗模式与其他电力属性之间存在多重共线性,二是电力消耗的瞬态和脉冲性.虽然目前已经提出利用卷积运算提取电力数据局部相关性的方法,但同时或单独使用对有功功率有关键影响的用电设备会导致深度学习模型性能的下降.具体来说,没有针对多元和脉冲特性进行建模的模型在能量峰值时性能会下降.在深度学习兴起之前,大多数时间序列建模方法都是基于符号-动力方法[8].由于时间轴上的轻微移动会导致两个时间序列之间的距离变大,Lin等[9]提取并建模旋转不变符号,构造了模式袋.为了建立时不变特征并进行非线性映射来预测电力消耗,Tso等[10]提出一种神经网络,并与现有基于规则和符号的预测方法进行了性能比较.在基于机器学习的电力需求预测方法中,自回归综合移动平均、决策树以及神经网络的预测效果最好,其非线性映射能力备受关注[11].

深度学习模型包括学习时间门函数的长短时记忆网络(Long Short-Term Memory,LSTM)[12-13]和提取功率谱间局部相关性的卷积神经网络(Convolutional Neural Network,CNN),在电力负荷预测领域取得了显著的成绩.此外,利用CNN和LSTM层作为构建块,自编码器(AE)[14]和对抗学习模型(如生成对抗网络(GAN)[15])作为概率设计方法,间接地验证了深度学习在电力预测中的有效性.

然而,考虑到时间序列的特征(非恒定均值和方差、多周期性、高波动性、跳跃性等),电力负荷预测是一项困难的任务.Mocanu等[16]将随机预训练阶段引入到神经网络的电力负荷预测中,并在不同的时间条件下对其进行评估.受限玻尔兹曼机(RBM)是一种代表性的无监督学习神经网络模型,其目标是最小化层之间的KL散度[17].堆叠RBM适用于从电力负荷数据中学习先验分布,对提高预测性能有显著贡献.Kong等[18]尝试利用循环神经网络(RNN)和LSTM来预测电力消耗,并验证了可行性,显著提高了预测性能.

针对预测序列的不同特点,研究人员提出了预测模型的优化方法.对深度学习框架或损失函数进行优化使得模型的预测性能有了显著的提高.Shi等[19]在时间序列建模之前引入自编码器提取多元特征,采用池化操作的RNN有选择地更新梯度.此外,一种利用遗传算法优化影响预测性能的关键因素时滞参数的方法也被提出[20].与遗传算法相比,基于粒子群优化算法(PSO)的负荷预测模型具有更快的收敛速度和更大范围的空间探索,因其性能优于现有的深度学习模型而受到关注[21].还有一些研究对损失函数进行优化,如分位数损失函数在神经网络中的适应性[22-23].

从基于深度学习方法的电力消耗预测的相关研究中可以看出,深度学习是进行电力预测的有效手段.本文提出了一种基于多头注意力的深度学习模型,利用时间序列建模中卷积和加权机制来对电力属性和有功功率间的局部相关性进行建模.其核心思想是通过卷积运算从多变量电力属性中提取特征,通过门控运算对功率谱进行时间序列建模,采用基于softmax函数运算的概率数据定位方法,有效地预测瞬时功耗和脉冲功耗.综上所述,本文方法中注意力的权重函数可以模拟包括能量峰值在内的时间序列电力数据的短期模式.

本文的其余部分组织如下:第1部分说明了如何通过具有多头注意力的深度学习模型有选择性地提取电力属性;第2部分通过各种实验来评估模型的性能,包括多头注意力向量的可视化以及与最新模型的比较;第3部分对全文进行了总结,并对未来的发展方向进行了讨论.

1 基于多头注意力的卷积循环神经网络

本节描述了CNN-LSTM网络的结构,该网络利用多头注意力提取时空特征,利用通道注意力提取特征通道间的联系,并从功率谱中建模电力消耗.多头注意力利用softmax和点积运算实现多目标关注,以模拟暂态和脉冲电力需求值.

1.1 网络结构概述

该方法的主要目的是利用CNN-LSTM网络进行电力需求预测.本文利用多头注意力机制并将其表示为函数φ来提取时空特征并预测未来电力需求.由于存在多层叠加表示的复杂非线性映射,本文采用直接预测策略[24],避免了递归策略中偏差的累积.直接预测策略的公式表示如下:

(1)

众所周知,卷积循环神经网络在信号处理领域具有数据驱动的滤波学习优势,主要是用来提取时空特征.图1展示了带有多头注意力的CNN-LSTM的总体架构.它主要分为两个阶段:

1)数据预处理阶段定义训练CNN-LSTM模型所需的超参数.在定义超参数之前,对每个电力属性和滑动窗口进行最小-最大标准化.滑动窗口由时间滞后的输入信号ω的长度定义,其步幅参数τ决定了时间步长重叠的数量.对每个时段的电力消耗数据进行采样,时间分辨率为1 min、15 min、30 min、45 min、60 min、1 d和1周(7 d).

2)建模阶段根据定义的超参数调整CNN-LSTM模型的权重.为了从功率谱中提取时空特征,本文构建了一个卷积池操作对电力属性之间的隐藏相关性进行建模,并利用循环记忆单元的门控操作来对时间序列数据之间的时间相关性进行建模.同时,本文还设计了一种多头注意力机制和一种通道注意力机制,前者用于将激活值解释为概率并构建相关矩阵,置于每个卷积层和循环层之间,后者用于提取特征通道间的联系,滤除冗余通道信息.此外,将类激活映射(Class Activation Map,CAM)放入最后一层卷积层进行网络输出分析,通过对CNN最顶层特征图的权值进行求和,对感受野进行局部定位.

图1 基于多头注意力的CNN-LSTM网络整体结构Fig.1 Overall structure of CNN-LSTM based on multi-headed attention

1.2 卷积循环神经网络

利用神经回归模型对电力消耗进行建模的主要问题在于从有限的电力消耗数据样本中提取时空特征[25].首先构造CNN和LSTM,从时间序列的电力消耗数据中学习特征.两种深度学习模型在保持时空特征互补关系的前提下,以前后顺序的方式进行组合.考虑到CNN中的卷积fc和池化操作成功应用于信号处理领域,因此也适用于建模电力消耗序列,利用滑动窗口信号之间的局部相关性提取特征.卷积运算通过学习滤波器提取隐藏的相关性,以减少特征之间的平移方差,并保持电力属性之间的空间关系.假设给定t个时间步长,使用m×1大小的滤波器W,第l层第a个节点和电力属性序列Rτ中第τ个元素进行卷积运算:

(2)

由于卷积运算fc中被扭曲和复制的输出向量的维数随着卷积滤波器的数量而增加,因此通过最大池化运算提取临近节点激活的特征.池化是指CNN为了减少网络参数而进行的降维过程,以便于更快的计算[26].最大池化操作对k×1区域下的特征选择和降维有影响.本文所提出的一维卷积池化操作旨在从每个属性的功率谱中提取空间特征,并将编码向量序列传递给LSTM.通过滑动窗预处理,卷积池化函数fc提取的空间特征包含了窗口尺寸ω的时间序列信息.LSTM的核心思想是适应由输入门、遗忘门和输出门组成的门控运算,并在时间步长t时用细胞状态Ct和隐藏值ht生成编码向量fL:

fL=ht=ot·tanh(Ct),

(3)

(·)表示元素相乘.CNN-LSTM提取时空特征后,利用经典的多层感知器(MLP)、激活函数σ和权重矩阵Wl完成回归函数φ:

(4)

(5)

1.3 多头注意力机制

注意力用于计算两个来源的元素之间的相关分数.直观地说,注意力机制是一种计算查询与键之间的相似性,并提取与查询相关的值进行加权和的操作.

(6)

(7)

注意力机制可以表示为深度学习层,注意力层位于功率谱和时间序列的建模步骤之间.注意力层适合对电力设备使用量的骤增进行建模,而传统的深度学习模型难以预测这种情况的电力消耗.自注意力是注意力机制的一种特殊情况:它用信号Xt替换查询Q.单头注意力机制直观地对卷积池化层编码的自身进行点积以获取时空特征向量间的协方差.

图2 多头注意力机制的内部结构Fig.2 Structure of multi-headed attention mechanism

本文提出的多头注意力是注意力机制的延伸,它将多个注意力保持在一个窗口内,比单头注意力表现性能更好.图2展示了多头注意力机制的内部结构.本文不再为每个时间步长计算单个标量分数f(Xt,Xt),而是定义与Xt长度相同向量的相容性函数f的输出.Zk表示来自相容性函数的相关分数.由于将注意力向量的维数扩展为f(Rτ,Q),因此可以将每步t中电力属性元素或编码特征k的重要性权重向量pkt形式化:

pkt=p(Zk=i|Rt,Q).

(8)

1.4 通道注意力机制

本文通过引入通道注意力机制,对卷积特征的通道之间的相互依赖关系进行建模,以提高网络的表示能力.通过这种机制,网络可以学习使用全局信息有选择地强调信息量大的特征,并抑制不太有用的特征.通道注意力机制通过模拟通道之间的相互依赖关系,自适应地重新校准通道方面的特征响应.通道注意力机制内部结构如图3所示.为了解决通道依赖性的问题,首先对输入特征使用全局平均池化操作,把全局空间信息压缩成一个通道描述符,然后利用全连接层和激活函数进行通道间的压缩与扩张,旨在完全捕获通道相关性.选择Sigmoid激活函数作为门控机制,得到通道分数图,再与输入特征相融合,得到最终融合了通道间信息的输出特征.

图3 通道注意力机制的内部结构Fig.3 Structure of channel attention mechanism

通道注意力机制超参数设置如表1所示.经过上层的输入之后,本文使用ResNet-50作为主干网络,通道注意力机制模型分为4个模块.首先使用7×7的卷积核,步长为2的方式对输入特征进行下采样,再使用3×3的卷积核,步长为2的方式对全局特征进行最大池化;最后一个模块其他3个注意力模块基本相同,首先使用1×1的卷积核融合通道特征,再使用3×3的卷积核进行下采样,然后使用1×1的卷积核进行通道特征的融合,并进行多次重复操作.每个注意力模块中包含一个小的全连接层,最后再进行一个简单的逐通道缩放操作,输出所要预测的目标参数.

表1 通道注意力机制超参数设置

2 实验

本节介绍了具有多头注意力的CNN-LSTM如何通过预测误差的10-折交叉验证来预测电力消耗和评估性能,然后与相关的深度学习模型进行定量比较.本文所有实验全部都基于PyTorch深度学习框架,版本号为1.10.0,Python版本为3.8.12,显卡型号为NVIDIA GeForce RTX 3070,显存共8 GB;CPU型号为i7-11700F;计算机内存为16 GB.

2.1 数据集

在UCI家庭用电数据集[27]上验证CNN-LSTM算法的有效性.该数据集收集了约207万个多通道传感器的数据,由2 075 259个时间序列和7个变量组成,电力属性包括总有功功率、总无功功率、电压、电流和另外3个子属性.数据被标准化,并在带有时滞参数的滑动窗口中进行处理.预测模型在时间分辨率条件下接收到这7个属性,并生成下一个时间步长的总有功功率.

2.2 模型实现细节

CNN-LSTM的架构可以根据堆叠的卷积池化层和LSTM层的数量,以及卷积滤波器的数量、卷积核大小和LSTM中的隐藏层节点数量进行不同程度的修改.由于深度学习模型需要一个优化过程,因此有必要对超参数进行调整和优化.本文模型的超参数是经过对电力消耗统计数据的直观判断以及对迭代优化的深入研究确定的.表1展示了CNN-LSTM的超参数设置.图4展示了所提出的模型总体架构.

2.3 电力消耗预测性能比较

表2和图5比较了包括卷积神经网络和LSTM在内的机器学习模型的预测性能结果.本文模型对时空特征进行选择性建模,与传统CNN-LSTM神经网络相比,误差降低了22.72%(时间分辨率为1 min).评价指标是基于欧氏空间误差测量的均方误差(MSE):

(9)

表2 CNN-LSTM超参数设置

图4 基于多头注意力的CNN-LSTM结构示意Fig.4 Structure diagram of CNN-LSTM based on multi-headed attention

表3 基于不同时间分辨率的不同建模方法的MSE指标比较

进一步评估不同时间分辨率下的模型性能,其结果如表2所示(LR:线性回归;ARIMA:自回归综合移动平均;DT:决策树;RF:随机森林;SVR:支持向量回归;MLP:多层感知器;CNN(1D为一维卷积,2D为二维卷积);LSTM:长短时记忆网络).每个MSE值都是10-折交叉验证的结果.预测误差在45 min和1 h的时间分辨率下最大,有时短时特征的丢失会对长时建模产生影响,从而导致网络性能下降.考虑到终端用户的长期行为在短时分辨率下表现为趋势,因此平滑策略是有效的.自回归综合移动平均(ARIMA)可以基于移动平均操作对时间序列的总体趋势进行建模.正如预期的那样,ARIMA的优势在1周和1 d的长时周期内显现,而支持向量回归器(SVR)和神经网络等非线性映射方法在1 h和1 min的短时周期内减少了误差.与最新的机器学习方法和深度学习方法相比,本文提出的方法在所有时间分辨率下取得了最好的性能.

为了更深入地验证所提出模型的性能,本文还对所提出的多头注意力机制进行了消融实验,实验结果如图6所示.可以看出,相较于原始的CNN-LSTM(单头),多头注意力机制能够显著地提高电力消耗预测的准确性.

图5 不同算法的10-折交叉验证结果Fig.5 The 10-fold cross validation results of different algorithms

图6 多头注意力机制的消融实验结果Fig.6 Ablation experimental results of multi-headed attention mechanism

3 结束语

本文提出一种基于多头注意力的深度学习模型来预测电力消耗.在解决电力消耗建模问题的基础上,回顾了基于深度学习方法的电力消耗预测模型,提出了用于提取时空特征的CNN-LSTM模型和可学习加权的多头注意力模型,并在不同的时间条件下对模型进行了评估.

此外,长期行为之外的事件可以认为是可能发生的事件,而未能正确预测它们的情况可以归结为异常值.在未来的工作中,我们将通过聚合算法来解决这个问题,消除这种错误预测的影响,并利用混合方法提供的灵活性将其处理在可容忍的误差范围内.

猜你喜欢

消耗卷积注意力
转炉炼钢降低钢铁料消耗的生产实践
让注意力“飞”回来
基于3D-Winograd的快速卷积算法设计及FPGA实现
降低钢铁料消耗的生产实践
如何培养一年级学生的注意力
卷积神经网络的分析与设计
从滤波器理解卷积
基于傅里叶域卷积表示的目标跟踪算法
A Beautiful Way Of Looking At Things
If We Burne d All the Fossil Fuel in the World