APP下载

基于神经网络的信息系统自动巡检方法

2022-12-07国网河南省电力公司信息通信公司贾海锋河南九域腾龙信息工程有限公司谭铁磊冯向阳

电力设备管理 2022年21期
关键词:使用率神经元数值

国网河南省电力公司信息通信公司 贾海锋 河南九域腾龙信息工程有限公司 谭铁磊 冯向阳

为保障信息系统安全平稳的运行,需对信息系统中所有设备的运行状态进行监测巡检。神经网络由一个输入层、一个或多个隐藏层及一个输出层串联而成。输入层用于接收输入数据,故输入层中神经元的数量与输入数据的维度相同,接收到输入数据后隐藏层对输入数据进行多次线性变换和非线性激活得到输入数据的低维表示,最后将低维表示作为输出层的输入,得到神经网络的输出结果。

神经网络中线性变换和非线性激活的计算过程如图1,神经元1为神经网络中任意一个神经元,x1,x2,x3,…,xm为神经元1的输入数据,则神经元1的输出结果为其中:w1i为神经元1对输入xi的权值,b1为神经元1对所有输入数据的偏置,表示神经元1对输入信息的线性变换过程,φ为非线性激活函数,常用的非线性激活函数包括ReLU激活函数、Sigmoid激活函数和Tanh激活函数。

1 数据采集

通过自建的监控系统对不同信息系统设备的日志信息进行字段解析以监控多种信息系统的运行数据,监控类型覆盖服务器、小型机、数据库、中间件、负载均衡、网络等多种信息系统设备,数据采集间隔可低至30秒[1]。当前公司监控系统覆盖各类信息设备共计2483台,采集项目11万项,每日采集监控信息3400万条,包括设备运行时CPU、内存、硬盘、网络等海量运行数据,运行数据可直观反映信息系统设备的运行状态,故可作为信息系统自动巡检的依据。

根据信息系统的用处,将所有信息系统划分为用于用户交互的业务应用类系统和用于数据处理的数据平台类系统两大类,针对信息系统的类别和访问数据计算每一个信息系统的运行向量,信息系统的运行向量包括CPU使用率、CPU负载、内存使用率、SWAP空间使用率、磁盘空间使用率、网络流速及信息系统类别共七个维度。

CPU使用率:针对业务应用类系统,采集一天时间内每小时的用户访问量得到用户访问量集合,将用户访问量集合中所有数值从大到小排列,并计算排名前25%的数值的均值作为一天时间内CPU使用率;针对数据平台类系统,采集一天时间内每小时的CPU平均使用率得到CPU平均使用率集合,将CPU平均使用率集合中所有数值从大到小排列,并计算排名前25%的数值的均值作为一天时间内CPU使用率。

CPU负载:对于业务应用类系统和数据平台类系统,CPU负载的计算方法是相同的,采集一天时间内每小时的CPU平均负载得到CPU平均负载集合,将CPU平均负载集合中所有数值从大到小排列,并计算排名前25%的数值的均值作为一天内CPU平均负载;内存使用率:针对业务应用类系统,一天内的内存使用率与一天内一天时间内CPU使用率的计算方法相同。针对数据平台类系统,采集一天时间内每小时内存平均使用率得到内存平均使用率集合,将内存平均使用率集合中所有数值从大到小排列,并计算排名前25%的数值的均值作为一天内的内存平均使用率。

SWAP空间使用率:对于业务应用类系统和数据平台类系统,SWAP空间使用率的计算方法是相同的,采集一天时间内每小时平均SWAP空闲空间得到空闲空间集合,将空闲空间集合中所有数值从大到小排列,并计算排名前25%的数值的均值作为日SWAP空闲空间MI;进一步获取空闲空间集合中的最大值MAX,则一天内SWAP空间使用率为:DI=1-MI/MAX。

磁盘空间使用率:针对业务应用类系统,一天内的磁盘空间使用率与一天内一天时间内CPU使用率的计算方法相同;针对数据平台类系统,采集一天时间内每小时磁盘平均使用量得到内磁盘平均使用量集合,将磁盘平均使用量集合中所有数值从大到小排列,并计算排名前25%的数值的均值作为一天内的磁盘平均使用量。

网络流速:对于业务应用类系统和数据平台类系统,网络流速的计算方法是相同的,采集一天时间内每小时网络流入量和网络流出量的比值得到网络流速集合,将网络流速集合中所有数值从大到小排列,并计算排名前25%的数值的均值作为一天内的网络流速;信息系统类别:若信息系统的类别属于业务应用类系统,则信息系统类别的数值为0,若信息系统的类别属于数据平台类系统,则信息系统类别的数值为1。

至此,将同一个信息系统设备七个维度的数值按照固定顺序排列,即可得到信息系统在一天内的运行向量,进一步对人工巡检的历史巡检日志进行字段解析得到大量的巡检信息,每条巡检信息包括巡检日期、信息系统编号和巡检结果,其中巡检结果包括1和0两种情况,1表示巡检结果正常、0表示巡检结果异常;针对每一条巡检信息,获取巡检日期当天信息系统编号对应的信息系统的运行向量,并将巡检结果作为该运行向量的标签信息得到一组训练样本;按照相同的方法对所有巡检信息进行信息提取得到大量的训练样本,将所有训练样本按照9:1的比例划分为训练集和测试集、完成数据采集的过程,整个过程自动实现,无需人为参与。

