基于AM-GAN的源荷场景生成方法研究
2022-12-24郭雨涵苏本庆
郭雨涵,吴 君,郁 丹,苏本庆
(1.浙江华云电力工程设计咨询有限公司,浙江 杭州 310000;2.上海电力大学电气工程学院,上海 200090)
0 引言
我国为有效应对全球能源与环境问题,力争于 2030 年前实现“碳达峰”,2060 年前实现“碳中和”。双碳目标下可再生能源的装机容量和新型负荷的负载功率进一步提高,其引入的不确定性将对新一代电力系统的安全、稳定运行带来消极影响。所以,构建可再生能源和负荷的不确定性模型是推动新型电力系统进一步发展的关键。场景分析法可根据潜在的源荷场景集分析源荷不确定性,为电力系统规划调度等工作提供决策依据,从而降低源荷不确定性的负面影响[1]。
目前的场景分析法主要有统计学方法、场景聚类法和深度学习生成法3种。其中,统计学方法根据历史数据的统计经验对场景进行概率建模,然后结合蒙特卡洛等采样方法生成源荷时序场景。文献[2]采用Weibull分布、Beta分布分别构建了风速和光照强度模型,并结合蒙特卡洛模拟抽样生成风光出力典型场景。文献[3]采用拉丁超立方抽样法生成了表征功率不确定性的原始场景集。运用统计学方法进行场景生成虽然具有工程应用价值,但计算效率较低。为了提升计算效率,大多数研究人员运用场景聚类法对大规模场景进行缩减,通过一定的相似度度量将具有相似时空特性的新能源出力或负荷聚为1类,形成了典型场景[4]。文献[5]针对风电出力提出1种基于改进的K-means聚类和同步回代消除算法相结合的场景缩减方法。文献[6]运用改进的K-medoids 算法形成了具有代表性的风光荷聚类场景。以上方法在保证计算精度的同时,提高了规模较大场景集合缩减的计算效率。
随着近几年来人工智能技术的飞跃发展,深度学习生成方法在场景概率建模领域得到广泛关注。其无需显式地获取源荷功率曲线的概率分布,只要将随机噪声输入到训练好的模型就可产生服从潜在分布规律的功率曲线[7]。现有的深度学习生成方法主要有生成对抗网络(generative adversarial network,GAN)和变分自编码器 (variational auto-encoder,VAE)等。然而,由于VAE无法准确地推理实际样本的对数似然,只能对其下界进行近似估计,会导致生成的源荷随机场景质量不高[8]。GAN则存在训练过程不稳定和损失函数难以收敛的问题[9]。
针对 GAN 模型的不足,本文提出了1种基于注意力机制生成对抗网络(attention mechanism to generative adversarial network,AM-GAN)的源荷场景生成方法。该方法首先在传统GAN结构的基础上采用卷积神经网络来增强其特征生成能力,然后在判别器中引入注意力机制提高其对源荷时序数据相似性的判定能力,最后选用 Wasserstein 距离来衡量生成分布和真实分布的距离,以提高训练的稳定性。场景生成结果表明,所提方法能更精确地描述源荷不确定性。
1 AM-GAN原理
1.1 GAN原理
GAN由Ian Goodfellow 首次提出。其主要思想来源于博弈论中的“二人零和博弈”。GAN运用历史数据通过对抗博弈训练出1个随机生成网络,从而把服从先验分布的噪声数据投射为符合真实样本分布的生成数据。
GAN结构如图1所示。其由生成器和判别器这2个相互独立的部分组成。其中:生成器通过输入随机噪声构造符合真实样本分布的数据;判别器通过内部网络尽可能地判别输入数据是真实数据还是生成数据。两者相互博弈,不断学习、优化,最终达到纳什均衡。
每个源荷随机场景都可看成具有n个时间步长的功率时间序列x=(x1,x2,...,xn)。这个时间序列的真实分布p(x)可以表示为:
p(x)=p(x1,x2,...,xn)
(1)
给定一组由已知分布随机生成的噪声数据z~Pz。GAN的目标是通过对抗训练,使采样数据z尽可能逼近真实分布p(x)。GAN的训练过程如下。
①固定生成器。将生成器生成的源荷时序数据(生成数据)与历史源荷时序数据(真实数据)输入判别器打分。判别器会输出1个分数D(·),表示输入数据服从真实分布p(x)的概率。把生成数据的分数和真实数据的分数形成的交叉熵作为损失函数,反向传播更新判别器。
②固定判别器。将生成器的生成数据交给判别器打分,把判别器打的分数与真实数据分数的交叉熵作为损失函数,用于更新生成器。
③重复训练多次,直至判别器区分不出生成数据和真实数据。理想情况下,使D[G(z)]=D(x)=0.5。此时得到的生成器可以用于生成源荷随机场景。
明确了GAN的训练过程后,需要构造生成器和判别器的损失函数LG和LD对网络进行训练。LG和LD的计算式为:
LG=-Ez-Pz{D[G(z)]}
(2)
式中:D(·)为判别器输出的数据;G(·)为生成器输出的数据;E(·)为对应分布的期望值;z~Pz为噪声数据z的分布。
LD=-Ex-Px[D(x)]+Ez-Pz{D[G(z)]}
(3)
式中:x~Px为真实样本x的分布。
为了使生成器和判别器之间能够同时博弈训练,需要结合式(2)和式(3)构造1个博弈价值函数V(G,D)。构造的博弈模型如式(4)所示。
(4)
1.2 注意力机制
GAN网络的本质是生成器和判别器的博弈。其中,生成器的生成能力依赖判别器的判别能力。判别器的判别能力越强,生成器随机生成的数据分布与真实数据的分布越接近。但考虑到模型崩溃和梯度消失的问题,判别器必须具有较强的泛化能力且层数不能很深,因此需要判别器能够提取到更多的特征。
注意力机制(attention mechanism,AM)能够高效分配可用资源,使之偏向于获取输入数据的重要特征。其广泛应用于自然语言处理和计算机视觉中,主要通过关注重要特征和抑制不必要特征来增强向量特征代表性[10]。所以,本文在判别器中引入注意力模块以提高判别器的分类性能。本文采用的注意力模块结构如图2所示。
注意力模块的第一层为全局池化层。该层通过计算所有通道的平均值,将全局时序信息压缩到单一信道内,生成该信道内的代表数据。注意力模块的后两层为全连接层:第一层用于减少特征映射通道;第二层则会将其再次放大至原始大小,重新校准信道中的目标数据。将全连接层输出的矩阵通道信息与输入数据相乘后得到输出数据。其中,通道特征明显的数据被加强,而通道特征较弱的数据则被抑制。
2 基于AM-GAN的源荷场景生成
2.1 AM-GAN的网络结构
AM-GAN是在传统GAN的基础上进行改进而得到的,整体结构与传统GAN相同。AM-GAN结构如图3所示。AM-GAN将传统GAN的全连接层替换为扩充能力更强的卷积神经网络,在判别器中引入AM以提高特征捕捉能力,提升了网络的稳定性、收敛速度以及生成样本的质量。
因为原始GAN是使用Jensen-Shannon散度来描述生成样本和历史样本之间的距离,所以当生成数据样本和历史数据样本完全没有交集时,目标函数将无法准确衡量样本分布之间的距离。这将导致在训练中容易出现训练困难和梯度消失等问题,影响场景生成的准确性[11]。而 Wasserstein 距离可以在2个概率分布之间没有重叠时仍能有效地描述分布之间的距离。所以,本文选择Wasserstein 距离作为损失函数。Wasserstein 距离的定义为:
(5)
式中:π(x,x′)为满足p(x)与p(x′)边缘分布的联合概率密度分布的集合;d(x,x′)为场景间距离。
由于Wasserstein 距离难以直接计算,因此通常使用其Kantorovich Rubinstein对偶形式来描述生成样本与历史样本之间的距离。当其应用于AM-GAN,可表示为:
Ez-Pz{D[G(z)]}
(6)
在GAN 目标函数中引入梯度罚函数,保证判别器函数D(x)近似满足 1-Lipschitz 连续,以精确描述Wasserstein 距离。此时,GAN 的目标函数转化为:
(7)
2.2 基于AM-GAN的源荷场景生成
基于AM-GAN的源荷场景生成步骤如下。
①数据划分和预处理。首先,导入历史源荷时序数据,随机选择80%的功率曲线作为拟合网络参数的训练集,余下的样本作为评估模型性能的测试集。然后,将原始的源荷时序数据转成二维矩阵,以便于生成网络读取数据。最后,在输入训练集的样本前,对源荷时序数据进行归一化处理。
②AM-GAN训练。首先,随机生成1组满足正态分布的噪声向量作为生成器的输入,经过多个反卷积层后生成1个和实际样本维度相同的源荷随机场景。然后,计算生成场景和实际场景之间交叉熵损失函数,并将其反馈给判别器和生成器,以更新场景生成网络的权重。当模型目标函数达到最优时,将训练好的AM-GAN用于源荷随机场景生成。
③场景生成和验证。首先,人为设定所需要的场景数m,将m个随机噪声向量输入训练好的场景生成网络后,生成器输出m个新生成的源荷时序数据。然后,对输出的源荷时序数据进行反归一化,得到生成的源荷随机场景。最后,利用测试集的样本去评估所提方法是否可以捕获实际样本的形状、波动特征及概率分布特性等。
3 算例分析
3.1 算例概况
本文使用中国某地2017年的风光荷时序数据构建场景集。该数据集包括该地实际负荷曲线以及6座相邻的风电场和光伏电站的出力曲线。每个样本的时间分辨率为1 h,即每条出力曲线具有24个采样点。基于上述历史数据,搭建用于风光荷时序场景生成的AM-GAN。
3.2 模型训练
为了直观地了解 AM-GAN 的训练情况,本文对损失函数值(Wasserstein 距离)随着训练次数而减小的变化过程进行了可视化。AM-GAN训练过程如图4所示。
AM-GAN训练过程非常平稳,在经过3 000次训练后其损失函数值已经趋于稳定,并最终保持在0.01附近波动。这表明判别器已经无法准确判别出场景的来源是真实场景还是生成场景,证明生成器具备生成源荷时序场景的能力,且不存在像 GAN那样损失函数值难以收敛的问题。
3.3 源荷场景生成
为了能够清晰地观察AM-GAN生成的源荷时序曲线与实际功率曲线是否相似,以服从均匀分布的1 000组随机噪声作为AM-GAN生成器的输入数据。生成器将分别输出1 000组光伏、风机和负荷功率曲线。随后,从测试集中抽取部分功率曲线,计算生成功率曲线与抽取功率曲线的欧式距离,从中筛选出和真实源荷时序场景最近的生成样本进行对比分析。风机功率、光伏功率和负荷功率生成曲线和实际曲线对比分别如图5~图7所示。
由图5~图7可知,模型生成的源荷功率曲线和实际的源荷功率曲线轮廓基本一致,功率曲线的峰值、谷值和波动特征都得到了较好模拟。
由于测试集的实际功率曲线并没有参与AM-GAN的训练过程,而AM-GAN 生成的源荷时序曲线却与测试集中的样本趋势一致,说明AM-GAN 具有很强的场景生成能力。
为进一步证明原始样本与生成样本之间的关系,本文对两者使用皮尔逊分析法进行相关性检验。2个变量之间的皮尔逊相关性系数定义为2个变量之间的协方差和标准差的商[12]。皮尔逊相关性系数的绝对值越大,说明2个变量之间的相关性越强。皮尔逊相关性系数为:
(8)
式中:C(x,y)为2个变量之间的协方差;σX为变量x的标准差;σY为变量y的标准差。
利用皮尔逊分析法对本文方法获得的源荷时序曲线与GAN获得的源荷时序曲线进行对比分析。
皮尔逊相关性系数如表 1所示。
表1 皮尔逊相关性系数
由表1可知,AM-GAN生成的源荷时序场景与原始样本之间的皮尔逊相关性系数在0.97左右,而GAN的相关性系数为0.94左右。数据结果表明,AM-GAN生成的源荷时序场景与实际场景更接近,生成场景整体上更符合真实场景的相关性规律。这证明了AM-GAN模型在源荷时序场景生成上的可行性与优越性。
4 结论
针对双碳目标下存在的源荷不确定性问题,本文提出1种基于AM-GAN的源荷场景生成方法。在GAN结构的基础上将其全连接层替换为扩充能力更强的卷积神经网络,并在判别器中引入AM以提高特征捕捉能力,提升了网络的稳定性、收敛速度以及生成样本的质量。通过试验验证了该方法在源荷时序场景生成方面的能力,证明了该方法的可行性。但该方法只涉及源荷场景生成,未考虑到源荷随机场景的应用。后续拓展工作可以尝试将AM-GAN 生成的源荷功率曲线用于实际配电网的规划和运行中。