【ESN 您所在的位置:网站首页 matlab生成序列矩阵 【ESN

【ESN

#【ESN| 来源: 网络整理| 查看: 265

个人主页:研学社的博客

欢迎来到本博客❤️❤️

博主优势: 博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。r/> ⛳️座右铭:行百里者,半于九十。

1 概述

摘要:回声状态网络(ESN)标准地由经历S形函数激活的加性单元组成。它们由一个随机复发的神经元基础设施组成,称为水库。想出一个好的储层主要取决于为网络初始化选择正确的参数。人类的专业知识以及反复测试有时可以提供可接受的参数。然而,它们是不保证的。另一方面,基于进化学习的优化技术已经证明了其在复杂空间中解理最优解的强大有效性。粒子群优化(PSO)是最流行的连续进化算法之一。在本文中,PSO算法与ESN相关联,以预训练网络中的一些固定权重值。一旦设置了网络的初始参数,就会选择一些未经训练的权重进行优化。已经优化的新权重被重新喷射到启动其正常训练过程的网络。网络的性能是误差和时间处理评估指标的主题。将PSO预训练后的测试结果与没有优化和其他现有方法的ESN进行比较。所设想的方法在一组基准和现实生活中的数据集上测试了时间序列预测目的。实验结果表明,ESN学习效果明显增强。

原文摘要:

Abstract Echo State Networks, ESNs, are standardly composed of additive units undergoing sigmoid function activation. They consist of a randomly recurrent neuronal infra-structure called reservoir. Coming up with a good reservoir depends mainly on picking up the right parameters for the network initialization. Human expertise as well as repeatedly tests may sometimes provide acceptable parameters. Nevertheless, they are non-guaranteed. On the other hand, optimization techniques based on evolutionary learning have proven their strong effectiveness in unscrambling optimal solutions in complex spaces. Particle swarm optimization (PSO) is one of the most popular continuous evolutionary algorithms. Throughout this paper, a PSO algorithm is associated to ESN to pre-train some fixed weights values within the network. Once the network's initial parameters are set, some untrained weights are selected for optimization. The new weights, already optimized, are re-squirted to the network which launches its normal training process. The performances of the network are a subject of the error and the time processing evaluation metrics. The testing results after PSO pre-training are compared to those of ESN without optimization and other existent approaches. The conceived approach is tested for time series prediction purpose on a set of benchmarks and real-life datasets. Experimental results show obvious enhancement of ESN learning results.

预测是一个具有挑战性的研究课题,因为世界上充满了复杂的非线性问题。这些问题与许多领域相关的各种具体的日常应用有关。例如,预测可用于预测股票市场价格、天气状况、土壤湿度水平、机器人定位和跟踪[1],尤其是时间序列预测。事实上,从经济学到工程学的许多不同科学领域都需要对时间序列进行分析。尽管许多建模技术都试图处理回归问题,但它们还不够成功,无法找到激进的解决方案。另一方面,人工神经网络(ANN)由于其通用函数近似特性和有效的学习算法,似乎非常有前途。许多关于人工神经网络的研究都采用了前馈方式(FFN)进行建模[2]。

FFN 提供输入和输出之间的静态映射。事实上,信息在整个网络中的传播是前馈的。单元之间没有循环或循环连接[3]。FFN 中要枚举三个层:输入层、隐藏层和输出层。有从输入到隐藏以及从隐藏到输出单元的连接。

通常,人工神经网络主要基于连续的训练和测试阶段来检查网络能够存储信息的时间和数量。因此,记忆是一个与ANN并列的关键术语。为了在FFN系统中提供大量内存,强烈建议考虑动态特性。输入空间扩展是通过制作时间窗口来确保这些属性的基础。后者是由于添加到输入变量的延迟。不幸的是,FFN缺乏某些非线性任务所需的动态内存。另一方面,除了前馈链路外,递归人工神经网络(RNN)[4]还具有层之间的反馈连接。循环连接产生的丰富动态使信号能够在不同的层中传播。因此,揭示了RNN保持非线性系统行为的能力。通常,RNN 具有与 FFN 相同的层,但有一些例外。这些异常与神经元和训练方法之间的联系有关。因此,可以区分不同类型的RNN,例如Hopfield,Elman,LSTM,Echo State Networks ESN等。这些网络中的每一个都使用确定的学习算法,例如BPTT,EKF,RTRL,Reservoir Computing,[5]等。每个网络的效率主要与其训练方法成正比。它越快速、准确和简单,网络就越高效。

培训可以以监督或无监督的方式进行。学习的类型取决于注入网络的信息。对于监督案例,网络中包含两个数据集:训练数据集和测试数据集。它们都包含一组输入及其相应的所需输出。经过一些处理步骤后,将得出网络输出。反过来,将它们与数据集已经提供的目标输出进行比较。因此,计算误差指标,使网络调整权重。因此,目标和结果输出之间的距离正在缩短。此任务一遍又一遍地重复,直到达到阈值或超过迭代次数或两者兼而有之。

例如,ESN是一个支持监督学习方案的循环网络[6]。它是一种简单的循环架构,以其较低的计算成本而闻名。ESN的简单性和高精度使其在几个实际应用中具有巨大的用途[7]等。

例如,Lin等人研究了ESN,以预测短期内的未来股价。它是由Jaeger和Haas在2000年初构思的,目的是纠正其他RNN架构中的缺陷。

事实上,这种网络背后的基本概念是提高低时间输入维度。隐藏的回声状态创造了一个更大的空间,其中网络的动态高度丰富[8]。

