李 莉,吴润泽,包正睿,庞思睿
(1.国网冀北电力有限公司经济技术研究院,北京 100055; 2.华北电力大学 电气与电子工程学院,北京 102206; 3.国网冀北电力有限公司信息通信分公司,北京 100053)
随着互联网规模不断扩大,网络流量数据与业务种类越来越多,网络资源与网络需求供需矛盾日趋尖锐,网络流量预测不但有助于分析网络安全状况,而且可以科学管理和防范网络异常,因此,网络流量预测研究和实现具有重要意义[1]。
当前网络流量预测模型[2-3]主要分为线性预测和非线性预测两种。线性预测建模简单,实现精度高,但不适合规律性较弱、复杂多变的非线性网络流量特性[4]。神经网络通过神经元能够逼近非线性函数,因此广泛应用于网络流量预测。但是神经网络流量预测[5-7]方法存在网络结构、权值和初始值确定问题,实现过程主要为串行计算[8],没有充分发挥神经网络并行优势。
而定制的神经网络处理硬件系统,存在资源分配和多核通信问题,硬件结构固定对预测网络规模的变化没有伸缩性,不能灵活修改预测算法[9-10]。片上网络(network on a chip,NoC)借鉴计算机网络技术,利用网络通信改变传统多核总线控制方式,使得片上多核处理器(multiprocessor systems on chip,MPSoC)具有更低时延、更高的吞吐率[11-12]。
针对以上问题,结合人工神经网络可并行计算的特点,设计了一种基于多核片上网络技术的分层可重构感知网络模型,并将其应用在流量预测中。硬件仿真结果表明,该方法的预测精度和执行效率有明显的提高。
分层感知神经网络通过神经元构建分层连接网络,模拟人脑真实的生物神经网络(biological neural networks,BNN)工作过程[13]。分层感知神经网络一般包括一个输入层、一个或者多个隐藏层和一个输出层,各层根据需要,可以包含有多个神经元。图1为一个6-8-1分层感知神经网络结构图,其中输入层有6个输入单元,隐藏层有8个感知器,输出层有1个神经单元。
图1 分层感知神经网络结构
分层感知神经网络工作过程分为训练过程与推理过程[14]。训练过程为输入训练数据和目标向量,通过不同的神经网络拟合算法,计算得到感知网络训练权值。推理过程为训练权值和输出预测数据误差,得到输出预测结果。分层感知神经网络在训练权值时一般采用后向传播算法(back propagation,BP),BP算法按照预测感知数据流方向又分为前向感知传播和后向误差传播。
(1)
(2)
(3)
(2)后向误差传递过程。在权值寻优和修正时,以最小化目标函数(代价函数)为目标,采用梯度下降法逐层计算模型的参数,即连接权值和偏置值。设第k个训练样本输出误差为Ek,则代价函数E表示为:
(4)
(5)
当所有样本数据通过网络得到输出时,误差便按照反向传播方式计算各层权值和偏置值的变化量,从而实现更新。
权值更新规则如下式所示:
(6)
其中,α为学习速率,一般取值在0.01~0.1之间。代价函数E对权值参数的求导计算如下:
(7)
分层感知网络模拟人体神经元网络具有并行特点,每个神经元都与多核中的物理核对应,而神经元信息传导与多核之间通信相似,因此,提出基于多核片上网络系统[15-16]设计实现分层感知网络。
MPSoC采用2D网格结构,集成了16个微处理器核,具备良好的并行性能。图2为片上网络一个节点内部结构,每个节点均含有一个网络接口、RISC微处理器、SRAM及SRAM控制器以及片上网络路由器。其中的一个节点还应包含通用串口模块,用于协调整个系统节点间的数据交互和信息同步。
图2 片上网络节点内部结构
采用多核片上网络系统实现分层感知神经网络,多核中的每个物理核都映射为一个神经元,并且利用片上网络分层技术将片上网络节点分为不同层。图3为基于多核片上网络的分层可重构并行感知网络结构,其中16个节点实现三层BP网络结构,将输入层映射为源层,包含6个节点;输出层映射为感知层,包含2个节点;隐藏层映射为中间层,包含8个节点。目的层即输出层,包含2个节点,其中一个节点用来计算误差和预测输出值,而另一个节点为预留,专门保存所有目的层误差项、中间层权值、激活函数,并负责向源层发送误差数据。
图3 基于多核片上网络的分层可重构并行感知网络结构
采用多核片上网络系统实现可重构感知神经网络,其可重构性在于:
(1)使用多核片上网络结构,可单独在每个物理核中配置感知器,灵活构造不同的感知网络结构,且并行性能较好。
(2)分层感知网络的权值和激活函数单独存储在节点中,容易修改和编程。
图4为分层可重构并行感知网络流量预测流程。
图4 分层可重构并行感知网络流量预测流程
具体过程如下:在源层节点保存初始化网络流量输入值、中间层权值、阈值初始值,通过片上网络传递给中间层所有节点进行前向传播,并将计算结果传输到目的层节点。目的层中的计算节点计算网络流量预测输出值和误差值,如果预测误差满足误差要求,则预测结束输出网络流量预测值;如果不满足预测误差要求,则计算中间层和目的层权值以及偏置值的修正值,将结果传输到预留节点。预留节点通过片上网络传递给源层节点,重新进行感知预测过程。
利用Altera公司的EP2S180FPGA demo开发系统进行算法验证。利用实验室Netflow流量分析工具从2017年3月6日10:00开始捕获的1 000个时间点流量数据作为样本数据,其中前908个数据用来训练分层感知网络,后92个数据作为测试样本,验证该网络的预测性能。采用MATLAB实现BP网络流量预测并与其预测精度进行比较。如图5所示,提出的可重构并行感知网络流量预测精度与BP网络性能相差不多,而且可以通过更多的训练得到相应的权值,提高了预测精度。
图5 分层感知网络流量预测精度比较
评价神经网络硬件性能参数[17-18]一般采用每秒钟每核执行累加数目(connection per second per core,CPSPC),即神经网络每秒钟执行乘累加的数目与物理核数的比值。经过测试得出,该算法的CPSPC值为95 000,明显高于专用神经网络处理单元。
利用多核片上网络技术实现分层感知网络进行网络流量预测,充分发挥神经网络并行设计思想,同时利用多核结构实现感知网络算法的可重构。仿真测试表明,该算法具有良好的预测精度,可扩展性好,并行度高,可以将其推广到其他神经网络的应用领域。
参考文献:
[1] 田中大,李树江,王艳红,等.基于混沌理论与改进回声状态网络的网络流量多步预测[J].通信学报,2016,37(3):55-70.
[2] 邵 忻.一种新的基于ARIMA-SVM网络流量预测研究[J].计算机应用研究,2012,29(5):1901-1903.
[3] PENG Y,CHEN K,WANG G,et al.Towards comprehensive traffic forecasting in cloud computing:design and application[J].IEEE/ACM Transactions on Networking,2016,24(4):2210-2222.
[4] 田中大,高宪文,李树江,等.遗传算法优化回声状态网络的网络流量预测[J].计算机研究与发展,2015,52(5):1137-1145.
[5] CHAN K Y,DILLON T S,SINGH J,et al.Neural-network-based models for short-term traffic flow forecasting using a hybrid exponential smoothing and Levenberg-Marquardt algorithm[J].IEEE Transactions on Intelligent Transportation Systems,2012,13(2):644-654.
[6] 高述涛.CS算法优化BP神经网络的短时交通流量预测[J].计算机工程与应用,2013,49(9):106-109.
[7] 赖锦辉,梁 松.基于ACS优化BP神经网络的交通流量短时预测方法[J].计算机工程与应用,2014,50(10):244-248.
[8] 冯华丽,刘 渊,陈 冬.QPSO算法优化BP网络的网络流量预测[J].计算机工程与应用,2012,48(3):102-104.
[9] 万 勇,王 沁,李占才,等.一种神经网络硬件实现的可重构设计[J].计算机应用,2006,26(1):202-203.
[10] 李 昂,王 沁,李占才,等.基于FPGA的神经网络硬件实现方法[J].北京科技大学学报,2007,29(1):90-94.
[11] JERRAYA A, TENBUNEN H, WOLF W. Multiprocessor systems-on-chips[J].IEEE Computer,2005,38(7):36-40.
[12] YANG H,KIM S,HA S.An MILP-based performance analysis technique for non-preemptive multitasking MPSoC[J].IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems,2010,29(10):1600-1613.
[13] 刘 澍,王宏远.基于混合遗传算法优化的MLP神经网络的调制方式识别[J].武汉大学学报:理学版,2008,54(1):104-108.
[14] 朱新召,胡哲琨,周 莉,等.基于多核处理器的多层感知网络神经网络设计和实现[J].微电子学与计算机,2014,31(11):27-31.
[15] 张 帅,宋风龙,王 栋,等.多核结构片上网络性能-能耗分析及优化方法[J].计算机学报,2013,36(5):988-1003.
[16] 付斌章,韩银和,李华伟,等.面向高可靠片上网络通信的可重构路由算法[J].计算机辅助设计与图形学学报,2011,23(3):448-455.
[17] 李 洋.基于QoS保证的2D-mesh片上网络延时评价与性能优化研究[D].长春:吉林大学,2015.
[18] 王 磊,陆 超,章隆兵,等.基于神经网络预测模型的异构多核处理器调度[J].高技术通讯,2015,25(6):567-574.