APP下载

一种基于BP神经网络预测的RED改进算法

2019-09-10冯思楠康巧燕王建峰李静于必成

计算机与网络 2019年3期
关键词:BP神经网络

冯思楠 康巧燕 王建峰 李静 于必成

摘要:主动队列管理技术是网络拥塞控制的重要技术,随机早期检测算法作为一种典型的主动队列管理机制,在拥塞控制中发挥着一定作用,针对该算法参数固定、难以适应复杂网络环境的问题利用BP神经网络算法进行流量预测,与随机早期检测算法结合,设计了一种基于BP神经网络预测的网络拥塞控制算法,及时有效地获取网络状态信息为拥塞控制提供应对时间,并通过Matlab仿真,检测新算法性能。

关键词:队列管理;随机早期检测算法;BP神经网络;Matlab

中图分类号:IP31 文献标志码:A 文章编号:1008-1739(2019)03-68-4

0 引言

神经网络作为人工智能的重要发展方向在数据预测方面有着良好的表现。神经网络按照误差的不同反馈形式,对权值或阈值进行调整。BP神经网络因其良好的自学习性和应用简单等性质,已成为最广泛的神经网络模型之一。针对RED算法在复杂网络环境中参数配置困难的问题,将BP神经网络预测应用到网络拥塞控制中,对未来一段时间内网络流量预测,进而提前对RED算法中相应参数做出调整,提升系统对复杂网络环境适应能力。本文从控制理论的角度出发,设计基于BP神经网络预测的网络拥塞控制算法,以队列长度作为网络拥塞控制信号,通过Smulink仿真搭建高速网络传输环境。与传统的RED算法进行比较,检测新算法在网络拥塞控制方面的优越性。

1 网络拥塞控制模型

从控制理论角度分析,AQM算法作为控制器,经过AQM计算输出的丢弃概率P作为控制信号,发送端作为系统的执行器。发送端与路由器的队列长度和链路延迟共同作为系统广义对象。模型如图1所示。

在网络传输过程中,大量的数据包在发送端等待发送,发送速度由TCP拥塞窗口决定,TCP传输过程主要由慢启动(指数增加)、拥塞避免(加法增加)、快速重传(乘法减小)及快速恢复4个阶段构成,在绝大部分时间内,TCP处于拥塞避免阶段。源端拥塞窗口(传输)加性增,乘性减(AIMD)的微分方程描述如式(1):

AQM通过对丢弃溉率P的调整,促使TCP源端改变拥塞窗口,改变流量传输速率。基于上述TCP窗口控制线性化模型,将AQM反馈控制系统设计如图2。

2 基于BP神经网络预测的網络拥塞控制算法

本文给出基于Matlab的BP神经网络伪代码:

P-[输入矩阵];net-newff隐藏层输出层的神经元数量;

