基于GAN 的异构无线网络故障检测与诊断算法
2020-09-08朱晓荣张佩佩
朱晓荣,张佩佩
(南京邮电大学江苏省无线通信重点实验室,江苏 南京 210003)
1 引言
未来移动网络的发展不再是某一技术或某一网络的单一存在,而是各种无线接入技术的共存、互补和共同发展,从而更好地满足用户的需求。在这种网络异构化、密集化的发展趋势下,如何对网络故障进行高效的诊断和预测成为一个巨大挑战[1],很多学者对这一方面进行了研究。
Szilagyi 等[2]提出了一个完整的故障诊断框架,故障检测过程主要是监视无线电测量数据,并与配置文件捕获的正常行为进行比较。该框架对根本原因的诊断依赖于先前记录的故障案例,并了解其对关键性能指标(KPI,key performance indicator)的影响,考虑了信道质量、通话中断和切换时间提前3 个KPI。在监督学习的背景下,文献[3-5]考虑贝叶斯分类,建立了GSM(global system for mobile communication)和UMTS(universal mobile telecommunication system)网络故障和根本原因之间的关系。Barco 等[3]通过对故障诊断的关键性能指标的连续分析,确定在故障历史数据和故障根源充足的情况下,采用连续的KPI 进行故障诊断是有益的。事实上,只有当训练数据集足够大时,才可以获得更好的性能。Khanafer 等[4]和Barco 等[5]使用离散的KPI,文献[4]综合使用了模拟数据和实际数据进行验证,但错误小区的识别仅依赖于一个KPI,即掉话率;文献[5]侧重于数据驱动的模型参数学习,避免了典型的依赖专家意见的贝叶斯方法。Khatib 等[6]提出了一种基于监督遗传模糊算法的诊断方法,基于一个模拟数据集和一个包含72 条记录的真实数据集,故障诊断过程中考虑了4 个KPI 和4 个故障原因,利用遗传算法学习模糊规则库,其准确率依赖于标记训练集。
目前,很多专家对5G 异构无线网络中网络故障的诊断和预测进行了研究。网络切片技术被认为是电信运营商即将采用的5G 中的一项关键技术,大多数网络切片方法都遵循下一代移动网络(NGMN,next generation mobile network)[7]所描述的概念,ETSI(European telecommunications standard institute)网络功能虚拟化(NFV,network function virtualization)框架[8]是网络切片的关键推动者。Kukliński 等[9]针对与网络切片技术相关的KPI 仍然没有定义的问题,定义了5G 网络切片的KPI,为后续的5G 网络的研究提供了参考。Mfula 等[10]针对5G 复杂的网络环境,提出了一种自适应根源分析(ARCA,adaptive root cause analysis)自动故障检测和诊断解决方案,该方案使用测量数据和其他网络数据,并结合贝叶斯网络理论进行自适应根源分析,只需要更少人力或不需要人工操作,并通过自适应学习期间的知识来提高效率。
由上述对网络故障诊断方法的研究可知,传统的网络故障诊断方法需要大量的人工标注的训练数据集,十分耗时耗力。另外,上述文献仅考虑了几类故障,并且故障识别过程仅依赖少量KPI 指标,但在复杂的异构无线网络环境下,一方面,网络故障更加多样化,网络故障的识别也会依赖更多的KPI;另一方面,需要考虑在这种复杂的网络环境下,如何获得大量可靠的数据集,该数据集可通过监督学习获得故障诊断策略。目前常见做法是从已令人满意地解决的且已知故障的已存储案例(即标记案例)中提取信息。然而,由于专家不倾向于收集KPI 和与它们解决的故障相关的标签,所以可用的历史记录很少。特别是,实际网络中没有太多的故障,对于每个特定的故障,没有很多标记的案例。因此,从真实网络获得的历史数据不够丰富,利用监督技术来构建诊断系统所达到的效果并不理想。而利用生成对抗网络(GAN,generative adversarial network)的思想可以解决历史数据不丰富的问题。
近几年来,GAN 作为实现人工智能的典型方法,在计算机视觉、图像识别和自然语言处理领域取得了广泛的成功,在处理复杂问题方面表现出很好的能力。GAN 包括2 个独立的深层网络[11],即生成器和判别器。生成器接收一个服从gp分布的随机变量,用来捕捉数据的分布。判别器分别输出1和0 来区分真实样本和生成的样本。GAN 在训练过程中,利用生成器和判别器分别对样本进行生成和分类,对抗性地提高样本的性能。文献[11]利用GAN方法对minist 手写数据集进行识别,实验结果证明了GAN 方法的潜力。但文献[11]在实际训练过程中还存在一些问题,如训练困难、生成样本缺乏多样性等。文献[12-13]针对文献[11]存在的问题,提出了WGAN(Wasserstein GAN),仿真结果表明,其能够解决GAN 训练不稳定的问题,而且确保了生成样本的多样性。Arjovsky 等[12]从理论上解释了GAN 训练不稳定的原因。文献[13]引入Wasserstein距离代替 JS(Jensen-Shannon)散度和 KL(Kullback-Leibler)散度,并将其作为优化目标。与原始GAN 中的KL 散度与JS 散度相比,WGAN 解决了原始GAN 存在的梯度消失问题。
本文创新性地提出了将GAN 思想应用到网络故障诊断与预测领域中,将GAN 思想与典型的网络故障诊断方法结合。利用GAN 思想,基于少量带有标签的数据集,获得了大量可靠的带有标签的数据集用于网络故障诊断模型的训练,这样做不仅大大节省了人工标注训练数据的时间,而且提高了故障诊断模型的精度。仿真结果表明,所提方法能够达到准确和高效的网络故障诊断与预测效果。
2 系统模型
本文考虑图1 所示的宏小区、微小区和毫微微小区交叉重叠覆盖的4G 异构无线网络场景。在这种场景下,由于网络的多样性,系统更加复杂,网络管理也更加困难。本文考虑此场景下的网络故障诊断与预测,首先分析衡量网络性能的KPI 以及常见的网络故障,并对其进行简单的关联,这部分是构建网络故障诊断模型的前期工作。
2.1 关键性能指标
本文所选KPI涵盖了4G 异构网络的主要方面,与移动网络中的主要类别相关联,主要如下:质量指标,如参考信号接收功率、参考信号接收质量、分组丢失率;接入性指标,如无线资源控制连接建立成功率、演进的无线接入承载建立成功率;保持性指标,如掉话率;移动性指标,如切换成功率、切换时延;业务量指标,如平均吞吐量。本文所选KPI 具体如表1 所示。
图1 4G 异构无线网络场景
表1 本文所选KPI
1) 参考信号接收功率,描述下行链路中接收的导频信号的强度。其定义为在考虑的带宽内承载来自服务小区的小区特定参考信号的资源元素上的平均下行链路接收功率。
2) 参考信号接收质量,描述下行链路中接收的导频信号的质量,以dB 为单位。其定义为RSRP与载波带宽加上热噪声时所有基站的宽带接收信号之间的比例。
3) 分组丢失率,指丢失分组的数量与发送的分组总数的比例。这个度量对于确定网络的状态非常重要。本文分别考虑上行链路分组丢失率(PD_UL)和下行链路分组丢失率(PD_DL)。
4) 信噪比,是衡量网络性能好坏的重要指标,信噪比越高,信号中杂波越少,网络性能越好;反之,网络性能越差。本文分别考虑上行链路的信噪比(SNR_UL)和下行链路的信噪比(SNR_DL)。
5) 无线资源控制连接建立成功率,RRC 连接建立成功次数与RRC 连接建立尝试次数的比值。只有当RRC 连接建立成功,才可以进行通信业务,若连接建立失败,则用户与网络不能建立正常连接,网络业务中断。
6) 演进无线接入承载建立成功率,指E-RAB连接建立成功次数与E-RAB 连接建立尝试次数的比值。如果连接建立失败,则用户与网络不能正常连接,影响网络服务的质量。
7) 掉话率,是衡量网络性能的重要指标,也称通话中断率,是指移动通信过程中通信意外中断的概率。小区存在弱覆盖区域或者网络间存在干扰等原因都会导致呼叫掉线。
8) 切换成功率,是指成功切换次数与切换尝试总数的比值,描述了网络使用户能够继续接收服务并在移动过程中保持连接的能力。
9) 平均吞吐量,指单位时间下载或者上传的数据量。平均吞吐量=,对于运营商而言是重要的性能指标。本文考虑上行、下行平均吞吐量Throughput_UL、Throughput_DL,以及节点传出、传入平均吞吐量LT(out)、LT(in)。
10) 时延,通常指发送到接收之间的时间间隔,网络出现时延的情况时,可以从网络拓扑、网络中的业务模型、传输资源等方面考虑问题出现的原因。本文考虑切换时延HO_d。
11) 误码率,在一段特定时间内数据传输的准确率的度量,如果有误码就会有误码率。误码的产生是由于网络传输质量低导致的。本文考虑链路误码率LER。
2.2 网络故障
训练网络故障诊断模型所需要的数据集由不同的网络故障组成,每个故障代表一个单元小区出现的问题,邻居小区也会受到这个问题的影响。本文分析了网络运营过程中的常见网络故障[14-15],具体如下。
1) 干扰,一般指进入信道或通信系统影响合法信道正常运行的信号,移动通信系统的干扰是影响无线网络出现掉线、接通失败等原因的重要因素之一,严重影响了网络正常运行和服务质量。本文从频段角度考虑,将干扰分为上行干扰和下行干扰。当上行链路出现干扰时,所需的用户信号必须比干扰信号强,这样基站才能与用户通信,因此,用户必须更靠近基站,从而减少了基站的覆盖范围。下行干扰是指干扰源在移动网络下行频段内所发出的干扰信号。当用户接收到干扰信号时,无法分辨正常的基站信号,使用户与基站的联系中断,导致通话掉线或无法注册。
2) 覆盖,常见的故障为覆盖漏洞,表示服务单元与邻近单元的信号电平平均低于维持服务所需的强制电平区域,常由物体障碍造成,例如城市地区的新建筑和农村地区的丘陵等。在某些情况下,不合适的天线参数和无线电频率规划也可能造成覆盖漏洞。该故障的典型表现包括服务区域某部分用户的RSRP 较低,导致频繁掉线和无线链路故障。
3) 硬件故障,通常指基站设备部件故障,比如基站中部分组件反应不灵敏。硬件出现较为严重的故障时会导致小区服务中断,掉话率急剧上升。
4) 链路故障,通常指网络运行中链路出现堵塞或者由于其他原因导致链路不能正常传输数据,网络无法正常运行。
5) 配置参数故障,在无线接入端,若仅考虑基站,其自身有很多参数调整,如果某些重要的参数配置错误或者更新时出现问题,可能会导致网络性能下降。
针对上述的KPI 以及网络故障,依照故障排除专家经验进行关联,如表2 所示。
3 网络故障检测与诊断
本文提出了基于GAN 的网络故障诊断与预测模型,如图2 所示。首先,从异构无线网络环境中采集不同网络状态下的少量KPI 数据,将不同网络状态与KPI 数据相关联。为方便分析,本文将收集到的小样本数据进行归一化处理,输入GAN 进行不同网络状态下的数据拟合,从而得到不同网络状态下大量带有标记的模拟数据。然后,对GAN 产生的模拟数据集与原始数据集同时进行数据处理。本文选择极端梯度提升(XGBoost,extreme gradient boosting)算法首先对数据进行降维,去除冗余数据,选择故障检测阶段输入参数的最优特征组合。最后,把处理后的数据分为训练集和测试集,进行XGBoost故障检测模型的训练,从而得到最优的诊断结果。
表2 故障原因与KPI 的关联
3.1 输入阶段
不同的网络状态有不同的特征,网络故障诊断与预测模型必须确定不同的网络状态对应的症状,以便对多个故障进行识别。本文定义S=[KPI1,KPI2,KPI3,…,KPIm]表示不同网络状态的输入向量,S是含有m个KPI 的向量;定义C={FC1,FC2,FC3,…,FCn}表示网络的状态,如网络正常工作或者出现某种故障。
从异构无线网络环境中采集的小样本数据组成的输入数据向量由被研究小区的所有相关的KPI 组成。根据诊断流程所需的粒度,可以使用不同的时间聚合级别(如小时、日、周、月等)收集KPI。
若在某段时间T出现网络故障FCi,则这段时间的网络状态表示为
其中,KPIi指归一化的第i个KPI,max(KPIi)指收集的数据中第i个KPI 出现的最大值。式(2)用于转换特定指标KPIi的动态范围,仅考虑不在区间[0,1]的KPIi,其目标是确保所有的变量都在期望的区间内。
归一化后的网络状态为
3.2 GAN 框架
GAN 框架如图3 所示,主要基于博弈论中的零和博弈。该框架必须具有2 个相互竞争的网络,并同时优化其目标。第一个网络为生成器G,它在给定高斯噪声或均匀噪声的情况下输出模拟样本。第二个网络为判别器D,将来自真实分布的样本或由G生成的样本输入判别器D,D尝试将给定样本标记为0(样本来自生成器分布)或1(样本来自真实数据分布)。迭代后,这种竞争将使2 个网络都更好地完成任务。特别是生成器G,能够产生可以欺骗人类的真实样本。优化的目标函数为
图2 基于GAN 的网络故障诊断与预测模型
其中,pr表示异构无线网络收集的归一化的真实数据的分布;pz表示输入噪声服从的分布;G(Z) 表示数据空间的映射;G表示一个由多层感知机表示的可微函数;为标量,表示来自真实数据分布而不是pz的概率。
图3 GAN 框架
通过上述分析可知,GAN 中的G作为生成模型,不像传统模型那样需要十分严格的生成数据的表达式,避免了数据非常复杂导致的不可计算;同时,G本身也不需要进行计算量庞大的求和计算。GAN 仅需要输入一个服从一定规律的噪声、一些真实数据、2 个可以逼近函数的网络。通过生成器与判别器之间的不断博弈,当判别器趋于稳定时,生成器获得趋于真实数据分布的不同网络状态。
经典的GAN 算法使真实分布和近似分布之间的JS 散度最小化。然而,JS 散度是不连续的,梯度在某些地方不可用。为了克服这个缺点,Liu 等[13]提出用Wasserstein 距离代替JS 散度,WGAN 保证了梯度的可用性。鉴于Wasserstein 距离方程求解十分困难,WGAN 利用Kantorovich-Rubinstein 对偶性来简化计算,同时为判别器引入一个基本约束来寻找1-Lipschitz 函数。在超参数控制的范围内对判别器的权值进行裁剪以满足约束条件。此外,Gulrajani 等[16]提出具有梯度惩罚的WGAN 算法,即WGAN-GP(WGAN with gradient penalty),它采用梯度惩罚来执行1-Lipschitz 约束,而不是采用权值裁剪。本文采用WGAN-GP 产生模拟数据。优化目标如下
3.3 XGBoost
XGBoost[17]是基于梯度增强决策树(GBDT,gradient boosting decision tree)[18]的改进算法,在计算速度、泛化性能和可扩展性等方面都得到了提升。GBDT 算法在训练的每次迭代中,都会在先前模型损失函数的梯度下降方向上建立新的决策树模型,在构造决策树后对其进行修剪。XGBoost在决策树的构造阶段将正则化项加入损失函数,如式(7)所示。
Ij定义为样本的索引集,其值与叶节点j相关联。
假设决策树的结构已经确定,每个叶节点上的预测值可以通过使损失函数的导数为零得到,即
本文使用XGBoost 框架训练数据,然后用训练后的模型预测某时间段的网络状态,即为收集到的其他未知数据打上标签。此外,使用XGBoost 的另一个好处是,创建提升树之后,可以为每个属性获得一个重要性评分。一般情况下,重要性评分衡量模型中某属性的价值,以增强决策树的构建。属性在模型中用于构建决策树的次数越多,就越重要。本文利用XGBoost 框架的特征重要性排序功能进行数据的预处理,选出影响衡量网络状态的最相关的性能指标。利用此算法可以对测试集的准确性和模型复杂度进行权衡,从而实现高效而可靠的网络故障的检测。
4 性能分析
4.1 模拟数据集
为了说明本文所提方法的有效性,采用OPNET 18.6 搭建仿真实验环境,其网络仿真参数设置如表3 所示。
仿真中主要设置了11 种网络状态类别,具体可分为为正常、干扰、覆盖故障、硬件故障和传输故障五大类,其中,正常为{FC1};干扰分为上行干扰和下行干扰,即{FC2,FC3};覆盖故障为{FC4};硬件故障分为4种不同基站故障,即{FC5,FC6,FC7,FC8};传输故障分为 3 种不同的链路故障,即{FC9,FC10,FC11} 。网络状态类别组成的集合C={FC1,FC2,FC3,…,FC11}。然后预先设置这些网络状态的发生时间以便人工产生数据标签,每次仿真时间设置为2 h,每种网络状态发生的时间为20 min。
表3 网络仿真参数
4.2 基于生成对抗网络的故障检测与诊断
利用本文提出的基于生成对抗网络进行网络故障检测与诊断的思想,在进行数据处理以及故障检测之前,利用WGAN-GP 算法对从异构无线网络环境中收集的各个网络状态下服从一定规律的小样本数据进行学习,从而得到各个网络状态下大量带有标记的模拟数据。对生成对抗网络产生的模拟数据集与原始数据集同时进行数据的处理,本文选择XGBoost 算法首先对数据进行降维,去除冗余数据,把处理后的数据分为训练集和测试集,进行XGBoost 故障检测模型的训练。
实验中分别基于原始小样本数据和扩充后数据集,利用XGBoost 算法进行网络故障的检测与诊断,准确率如图4 所示。由图4 可知,本文方法很大程度上提高了网络故障诊断的准确率,随着迭代次数的增加,准确率可达98.48%。
考虑节省网络故障诊断时间,本文利用XGBoost 模型进行特征的筛选,在保证正确率的基础上,降低数据的维度,达到缩短网络故障检测时间的目的。利用XGBoost 模型对16 个KPI 进行重要性排序,结果如图5 所示。图5 反映了16 个KPI在网络故障诊断过程中所占的比重。
图4 网络故障诊断准确率
图5 特征重要性排序
基于特征重要性的排序进行数据筛选,故障诊断准确率如图6 和表4 所示。结果表明,训练200次后,若特征全部保留,得到的诊断准确率最高,为98.48%。对应特征分别选取15 个和13 个时,诊断准确率分别为98.22%和98.18%。这是由于特征选取个数的减少对诊断准确率造成了影响,但是节省了网络故障诊断时间,并且诊断准确率并未随特征的减少而大幅度降低。对测试集的诊断准确率和模型复杂度进行权衡,选取13 个特征时性能最好,根据图5 的特征重要性的排序,最终从所有特征里选取RSRP、RSRQ、PD_UL、PD_DL、SNR_UL、SNR_DL、RRC、DCR、HO、HO_d、Throughput_UL、LER、Throughput_DL 进行故障检测与诊断,准确率为98.18%。
从网络故障诊断时间考虑,经特征筛选后,训练模型的输入参数的维度减少,模型的训练时间也相应减少。故障诊断时间如图7 所示,本文提出的经特征筛选后进行网络故障诊断方法的诊断时间比未经特征筛选的故障诊断方法短。
图6 不同特征组合的故障诊断准确率
表4 训练200 次时故障诊断准确率
图7 故障诊断时间
另外,本文基于朴素贝叶斯分类器、K 最近邻(KNN,K-nearest neighbor)、决策树、随机森林等算法对异构无线网络环境下的网络故障进行诊断,当训练稳定时,与本文算法进行比较,从而验证本文算法的优越性。仿真结果如表5 所示。当训练稳定时,与其他算法相比,本文算法由于原始小样本数据集得到扩充,网络故障诊断的准确率得到提高,而且诊断时间并没有因为数据量的增加而增加过多,与有些算法相比诊断时间更短。
表5 仿真结果对比
5 结束语
本文提出了一种适用于异构无线网络的基于生成对抗网络的网络故障检测与诊断算法,利用生成对抗网络思想,基于小样本数据获得大量可靠数据用于算法的训练,节省了人工标注训练数据的时间。仿真结果表明,本文算法能够实现高效而可靠的网络故障诊断,但是需要生成对抗网络模型训练得非常好才能实现上述效果,而在训练过程中,误差不可避免。因此,如何获得准确的生成对抗网络模型值得进一步探究。