于龙泽,肖 白,孙立国
(1.东北电力大学电气工程学院,吉林 吉林 132012;2.华能吉林发电有限公司 九台电厂,吉林 长春 130501)
随着可再生能源发电渗透率的不断提高,其出力的间歇性和随机性严重影响着电力系统稳定运行,如何描述可再生能源出力不确定性是克服这些挑战的关键问题[1].场景分析法能反映不确定变量的概率特征,是处理电力系统中可再生能源不确定性问题的主要方法,在电力系统优化调度中对可再生能源出力使用场景集进行描述,可以提高调度计划对可再生能源出力随机波动的适应性[2-5].因此准确地构建可再生能源出力场景对于在多能源电力系统中促进可再生能源消纳和优化运行具有重要的意义.
现有的场景生成方法大多采用基于概率模型的方法,主要有Markov链法[6]、时间序列法[7]、场景树生成法[8].这类方法首先通过历史数据建立服从可再生能源发电出力分布规律的概率模型,然后通过抽样的方法产生用于分析的新场景.文献[9]假设风功率预测误差分布服从联合正态分布,求得分布参数后,通过抽样的方法得到各场景.文献[10]将预测误差分段处理,仍通过联合正态分布建模并抽样生成场景.然而,单个集中接入的风电场及风电场集群的误差分布不服从正态分布.传统的概率模型方法难以对可再生能源出力不确定性做出较为全面的建模,多数模型仅针对出力的某一特征进行设计,由于实际现场环境复杂多样,找到一个具有广泛适用性并且易于求解参数的概率模型十分困难.
概率模型建立后,需要依靠抽样来产生场景集,如蒙特卡洛抽样[11]、拉丁超立方抽样[12].足够大的初始数据才有可能得到高精度的计算结果,然而抽样场景集规模过大会影响计算效率.为此,人们又提出了包括后向消除、前向选择、场景树构建[13]在内的场景消减算法,但这些方法不仅加剧了生成模型的复杂度,同时还限制了生成场景的多样性.
随着人工智能技术的发展,深度学习因其泛化能力与数据表达能力强,且完全依靠数据驱动,可无监督、可自主学习等优点在电力系统中的应用越来越受到重视.文献[14]提出一种基于条件变分自编码器的风光电出力随机场景生成方法,其可根据编码来生成对应类型的出力场景.文献[15]提出使用 GAN来学习可再生能源出力时间-空间相关性,并使用Wasserstein距离作为判别器损失函数来提高网络训练质量.文献[16]提出一种基于GAN反向训练输入噪声的算法,并结合日前预测值生成可再生能源日前场景集.
目前的场景生成方法虽然有一定的发展,但仍存在一些问题:①传统的概率模型方法未充分考虑可再生能源出力的各种相关性及未知性关系,同时实际环境复杂难以找到具有广泛适用性的模型,且需要场景削减加剧了模型的复杂性;②现有研究缺少对可再生能源出力特征与深度学习网络结构之间的关系研究,对模型的解释性较差.
针对上述问题,本文提出基于改进的条件深度卷积生成对抗网络的风光场景生成方法.条件深度卷积生成对抗网络能够学习到满足条件的噪声分布与真实数据训练集间的映射关系,采用Wasserstein距离作为判别器损失函数衡量生成场景间分布差异.并对可再生能源出力特征进行分析,设计出适用于风光场景生成的网络结构.通过生成器和判别器间博弈训练使生成器高效地学习到可再生能源出力真实场景的概率分布特性.算例结果表明,本文所提出的方法,能够学习到可再生能源出力特征,从而准确的生成与真实场景接近的风光出力场景.
生成对抗网络(Generative Adversarial Nets,GAN)是由Goodfellow等在2014年首次提出的一种深度学习模型,其可以利用深度神经网络(Deep Neural Network,DNN)表征复杂的非线性关系并对复杂的信号进行分类,以此来挖掘数据的内在特征[17].
GAN由生成器(Generator,G)和判别器(Discriminator,D)两部分组成.GAN的核心思想是在生成器和判别器间建立起min-max二人博弈,在每个训练阶段,生成器的参数得到更新以生成新的样本,而判别器尝试区分真实历史样本和新生成的样本.理论上,当二者间的博弈在达到纳什均衡时,GAN的最优解将提供一个能够准确地反映真实数据分布特性的生成器,使得判别器无法区分样本是来自生成器还是来自历史训练数据.此时,生成的场景与真实的历史数据无法区分,因此尽可能真实.应用GAN进行风光出力场景生成的网络结构如图1所示.
图1 用于可再生能源发电功率场景生成的GAN的结构
G和D在训练过程中min-max二人博弈模型可用公式(1)表示:
(1)
公式中:E(·)为期望值;D(G(Z))为生成的数据G(Z)在D中判别为真的概率;D(x)为真实数据x在D中判别为真的概率;噪声数据z的分布为z~Pz;Px为风光数据x的真实分布.
深度卷积生成对抗网络(Deep Convolutions Generative Adversarial Network,DCGAN)是对GAN的改进,它将卷积网络引入GAN的结构中,基于卷积网络较强的特征提取能力来提升GAN生成的数据质量[18].风光出力具有丰富的特征,DCGAN的特点正好适用于提取风光出力曲线的动态信息.本文在文献[15]的研究工作基础上,采用改进的条件DCGAN模型以生成风光出力场景,其网络结构及超参数选择是在其基础上进行试验的结果,批归一化层的动量、激活函数均采用原文献的默认参数.
DCGAN采用了两个卷积神经网络来改善传统GAN的结构,提升了网络的稳定性,并提高了数据样本生成的质量,加快了收敛的速度.
DCGAN中生成器G的结构示意图如图2(a)所示;判别器D的结构示意图如图2(b)所示.其中,生成器中包括全连接的多层感知机和两个步长为2×2的反卷积层,可对输入的噪声进行上采样.判别器中则包括全连接的多层感知机和两个步长为2×2的卷积层,用于对场景进行下采样.神经网络中神经元的所有权值均由中心正态分布初始化,标准偏差为0.02.在除输入层外的每一层之前都采用批量归一化的方法,通过将每一层的输入归一化为零均值和单位方差来稳定学习.除输出层外,生成器中使用ReLU激活,判别器中使用Leaky-ReLU激活.
图2 DCGAN生成网络的结构示意图
在训练过程中,随着迭代进行,生成器通过调整网络的权值提高生成数据与真实数据的相似度,同时判别器也通过学习提升判别能力,经过反复迭代,到训练完毕时,判别器将无法区分输入样本的来源,此时DCGAN将可以准确的对风光出力场景进行模拟生成.
条件生成对抗网络(Conditional Generative Adversarial Networks,CGAN)是一种基于生成对抗网络进行改进的生成式网络[19],其将监督学习与无监督学习技术进行了结合,对指定类型数据样本的泛化有较好的效果.与GAN相似的是CGAN保留了生成器与判别器的博弈结构,不同的是CGAN在生成器和判别器的输入中均加入条件值的输入,这使CGAN中的生成器能够学习到满足对应条件下的样本概率分布映射关系.
(2)
(3)
本文结合DCGAN和CGAN的优点提出了改进的条件深度卷积生成对抗网络(C-DCGAN),建立风光出力场景生成模型,其结构如图3所示.在生成器和判别器中均加入指定的标签y(如时间、天气等),从而生成特定条件下的风电光伏出力场景.结合CGAN中加入的类别标签信息,C-DCGAN训练过程中的博弈模型目标函数在上节所述基础上相应调整如公式(4)所示.
图3 用于可再生能源场景生成的C-DCGAN结构
(4)
公式中:y为加入的数据样本的类标签信息.
传统GAN在训练中容易出现训练困难以及模式崩溃的问题,这是因为在传统GAN中判别器D的损失函数等价于JS散度[20].当生成样本与真实样本分布没有重叠时,JS散度将恒为常数.对于可再生能源出力场景生成,生成器需要学习场景分布的映射关系,若判别器使用JS散度作为损失函数将无法准确衡量样本分布之间的距离,在反向传递中会出现梯度消失使网络训练困难的问题,从而影响生成场景集的准确性.
而Wasserstein距离能够有效衡量两个概率分布之间的距离,即使两个概率分布之间没有重叠时仍能有效地描述分布之间的距离[21],Wasserstein距离的定义如下:
(5)
公式中:π(x,x′)为满足p(x)与p(x′)边缘分布的联合概率密度分布;d(x,x′)为场景间距离测度.
使Wasserstein距离代替JS散度作为判别器损失函数,能够有效解决训练困难及模式崩溃问题并且能够更好地拟合概率分布[22].但Wasserstein距离难以直接计算,因此通常使用其Kantorovich Rubinstein对偶形式来描述生成样本与真实样本之间的距离,当其应用于C-DCGAN中可表示为:
(6)
在公式(4)中引入函数D在定义域内梯度罚函数可以保证判别器函数近似满足1-Lipschitz连续,使判别器损失函数能够有效地描述Wasserstein距离,因此C-DCGAN的目标函数转换为:
(7)
使用Wasserstein距离作为判别器损失函数与传统GAN不同的是判别器的任务不仅需要对生成样本与真实样本进行区分,并且需要拟合样本集之间的Wasserstein距离来准确描述其分布之间的差异.为生成器拟合数据分布提供精确的训练方向,使生成器能够映射条件概率分布,而非简单地生成与真实样本相近的数据[23].
使用我国西北某省的一年的(2017年6月1日-2018年5月31日)风光出力实测历史数据作为训练集,数据间隔取5 min,共有105 408组数据,算例以一天连续288组数据作为一天样本,对模型进行训练验证分析.算例中C-DCGAN模型通过深度学习框架Tensorflow搭建,调用GPU进行CUDA并行计算加速模型训练.计算机CPU Intel Core i7 7900X 3.30GHz,内存512GB,GPU NVIDIA GTX 1060,显存16GB.算例首先验证了本文所提场景生成方法的有效性,然后将C-DCGAN方法与基于Markov和Coupla理论的传统场景生成方法进行仿真对比.
将风电和光伏发电1天288个点的出力数据组合并重塑成24×24的矩阵,经过标准化处理后,作为C-DCGAN中判别器D的输入.生成可再生能源发电功率场景时,如图4、图5所示.在训练过程中的判别器D的输出和Wasserstein距离随训练次数的变化曲线.
由图4和图5可知,当训练初始阶段,判别器D对Wasserstein距离的拟合并不准确,因此判别器损失函数不断升高.当训练一定次数后后,真实样本和生成样本分布之间重合度逐渐变大,样本分布间 Wasserstein距离减小,判别器损失函数将由上升趋势逐渐转变为下降趋势并趋向于稳定,此时C-DCGAN训练收敛.
得到训练好的模型后从历史数据中选择部分曲线作为测试集,验证生成场景的有效性.测试集中的曲线并没有被模型学习过,而由图6-图9可见,模型自动产生了一些和测试集非常接近的曲线,这证明所提模型并不是简单地重复生成训练集中的数据,而是以所学习到的特征创造全新的数据.测试集中的数据是真实的风光出力历史数据,生成模型未使用这些数据进行训练,但是在生成器生成的数据中却可以发现一些曲线和测试集中的曲线高度相似,这也证明了生成器生成的数据是非常符合实际情景的,而且具备很强的泛化能力,这是传统场景生成方法不可能做到的.
通过C-DCGAN可以生成指定标签下的场景,这需要在训练时对各个训练样本添加一个标签y来表示标签信息.例如给训练样本添加月份标签,训练后即可生成指定月份的场景数据.
分别根据风电和光伏日出力平均值大小相对于出力最大值的标幺值制定所属标签,如表1和表2所示.
表1 风电日出力均值区间及其对应标签
表2 光伏日出力均值区间及其对应标签
将风电的出力区间0 MW~2 000 MW划分为10个区间,作出生成场景及真实场景中对应标签数据的概率分布,如图10~图14所示.
同样将光伏的出力区间0 MW~8 000 MW划分为10个区间,作出生成场景及真实场景中对应标签数据的概率分布,如图15~图18所示.
图18 标签1的光伏生成场景和真实场景概率密度分布
从图15-图18可见,由C-DCGAN所生成的场景,实现了对训练集中每一类标签数据概率分布的良好拟合.例如,对于无风日,风电出力低于40 MW的概率达到了40%以上,而随着风力增大,概率分布“重心”也逐渐右移,这与历史数据反映的规律一致.值得注意的是,仅通过一个C-DCGAN,实际上同时实现了对多类数据分布的拟合,这充分反映了深度神经网络强大的学习及表征能力,也说明了利用C-DCGAN同时生成几种不同类型的风电、光伏场景数据是完全可行的.
为验证本文所提场景生成方法的准确性,算例将C-DCGAN方法和基于Markov和Coupla理论的场景生成方法(简称MC法)进行仿真对比,分析两种方法在构建可再生能源日前场景时的优劣.算例使用的 Markov链针对历史数据的天气类型构建状态转移矩阵,并利用Coupla函数描述风光出力数据的时序特性.为了以直观的方式对比不同方法生成的场景,算例给出我国西北某省2018年6月20日由2种方法生成的风光功率曲线和概率分布,如图19-22所示.
从图19~图22中可以看出,2种方法都可以生成与真实场景分布接近的风光出力场景,但可以看出采用MC法生成的场景与真实场景的分布偏差更大.
为了更加直观清晰的展示两种生成方法的效果,引入拟合度指标Rn来判断两种生成方法的拟合程度,Rn的表达式如式(8)所示.
(8)
公式中:xt为风电或光伏出力的真实历史数据;xt*为生成的出力数据;N为总时段数,一天为288个时段.
对两种方法的拟合度指标进行计算可得出,对于生成风电的出力场景,本文方法的拟合度指标为0.9,M-C法的拟合都指标为0.65;对于生成的光伏出力场景,本文方法的拟合度指标为0.92,M-C法的拟合度指标为0.83,因此可知本文方法的拟合度最好.
也就是说,本文的C-DCGAN方法能够更好的学习到训练集的数据的概率分布特征,从而验证了本文方法能够更为有效准确的生成风电光伏的出力场景.
本文提出了一种基于改进的条件深度卷积生成对抗网络的可再生能源场景生成方法,以 Wasserstein 距离作为判别器网络损失函数来衡量样本集间分布差异,设计并采用了适用于风电光伏出力场景生成的C-DCGAN网络结构.算例中验证了本文所提出的场景生成方法的有效性与准确性,本文具体结论如下:
(1)C-DCGAN结合了DCGAN和CGAN的优点,能够较好地适应可再生能源出力场景生成,并且深度卷积网络结构能有效反映可再生能源相关性特征,通过合理的正则化层以及激活函数引入能提升网络的表达能力.本文构建的C-DCGAN网络能有效地学习到风电光伏出力数据的分布特征.
(2)本文将所提出的C-DCGAN与基于Markov和Coupla理论的场景生成方法进行仿真对比.结果表明C-DCGAN模型能够生成与真实场景更为接近的风光出力场景,能准确描述可再生能源出力的不确定性.
(3)本文所提方法不涉及显示的数据特征分析,采用纯数据驱动的方法描述可再生能源出力不确定性,具有广泛适用性,为可再生能源出力场景生成提供了一种新的方法.