APP下载

基于改进BP神经网络的网络态势评估方法

2021-06-16焦利彬霍永华李保罡

无线电工程 2021年6期
关键词:权法态势神经网络

焦利彬,霍永华,喻 鹏,李保罡

(1.中国电子科技集团公司第五十四研究所,河北 石家庄 050081; 2.北京邮电大学,北京 100876; 3.华北电力大学,河北 保定 071003)

0 引言

随着网络规模的不断扩大和网络服务的日益完善,网络服务数量激增,如何保证网络正确高效地运行就显得十分重要。态势评估通过汇总、分析监测系统和网络运行产生的运维大数据信息,对网络运行趋势进行评估和推理,有助于运维人员对大规模的网络系统进行全面、细节地监控[1],了解网络的整体运行状况,为采取下一步运维管理措施提供依据[2]。网络态势评估可以为网络运维提供可靠的决策依据,帮助运维人员预估网络中可能存在的问题,加强对网络状况的认知程度,提高问题处置响应能力,缓解网络管理的压力。

常用的态势评估方法包括基于特征分析、基于分类器、基于神经网络的态势评估方法[3-5]。Cisco公司截取并分析与网络运维数据相关的数据包信息,获取所需的关键数据特征,提高了对网络流量状况的监控效率。文献[6]提出了一种基于朴素贝叶斯分类器的网络安全态势评估方法,充分考虑了多信息源与多层次异构信息融合,从整体动态上评估网络当前安全态势。近年来,基于神经网络的态势评估方法在较多实践中被证明表现良好。文献[7]仿照人体免疫系统的工作原理提出了一种网络环境下的风险定量计算方法,可以实时监测网络系统中存在的漏洞,具有自适应的特点。

当前网络运行态势评估方法普遍存在对专家经验依赖度较高、算法模型收敛慢等问题,因此本文提出了基于熵权法和列文伯格-马夸尔特(Levenberg-Marquardt,L-M)算法改进的反向传播(Back Propagation,BP)神经网络模型,用以解决网络态势的快速精准评估。该方法首先根据标准BP神经网络确定模型网络结构,采用熵权法对模型参数进行初始化;训练模型时,以L-M算法替代标准网络的梯度下降法,加速网络收敛速度的同时减少陷入局部最优解的可能性,从而提高态势评估的准确率。

1 基于改进BP神经网络的网络态势评估模型

网络运行态势评估的原理是在获取各类设备运行数据和网络运维数据的基础上,通过推理计算得到当前网络运行态势的评估值,从而反映网络的整体运行情况。从数学角度来看,网络运行态势评估是从影响因子到结果值的映射,其数学模型如下:

SA=f(x1,x2,…,xm),

(1)

式中,SA代表网络态势评估值,取值为[0,100];xi为网络运行的影响因素,即评估指标,其中,i=1,2,…,m;f为具体的评估方法,即本文提出基于熵权法和L-M算法的改进BP神经网络模型来实现网络运行态势的定量评估。

本文利用熵权法和L-M算法改进的BP神经网络进行态势评估的训练流程如图1所示。

图1 基于改进BP神经网络的网络态势评估流程Fig.1 Network situation assessment process based on the improved BP neural network

依次进行确定BP神经网络结构、确定指标体系、数据预处理、熵权法计算指标权重并作为模型初始参数、BP神经网络训练模型、L-M算法修改参数等步骤,若模型误差或迭代次数满足期望值,则模型训练结束。

1.1 传统BP神经网络

BP神经网络是一种反向传播算法训练的多层前馈神经网络,广泛应用于非线性建模、识别分类等方面,具备任意复杂度的分类能力。

BP神经网络由单层的输入层和输出层,以及若干隐藏层构成。每一层神经网络包含若干个神经元,其计算过程由正向计算过程和反向计算过程组成[9]。在正向计算过程中,输入层接收输入向量,经输入层和隐藏层之间的参数矩阵和隐藏层激活函数计算,从隐藏层输出;再经由隐藏层和输出层之间的参数矩阵和输出层激活函数计算,从输出层输出结果。若输出结果达不到期望值,则进行反向传播,即反向计算过程。网络模型以输出结果误差的平方和为目标函数,根据梯度下降法调整参数值,缩小误差。模型结构如图2所示。

图2 三层 BP 神经网络模型Fig.2 Three-layer BP neural network model

