首页 文学文摘 时政新闻 科技科普 经济法律 健康生活 管理财经 教育教学 文化艺术 社科历史

应用人工神经网络构建的VPDN用户故障检测系统

作者:王学毅 沈 曦 来源:现代电子技术


  摘 要:讨论一个应用人工神经网络设计的CDMA网络VPDN数据用户故障检测系统。该系统应用反向传播神经网络,利用理想状况下的用户数据训练网络,而用带有随机性的模拟实网数据检测故障判断的准确性。计算机仿真结果表明在噪声的干扰下神经网络基本可以给出具有参考价值的判断。通过实验充分证明利用神经网络完成故障判断的可行性,而设计、分析、检验等多个研究步骤为神经网络的此类应用提供了可供参考的蓝本。
  关键词:神经网络;VPDN;CDMA;故障判断
  中图分类号:TP183;TN915 文献标识码:B 文章编号:1004373X(2008)1607104
  
  VPDN Users Fault Measuring System Based on Artificial Neural Network
  WANG Xueyi,SHEN Xi
  (Beijing Branch Corp.,China Unicom,Beijing,100038,China)
  Abstract:This paper discusses a malfunction estimation system based on artificial neural network for CDMA VPDN data subscribers.This system applies back propagation neural network,uses network data in ideal conditions to train the neural network,and then utilizes simulated network data with randomness to verify the accuracy of the estimation.Simulation results suggest that the neural network can give valuable estimations even under the perturbation of noise.Investigations in this paper confirm the feasibility of using neural network to detect malfunction,and design,analysis,verification and other research procedures provide us with a prototype for similar neural network applications.
  Keywords:neural network;VPDN;CDMA;fault diagnosis
  
  1 概 述
  
  CDMA是码分多址(CodeDivision Multiple Access)技术的缩写,是近年来在数字移动通信中出现的一种先进的无线扩频通信技术,它能够满足市场对移动通信容量和品质的高要求。基于CDMA 1X网络的VPDN(Virtual Private Dialup Network)技术是中国联通于2003年建设完成并投入使用的一项技术。该技术以CDMA 1X网络作为承载网,使行业用户的移动终端,经过AAA认证、PDSN(Packet Data Serving Node)隧道触发,通过专线方式(或互联网方式)与企业端LNS(L2TP Network Server)建立连接后,接入到企业私有网络从而进行数据传输(具体见文献\)。
  VPDN用户的接入方式(图1)决定了运营商的设备运转正常并不是用户业务正常的充分条件。业务能够正常开展,运营商设备(BSC,PDSN等)正常、运营商到用户的专线正常、用户设备(LNS,AAA等)正常这3个条件缺一不可。而在日常的维护过程中,通常会暴露出用户设备故障而造成服务中断的问题,其主要原因是行业用户的自有设备质量水品参差不齐,无法像运营商这样采用电信级的设备,因此其在网络中成为了比较薄弱的一个环节。在用户机房中的LNS或AAA服务器出现故障时,用户的终端就会因VPDN拨号不成功而不断重拨,一方面给运营商的无线网络造成压力,另一方面降低了拨号成功率——这一运营商必须统计的网络技术指标。由于行业、企业用户通常不能及时发现自有设备的故障,那么只有运营商主动发现故障,才能将故障造成的对网络的压力和对技术指标的影响降到最低。而目前现网的情况是行业、企业用户多,运营商不具备24小时对每个用户进行观察的条件。其次,每个行业用的行为也不同,例如有些行业用户的终端只有工作时间上线,而有些用户则只用凌晨之后的时间进行数据传输。相对较为复杂的网络情况使得人工进行观察非常困难,因此找到一种自动化的方式判断用户的故障成为了一个迫切需要解决的问题。
  本文讨论一个应用人工神经网络所构建的VPDN用户故障检测系统。
  
  2 神经网络模型的建立
  
  目前北京联通VPDN平台上采用图1方式接入的行业、企业用户超过70家,入网的子用户数(号卡数)超过2万户。在对通信服务质量要求日益提高的今天,如何能够维护好这样一个庞大的系统平台给运营商提出了一个新的课题。值得注意的是,绝大多数的用户的行为都是有规律可循的。例如,某银行的无线ATM机,入网的有300个终端子用户,每天上午9点通常约有260个终端用户在线,而每个终端用户此时的平均数据流量为20 kb/s;晚上10点通常有220个终端用户在线,平均数据流量为5 kb/s。再举另外一个例子,某媒体广告公司有700个终端子用户入网,上午九点通常约有120个终端用户在线,每个终端用户平均数据流量为10 kb/s;晚上十点通常有680个终端用户在线,平均数据流量为50 kb/s。每个行业、单位用户都遵循一定的模式使用CDMA网络,而不同用户之间的模式通常是不同的,这个前提为从数据分析中发现故障用户提供了可能性。
  
  在北京联通的PDSN设备上,可以观察到总的VPDN在线用户数和系统的总的数据流量。这个数据其实就是所有的行业、企业用户的行为叠加的结果。在理想情况下,所有的行业用户都严格按照平均状况使用网络,那么此时如果有某一个行业用户发生故障将很容易被发现。然而在现网中PDSN上观察到的数据要复杂很多,原因是虽然每个用户的行为模式相对固定,但也有很多随机的因素夹杂在其中。在线用户数、用户流量一般都是在均值周围的一定的范围内波动。这个特点决定了如果要设计自动化的故障用户检测机制,那么该机制必须具备一定的容错能力。
  从行业用户的行为特征判断,最有希望胜任自动故障用户检测的工具就是人工神经网络工具。首先,神经网络最擅长的功能就是模式识别,而不同行业用户的故障状态完全可以作为不同的模式交给神经网络来训练和识别.\。第二,神经网络具备很强的容错能力,尽管现网情况通常会在一定程度上偏离通常预测到的“均值”,神经网络仍然可以做出正确的判断.\。上述2点构成了用人工神经网络完成此项研究的重要依据。在神经网络的应用中,使用的最广泛的就是反向传播网络(Back Propagation Neural Network,BP网络)。BP网络是采用WidrowHoff学习算法和非线性可微转移函数的多层网络.\。本文中的建模和仿真过程将应用BP网络.\并直接调用MatLab神经网络工具箱提供的函数。一个经过训练的BP网络能够根据输入给出合适的结果,即使这个输入并没有被训练过.\。这个特性使得BP网络很适合采用输入/目标对进行训练,而且并不需要把所有可能的输入/目标对都训练过。
  
  为了让数学建模的过程更加清晰,首先讨论一个简单的3用户模型。在这个假想的VPDN网络平台上,有3个不同的行业用户。每个行业用户在不同的时间点的行为不同,这里将只关注一个时间点——上午9时。
  表1中总结了该模型中所有的重要参数。例如用户1,在9点它的平均在线用户数为70,其应用决定了每用户的平均流量为20 kb/s,因此用户1产生的总流量为1 400 kb/s。
  
  前面已经提到,PDSN设备可以观测到VPDN系统中的用户总数和它们产生的总流量。依据表1中的数据,不难分析出9点钟PDSN可能观察到的8种网络状态(如表2所示)。例如,如果用户2的LNS设备或AAA设备出现故障,那么380个用户和3 800 kb/s的流量将从网络中消失,因此这种情况下PDSN上观察到的在线用户总数为670(用户1和用户3的总和),而总流量为25 400 kb/s。从这个表中不难分析,如果要设计一个用于判断故障的神经网络,必须的3个输入是时间、在线总用户数和总流量。
  
  在此反向传播神经网络的设计过程中,输出表示的明确性作为了本文考虑的重要因素:为了使输出尽量通俗易懂,这里在输出层用3个神经元分别表示3个用户。同时,将尽量让这3个神经元的输出值能够“两极化”。考虑到反向传播神经网络的转移函数必须可微,这里采用“logsig”函数:log sig(x)=1/(1+e.-x),并用输出“0.9”代表故障,“0.1”代表状态正常。总之,输入和输出层各设计为3个神经元。输入层的3个输入分别为时间(0~23时)、在线总用户数和总流量。考虑到输入到各个神经元的数值尽量避免差别过大,这里将在线总用户数除以10、总流量除以100而作为输入的数值。举例而言,[9;98;278] 这个网络状态对应了[0.9;0.1;0.1]这个输出,表示了用户1出现了故障,用户2和用户3状态正常。如图2所示。
  
  3 计算机仿真结果
  针对3用户VPDN系统的故障检测神经网络如图3所示。
  
  下面以8种状态作为目标,开始对这个神经网络进行训练。首先需要确定的就是隐层(中间层)神经网络的神经元个数。在实际的人工神经网络应用中,中间层的神经元数量选择并没有太多的理论依据予以指导,通常是通过实验来找到最优的神经元数。多次实验的结果表明,800~1 500个神经元就能很好地保证网络性能函数(MSE均方误差.\)快速收敛到目标值,图4中实验的神经元数量为900个。其他Matlab训练参数说明如下:
  net.trainParam.show = 50: 每50次训练返回结果
  net.trainParam.lr = 0.11: 学习步长设置为0.11
  net.trainParam.epochs = 600: 训练次数设置为600,即使不能达到目标也将终止训练
  net.trainParam.goal = 0.0002: 训练目标设置为0.000 2,MSE均方误差至此目标后终止训练
  图4(a)为此神经网络性能函数随着训练次数的增加而收敛的情况。可以看出,在544次训练后,输出与目标的均方误差就达到了目标值之下,训练完成。为了检验训练的结果,训练完成后,8种网络状态被作为输入再次代入神经网络,观察的输出与训练目标进行对比。右图中的“○”表示的就是8种状态下的第一个神经元的目标输出,其中有4种状态对应了用户1故障,即第一个神经元目标输出0.9;另外4种状态对应了用户1正常,即第一个神经元目标输出0.1。图4(b)中的“×” 表示了8种状态下的第一个神经元的实际输出,其中有4种状态对应了用户1故障,而此时第一个神经元实际输出也非常接近0.9,另外4种状态对应了用户1正常,此时第一个神经元的实际输出也非常接近0.1。从3个神经元的全部输出结果来看,神经网络的训练情况非常理想,在8种不同的总用户数、总流量的组合输入的情况下,神经网络均能返回非常接近两极即0.1和0.9的数值,训练目标可以达到。
  
  网络训练成功只是完成了神经网络设计的第一步,在本系统中需要用与现实情况比较接近的带有随机性的输入数据来检测神经网络判断故障的能力。对于行为比较规律的行业用户来说,如果进行长时间的观察,通常会观察到每天同一时刻在线的用户数虽然不尽相同,但是都是在一个均值附近的范围内。按照随机数学的理论分析,每天同一时刻的在线用户数应当是在以μ为均值、σ为方差的随机数范围内取值,如果观察的数据点足够多,应该可以看出它们符合正态分布。对于在线用户产生的流量也是如此。例如对于行业用户3,每天9点钟平均在线用户数μ的取值应为600。而对于方差σ的取值,应该与μ有正比的关系。原因很简单,如果用户数数量大那么方差通常也会大,而如果用户数小那么方差也会相应减小。因此在本文的讨论中,定义的两种方差的选择方式均与均值μ成正比:小方差被定义为均值的0.5%,大方差被定义为均值的2%。
  下面就将用300组正态分布的随机数所给出的在线用户数和用户总流量数据来检验前面所训练好的神经网络是否能够给出正确的故障判断。时间在这里仍被固定为9,它和在线用户数、用户总流量一起作为神经网络的输入,每次依据输入进行计算后3个输出神经元的每一次输出值被用“×”标示在图中(见图5)。神经元输出的目标值以“○”在图中标出。
  从图5中可以看出,对于小方差的情况,3个神经元给出的300次输出都非常接近目标值0.1,其中分别表示用户2、用户3的2号、3号神经元的偏差在0.01以内,而表示用户1的1号神经元的输出值也从没有超过0.2(见图5(a))。这就说明在小方差情况下神经网络在300个样本中都能做出正确的判断。对于大方差的情况,3个神经元给出的输出的偏差均有所增大(见图5(b))。由于神经元的状态被用于故障判断,为了简化起见,判断将被归为“故障”和“正常”两种。本系统中神经元的输出将被以0.5为界划分为2类:大于0.5的取值被判断为故障;小于0.5的被判断为正常。则图中1号神经元有3个“×”位于0.5之上,也就是有3个样本被错误地判断成了用户1故障,这里权且将其定义为“误判”。那么300次有3次误判,因此这里定义误判率为1%。与无故障的情况的仿真模式相同,将有故障状态的随机数样本交给神经网络作判断,结果表明在小方差情况下,神经网络的判断仍旧是完全准确的,大方差情况下误判率仅为为0.33%。
  
  上面所介绍的3用户VPDN系统较为简单,第二步的实验模拟出一个更为真实的10用户VPDN系统,用来检测神经网络判断故障的性能。为了识别10个用户所带来的更多的故障状态,在神经网络中隐层所需的神经元数量也大幅增长,在本次的计算机仿真中采用的是有9 000个隐层神经元的神经网络。网络训练和用随机样本检测故障的步骤与前面相同。
  图5(a)给出的结果来看,训练结果与训练目标十分接近,神经网络输出的结果“两极化”很明显,能够完成故障判断的功能。而从图5(b)给出的判断结果来看,在以0.5作为分界进行判断的情况下,此神经网络的误判率保持在了很低的水平。换而言之,该神经网络同样可以给出极具参考价值的故障判断。
  
  
  4 结果分析与结论
  
  本文中首先分析的3用户VPDN系统和用于检测此系统故障的神经网络充分证明了利用神经网络完成故障判断的可行性。尽管被用于检测的VPDN系统用户数少,因此行为模式也相对简单,但是此系统比较具有代表性,可以反映现网VPDN系统的诸多特征。在设计完成神经网路系统后,与现实情况比较接近的带有随机性的输入数据被用来检测神经网络判断故障的能力。总体而言故障判断的正确率在99%以上。
  对于与现网更为接近的10用户VPDN系统,通过选择合适的神经元数和训练参数,神经网络仍可以顺利完成训练。而用带有随机性的用户行为进行检验时,神经网络的误判率也保持在了很低的水平。本文中的计算机仿真分析从实验的角度证明了利用神经网络完成VPDN系统的故障检测是完全可能的。而设计、分析、检验等多个研究步骤为实际应用中神经网络系统的设计提供了可供参考的蓝本。
  
  参 考 文 献
  [1]顾立新,任立刚.基于cdma2000 1X移动网络的新技术应用[J].中国电信建设,2004,16(8):2428.
  [2]李明铎,任立刚.cdma2000 1X分组域VPDN的安全性分析[J].电信技术,2004(12):4446.
  [3]Duba R O,Hart P E.Pattern Classification and Scene Analysis\.Wiley,New York,1973.
  [4]De Wilde P.Neural Network Models\.Springer,Berlin,
  1997.
  [5]Tsodyks M,Gilbert C.Neural Networks and Perceptual Learning\.Nature,2004,431:775781.
  [6]Matlab神经网络工具箱应用简介:202.114.88.181/File/Tools%20Ref/matlab16.pdf.
  [7]Halici U.Reinforcement Learning with Internal Expectation for the Random Neural Network\.European Journal of
  Operations Research,2000,126 (2),288307.
  [8]MATLAB 神经网络工具箱函数: 202.114.88.181/File/Tools%20Ref/matlab15.pdf.
  
  作者简介 王学毅 北京邮电大学信息与通信工程专业博士研究生,研究方向为移动数据业务。中国联通北京分公司技术综合应用部经理,多年从事移动增值业务工作。