朱铝芬,徐媛媛
(南京信息职业技术学院 智能制造学院,南京 210046)
信道出现故障和异常情况的时候,海量的故障数据和告警信息汇集在数据处理中心,现有的信道故障诊断系统未考虑到初始状态下网络的时滞估计问题,无法确定当前离散节点的状态,存在评估误差和效率不高的问题,不适用于线上实时告警的判断的问题。在离散事件系统(DESs,discrete event systems)中,Petri网络模型是一种常见的网络[1],由离散状态和事件驱动组成,常用来解决通信系统的建立和分析问题。Petri网是一种完备的建模工具,目前已经广泛的应用于各个科研和工程领域。Petri网的性质使得其能够很好地和计算机网络紧密结合,成为重要的计算机网络研究方法。Petri网能够有效的发现计算机网络的结构性缺陷,发现计算机网络的瓶颈,给未来计算机网络的研究带来新突破。通过恰当的Petri网建模可以有效解决分布式节点模型的问题。Petri网络离散转移结构具有多种不同的形式,同时通信系统中包含了许多不确定的因素出现通信丢包和时滞的问题,系统信道容易出现不同程度的故障[2]。
在近年来的研究中,文献[3]方法中应用了已开发的矩阵半张量积工具,利用矩阵半张量积工具可以将普通矩阵乘法推广到前阵列数与后阵行数不等的情况,由此提出一种基于矩阵的有限自动机模型诊断方法,使用离散时间双线性方程形式表示系统故障状态,这种方法虽然能够提高故障数据信息的识别能力,但未考虑到初始状态下网络的时滞估计问题,无法确定当前离散节点的状态,存在评估误差的问题。文献[4]方法中采用了动态加权的序列模式数据挖掘算法,序列模式挖掘就是去发现所有的频繁子序列,即找出所有出现频率不小于给定的最小支持度的子序列。而一般的序列模式挖掘,仅仅是根据序列出现的频度从序列数据库中找出频繁序列,而不同的项目有不同的重要程度,权重参与到整个挖掘的过程能提高整个算法的效率。采用不均等的方式分配权重,对系统告警进行更加细致的权重划分,并完成构建故障预测模型的数据集。这种方法需要对系统数据库进行多次扫描,重复性动作比较强,在进行数据挖掘时,效率不高,不适用于线上实时告警的判断。国外研究中文献[5]方法中基于卷积神经网络构建故障预测模型,并部署在系统的线上环境,利用编码器生成信号的告警特征,对网络中的实时告警进行预测,辅助网管人员更好地进行网络维护。这种方法能够提高编码器的故障预警能力,提高网络应用效率,在预测计算过程中,预测模型过度依赖于网络拓扑结构,在该架构中,各自内部的物理接线、节点间距离可能会有不同,导致数据通信能力降低,使得历史告警信息与相关性数据之间的冗余性较高。
针对上述技术的不足,该研究提出一种新型信道故障诊断系统,通过Petri网络模型的网状结构实现网络数据信息中信息流故障诊断与评估,能够提高系统信道中并发、随机性的信息的处理和分析,能够全面表示有关系统结构的动态行为方面的信息,从而对系统信道中发生的故障进行诊断和预警。
Petri网是一种对离散事件进行建模的模型,一个经典的Petri网由四元组(库所,变迁,输入函数,输出函数)组成。任何图都可以映射到这样一个四元组上,反之亦然[5]。Petri网是对离散并行系统的数学表示,该技术适合于描述异步的、并发的计算机系统模型,采用Petri网的目的是由于该信道模型既有严格的数学表述方式,也有直观的图形表达方式,能够提高信道故障诊断能力,使得Petri网作为信道故障诊断流建模的应用工具,对网络上的数据信息进行自动化建模。为了解决经典Petri网中的问题,研究出了高级Petri网,在以下方面进行了扩展:令牌着色,一个令牌通常代表具有各种属性的对象,因此令牌拥有值(颜色)代表由令牌建模的对象的具体特征。时间,为了进行分析,我们需要建模期间,延迟等,因此每一个令牌拥有一个时间戳,变迁决定生产出的令牌的延迟。
该研究对Petri网络模型进行改进,对模型节点和变化信息贴上一个时间标签,形成时间Petri网络模型,能够用来表示系统事件从发生到结束的整个过程[6]。并对模型中不同的元素赋予不同的颜色进行分类,同类型元素采用相同的颜色集,从而简化模型对复杂系统的描述。系统整体网络结构如图1所示。
图1 系统整体网络结构
改进Petri网络模型中包含的库所和变迁是一种双向有向图,通过图形进行表示,输出的库所通过合适的有向弧表示为变迁的后置集,简化了模型中故障信息的表示方式[7]。将信道故障诊断数据模型或者信息通过三级部署的网络架构,通过这种方法,在分析信道故障信息时,能够将不同信道故障诊断信息有效地展现出来,进而提高系统整体网络运维能力。该系统在应用过程中,通常在中心信息机房集中部署系统网络设备,该系统包括系统服务器、存储服务器、应用服务器、数据库服务器、数据管理工具、仿真工具、网络模型等。系统中使用了CPN TOOLS模型仿真工具,CPN Tools是使用Petri网语言的特殊仿真系统用于模型的表示,提出了一种强大的层次Petri网结构的模型描述,根据标准分类,此类网络结构命名为层次定时网络,事实证明他们等同于图形结构的算法系统。这种工具是一种功能齐全的建模工具,能够将信道故障数据信息通过编辑、仿真和分析等对信道故障数据信息进行采集、仿真、编辑和集成,用户可以根据自己需要的来进行选择,这种诊断功能比较多,信息操作起来也比较简单,有效地将信道故障诊断类型转换为网络架构进行分析,大大提高系统运维能力。
该系统具有基于图形用户界面的交互方式,完成对Petri网络模型的创建、仿真和状态空间分析[8]。CPN TOOLS通过检测机制能够快速对非时间和时间Petri模型进行仿真,加快了系统对信道中故障的检测效率。系统通过Modbus网关采集系统运行参数、信道环境参数等数据,并设置计算服务器对数据进行清理。系统中使用了DATA CONVERTER 数据工具将信道的告警事件、告警类型、告警等级、运行参数等特征进行数据转换,按照特征字段的数据类型进行规范化操作[9],确定告警信息中各个特征字段的数据类型,并对非数据型特征进行编码。
在通信时滞的增加的情况下,将产生网络的不确定环,导致对系统信道的故障诊断不够及时。该研究设计出动态探测器,由对象产生的事件字符信息可以通过共享网络传输到系统的诊断器中,动态探测器和系统的诊断模型共同组成初步的诊断框架,通过采集信道中事件序列来确定是否发生了某种故障类型,加快了系统的故障响应时间。
该研究动态探测器采用了现场可编程逻辑门阵列(FPGA,field programmable gate array)和ARM处理器(ARM,advanced RISC machine)作为硬件处理器用于数据处理和数据传输,ARM 处理器使用基于32位的RISC处理器构架开发ATMEL AT91RM9200 芯片,使用32 位的Cortex-M3内核,最高工作频率可达到72 MHz。FPGA 芯片使用EP4CE10F17C8,具有84 个中断、16 个优先级设置,保证了系统的实时性[10]。动态探测器整体硬件结构如图2所示。
图2 动态探测器整体硬件结构
探测器采集到的信道状态信号经过探测器板上的一级放大滤波和差分电压信号传输到设备板进行二级放大,供ADC芯片采集,将连续的模拟信号转变为为离散的数字信号,输出的数字信号经过FPGA 进行数据的分析处理。数据信号处理完成后,ARM 处理器通过FSMC 总线读取结果,并将状态信息通过数据传输模块发送到系统的服务器端[11]。探测器考虑到需要多通道的信息的高速采集,由于不同通道独立采集,可能存在时延,需要进行时间上的同步,该研究选取多个单通道的ADC芯片进行每个数据通道的采集,使用支持同步八通道采样率为200 ksps 的ADC7606芯片[12]。为进一步提高动态探测器的采集精度,该研究使用运算放大器设计出低运算放大电路,降低模拟参数之间存在制约,减少信号中的噪声信号,低运算放大电路如图3所示。
图3 低运算放大电路
图3中,M3、M4为共栅电流镜,主要用来提供小信号的通路,并得到较低的等效输入噪声,M1A、M1B、M2A、M2B的共源共栅结构实现了电流再分配和重复利用,从而降低基底白噪声的水平,实现动态探测器内电路的噪声优化,M1B、M2B与MKD、MKT的漏端交叉相连,保证了其源端小信号电流同相[12]。当Vin升高时,M1A、M1B、M8、M10关断,使M6、M7的漏端电压升高,放大后经过电流镜M9输出,降低了放大器的等效输入噪声,实现了低噪声和高速的要求。
由于系统网络结构复杂多变,系统信道环境复杂导致故障预测方法的灵活性较差,该研究基于深度学习技术进行系统信道的故障预测,以特征生成卷积神经网络(FGCNN,feature generation by convolution neural network)为基础构建故障预测模型[14],利用生成对抗网络(GAN,generative adversarial networks)学习少量故障样本的真实分布,生成高质量的新样本,并加强了故障预测模型的特征交互和记忆性[15],在模型的嵌入矩阵中加入了记忆向量,使复杂的模型结构能够更好地挖掘故障特征间深层次关系,更高效地处理系统运行过程中产生的告警信息。信道故障预测模型结构如图4所示。
图4 信道故障预测模型结构
图4中FGCNN 网络从结构化的故障数据集中学习到对故障预测有用的信息,通过加强特征交互挖掘出特征信息之间深层的相互关系,并且能够区别正负样本的区别。GAN 用来学习信道故障样本的真实分布并生成真实的新的少数类样本,并对数据集中的样本比例进行平衡。GAN 的目标函数可表示为:
式中,D表示对抗生成网络中的生成器,G 表示对抗生成网络中的鉴别器,pd表示真实故障样本的分布情况,pz表示故障样本中的噪声分布情况,D(x)表示生成器的输出,G(x)表示鉴别器的输出[16],通过公式(1)表示出信道故障预测模型中对抗生成网络的生成器和鉴别器之间的对抗关系,生成新的故障样本用于模型的训练。GAN 的损失函数可表示为:
式中,fw表示生成器和鉴别器中的神经网络,pd(x)表示输出故障样本的分布情况,公式(2)计算出模型训练过程中的损失,为调整模型参数提供参考[17]。输入到预测模型中的故障特征向量为X=[x1,x2,…,xi],输入的样本总量为M,输入特征中包含了原始特征和交叉特征,交叉特征可表示为:
式中,d表示输入向量中的故障特征个数,ck表示布尔变量,故障预测模型对输入的故障特征信息进行编码,对每个特征向量进行处理,通过嵌入层完成低维映射,预测目标可表示为:
式中,wT表示预测模型权重参数组成的向量,b表示故障预测模型的偏置量,通过公式(4)得出故障预测模型输出的向量表示。预测模型通过挖掘故障特征信息的数据模式,输入特征在神经网络的隐藏层进行训练,可表示为:
式中,a(l)表示FGCNN 网络中第l层的输入向量,b(l)表示FGCNN 网络的偏置,W(l)表示FGCNN 网络的权重矩阵,f表示激活函数[18]。公式(5)表示神经网络的特征提取过程,故障预测模型在输出层进行联合训练,同时考虑两部分并优化所有参数,最终的输出结果可表示为:
式中,Y表示样本的标签,σ表示激活函数进行分类,Φ(x)表示输入向量的交叉特征,表示部分权重向量,表示最后一层输出的权重向量。
综上所述,与文献[3]中利用矩阵半张量积工具可以将普通矩阵乘法推广到前阵列数与后阵行数不等的情况提出的基于矩阵的有限自动机模型诊断方法,和文献[4]中采用动态加权的序列模式数据挖掘算法对系统告警进行更加细致的权重划分来完成构建故障预测模型的数据集的方法相比,基于特征生成卷积神经网络的故障预测模型,能够更好地对系统信道的历史告警数据和故障特征进行分析,并对故障样本进行均衡化处理,通过对抗生成网络生成新的样本进行模型的训练,并将预测模型部署在系统线上环境,对实时产生的告警数据进行信道故障预测。
该研究主要是对信道故障诊断系统的有效性进行验证,使用OMNET++5.4.1网络仿真平台进行仿真实验,并实验环境中构建了一个网络诊断器,对系统接收到的相同事件信息进行转换。动态探测器和系统的诊断器共同组成初步的诊断框架。实验计算机的操作系统为Windows 10,计算机CPU 使用INTEL 酷睿i7 12700K,数据库为MYSQL,仿真平台使用C++编程语言。仿真实验环境如图5所示。实验环境硬件配置参数如表1所示。
表1 实验环境硬件配置参数
图5 仿真实验环境
该研究实验中使用了KEEL 数据集作为实验数据,数据集中包含的告警和故障信息的时间范围是2020年5月到10月,数据总量超过500MB。对数据集进行处理,进一步划分故障诊断模型的训练集和测试集,实验数据集如表2所示。
表2 实验数据集
使用实验数据集中的训练集对系统中的故障诊断和预测模型进行训练,对数据样本进行均衡化处理得到样本比例平衡的数据集,故障预测模型的参数设置如表3所示。
表3 故障预测模型的参数设置
该研究在实验数据集中加入部分信道告警信息,进行信道故障检测实验,使用文献[3]系统和文献[4]系统进行对比测试,文献[3]系统中使用了深度神经网络模型,称为方法1,文献[4]系统中使用了贝叶斯分类器[19],称为方法2,使用相同的数据集进行实验,记录到各方法的故障检测时间如图6所示。
图6 故障检测时间
由图6可知,方法1的故障检测时间较长,该研究方法的故障检测时间最短,方法1对实验样本的检测时间大多数在400ms以上,样本在560~570范围内的检测时间超过800ms,最大可达到832ms。方法2的故障检测时间不超过600ms,数据样本在950~970范围内的检测时间超过400ms,故障检测时间最大为524ms。该研究方法的故障检测时间整体不超过400ms,故障检测模型通过强大的特征提取功能加快了故障检测时间,使系统具有更好的信道故障检测效率,多个样本的检测时间不超过100ms,在740~780样本序号中,故障检测时间最大为238ms。
使用经过样本均衡处理后的数据集进行故障预测实验,设定故障预测模型的损失函数为0.9,基于当前系统信道的运行参数进行故障预测,实验次数设定为5次,每次实验时间最大为300s,记录到各方法与实际特征的差值如表4所示。
表4 预测特征误差 ms
其中方法1的预测特征误差普遍大于6.0,在第一次实验的预测特征误差最大为9.5,第四次实验的预测误差降低到4.12。方法2的预测特征误差最大为11.25,在第五次实验的误差降低到4.18。该研究方法的预测特征误差不超过8.0,第四次和第五次实验结果的误差处于较低水平。经过计算得到各方法的故障预测准确率如图7所示。
图7 故障预测准确率
对比各方法的预测准确率可知,该研究方法具有更高的预测效果,准确率整体在94%以上,方法1和方法2的准确率在90%以上。其中方法1的准确率最低为91.6%,在第四次实验中的准确率最高达到97.8%,方法2的准确率最低为90.6%,最高为97.2%。方法1与方法2没有利用对抗生成网络学习故障样本,故障预测准确率不能稳定提高[20-22]。该研究方法采用FGCNN 网络从故障数据集中学习到对故障预测有用的信息,如图7所示,第四次、第五次实验较前三次准确率有了明显提高。该研究方法的故障预测模型能够从数据集中学习到故障关联关系和故障发生规律,由基于特征生成卷积神经网络的故障预测模型进行预测,预测准确率最高可达到99.7%。
该研究设计出信道故障诊断系统,并结合Petri网络模型进行故障诊断,利用网络模型表示系统信道动态行为特征,并在网络模型中加入标签形成时间Petri网络模型,利用着色Petri形成多层次分析模型。设计出信道动态探测器配合Petri网络模型进行故障检测,系统中的故障预测模型利用了特征生成卷积神经挽网络在特征抽取上的优点,生成有效的局部特征并通过全连接层进行特征重组,得到全局的新特征,与原始特征共同输出得到故障特征的高阶形式,更利于模型进行故障预测。
该研究仍存在一些不足需要优化,在后续工作中可以利用数据挖掘技术,提高数据价值和加快系统的数据处理速度,扩充原有的频繁告警序列模式。