基于模糊神经网络的RTT智能预测算法

人工智能

636人已加入

描述

模糊神经网络简介

模糊神经网络就是模糊理论同神经网络相结合的产物,它汇集了神经网络与模糊理论的优点,集学习、联想、识别、信息处理于一体。

系统的复杂性与所要求的精确性之间存在尖锐矛盾,为此,通过模拟人类学习和自适应能力,人们提出了智能控制的思想。控制理论专家Austrom(1991)在IFAC 大会上指出:模糊逻辑控制、神经网络与专家控制是三种典型的智能控制方法。通常专家系统建立在专家经验上,并非建立在工业过程所产生的操作数据上,且一般复杂系统所具有的不精确性、不确定性就算领域专家也很难把握,这使建立专家系统非常困难。而模糊逻辑和神经网络作为两种典型的智能控制方法,各有优缺,模糊逻辑与神经网络的融合———模糊神经网络(Fuzzy Neural Network)由于吸取了模糊逻辑和神经网络的优点, 部分避免了两者的缺点, 已经成为当今智能控制研究的热点之一

模糊逻辑(FL)、神经网络理论(NN)、遗传算法(GA)、随机推理(PR), 以及置信网络、混沌理论和部分学习理论相融合,形成了一种协作体,这种融合并非杂乱无章地将模糊逻辑、神经网络和遗传算法等进行拼凑,而是通过各种方法解决本领域的问题并相互取长补短,从而形成了各种方法的协作。从这个意义上讲,各种方法是互补的, 而不是竞争的。在协作体中, 各种方法起着不同的作用。通过这种协作,产生了混合智能系统。模糊逻辑和神经网络都是重要的智能控制方法,将模糊逻辑和神经网络这两种软计算方法相结合, 取长补短, 形成一种协作体———模糊神经网络。

RTT作为网络拥塞控制的重要参数,能对网络所发生的拥塞作出较早的反映。文献[1]根据求得的RTT估计值,提出一种RTT驱动的拥塞控制算法,此算法在实时性和网络状态的震荡抑制等方面,比基于丢包率的拥塞控制算法有明显改善。

选取公式(1)来估计RTT的值:

RTTn+1=RTTn+gE (E=RTTm-RTTn) (1)

其中RTTm为当前所测得的RTT值;RTTn为上一探测包的平均RTT估值,g∈(0,1]。不同网络或同一网络的不同时段对g的选取有很大影响。文献[2]针对可靠组播传输,提出了一种基于主动式网络的往返行程时间估算策略,可靠组播协议借助这一策略可以有效地减少网络中不必要的控制信息,根据网络环境可以及时准确地确定进入网络的数据包速率,从而提高整个组播组的吞吐量。RTT预测研究目前是一个热点问题,对RTT进行精确预测很有意义。文献[3]采用基于波形平滑指数和波形突变指数的滑动窗口加权平均RTT估计算法,对RTT值进行平滑估计。利用神经网络对RTT进行了预测,达到了较好的效果。但这仅限于网络比较空闲的状态下。利用算术平均滤波和BP网络相结合的办法,对RTT进行预测,在网络较拥塞的情况下,预测结果不太理想。这是由于RTT误差值随着网络负荷加重时也会增加,因为队列延时和延时的抖动都会随着网络拥塞程度加重而明显增加。另外,在网络拥塞时会导致数据包或ACK包丢失,这些都会导致估计RTT的难度增加并且估计出的RTT值也不准确,出现一些波动,导致网络有时出现训练失控状态。所以本文采用了低通滤波和MBP网络相结合的预测策略。本文主要分析了RTT的特性,发现其有很强的高频噪声,采用低通滤波和MBP网络相结合的RTT预测策略。实验表明,即使在网络状况较忙的情况下,也能获得很好的预测结果。

网络往返延时特性

网络环境和网络设备的性能对数据吞吐量影响很大,致使网络上的数据具有较强的随机性,常常表现为短期的高频噪声。由于网络中两个节点之间的通信数据流可以有很多的路径到达,如果每个数据包所流经的路径不同, RTT就可能不同;另一方面,即使每个数据包是经由相同的路径到达目的节点,但是由于这个路径中的网络设备是网络共享的,在不同的数据包通过时网络设备所承担的数据传送任务也不会相同,这就导致RTT也可能不相同,相关研究结果的准确性会受到这种短期噪声导致的随机性影响。

网络状况和网络设备性能在较长期内的参数是相对稳定的。由于网络数据是在随机和稳定这两种因素的共同制约下产生的,所以滤波对于研究网络数据是必不可少的,因为此时我们主要关注的是网络节点的群体行为给予网络数据的规律性。

