基于神经网络的电网调度自动化系统的设计与实现
2023-12-06王小龙
王小龙
(国网山东省电力公司东阿县供电公司)
0 引言
人工神经网络(ANN)已经成为学习复杂非线性问题的重要工具。它可以模拟人脑的输入输出映射,随着计算机技术领域的发展,用人工神经网络来解决现实世界中基于数学理论的传统方法无法优化解决的问题要容易得多。
现实的问题出现在各种各样的数据集中,有些问题很容易在某些方程中捕获,有些问题是连续的,其中有一个隐藏的序列需要预测以供将来使用。人工神经网络中提出了许多拓扑结构,用于解决遇到的各种问题[1]。针对数字数据,最有效的网络拓扑是深度前馈(DFF)、长-短期记忆(LSTM)和门控循环单元(GRU)。DFF是一种简单前馈的复杂实现方法,通过增加隐藏层来更好地拟合电力系统的训练数据,从而改进预测效果[2]。
1 设计与实现
设计过程包括以下几个方面。神经网络模型的选择:根据电网调度自动化系统的特点和需求,选用适合的神经网络结构。数据预处理:对电网调度自动化系统的相关数据进行收集和处理,包括数据清洗、数据规范化等。网络训练:利用采集到的数据进行神经网络的训练,在训练之前,需要对数据集进行划分,一部分用于训练,一部分用于验证,同时还需要选择适当的损失函数和优化算法来优化神经网络。神经网络模型的验证和调整:通过验证集来评估神经网络的预测性能,并进行必要的调整和优化。系统集成:将设计好的神经网络模型集成到电网调度自动化系统中,这个过程通常需要进行软件开发、硬件调试、系统测试等工作[3]。
根据以上设计,可以实现以下操作:
采集和处理电网调度自动化系统的相关数据,包括各发电厂的发电量及负荷情况、系统的电压电流等实时数据。根据采集到的数据,利用选定的神经网络模型进行训练,生成一个预测模型。在实时调度时,将实时数据输入到预测模型中,进行预测并生成相应的控制指令。根据控制指令,进行实际的电网调度操作,保证电力系统运行的安全性、高效性和可靠性。对系统进行监控和维护,及时处理各种异常情况,保证电网调度自动化系统的稳定运行[4-5]。
电网调度自动化系统是一项复杂的工程,涉及多种领域知识、技术手段和大量实践经验。在实现过程中,需要考虑多种因素,并进行适当的风险管理,以保证整个系统的稳定和可靠性。
2 问题分析
经济负荷分配是在满足负荷功率需求的情况下,将发电功率最优地分配给电力系统中的发电机组。
提出的问题是基于5节点和3台发电机系统的数据集,其中将5节点上的负载作为输入,3台发电机的最佳发电功率作为输出。5总线数据见表。该数据集由4204个数据点组成,按8∶2的比例分割,80%的数据用于训练,其余20%用于测试。这些变化将有助于建立一个更加稳健和精确的神经网络模型,用经济负荷分配问题描述电力系统。
表5 总线数据
所产生的总功率必须等于提交的总功率需求和所涉及的总传输损耗,其关系可用如下公式表示:
其中,PG为发电总功率;PD为总需求功率;PL为传输损失。
传输线损公式如下:
3台发电机有相应的运行限制,其中,1号机为10~85MW,2号机为10~80MW,3号机为10~70MW。它们可以在系统中不发生任何故障的情况下运行。
3 神经网络分析
ANN提供了许多拓扑来处理各种问题。有些神经元只是简单的前馈,有些神经元则具有反馈结构,以附着于产生的序列[6]。下文概述了三种拓扑结构,以便更好地理解。
3.1 深度前馈(DFF)
深度前馈是一个简单的前馈神经网络中多个隐藏层的累积发展形式。它是90年代早期开发的,有多个隐藏层,这使得它不同于简单的前馈网络,更适合学习数据中的核心模式,以获得可接受的准确性。
在本文中,一个模型适用于每台发电机。因此,3个DFF模型在已开发的数据集上进行了训练。所采用的每种模式摘要如下:
输入层有5个神经元单元,每个单元包含指定总线上的给定负载;添加的隐藏层数量为6;各隐藏层神经元数为50;损失函数为均方误差;激活函数使用ReLU;优化器应用Adam。
ReLU可以描述为校正线性激活函数,它是一个分段线性函数,如果给定的输入为正,则直接输出输入,否则,它给出0作为输出,从而解决了应用其他指数激活函数出现的消失梯度问题。ReLU的数学方程为:
Adam优化器可以描述为替代随机梯度下降的优化算法来训练深度学习模型。
3.2 长-短期记忆(LSTM)
LSTM是标准递归网络的高级形式,它可以学习问题中存在的顺序依赖和序列,从而提供比标准模型更好的预测。它采用遗忘门、输入门和输出门控制信息流,更加复杂,因此与标准模型相比,它需要更多的时间进行训练,但能够提供更好的预测。
在本文中,一个模型适用于每台发电机。因此,在已开发的数据集上对3种LSTM模型进行了训练。所采用的每种模式摘要如下:
输入层包含5个神经元细胞,每个细胞在指定的总线上包含给定的负载;添加隐藏图层数为6;每个隐藏层的神经元数目为40;损失函数使用均方差;激活函数为tanh(双曲正切函数)和Sigmoid(S形生长曲线)。
tanh激活函数用于调节在LSTM 网络中传递的值。这个函数确保值只保持在1和-1之间,Sigmoid在核心功能上与tanh相同,它能将确保值保持在特定的范围内,即[0,1]。
这些激活函数对于占优势的值非常有用,这些占优势的值非常大,使得其他值无关紧要,并导致过度拟合。
LSTM的输入门、输出门和遗忘门(ft)是决定信息是否必须传递或留下的门。来自隐藏状态和当前状态的信息首先通过Sigmoid激活(σg)传递,如果输出接近于0,则信息是不相关的,如果接近于1,则信息的相关程度足以传递。
输入门(it)对于更新单元格的状态非常实用。先前的隐藏状态和当前的输入状态首先通过S形函数传递,后者决定哪些值是重要的,以便进一步传递。然后,先前的隐藏状态和当前状态也通过tanh函数传递,该函数压缩范围[-1,1]中的值,以达到调节的目的。最后,将tanh和Sigmoid的输出相乘,Sigmoid的输出可决定tanh输出的相关信息。
单元格状态是每次训练后更新的传递信息的状态。对于更新过程,先前的单元格状态被点向乘以遗忘向量,在乘以接近0值的情况下,一些值可能被丢弃,然后点向相加输入门的输出和点向相乘的输出,以给出新的相关单元格状态。
输出门(σt)是下一个隐藏状态的决定实体。先前的隐藏状态和当前状态首先通过S形函数传递,新的派生单元格状态通过tanh函数传递。最后,Sigmoid输出和tanh输出的乘积形成了用于预测的新隐藏状态的内容。
3.3 门控单元(GRU)
GRU是对LSTM进行的简化修改。GRU仅使用两个门(即更新门和重置门)就可以解决循环神经网络中出现的消失梯度问题。这些门负责使用Sigmoid和tanh激活函数将先前的信息传递到当前状态。在本文中,一个模型适用于每台发电机。因此,在开发的数据集上对3个GRU模型进行了训练。所采用的每种模式摘要如LSTM。
更新门(zt)只负责保留前面信息的相关部分。它使用S形函数来计算先前信息的相关性。
重置门(rt)会忘记前面信息中不相关的部分,这个S形函数有助于增加0~1分量度资料的相关程度。
当前内存状态(ht)是根据重置和更新门的结果使用tanh激活函数计算的。最后,将更新和重置门的结果与以前和当前的内存状态相乘,以计算当前单位,并将其传递给未来的预测。
3.4 性能比较
分别绘制了三台发电机的所有体系结构的训练曲线,如图所示。
图训练的均方根误差与迭代次数关系
由图可知,这三种架构都在较少的迭代次数中达到了可接受的准确性。从提供的观察结果来看,DFF在所有三台发电机上的表现略好于GRU和LSTM。
4 结束语
本文针对经济负荷分配的非线性问题,提出了深度前馈算法(DFF),并与其他两种算法 (GRU和LSTM)进行了比较。在DFF中,由于结构复杂度较低,耗时和学习结果都被优化到可以接受的精度。GRU和LSTM在学习中表现良好,但所花费的时间约为DFF的4倍,测试损失略大于DFF,GRU和LSTM在学习和测试方面的性能是相当的。这些结果证明了在经济负荷分配的非顺序问题下,基于LSTM和GRU以及DFF方法的可行性。