以网络态势评估为例。假设有N个评估指标,将它们作为输入向量X=(x1,x2,…,xn),输入层有N个神经元;输出层有L个神经元,输出向量O=(o1,o2,…,ol),期望输出向量D=(d1,d2,…,dl);隐藏层仅有一层,有M个神经元,隐藏层输出向量Y=(y1,y2,…,ym)。输入层和隐藏层之间的参数矩阵为V=(V1,V2,…,Vj,…,Vm),隐藏层和输出层之间的参数矩阵为W=(W1,W2,…,Wk,…,Wl);隐藏层神经元的输出阈值为θ,输出层神经元的输出阈值为r。对于隐藏层的第j个神经元,其输出为:

(2)

式中,函数f是选择的激活函数,通常采用sigmoid函数:

(3)

同理,对于输出层第k个神经元,其输出为:

(4)

计算结果的误差用最小二乘法表示:

(5)

以上为正向计算过程。

若误差不满足期望值,则利用梯度下降法调整计算过程中使用的输入层和隐藏层之间的参数矩阵、隐藏层阈值、隐藏层和输出层之间的参数矩阵、输出层阈值,共(N+L)×M+M+L个参数。这一过程为反向计算过程。

在反向计算过程中,对每一个需要调整的参数求偏导数,按照梯度下降法改变参数值,并设置学习速率η,控制参数变化幅度。以wjk为例,其权值调整值为:

(6)

BP神经网络需要经过多次正向计算过程和反向计算过程的迭代,设置迭代次数或允许的误差范围作为迭代终止条件,得到最终的模型。

BP神经网络的非线性映射能力十分强大,能够解决很多实际应用问题,且网络结构灵活;但也有一些缺陷,例如学习速度慢、容易陷入局部最优解等。这些缺陷可能会导致基于标准BP神经网络的态势评估模型准确度较低,且训练时间较长。针对这些问题,本文提出了基于熵权法和L-M算法的改进方法。

1.2 基于熵权法的初始权重优化

熵权法是指根据指标的信息熵确定该指标对综合评价的影响权重。在基于BP神经网络的态势评估方法中,BP神经网络模型的最终训练效果受到模型参数初始值的影响。合适选取初始值,能够极大地提高模型训练效率,避免陷入局部最优解。本文中,BP神经网络模型的输入是网络态势评估的各项指标数据,因此选用熵权法优化得到的指标权重作为模型的初始化参数。

使用熵权法计算指标权重,首先要确定指标体系。指标体系由网络运维中需要关注的各项指标构成,包括网络通信效能力、抗毁能力和可靠性能力等,构建的指标体系如表1所示。

表1 运维指标体系Tab.1 Operation and maintenance index system

对于进行态势评估所需的总共n个样本数据,m个指标,其中第i个数据的第j个指标值记为xij,i=1,2,…,n,j=1,2,…,m。数据的归一化定义为:

(7)

式中,min (xj)为所有数据第j个指标的最小值;max (xj)为所有数据第j个指标的最大值。为方便,归一化处理后的数据x′ij仍记为xij。

计算第j个指标中第i个样本所占的比重:

(8)

计算第j个指标的熵值:

(9)

计算第j个指标的信息熵冗余度:

dj=1-ej。

(10)

计算第j个指标的权重:

(11)

熵权法能够深刻反映指标的区分能力,确定指标权重,具有较高的可信度和精确度。在网络态势评估问题中,以熵权法计算得到的指标权重作为BP神经网络模型的参数初始值,提高了初始模型的可信度,有利于BP神经网络模型正确、迅速收敛。

1.3 基于L-M算法改进BP神经网络态势评估方法

传统BP神经网络调整模型参数值采用的是梯度下降法,这种方法的主要缺点是收敛速度慢,且容易陷入局部最优解。本文采用L-M算法对BP神经网络进行改进。L-M算法是使用最广泛的非线性最小二乘算法,又称阻尼最小二乘法[10]。L-M算法是梯度下降法和牛顿法之间的一种优化方法,允许误差沿恶化方向进行搜索,减少陷入局部极值的可能性,加快网络收敛速度。

对于待调整参数ω,调整值为:

Δω=(JTJ+μI)-1JTe,

(12)

式中,e为误差向量,即目标函数;J为误差对权值微分的雅各比矩阵;I为单位矩阵;μ为阻尼因子。根据文献[11,13],阻尼因子的迭代计算过程如下:

将阻尼因子μ的初始值设置为μ0,在本文中,μ0=0.05。训练允许的误差ε取值为10-6,设置常数β=2。训练初始时μ=μ0,k=0,根据式(5)和式(12)计算目标函数Ek、参数调整值Δω。根据Δω调整模型参数,并根据式(5)计算参数调整后的目标函数Ek+1。若Ek+1