RTT数据预处理

低通滑动滤波算法的思想为:取a为(0,1)之间的数据,则:

本次滤波结果=(1-a)×本次采样值+a×上次滤波结果。它的优点在于对周期性的干扰具有很好的抑制作用,适用于波动频率较高的场合。选取a=0.05。

RTT的测试实验是在校园网上进行的。源节点和反馈节点分别位于天津职业技术师范大学和天津工业大学。在实验中,每隔100ms就发送200个10bytes大小的TCP数据包,然后记录发送时间和接收返回结果的时间,并计算它们的差值,差值就是RTT。

模糊神经网络

基于MBP网络的RTT预测算法

图1所示,RTT在网络比较忙的时候,有极强的波动性,用BP网络作为RTT智能预测器,采用低通滤波和BP网络相结合的算法,预测曲线有太多毛刺,在RTT值突变更大的情况下,极容易出现失控现象。由于BP网络是一种全反传式的前向网络,所以BP网络学习算法的收敛速度很慢,即只要存在误差反传信号,网络所有层的权值将会统一修正,这样就会拖延学习时间。如果在修正神经网络的误差反传权值时增加一个协调器,该协调器把全反传式网络变成了局部反传式网络,则可大大提高网络学习速率。对网络的灵敏度的分析决定了协调器的协调方法,这里我们选用滑动滤波算法和降低网络灵敏度的MBP算法相结合的策略,设计新的智能RTT预测器。

定义:是由信号的各种变化及扰动引起的网络输出变化,为网络输入,权值变化及辨识系统变化引起的总和误差。对第i样本,神经网络辨识器的灵敏度定义:

模糊神经网络

降低神经网络灵敏度的一种方法:

定理:在网络输入扰动、网络参数变化或被辨识系统参数变化时,根据系统在被辨识过程中的误差,动态地控制神经网络各层权值,特别是最末一级隐层到输出层的权值矩阵(即输出层的权值矩阵)修正,可以使网络输出的均方差快速减小,从而使网络灵敏度降低。

所以当网络参数变化时,降低网络灵敏度的方法是动态地控制网络各层,特别是输出层的权值修正。

(1)在BP学习算法的基础上,增加一个协调器放在网络的误差反向传播信号线上,用于控制各层权值的修正。

(2)协调器控制网络输出层的权值阵随着网络的综合误差增大而增大。

(3)当训练误差为10%≤|e|《20%时,协调器控制网络输出层的权值矩阵减小,同时停止其他层权值的修正,使网络灵敏度降低。

(4)当训练误差|e|《10%时,协调器只允许修正靠近网络输入层的第一或第二级隐层权值,同时停止修正网络输出层的权值阵和其他级隐层权值,网络灵敏度再降低,使得输出误差达到允许值。

通过这种BP网络改进算法,动态地将全局反向传播式网络变成局部反传式网络,可以使网络学习速率大大提高,降低了网络的灵敏度。

预测模型

由于测试的RTT数据序列是按时间顺序排列的,它们之间这种统计意义上的关系不好用确定的函数或方程组来描述。

在用神经网络对RTT进行预测时,通常的做法是在已掌握的样本数据之上对网络进行训练。假如希望用过去掌握的N(N≥1)个数据去预测未来的M(M≥1)个数据,也就是进行M步预测,取N个相邻的样本为滑动窗,并将它们映射为M个值。如表1所示,该表把训练数据分成K段长度为(N+M)而且有一定重叠的数据段,每一段的前N个数据作为网络的输入,后M个数据作为网络的输出。

实验结果

在本次实验中,选择的网络训练样本是前140个RTT数据,其中每5个数据一组,作为神经网络的输入向量,第6个数据作为目标向量,即取N=5,M=1,这样可以得到135组训练样本。网络的测试样本用136~200之间的数据。

设计神经网络具有2个隐层,节点数目分别为3-9-9-1,在网络比较忙的时候,预测结果和预测误差如下:

在网络比较忙的情况下,用BP网络和FMBP网络进行预测相比,最后10个预测值的预测误差见表2.

模糊神经网络

模糊神经网络

网络类型预测误差:

DMBP1.245-0.300-1.528-0.913-0.125

可见,在网络比较忙的情况下,用本文的预测算法依然可以使预测结果达到比较满意的程度。

本文采用低通滤波和MBP网络结合的算法对RTT进行预测,得到了不错的结果。即使在网络比较忙的情况下,也可以使预测结果达到比较满意的程度。由于程序运行开始, RTT存在一个低通滤波的过程,会有一些短期的振荡,但这并不影响算法的有效性。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分