摘 要: 为了在复杂的网络环境下能更合理地分配网络资源,提出了利用BP神经网络,通过对网络调度器产生的历史和当前数据进行训练,预测调度器下周期可能产生的数据,进而对下一调度周期的死区大小进行调整。实验仿真表明,所设计的反馈调度器能进一步改善网络控制系统的性能,进一步提高应对负载变化的能力。
关键词: 网络控制系统;调度;BP神经网络
网络控制系统中的各个控制单元通过网络交换信息,以分时复用的方式共享网络资源[1]。在网络控制系统的实际应用中,网络带宽资源往往会受到限制[2],工作负载也会发生变化[3],因此,系统的控制质量QoC(Quality-of-Control)也就会受到共享网络引入的不确定时延的影响,甚至可能导致系统不稳定[4]。
在网络控制系统中,总线网络是一个主要的共享资源,所有节点都要通过网络完成信息的交互。节点信息传输量的变化会影响网络负载的变化,而且总线的带宽还受到限制,频繁的负载变化会严重影响控制系统的性能。动态死区反馈调度器DDFS(Dynamic Deadband Feedback Scheduler)[5]是一种动态的资源调度方法,集合了死区反馈控制和优先级分配两个调度算法,可以在线动态调节死区和改变节点优先级,实现了控制与调度的协同设计,提高了网络控制系统总体的QoC。死区调度器依据各子系统信号传送任务的实际错过率改变位于子系统传感器输出端的死区大小,达到控制网络流量和减少任务错过率的目的。任务错过率反映了网络可用资源的紧张程度。
如果死区调度器能根据网络运行情况提前预测错过率,而不必等时限错过以后再调整死区的大小,就可以更好地调度网络资源。本文利用BP神经网络训练包传输的时限错过率(Deadline Miss Ratio)的历史数据。在网络控制系统中,包传输的时限错过率能反映网络拥塞程度。BP神经网络对下一周期的时限错过率作出预测,死区反馈调度器根据BP网络的预测值对节点的死区大小进行动态调整,实现更好地调度网络资源。
1 BP神经网络
BP神经网络是一种多层感知机网络[6],神经网络的学习采用误差反向传播算法。BP神经网络由输入层、隐含层和输出层组成,各层之间存在连接权值,其大小反映了各神经网络元之间的连接强度[7]。神经网络结构如图1所示。
BP神经网络是基于BP算法的多层感知器,能处理非线性信息,可以用在系统模型辨识、预测或控制中,是多层并行网络,其具有以下一些重要能力[8]:
(1)非线性映射能力。BP神经网络可以学习和存储大量输入和输出模式映射关系,并且不需要事先了解描述这种映射关系的数学方程。只需要提供足够多的样本模式给BP神经网络进行学习训练,它便能完成由n维输入空间到m维输出空间的非线性映射。在工程上及许多技术领域中经常遇到这样的问题:对某系统已经积累了大量相关的输入-输出数据,但仍未掌握其内部蕴含的规律,因此无法用数学方法来描述该规律。这一类问题的共同特点是:难以得到解析解;缺乏专家经验;能够表示和转换为模式识别或非线性映射问题。在处理这类问题上,BP神经网络具有无可比拟的优势。
(2)泛化能力。BP神经网络训练过程把样本中的非线性映射关系存储在权值矩阵中,当向网络输入训练时未曾见过的非训练样本数据时,经过训练的网络仍能给出正确的输入-输出关系的能力,这种能力称为泛化能力。
(3)容错能力。BP神经网络允许输入样本中有个别误差甚至是较大的误差,因为对权矩阵的调整过程是从大量的样本中提取统计特性的过程,反映正确规律的知识来自全体样本,个别样本的误差不能左右对权矩阵的调整。
2 基于BP网络预测的动态死区反馈调度器
在网络控制系统调度中,用死区反馈调度的方法降低网络流量,减小网络的负载[9]。根据动态死区控制和优先级分配相结合的反馈调度策略设计出的动态死区反馈调度器,在网络负载较轻时充分利用资源,在网络负载重时实现控制质量的逐渐降低以应对负载变化的环境和网络带宽的限制[5]。网络控制系统中,包传输的时限错过率可以反映网络拥塞程度。当有包的传输错过时限时,网络处于较高的利用率,一些任务无法在规定时间完成。任务时限错过率是反馈调度的理想被控量,基于时限错过率的反馈调度在不知道网络利用率上限的时候,能将网络的实际利用率控制在尽可能高的程度[10]。动态死区反馈调度器根据当前反馈的任务时限错过率对下一调度周期的死区大小进行调整,以控制网络流量。如果利用历史和当前的时限错过率预测下一周期的任务错过率并做出死区调整,就能更好地调度网络资源,进而改善网络控制系统的性能。利用BP网络的预测功能,提出基于BP网络预测的动态死区反馈调度器(BP-DDFS)。图2为BP-DDFS结构图,BP-DDFS内部的两个子系统通过共享网络构成NCS,被控对象为伺服电机。BP-DDFS的内部由死区调度器和节点优先级调度器组成,死区调度器依据各子系统信号传送任务的实际错过率,改变子系统传感器输出端的死区大小,控制网络流量;节点优先级调度器依据各系统的QoC实测值,给QoC较低的子系统节点分配较高的优先级,让更需要传输测量信号的节点优先,改善网络控制系统的性能。BP神经网络预测器(BP-NN Predictor)对下一周期的时限错过率做出预测,从而让死区反馈调度器根据BP网络的预测值对节点的死区大小进行动态调整,实现更好地调度网络资源,能进一步提高网络应对负载变化的能力。
尽管BP神经网络的研究与应用已经取得了巨大成功,但是在网络的开发设计方面至今还没有一套完善的理论作指导。实际应用中的主要设计方法是在充分了解待解决问题的基础上将经验和试探相结合,通过多次试验,最终选出一个较好的方案。本文主要研究BP神经网络的引入对NCS性能的影响,重点并不在于其设计。所设计的BP-DDFS是利用TrueTime工具包在MATLAB仿真平台上实现的,所以可以运用MATLAB中的神经网络工具箱,建立高效、准确、快速的BP神经网络模型。
选用1个3层BP神经网络来设计预测器。BP神经网络预测器的输入量是时限错过率,输出量是预测的下一调度周期的时限错过率。定义BP网络预测器的输入节点为5个,隐节点为10个,隐层的传递函数为logsig,输出节点为1个。首先运行基于DDFS的系统,每隔1个调度器周期采样一次任务时限错过率,将所得到的实验数据作为BP神经网络预测器的学习样本。接着对BP网络进行训练和测试,得到预测时限错过率和实际时限错过率,如图3所示。
从图3可以看出,BP神经网络预测的时限错过率与实际的时限错过率相差不大,因此,神经网络被训练得适度,有较好的泛化能力。
3 仿真实验
在DDFS的基础上添加BP网络预测器,NCS中的两个相同的子系统通过CAN型总线连接。子系统的采样频率都定为10 ms,控制器采用PID算法。网络上存在一个干扰节点,其作用是产生高优先级的包传送任务,占用一定比例的网络使用率。干扰流量以随机的方式产生,但可以保持所设定的网络占用率,可以设定为占用70%的带宽。时限错过率Mth为3%,仿真运行时间为6 s,BP-DDFS调度周期为50 ms。
实验将BP-DDFS方法与动态死区反馈调度方法对系统性能的影响进行了对比。图4是子系统2分别在BP-DDFS和DDFS调度下QoC的表现。从图4可以看出,DDFS加入BP神经网络预测器后,子系统2的控制品质得到了进一步提高。
在增大系统的干扰流量的情况下,网络资源急剧减少。此时,子系统2的控制表现如图6所示。在DDFS的调度下,子系统2超调量变大,在一些情况下甚至不稳定;而在BP-DDFS的调度下,子系统2仍是稳定的。加入BP网络预测器后,系统的控制性能得到了明显改善。
与DDFS相比,BP-DDFS能进一步改善网络控制系统的性能。这是由于DDFS中的死区调度器是根据当前的时限错过率做出死区调整,而BP-DDFS是根据历史和当前的时限错过率对下一调度周期的错过率先进行预测,其中的死区调度器根据预测值提前调整死区大小,而不用等时限错过发生以后再调整。图7是两种调度算法的时限错过率比较,可以看出,BP-DDFS能更好地调节时限错过率,从而更好地调度了网络资源。
本文提出了基于BP神经网络预测的动态死区反馈调度器(BP-DDFS),对于神经网络而言,其展示了一种新的应用,对于调度而言,其提出了一种新的解决方案。BP-DDFS利用BP神经网络的预测功能,对任务时限错过率进行预测,再根据预测值对死区提前调整,从而更好地调度了网络资源。仿真实验表明,与DDFS相比,BP-DDFS能进一步改善网络控制系统的性能,进一步提高应对负载变化的能力。
参考文献
[1] 王艳,蔡驿.网络控制系统反馈调度器的设计[J].电子学报,2007,35(2):379-384.
[2] GAID M E M B, CALA A, HAMAM Y, et al.Optimal integrated control and scheduling of systems with communication constraints[C]. 44th IEEE Conference on Decision and Control, 2005 European Control Conference, CDC-ECC, 2005:854-859.
[3] BUTTAZZO G C, LIPARI G, ABENI L. Elastic scheduling for flexible workload management[J]. IEEE Transactions on Computers,2002,51(3):289-302.
[4] ZHANG W, BRANICKY M S, PHILLIPS S M. Stability of networked control systems[J]. IEEE Control Systems Magazine,2001,21(1):83-89.
[5] 汤贤铭,钱凯.网络控制系统动态死区反馈调度[J].华东理工大学学报(自然科学版),2007,33(5):716-72.
[6] TSENG C H, WANG H M, YANG J F. Enhanced intra-4×4 mode decision for H.264/AVC coders[J]. IEEE Transactions on Circuits and Systems for Video Technology, 2006,16(8):1027-1032.
[7] 侯媛彬,杜京义.神经网络[M].西安:西安电子科技大学出版社,2007.
[8] 韩力群,康芊.人工神经网络理论、设计与应用[M].北京:化学工业出版社,2007.
[9] OTANEZ P G, MOYNE J R, TILBURY D M. Using deadbands to reduce communication in networked control systems[C]. Proceedings of the 2002 American Control Conference,2002:3015-3020.
[10] LU C Y, STANKOVIC A J, SON S H, et al. Feedback control real-time scheduling: framework, modeling and algorithms [J]. Real-Time Systems,2002,23:85-126.