论文部分内容阅读
近年来,储存池计算(Reservoir Computing, RC)发展非常迅速,并且已经成功应用于很多领域。回声状态网络(Echo State Network, ESN),液体状态机(Liquid State Machines, LSMs)及BP解相关(Back-propagation Decorrelation, BPDC)是最常见的RC方法。ESN是递归神经网络(Recurrent Neural Network, RNN)的一种,它由不需要训练的稀疏连接隐层和需要训练确定的线性输出层组成,通常情况下,ESN的输入权值、储存池拓扑结构及权值都是随机初始化的。ESN已经成功应用于时间序列预测、非线性系统辨识、语言处理、手机流量预测、股票预测及语言模型等领域,在暂态时序系统建模上表现出很强的潜能和前景。但同时ESN也有着很多缺点,例如:难以理解的储存池黑箱特性、需要多次尝试才能确定的储存池连接结构和权值、缺少原则性的储存池创建以及没有原则的设计框架。随机初始化的储存池很难达到最优,同时储存池的黑箱结构也很难使我们清晰地认识储存池的动态特性。所以针对特定对象如何确定ESN输入缩放系数、最优储存池拓扑结构以及最优输出层连接等,仍然是ESN研究的热点。本文的研究内容主要分为ESN的非储存池结构和参数的优化(输入缩放参数的调节和输出层连接的结构优化)和储存池优化(储存池大小和权值调整)两个层次。本文的主要研究成果如下:(1)在多输入ESN建模中,存在输入缩放系数调节的问题,目前,在多输入的条件下,很少有人研究ESN的输入缩放系数和输出层连接结构对网络性能的影响,同时也缺少一种公认的ESN理论设计框架。针对ESN一些难以确定的参数如:输出层结构、输入缩放参数、谱半径调节等问题,本文提出了基于输入缩放系数调节(Sensitivity Analysis Input ScalingRegulation, S AISR)和冗余信息剪枝(Redundant Unit Pruning Algorithm, RUPA) 的 ESN模型。在SAISR中,首先通过默认输入缩放系数创建并初始化一个足够大的ESN,然后训练已建立好的ESN并计算每个输入变量的敏感度,最后根据敏感度的大小得到ESN的最优输入缩放系数,并用最优输入缩放系数重新建立ESN模型。在RUPA中,首先计算各个储存池神经元之间的相关系数从而找到最相关的两个储存池神经元,最相关的神经元呈冗余关系,然后剪掉其中一个冗余神经元的输出连接,同时重复循环剪枝过程直到误差达到期望值以内。最终通过对青霉素批处理过程的建模发现在多输入的条件下,输入缩放系数比ESN的其他参数如:储存池谱半径、稀疏度及储存池缩放因子对网络性能的影响大。同时RUPA可以在提升网络性能的情况下进一步简化网络。(2)ESN输出连接的优化是一个特征子集选取问题,对ESN的输出层连接进行优化可以得到更好的输出层连接结构,输出连接优化的本质是一个离散、高维、非线性的优化问题。为了进一步简化网络和提升网络的泛化性,提出了一种基于二进制粒子群优化输出连接的回声状态网络,由于输出层连接的优化是一个二进制的特征提取问题,所以本文采用二进制粒子群(Binary Particle Swarm Optimization, BPSO)来解决输出连接优化问题,首先根据训练数据建立一个足够大的ESN,同时训练已建立的ESN,计算其误差函数并产生初始化种群,然后根据每个粒子的适应值(验证误差)来更新种群,最终通过得到的最优粒子,也就是最优输出层连接来建立优化模型。将所提方法应用于三个时序对象和青霉素批处理过程,仿真结果表明了全局优化方法BPSO与相关性剪枝方法RUPA、传统特征子集选取方法(Least Angle Regression, LAR)相比,BPSO更能有效的优化输出层连接,同时在简化程度上,全局优化方法也优于RUPA和LAR。(3)由于ESN的储存池初始化是随机的,所以储存池很难达到最优,同时储存池的随机性导致了不清晰的储存池的动态特性,如何设计和构建储存池仍是ESN研究的难点。确定型储存池拓扑结构ESN的出现大大改进了传统ESN,消除了传统ESN的随机性,并且性能上不亚于传统ESN。但是如何确定其储存池的大小仍然是一个没有解决的问题,针对如何确定SCR(Simple Cycle Reservoir, SCR)型储存池ESN (SCRN)的大小提出了基于剪枝或构造改进的确定型储存池回声状态网络,利用构造法或剪枝法来确定SCRN的储存池大小。构造法采用简单分裂算法(Simple Disjunction Algorithm, SDA),首先构建一个合适大小的SCRN,然后计算每个储存池神经元的权值权重,最后根据计算得来的储存池权值权重,把超过一定阀值的神经元分裂为两个。而剪枝算法采用敏感迭代剪枝算法(Sensitive Iterated Pruning Algorithm, SIPA),首先构建一个相对过大的SCRN,然后计算每个储存池神经元的敏感度,剪掉敏感度最低的储存池神经元,最后通过最小二乘法调整剩余神经元的权值从而保持储存池信息的完整性。仿真结果证实,对于SCRN,剪枝方法可以提升网络的泛化性能并简化网络,剪枝方法与构造方法相比,剪枝方法更适合用来确定SCRN的储存池大小。虽然SDA的性能不及剪枝方法,但是SDA可以明显的减少输出层的权值系数,同时可以略微提高SCRN的稳定性,由实验结果可以看出,从提升性能上来讲,剪枝方法对ESN’性能的提升要远远高于构造法;从稳定性上来讲,构造法更能提升ESN的稳定性。