2 神经网络的设计与搭建

为使神经网络的结构适用于信息系统自动巡检的实际情况,本文设计可一种5层的全连接神经网络,全连接网络的输入为信息系统的运行向量,输出为信息系统的巡检结果,包括一个输入层、三个隐藏层和一个输出层。

输入层中神经元的数量为7个,用于接收信息系统的运行向量;三个隐藏层对信息系统的运行向量进行升维和降维操作,最终得到2维的特征向量作为输出层的输入;输出层采用用于分类处理的Softmax函数,得到分类向量。其中,分类向量包括信息系统的运行向量属于正常的概率值p1和属于异常的概率值p2,且两个概率值之和为1;比较分类向量中概率值p1和概率值p2的大小,若p1大于p2则信息系统的巡检结果为正常,若p1不大于p2则信息系统的巡检结果为异常。

Softmax函数为归一化指数函数,函数的输入数据可为一个或多个数值,经Softmax函数处理后将每一个数值映射为0到1的概率值,且所有概率值之和为1,Softmax函数的计算公式为:pk=其中:a为函数的输入数据k中第k个数值,K表示函数的输入数据中所有数值的数量,exp表示以自然常数e为底的指数函数,pk为函数的输入数据中第k个数值对应概率值,按照相同的计算公式得到函数的输入数据中每一个数值的概率值,即可得到Softmax函数的输出结果。

基于多次的实验结果和不同非线性激活函数的函数曲线,本文选择Tanh激活函数作为第一层隐藏层的激活函数,Tanh激活函数可将输入的数值映射至-1~1的范围内,可学习到运行向量中不同维度的数值对自动巡检的正相关或负相关的关系;选择Sigmoid激活函数作为第二层隐藏层的激活函数,Sigmoid激活函数可将输入的数值映射至0~1的范围内,可学习到运行向量中不同维度的数值对自动巡检的重要程度;选择ReLU激活函数作为第三层隐藏层的激活函数,当输入的数值大于0时,ReLU激活函数的输出与输入的数值相同,当输入的数值不大于0时ReLU激活函数的输出为0,可缓解神经网络在训练过程中的过拟合问题。

3 神经网络的训练

在神经网络训练前需对搭建完毕的神经网络的参数初始化,合适的初始化参数能在网络训练过程中一定程度上避免出现梯度消失和梯度爆炸的情况,本文利用凯明初始化方法对神经网络每一层的参数进行初始化,其调用代码为:init.kaiming_uniform_(self.weight,a),其中a的取值与激活函数的种类有关。

对初始化后的神经网络进行训练,首先设置一个训练批次中的数据量,本文设置的训练批次为32,在一个训练周期(epoch)中,从训练集中随机选取32个运行向量构成一个训练批次,将该训练批次中所有运行向量依次输入神经网络得到每一个运行向量的分类向量;进一步利用交叉熵损失函数作为损失函数计算分类向量与标签信息的误差,在计算损失函数的数值后,利用梯度下降法将误差反向传播以更新神经网络中每一层的参数,即神经网络中参数的更新是从最后一层开始,每一层参数的更新依赖于后一层的误差[2]。

在训练过程中,不断从训练集中挑选训练批次的输入神经网络以更新神经网络的参数,每当更新后计算当前时刻的神经网络在测试集上的准确率。学习率的大小控制着神经网络参数每次更新时的更新幅度,为保证神经网络参数的更新速度,设置初始学习率为0.001;但随着训练周期的增加,神经网络的参数逐渐趋于稳定,此时若继续采用初始学习率会导致神经网络的参数达不到最优值,故当检测到测试集的准确率在3个训练周期内没有增加时,将初始学习率下减半以降低神经网络的参数每次更新时的幅度。

同时,为防止因训练次数过多导致神经网络的输出结果过度依赖于训练集、即出现过拟合情况,当检测到测试集的准确率在5个连续的训练周期内没有上升,就提前结束训练过程。

本次训练使用的数据集中共包含76745个训练样本,按照9:1的比例拆分后,训练集中的运行向量的数量为69070,测试集中运行向量的数量为7675。训练过程中训练集上损失函数值与测试集上准确率的变化情况如图3所示,随着训练周周的不断增加,神经网络在测试集上的准确率逐渐提高,第20个周期时准确率已经达到99%左右,第21个训练在周期时提前结束训练过程,完成训练。

实施效果:在信息系统自动巡检方法使用中,每天采集所有信息系统的运行向量,将运行向量输入训练完毕的神经网络,得到每一个信息系统的巡检结果,当巡检结果为异常时,将异常的信息系统的编号推送给运维人员,在由运维人员进行定向巡检并及时采取相应措施,实现不同类型的信息系统的自动化巡检。

猜你喜欢

使用率神经元数值
体积占比不同的组合式石蜡相变传热数值模拟
数值大小比较“招招鲜”
舰船测风传感器安装位置数值仿真
铝合金加筋板焊接温度场和残余应力数值模拟
AI讲座:神经网络的空间对应
内蒙古自治区病床使用率预测及其影响因素分析
2018年中国网络直播用户规模为3.97亿
仿生芯片可再现生物神经元行为
这个神经元负责改变我们的习惯
研究人员精确定位控制饮酒的神经元