L-M算法具备梯度下降法和牛顿法的优点,在BP神经网络学习中具有一定优越性,可以保持较快的模型收敛速度,当接近训练结果时,收敛速度下降,避免跳过最优解[12,14-15]。

以往的态势评估算法,采用单一的神经网络模型,评估结果不够准确全面,且十分容易陷入局部最优解,本文改进的算法可以更好地实现态势评估,全面分析各个网络态势指标,综合评估网络运行态势。

2 实验及结果分析

2.1 样本数据预处理

本文从现有网络运行数据中提取运维指标,共3 071个样本数据,一个样本数据是一条网络运维数据记录,包含12个指标维度。将70%的数据作为训练集,30%的数据作为测试集。由于实际应用中的数据往往存在不完整和错误等脏数据,无法直接用于分析计算。在使用数据集训练模型之前,首先要进行数据预处理工作。预处理过程主要包括去重、异常值处理、缺失值处理和数据格式处理等步骤。

预处理后的数据集如图3所示。

图3 经过预处理的数据集Fig.3 The preprocessed data set

经过预处理的数据具有较好的完整性和准确性,更适合作为训练模型的输入,利于后续分析计算。

2.2 实验结果分析

利用样本数据集训练模型,形成对网络运行态势进行评估的权重模型,为不同时刻的网络运行状况打分。对比改进前后模型对网络的评估结果,及与实际值的差别,可以验证改进后的模型评估准确度有了明显提升。为了更好地比较本文所提出的改进方法对模型效果的影响,本文对传统BP神经网络模型、基于熵权法的BP神经网络模型、基于L-M的BP神经网络模型,以及本文所提出的“熵权法+LM”的BP神经网络模型进行了仿真实验和对比分析。截取了某天6:05-6:35的态势评估结果如图4所示。

图4 网络运行态势评估结果Fig.4 Network operation situation evaluation results

由图4可以看出,基于熵权法改进的BP神经网络模型整体情况略优于传统的BP网络。在少数时刻(如6:25)的评估准确率略有降低,这是因为熵权法优化了模型初始参数,训练方法不变的情况下,初始参数直接决定训练结果,调整后的初始参数整体有助于更好的训练结果,但是无法保证模型准确率有较大提升。L-M算法改进的BP网络模型均优于传统BP网络模型的评估效果,表明L-M算法在训练中起到了良好作用,使模型评估准确率有稳定的提升。而本文所提出的基于熵权法和L-M算法改进后的BP神经网络态势评估模型,在评估平均准确率相较于基于单一熵权法改进的BP神经网络模型、基于单一L-M算法改进的BP神经网络、传统的BP神经网络分别提高了1.68%、0.87%和3.51%。由此可见,本文所提出的态势评估方法评估更贴合态势趋势。

综合实验的所有测试数据结果,对态势实际值、原始BP模型评估得分、3种改进BP网络模型平均得分进行统计和计算,得到表2所示实验结果。

由表2可以看出,态势实际值的平均值是84.46,原始BP算法进行态势评估得到的态势评分平均值是78.31,引入熵权法和L-M算法改进的BP神经网络评分平均值分别是81.12和81.06,而改进后的BP算法进行态势评估之后的平均值是81.93。综上,本文提出的基于熵权法和L-M算法的改进BP网络模型在网络运行态势评估方面相较于其他算法,具有更高的准确率。

3 结束语

本文针对网络运行态势评估存在的过度依赖专家经验、准确度较差、模型训练速度慢等问题,提出了基于改进BP神经网络的网络态势评估方法。将熵权法和L-M算法引入传统的标准BP神经网络,实现优化神经网络初始参数值和加速收敛、减少陷入局部最优解决方案的可能性等目标,进而完成BP神经网络的优化,优化后的方法更加适合网络运行态势评估,降低了对领域专家经验的依赖程度,提高了态势评估的准确度和模型训练效率,为网络运行态势评估提供支持。

猜你喜欢

权法态势神经网络
基于熵权法的BDS钟差组合预测模型的建立
2019年12月与11月相比汽车产销延续了增长态势
汇市延续小幅震荡态势
神经网络抑制无线通信干扰探究
我国天然气供需呈现紧平衡态势
基于神经网络的中小学生情感分析
BP神经网络结合熵权法优化甘草皂苷提取工艺
基于熵权法*的广西能源安全评价
基于神经网络的拉矫机控制模型建立
基于熵权法的城镇化质量评价体系研究