基于BP 神经网络的电力工程异常数据识别技术研究
2021-04-30杨文生王雁宇李海清宦晓超
杨文生,王雁宇,李海清,宦晓超
(内蒙古电力(集团)有限责任公司内蒙古电力经济技术研究院分公司,内蒙古呼和浩特 010020)
电力工程是国计民生的重要保障,如何高效、准确地预算工程造价等重要数据是实施工程的必要基础。文中基于对电力工程数据的分析,使用了分层电网工程数据检测系统[1]。其具有分层体系结构,使用统计模型与神经网络分类器进行数据检测[2],并测试了5 种不同类型的神经网络的性能[3],以及在分层数据检测系统上进行的异常数据的压力测试结果。
1 系统架构设计
该异常数据识别系统是一个分布式的分层应用程序[4],每层包含多个异常检测代理(IDA),IDA 是监视主机或网络活动的IDS 组件。图1 是该系统的示例网络,异常检测系统可分为3 层。第一层代理监视系统内服务器与网桥的系统活动[5],并定期为第二层代理生成报告;第二层代理检测到的数据流量与第一层代理的监控数据用来检测系统LAN 的网络状态[6];第三层代理收集来自防火墙与路由器处的第一层代理和第二层代理的数据[7],系统层次如图2 所示。
图1 异常数据识别示例网络
图2 系统分层结构图
由于该系统分布式分层的特点,所有层的IDA 具有相同结构。IDA 的示意图,如图3 所示。其由以下组件组成:探测器、事件预处理器、统计处理器、神经网络分类器与后处理器,这些组件的功能描述如下。
图3 IDA示意图
1)探测器:收集主机或网络的流量,将流量抽象为一组统计变量以反映网络状态,并定期生成报告发送至事件预处理器;
2)事件预处理器:从探测器与底层的IDA 接收报告,并将信息转换为统计模型输入数据的格式;
3)统计处理器:根据典型网络活动的参考模型,将事件预处理器的报告与参考模型进行比较,并形成输入向量以馈入神经网络分类器;
4)神经网络分类器:根据统计模型分析输入向量,以确定数据流量是否正常;
5)后处理器:为高级别的代理(如远程交互代理)生成报告[8],同时通过用户交互界面显示监测结果。
2 异常数据统计模型
统计方法是异常数据检测的常用方法。但大多数统计学方法仅测量某些变量的均值与方差,并检测其是否超出预先设定的阈值,这类方法难以识别复杂的工程数据。文中建立了基于NIDES 统计算法的软件框架[9]。
在NIDES 中,工程配置文件由概率密度函数表示。设S为随机变量的样本空间,而事件E1,E2,…,Ek为S的互斥分区。假设Pi是事件Ei的发生频率[10],令N表示事件的总数。NIDES 统计算法使用类χ2检验确定预期分布与实际分布之间的相似性如式(1)所示。
当N足够大且事件E1,E2,…,Ek独立时,Q近似遵循具有(k-1)自由度的χ2分布。但实时工程系统中,通常难以满足上述条件。因此,通过建立Q的经验概率分布来解决此问题,该分布通过实时操作进行更新[11]。
在异常数据识别系统中,由于神经网络分类器可以实现对异常数据的检测,因此,可忽略Q的实际分布[12]。但由于数据流量不稳定且具有不同的持续时间,因此,需要一种能够有效监视具有不同时间窗口的数据流量算法。基于对实际系统的观察,设计了图4 给出的层窗口统计模型。
新到达的事件将首先被存储在第一层的事件缓冲区中。将存储的事件与该层的参考模型进行比较,然后,将结果输入到神经网络分类器中,以确定该时间段内的数据状态。一旦事件缓冲区已满,事件缓冲区将被清空,且存储的事件将被平均并转发到第二层的事件缓冲区。此过程将递归重复进行,直至达到最高级别[13]。
图4 统计模型设计
文中使用的相似度测量算法[14]如式(2)所示。
式中,f(N)是一个函数,其考虑了在时间窗口内发生的时间总数。
除了相似度测量外,还设计了一种用于实时更新参考模型的算法[15]。设Pold为更新前的参考模型,Pnew为更新后的参考模型,Pobs是观测得到用户时间窗口内的活动。更新参考模型的公式如式(3)所示。
其中,α是定义的自适应率,S是由神经网络输出生成的值。假设神经网络分类器的输出是介于-1与1 之间的连续变量t,其中,-1 表示具有绝对确定性的异常状态,而1 表示确定性的正常数据[16]。S的计算公式如式(4)所示。
通过式(4)可知,系统将确保针对典型数据主动更新参考模型,异常事件将被转移并存储至训练数据库,以供所设计的神经网络学习。
神经网络是针对模式分类的有效方法,但神经网络存在计算要求高和训练周期长的特点。文中设计了一种混合神经网络范例,通过感知器与小型反向传播网络的叠加构建神经网络架构。为了得到最恰当的神经网络,文中选取了5 种不同类型的神经网络:Perceptron、BP、PBH、模糊ARTMAP 和RBF 进行异常数据对比实验。
神经网络用于线性可分离模式分类,由具有可调节突触与阈值的单个神经元组成。数据集通常不能线性分离,文中采用感知器作为基准来测量其他神经网络的性能。
BP反向传播网络包含一个输入层、一个或多个隐藏层以及一个输出层。BP具有强大的泛化能力,并已成功应用于解决各种困难与多样化的问题。文中测试的BP 网络,其中隐藏神经元的数量在2~8 之间。
PBH 感知器反向传播混合网络,是感知器与小型反向传播网络的叠加。PBH网络能够准确得出输入向量与输出向量之间的线性及非线性相关性关系。文中测试的PBH网络,其中隐藏神经元的数量在1~8之间。
模糊ARTMAP 系统一般由两个模糊ART 网络ARTa与ARTb组成,其F2层由匹配跟踪子系统连接。文中使用简化模糊ARTMAP的类别神经元数量为2~8。
RBF径向基函数网络,包含了3个完全不同的层。输入层由源节点组成,第二层是具有足够高尺寸的隐藏层,输出层将网络的响应提供给应用于输入层的激活函数。文中使用了2~8个隐藏神经元测试RBF网络。
3 实验验证
文中使用功能强大的网络仿真工具OPNET 构建实验性测试平台,对基于神经网络的电力工程异常数据检测系统进行验证。验证平台如图5所示。该测试平台由10-BaseX LAN、11个工作站与1个服务器组成。
图5 验证平台
3.1 神经网络识别实验
表1 列出了Perceptron、BP、PBH、模糊ARTMAP和RBF 的均方根误差与Perceptron 的误分类率等信息。可以看到,Perceptron 神经网络表现不佳,均方根误差在0.6~0.7 之间;误分类率在0.1~0.2 之间。Perceptron 神经网络对异常数据的检测错误与误分类率较高。随着隐藏神经元数量的增加,ARTMAP与RBF 网络的性能均会提高。在大多数情况下,均优于Perceptron。BP 与PBH 网络具有相似性能,且两个神经网络始终比其他3 种类型的神经网络表现更优。随着隐藏神经元数量的增加,两种神经网络错误与误分类率不会降低。
3.2 异常数据系统验证
文中重点测试系统对异常数据的敏感性与有效性。表2所示为文中测试运行的模拟数据流量负载。
表1 5种神经网络识别实验
表2 模拟数据流量负载
从文中叙述可知,BP与PBH表现最佳。因此,该系统的测试架构选取BP与BPH 网络。由于隐藏神经元数量的增加对提升其性能并无较强的相关性,因此,选择具有两个隐藏神经元的BP网络进行实验。
文中选取均方根误差与系统的误分类率作为背景流量和攻击流量的函数,MSR 错误与误分类率均随着数据差异化的提高而降低。因为与低差异的异常数据相比,高容量攻击的流量模式与参考模型产生的差异较大。此外,对于特定的异常数据,600 kbps数据流量的性能始终优于2 Mbps后台的性能。
图6 接收机工作曲线
图6 为接收机工作特性曲线,从图中可知,随着攻击强度的增加,检测性能也会提高。此外,当针对600 kbps后台流量的攻击级别为70 kbps,对于2 Mbps后台流量的攻击级别为100 kbps 时,系统性能接近最佳状态。
4 结束语
为实现电网工程建设中对异常数据的检测,建立了分布分层的数据检测系统。引入NIDES 框架,其是一种使用统计预处理与神经网络分类的异常数据检测算法。通过对5 个不同的神经网络进行对比实验,可得出结论:BP 与PBH 网络的性能优于Perceptron、模糊ARTMAP 和RBF 3 种神经网络。考虑到构建成本最终选取BP 神经网络作为系统的神经网络分类器,在此基础上还进行了系统测试。结果表明,系统能够可靠地检测到异常数据,其流量强度仅为背景强度的5%~10%,证明了该系统的有效性。