ESN是最著名的储层计算(RC)类别之一。ESN的隐藏层由一个“水库”建模,其中许多随机循环连接的神经元相互作用。它是根据简单的线性回归算法[9]训练的。

借助 RC,仅训练隐藏到输出层权重。另一个网络的参数,如隐藏的突触连接权重是随机选择的,然后仍然保持不变,直到学习过程结束。因此,这些参数调优并不明显,因为它们是随机选择的,它们仍然是固定的,它们应该非常适合应用程序要求。这一事实对训练结果产生了影响。这种影响使ESN的性能在许多用例中下降。人类的专业知识以及反复的测试可以为这个问题提供补救措施。另一方面,基于优化技术的进化学习已经证明了它在复杂空间中解谜最佳解决方案方面的不断效率。

进化算法(EA)的灵感来自生物进化事实,包括群体智能(SI)已知的集体行为系统 。粒子群优化 (PSO) [10] 是最常见的 SI 技术之一。优化过程主要基于在总体中扮演个体角色的候选解决方案。在 EA 中,有一个目标函数或一组目标函数作为适应度标准,确定解决方案将“存在”另一个时间步长的环境 [11]。PSO是本文中考虑的用于ESN优化的工具。选择PSO是指由于收敛时间缩短,它在解决许多复杂问题方面的效率。它在处理各个领域的许多问题方面取得了不断的成功,例如运输交通[12],节能[13],机器人控制[14],[15]等。许多问题旨在加强ESN内部储层的设计。例如,Rodan和Tino [16]试图给出三种不同的储层结构,即延迟块储层(DLR),带反向连接的DLR(DLRB)和简单循环储层(SCR)。对于每个结构,他们构思了突触连接的特定数量和重新划分。在另一部作品中,克劳斯等人。 [17]使用ESN中储层参数的进化优化来控制电机模式。

Ferreira和Ludermir [18]对各种EA进行了比较,基本上是基于遗传算法(GA),以找到一个好的储层设计。RC-DESIGNS,经典搜索拓扑和半径搜索是Ferreira等人用于时间序列预测的三种进化技术。用这些方法获得的结果是关于准确性(预测误差)以及计算复杂度(执行时间)的。他们提出,可以自动找到调整良好的网络,并且权重搜索允许以较低的计算成本为问题设置更合适的解决方案。同时,他们在非标准基准上测试了他们提出的方法。因此,我们的工作不会与他们的工作相提并论。在另一部作品中,巴斯特雷奇等人。 [19]通过PSO执行了基于部分储层优化的算法。这意味着一旦生成,只有隐藏-隐藏权重矩阵中的一个子集会被优化。降低计算成本,同时保持ESN的基本特性,是选择仅更新部分储层重量的原因。但是,仅关注隐藏到隐藏重量的一部分可能会导致缺陷。忽略其他随机未改变的权重可能会导致网络被输入引导到隐藏权重,特别是如果它们具有较大的值。此外,仅在储层内部动力学水平上限制工作可能不会在优化结束时得到最佳解决方案。它可能导致局部最小值。在本文中,我们专注于提升PSO搜索空间的维度,以提高网络的准确性。在优化过程中,网络的复杂性和执行时间都被考虑在内。

2 运行结果

部分代码:

% initialize ESN weights

probInp = [ 1.00 ];rngInp = [ 1.00 ]; probRec = [ 0.1 ];rngRec = [ -0.6 ];probBack = [ 0.1];rngBack = [ 0.1 ];

% create input and output time series with delay=TAUTAU = 17; if ~exist('MGS'); MGS = tanh(createmgdde23(3000, TAU, 200)-1);end;x=MGS./10;IP=x(1:500-STEP);TP=x(1+STEP:500);IPT=x(501:1000-STEP);TPT=x(501+STEP:1000);IP1=x(1001:1500-STEP);TP1=x(1001+STEP:1500);

Lambda = 0.0;UnitAct = 11;[net] = rnn_esn_new(IP, TP, IP1, TP1, IPT, TPT,IUC, HUC, OUC, probInp, rngInp, probRec, rngRec, probBack, rngBack, Lambda, UnitAct);%[net, old_max_eig] = rnn_ffesn_new(IUC, HUC, OUC, probInp, rngInp, probRec, rngRec, probBack, rngBack, 0.0, 0.75);% fprintf('Maximal eig. is (before scaling) %f\n', old_max_eig);

% train network using 3000 values of MG seq. (ev. add noise to the target seq.)

[net, MSE] = rnn_esn_train(net, IP, TP, 50, 0.0);fprintf('Training RMSE after PSO pre-training is %g\n', MSE);

% test network using 2000 values of MG seq. as (teacher-forced) initial sequence

[AO, ACT] = rnn_esn_sim(net, IPT, TPT,0, 0.0);MSE = eval_mse(AO, TPT);fprintf('Testing RMSE after PSO pre-training is %g\n', MSE);toc% plot resultsTPT=TPT.*10;AO=AO.*10;figure(1)plot(TPT,'r'); hold on;plot(AO,'b-.'); hold off;legend('实际值','预测值')title('Desired outputs vs network outputs')

3 参考文献 部分理论来源于网络,如有侵权请联系删除。

[1]Naima Chouikhi, Boudour Ammar, Nizar Rokbani, Adel M. Alimi (2018) Particle swarm optimization of Echo State Network parameters

4 Matlab代码、数据、文章讲解



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有