T-[输出矩陶;net.trainparam.show-设置显示间隔;

t-%时间;net.trainparam.epoch-设定训练步数;

net-train(net,P,0;Y-sim(net,p)

2.1 基于BP神经网络预测的网络拥塞控制算法

由于网络流量长时间表现的统计相似的自相似性、长相关性及混沌性等特征,为应用预测算子计算网络流量提供了理论支撑。其基本预测思略如图3所示。

基于上文BP神经网络预测代码,通过对以往的网络流量训练识别,以历史的网络流量真实值作为训练数据,对神经网络进行训练,最后将训练好的神经网络应用于流量预测中,以过往流量作为神经网络预测的输入,预测下一时间段网络路由状态,在本文所设计的基于神经网络预测算法中,将网络状态分为非常顺畅、顺畅、即将拥塞和拥塞4个状态,在不同的网络路由状况下给予不同的值,提前计算数据包的丢包率,使网络路由在拥塞发生前最大限度地对拥塞状况进行避免。基本操作框图如图4所示。

具体步骤如下:

①初始化设置,平均队列长度与瞬时队长均为0。

②输入网络流量数据与目标数据进行训练,得到合适的权值与阈值,评价预测精度,若精度符合误差要求,则将各级权值阈值保存,作为神经网络流量预测的模型。若偏离预测精度较大则返回继续学习,调整权值阈值。

③将即时的流量数据通过神经网络流量预测模型计算,得到下—阶段的流量,计算瞬时队长q(0可近似的看为:

3 基于Simulink网络拥塞系统模型实现

Silulink作为Matlab的扩展,使用户从复杂的编程语言中解放出来,对模型搭建投入更多精力。在本次仿真实验中,模拟一组TCP源端在一定范围内随机向路由节点发送数据包,在路由节点处形成队列,设置路由节点处理数据包的传输带宽,通过网络拥塞控制算法将队列长度控制在设置的期望值附近,为更准确地模拟真正的网络传输环境,设置较大的网络延迟。同时以一定的时间采样间隔对队列长度进行检测。具体数据如表1所示。

此次仿真实验将基于BP神经网络预测的RED拥塞控制算法通过Simulink进行搭建,模拟仿真拓扑图如图5。

系统由随机信号发生器模拟传输数据,随机产生(0,4000)随机数,作为模拟TCP发送至路由节点的数据量。图中显示模块用以显示节点处瞬时队列长度变化。

3.1 RED算法的仿真实现

在网络传输过程中,当数据包到达路由节点的速率高于路由节点传输带宽时,就会形成队列,网络拥塞的形成是队列累积的结果。本文以网络传输过程中的流量作为预测指标,计算略由节点的队列长度,达到网络拥塞控制的目的。分别对传统的RED算法及基于BP神经网络预测算法的网络拥塞控制算法进行Simulink仿真,以队列长度作为评价指标进行对比评价。

图6为RED算法在1000个流量数据样本下的队列长度仿真。当平均队列长度小于下门限时,流量包正常进入排队。而当平均队列长度处于上下门限之间时,对数据包标记一定的丢弃概率,当平均队列长度超过最大阈值时,流量包丢弃,同时触发AIMD控制机制,TCP端将数据传输流量减少一半。但由于对网络拥塞缺少预判,缺少有效的拥塞避免,进而造成了多次拥塞丢包事件的发生。

3.2 BP神经网络预测算法的仿真实现

根据网络拓扑结构,建立仿真网络传输系统,在试验中,首先对流量预测模型进行建立,模型选用BP神经网络预测模型,经过多次实验表明,将隐含层神经元个数设置为6h,相对较好地保持了预测精度与预测速度的平衡。设置训练函数为tranlm,误差修正方式为均方误差(mse),设置完成的BP神经网络预测模型结构如图7所示。

将此系统应用于网络传输拓扑结构中,图8为基于BP神经网络预测的网络拥塞控制系统经过1000组网络流量数据输入,队列长度变化的仿真结果。如图8所示,基于BP神经网络预测的RED算法,起始阶段经过源端数据传输,在路由节点处形成队列,在基于BP神经网络预测的RED算法的控制下,对拥塞做出预测,对队列长度进行预控制,避免拥塞。使得队列长度保持在期望队列长度(3000 packets)附近,没有造成大丢包事件的发生。

5 结束语

在网络拥塞控制过程中,本文仿真了50个网络源端用户对路由节点发送数据,基于BP神经网络预测的网络拥塞控制算法已有历史数据作为预测支撑,出现了短暂的拥塞状况,而随着网络传输过程的进行,已有的数据作为自学习与预测的数据支撑,在传输阶段的中后期,因传输节点对于队列长度的感知与预测,提前对RED算法丢包率做出调整,网络传输环境得到了合理的改善,提升了RED算法对复杂传输网络的适应性,因此基于BP神经网络预测的RED算法较RED算法有着更好的适应性。

猜你喜欢

BP神经网络
基于神经网络的北京市房价预测研究
一种基于OpenCV的车牌识别方法
基于遗传算法—BP神经网络的乳腺肿瘤辅助诊断模型
一种基于改进BP神经网络预测T/R组件温度的方法
基于BP神经网络的光通信系统故障诊断
提高BP神经网络学习速率的算法研究
就bp神经网络银行选址模型的相关研究
基于DEA—GA—BP的建设工程评标方法研究
复杂背景下的手势识别方法
BP神经网络在软件质量评价中的应用研究 