1. 深度学习场景生成方法概述
随着全球经济和社会不断进步,能源需求正以惊人的速度不断增长。传统能源如煤炭和石油等资源的开采日益深入,不仅加剧了资源短缺问题,也给环境和气候带来了严重影响。与此同时,可再生能源以其清洁性和可持续性日益受到重视。截至2023年,全球每年可再生能源装机容量增长已接近50%,达到510吉瓦(GW),这是近20年来增长速度最快。这也是可再生能源装机容量连续第22年创下新纪录;风光两种能源合计占所有新增可再生能源的近90% [1]。可再生能源发电由于其具有的不确定性给电力系统的短期运行带来了高度的不确定性。
场景分析法在电力系统动态决策过程中发挥着重要作用[2]。它通过创建一系列具代表性的场景实例来刻画可再生能源不确定性,为电网的优化调度提供依据。可再生能源由于其本身随机和不稳定的性质,传统的数学建模[3] [4]方法在模拟和预测其输出时不够准确,无法充分捕捉其随机和不稳定的特性,导致无法对其进行精确建模。随着人工智能技术与计算机算力的不断进步,本文可以更好地通过深度挖掘和分析历史实测数据,揭示可再生能源变化规律的隐性特征。比较常用的深度生成模型包括生成对抗网络(generative adversarial networks, GAN) [5]、变分自编码器(variational auto-encoder, VAE) [6]等。由此又演变出包括条件Wasserstein GAN (C-WGAN) [7]、SolarGAN [8]、可控GAN (Ctrl-GAN) [9]、StyleGAN2 [10]等模型。
但是,就整体来看,深度生成模型在可再生能源场景生成方面的研究还处于发展阶段,如何构建效率更高的场景生成模型,如何在原始数据量不足的情况下构建可靠的场景生成模型,如何精准刻画可再生能源场景在时间序列上的相关性特点等仍然是学术界需要解决的问题。研究人工智能的新方法具有深远价值,主要体现在两大方面:首先是其数据驱动的特性,这种方法无需对数据做出先验的统计假设,从而极大地提高了应用的灵活性和广泛性;其次是其隐式建模的能力,使得算法能够在无监督或有监督学习的环境下深入探索历史数据,挖掘历史数据的隐性分布规律,进而精确地刻画可再生能源的出力不确定性。这两大优势在结合预测信息生成短期输出场景以及应用于电力系统日前优化调度方面,不仅具有重要的理论意义,更赋予了实际应用价值。本文将可再生能源原始出力数据及其出力数据标签信息作为研究对象,搭建了基于改进GAN的可再生能源场景生成模型。本文使用Wasserstein距离[7]作为判别器的损失函数约束GAN的生成器与判别器,提高模型的训练稳定性;随后本文通过引入Mixup [11]数据增强策略,提升模型在输入样本量不够时仍然能够生成高精度可再生能源场景的能力;最后,本文通过设计实验进行仿真,分析验证本文提出的可再生场景生成模型的训练阶段,并选用合理的评价指标,将所生成的可再生能源场景与传统GAN所生成的进行对比,验证模型的优越性。
2. WCGAN模型
GAN是一种最早由Goodfellow等人在2014年提出的深度神经网络[12],GAN由两个深层神经网络组成:判别器和生成器。生成器用于学习噪声分布与实际可再生能源出力数据分布之间的映射关系。传统的生成对抗网络存在网络难以收敛、生成器退化以及模式坍塌等问题,这些问题对生成对抗网络获得最优结果存在巨大的干扰,因此研究者提出了许多GAN的变体来解决这些问题。CGAN提出在传统的 GAN的生成器和判别器中加入约束条件信息y对模型进行约束,这样可以对生成器的生成数据过程进行指导,条件生成对抗网络的价值函数如下:
(1)
其中,E(⋅)为数学期望,D(⋅)为判别器的输出。G(⋅)为生成器的输出,
和
分别为历史分布和生成分布。
与传统GAN不同,WGAN使用Wasserstein距离作为判别器的损失函数。原始GAN使用的判别器损失函数是Jensen-Shannon (JS)散度。当生成的样本中没有重叠部分或者重叠部分可以忽略不计时,JS散射是恒定的,即存在局部饱和。当判别器被训练至接近最优时,生成器容易出现梯度消失的问题,并且在反向传递过程中网络参数无法更新,导致网络训练不稳定,甚至模式崩溃,从而影响模型生成可再生能源场景的准确性。而Wasserstein距离与JS散度不同,它可以直接准确地表征两个分布之间的差异。两个分布之间的Wasserstein距离定义为本文使用Wasserstein距离作为损失函数,改善了使用KL散度或JS散度容易出现梯度消失的现象。该函数能够在生成的数据分布与历史数据分布差异很大时,反映两者之间的误差距离。Wasserstein距离的计算公式如下:
(2)
式中
为满足
边际分布的联合概率密度分布。由于Wasserstein距离难以直接计算,因此将其对偶形式应用于可再生能源场景生成。
(3)
在对生成器进行训练的同时将Wasserstein距离最小化。使用Wasserstein距离作为判别器的损失函数,可以有效地表征原始样本分布与生成样本分布之间的差异,提高模型训练优化过程的稳定性。在模型训练的起始阶段,其拟合表现往往并不稳固,具体体现在判别器的损失函数,即Wasserstein距离,会先出现一段上升的情况。然而,随着生成器训练的不断进行,原始样本与生成样本之间的分布重叠部分会逐渐增多,导致Wasserstein距离逐渐减小并趋近于0,最终趋于稳定状态,这标志着模型已经完成了训练并达到了良好的拟合效果。如图1为WCGAN模型架构。
Figure 1. WCGAN model
图1. WCGAN模型
3. Mixup数据增强技术
选择具有本质上共同特征但实际上不同示例的训练和测试数据的方法称为数据增强。在基于gan的场景生成中,一个常见的现象是模式崩溃,这是由于凸优化问题中存在许多局部纳什均衡状态。此外,即使训练有素的模型也会因为训练数据固有的缺乏分布而失去预测能力。考虑到上述不足,我们采用了一种基本但有效的数据增强技术Mixup,Mixup是一种基于邻域风险原则的数据增强方法,该算法利用线性插值的方式对2个样本和标签进行混合,一定程度上扩展了训练数据的分布空间,从而使模型的泛化能力得到提高。如图2所示。
Mixup通过结合特征向量的线性插值应该导致可再生能源发电功率轨迹的线性插值的先验知识来扩展数据分布。Mixup可以在代码中简洁地表达,并以最小的计算开销实现。经过训练后,模型输出可以显示出令人满意的多样性,并可以获得历史样本中没有发现的新样本。
在训练阶段,对每个样本批次进行随机抽样,我们对所选样本
,
进行以下线性混合,以获得虚拟实例Xmix
其中,λ表示混合指数,
。相应地,前面设置的标签也需要混合:
其中,
和
表示相应的标签。但应该注意的是,此时的标签不再明确地指代某一类型,而是表示概率信息。
服从
分布,其中超参数控制插值强度,取值越大,插值强度越强,当λ趋近于0时,Mixup 就会逐渐失效。
4. 基于Mixup与WCGAN的可再生能源场景生成方法
为了解决GAN在训练过程中存在的不稳定性问题,以及在小样本数据量上训练时难以达到良好拟合的困境,本文创新性地引入了Mixup技术。通过Mixup对原始输入数据进行数据增强处理,使得能够在
Figure 2. The principle of Mixup data augmentation
图2. Mixup数据增强原理
大型神经网络建模过程中更有效地提取出小训练数据的隐性特征。此外,为了进一步提升生成模型的性能,我们用WCGAN替换了传统的GAN模型。引入Wasserstein距离与梯度惩罚不仅使得生成模型的训练更容易达到拟合,还赋予了模型根据标签信息生成特定场景的能力。通过这些措施,我们显著提升了GAN的稳定性和生成效果,尤其是在处理小样本数据时表现尤为突出。
基于WCGAN与Mixup的可再生能源场景生成框架分两部分:第一部分本文通过在数据预处理阶段引入Mixup,实现对原始小样本数据的数据增强部分;第二部分搭建了基于WCGAN的生成模型,将第一部分数据增强处理后的可再生能源出力数据以及高斯噪声作为输入,生成指定标签的高质量场景集合。如图3为本章提出的基于WCGAN与Mixup的可再生能源场景生成框架图。
基于Mixup的WCGAN可再生能源场景生成步骤如下。
1) 数据预处理。首先,导入历史光伏/风电时序数据。然后,将原始的可再生能源时序数据转成二维矩阵,以便于生成网络读取数据。最后,对光伏/风电时序数据进行打标签以及归一化处理。
2) Mixup数据增强。将上一步骤中经过预处理的数据输入到Mixup模型,Mixup模型首先分别对历史数据以及对应的标签进行线性插值,然后将插值后得到的新样本/标签与输入的原始样本/标签结合,得到混合样本/标签。值得注意的是:此时的标签不再明确地指代某一类型,而是表示概率信息。
3) WCGAN训练。首先,将随机生成满足正态分布的噪声向量作为生成器的输入,经过多个反卷积层后生成和实际样本维度相同的可再生能源随机场景。然后,计算生成场景和实际场景之间wasseratein距离,并将其反馈给判别器和生成器,以更新场景生成网络的权重。当模型目标函数达到最优时,将训练好的WGCGAN用于可再生能源场景生成。
Figure 3. The renewable energy scenario generation framework based on Mixup and WCGAN
图3. 基于Mixup与WCGAN的可再生能源场景生成框架
5. 算例分析
5.1. 实验准备
1) 实验数据:
本文采用的所有可再生能源数据均来自美国国家可再生能源实验室(National Renewable Energy Laboratory, NREL)官网。NREL是美国能源部的一个实验室,致力于研究和推广可再生能源技术。NREL会定期发布各种可再生能源相关的数据集,用于支持学术研究、工程设计和政策制定。
具体来说,我们在本文的研究中采用了NREL提供的高精度风电和光伏数据集作为训练和验证的基础。在数据预处理时,依照文献[13]我们通过python、matlab等软件将光伏、风电出力数据按照24*24的分辨率进行裁切与整形(reshape),以便更好地捕捉数据间的时空关联,经过归一化处理后,这些矩阵数据便作为本文所提出模型的输入。并将每连续两天的可再生能源发电输出数据拼接(concatenate)成为一个实验样本。如表1是实验所用到数据集的结构。在完成数据整形与裁切后,再依照实验要求将处理后的样本划分为训练集、验证集,完成后续的可再生能源场景生成任务。
Table 1. The structure of the dataset
表1. 数据集的结构
单个光伏、风力电站的出力数据 |
采集频率 |
5分钟/次 |
电站按照5分钟/次的采集频率对出力及相关数据进行记录 |
归一化 |
X/Xmax |
X表示采集的原始数据,Xmax表示光伏/风电的最大发电功率 |
每日数据 |
24*60/5 = 288 |
按照5分钟/次的采集频率每天采集了共288个数据 |
每年数据 |
288*365 = 105120 |
按照5分钟/次的采集频率每年采集了共105120个数据 |
实验数据 |
train = n*288 |
n为天数,根据本文的具体实验要求,得到n天的实验数据 |
数据整型 |
m = train/576 |
两天的数据化为一个样本,将实验数据整形为m个实验样本 |
2) 实验工具
硬件:计算机型号为Dell inspiron5577,配置为Intel(R) Core(TM) i7-7700HQ CPU,NVIDIA GeForce RTX1050 GPU,16GB RAM。
软件:编程软件使用python、Matlab。Matlab 为2016b版本,主要用于数据预处理部分工作;python选用pycharm软件来进行使用,主要用于场景生成神经网络模型的搭建,其中package主要使用TensorFlow、keras、numpy等。
5.2. 实验设计及分析
多样本数据训练:
训练数据选取方面,我们分别选取了32个光伏电场、52个风电场的历史出力数据,并将以上两组数据按照5.1小节的数据处理方式进行预处理。我们分别使用未执行Mixup数据增强技术的WCGAN以及执行了Mixup数据增强策略的WCGAN-GP对32个光伏电场与52个风电场进行训练,这里选取的Mixup参数α = 0.2。由图4模型loss函数变化可视化结果可知,WCGAN-GP的训练过程非常平稳,在经过5000次训练后其判别器的Wasserstein距离已经趋于稳定。这表明判别器已经无法准确判别出场景的来源是真实场景还是生成场景,证明生成器具备生成高质量可再生能源场景的能力,且不存在像传统 GAN那样损失函数值难以收敛的问题。
(a) (b)
(c) (d)
(e) (f)
(g) (h)
Figure 4. The loss curve of model training
图4. 模型训练loss曲线
本节将损失函数值(Wasserstein距离)变化过程进行了可视化以直观的了解本章提出生成模型的训练情况,并与未执行Mixup策略的WCGAN-GP模型训练进行了对比。进一步分析如图4所示的可视化结果,图4(a)、图4(c)和图4(e)、图4(g)分别为风电、光伏数据在未添加Mixup数据增强的训练情况;图4(b)、图4(d)和图4(f)、图4(h)分别为风电、光伏数据在添加了α = 0.2的Mixup数据增强策略的训练情况。
由Wasserstein距离曲线对比可知:相比于未执行Mixup策略的训练(图4(a)、图4(c)、图4(e)、图4(g)),我们在执行了α = 0.2的Mixup数据增强策略后(图4(b)、图4(d)、图4(f)、图4(h)),光伏、风力发电的wasserstein曲线均能更快达到拟合,模型可以更快达到稳定。Mixup得以有效提升模型训练迭代速度。
小样本数据训练:
为继续验证Mixup数据增强在小样本数据量情况下的效果,我们分别又选取了3个风电场一年的数据共546个样本与1个光伏电厂半年的数据共90个样本,以这两组数据作为研究对象,并且将两组数据均按照80%:20%的比例划分为训练集与验证集。最后将划分好的训练集、验证集分别使用CGAN、WCGAN以及本文提出的WCGAN + Mixup模型进行训练仿真,其中Mixup混合参数α均设置为0.2。仿真结果像所有的深度神经网络模型一样,GAN容易在有限的数据上训练过拟合。探索当对抗网络过度拟合时发生的行为在训练集上,我们使用三种不同的方法在同一个数据集上训练GAN,即CGAN、WCGAN、WCGAN + Mixup。我们以第一组风电数据的仿真结果为例进行分析:如图5是第一组风力发电数据的训仿真loss曲线可视化,给出了CGAN、WCGAN及WCGAN + Mixup这三种方法的训练集(蓝色曲线)和验证集(橙色曲线)的判别器Wasserstein距离变化趋势。
Figure 5. The loss curve of model training
图5. 模型训练loss曲线
从图5(a)和图5(b)可以看出,GAN容易出现明显的过拟合。此时模型能较好地匹配训练数据,但不能匹配验证数据。相反,从图5(c)中,我们可以看到,对于训练集和验证集,判别器损失以几乎相同的趋势持续下降,这表明我们的方法在用于场景生成时比其他两种方法更不容易出现过拟合。这表明本文提出的生成方案在小样本数据上也同样适用。
场景质量评价指标:
在论证了生成模型在训练阶段的表现后,我们又采用了Frechet起始距 (Frechet inception distance, FID)、重构损失(reconstruction loss, REC)、能量分数(energy score, ES)和均值绝对百分比误差(mean absolute percentage error, MAPE) [12] [14]-[16]等指标进一步验证本章提出模型生成场景的质量。以上指标均是数值越低,代表所生成的场景与原始场景越相似,即生成的场景质量越高。
如表2是评价指标的仿真结果,可以看出,通过采用多个评价指标的对比实验,我们提出的模型在给定输入数据后,相比于传统的CGAN、WCGAN可以生成更好质量的可再生能源场景。
Table 2. Comparison of metrics of different models
表2. 不同模型指标对比
方法 |
FID |
REC |
ES |
MAPE |
CGAN |
0.0582 |
0.0384 |
1.053 |
0.0375 |
WCGAN |
0.0357 |
0.0263 |
0.927 |
0.0168 |
WCGAN + Mixup |
0.0324 |
0.0254 |
0.918 |
0.0152 |
6. 结论
本文设计并搭建了基于改进GAN与Mixup的可再生能源场景生成模型。一方面选用WCGAN替代传统的GAN作为可再生能源场景生成模型,WCGAN采用了Wasserstein距离作为损失函数,提升了模型训练稳定性;另一方面,本文在模型训练阶段引入了Mixup数据增强技术,使得生成模型在只有小样本数据作为输入时,依然保持良好的生成效果。通过算例分析表明,本文模型相比于传统GAN、WCGAN等模型的loss曲线更快达到拟合,并使用FID、REC、ES、MAPE等评价指标进行评价时得到更高的分数,表明本文提出模型能够生成质量更高的可再生能源场景。
基金项目
1) 贵州省科技计划项目(黔科合基础-ZK[2022]一般062);
2) 贵州大学勘察设计研究院有限公司创新基金项目(贵大勘察[2022] 02号)。