ArticlePDF Available

Abstract and Figures

Reservoir computng is a randomly constructed recurrent neural network paradigm, where the hidden layer does not need to be trained. This article summarizes the main concepts, methods and recent researches about reservoir computing paradigm, aiming to offer a theoretical support for other articles. Were made a bibliographic review based on reliable scientific knowledge bases, emphasizing researches published between 2007 and 2017 and focused on implementation and optimization of aforementioned paradigm. As a result, there's a report of recent articles that contribute in general to the development of reservoir computing, and due to its topicality, a diversity of topics that are still open to research are given, that may possibly work as a guide for the research community.
Content may be subject to copyright.
Reservoir Computing: Uma abordagem conceitual
Reservoir Computing: A conceptual approach
Estevao Rada Oliveiraa,*; Fernando Juliani a,+;
a Faculdade Anhanguera de Taubaté, Curso de Ciência da Computação, SP, Brasil.
* E-mail: estevaorada@estevaorada.com.
+ E-mail: frdjuliani@gmail.com.
RESUMO
Reservoir computing é um paradigma de rede neural recorrente construída de forma aleatória,
onde sua camada intermediária não necessita ser treinada. O presente artigo sintetiza os
principais conceitos, métodos e pesquisas recentes realizadas sobre o paradigma de reservoir
computing, objetivando servir como apoio teórico para outros artigos. Foi realizada uma
revisão bibliográfica fundamentada em bases de conhecimento científico confiáveis
enfatizando pesquisas compreendidas no período de 2007 a 2017 e direcionadas à
implementação e otimização do paradigma em questão. Como resultado do trabalho, tem-se a
apresentação de trabalhos recentes que contribuem de forma geral para o desenvolvimento de
reservoir computing, e devido à atualidade do tema, é apresentada uma diversidade de tópicos
abertos à pesquisa, podendo servir como norteamento para a comunidade científica.
Palavras-chave: Aprendizado de Máquina, Inteligência Artificial, Redes Neurais
Recorrentes, Reservoir Computing.
ABSTRACT
Reservoir computng is a randomly constructed recurrent neural network paradigm, where the hidden layer does
not need to be trained. This article summarizes the main concepts, methods and recent researches about reservoir
computing paradigm, aiming to offer a theoretical support for other articles. Were made a bibliographic review
based on reliable scientific knowledge bases, emphasizing researches published between 2007 and 2017 and
focused on implementation and optimization of aforementioned paradigm. As a result, there's a report of recent
articles that contribute in general to the development of reservoir computing, and due to its topicality, a diversity
of topics that are still open to research are given, that may possibly work as a guide for the research community.
Keywords: Artificial Intelligence, Machine Learning, Recurrent Neural Network, Reservoir Computing.
1 Introdução
Uma rede neural artificial (RNA) é uma técnica de inteligência computacional que
consiste em um sistema de nós distribuídos que simulam neurônios biológicos capazes de
aplicar funções matemáticas nas informações recebidas em sua entrada, sendo capaz de
2
aprender a partir de referências e posteriormente generalizar a informação absorvida
(SERGIO, 2013). De acordo com Sergio (2013) e Benini (2008), esta técnica é comumente
aplicada em problemas de previsão de séries temporais, reconhecimento de padrões,
reconhecimento e síntese de voz, resolução do problema do caixeiro viajante, entre outros.
Uma das limitações impostas por uma rede neural artificial é a dificuldade de descobrirmos
quais foram os passos utilizados e quais os principais elementos de sua estrutura responsáveis
por uma determinada conclusão, sendo consideradas como “caixas pretas” (SERGIO, 2013).
Outra característica operosa de uma rede neural artificial é o treinamento custoso e a definição
de parâmetros que variam de acordo com problema, requerendo ao projetista um árduo
trabalho de estruturação de certos parâmetros. A Figura 1.1 apresenta um modelo de topologia
genética de uma rede neural artificial e as três partes de camadas possíveis.
Figura 1.1 – Topologia Genérica de uma RNA.
Fonte: (BENINI, 2008)
Uma rede neural recorrente é uma classe RNA que possui pelo menos uma conexão de
feedback. Pertencente a essa classe, o reservoir computing é uma abordagem onde o custo de
treinamento é menor, devido ao fato de não se treinar a camada intermediária, apenas a
camada de saída. Este modelo foi inicialmente introduzido em 2001 de forma separada como
Liquid State Machine (LSM) e Solid State Machine (SSM) (FERREIRA, 2011). Em poucas
palavras o reservoir computing consiste na construção randômica de uma rede neural
recorrente cujos pesos desta são preservados, e posteriormente uma função de regressão linear
é empregada para treinar a camada de saída.
O objetivo deste trabalho é sintetizar os principais conceitos de reservoir computing,
baseando-se na literatura acadêmica disponível e contribuir para a realização de trabalhos
3
correlatos no futuro. Esta pesquisa é estruturada em forma de revisão bibliográfica, com
conceituação e discussão de trabalhos relevantes ao tema.
2 Desenvolvimento
A estrutura do trabalho abrange tópicos que consistem na síntese dos principais
conceitos e métodos comuns do reservoir computing, com observância à implementação,
otimização e aplicação do paradigma em questão, considerando sua hodiernidade.
2.1 Reservoir Computing
Reservoir computing é um paradigma de modelagem eficiente de redes neurais
recorrentes, que segundo Bacciu et al. (2013) tem se tornado bastante popular. Este modelo
foi proposto por Verstraeten et al. (2007) que unifica as Echo State Networks e Liquid State
Machines em um único campo de pesquisa. Reservoir Computing tem a finalidade de colocar
a rede neural em um estado “sólido” pela ativação conjunta dos neurônios.
Uma topologia recorrente não-linear de elementos de processamento (reservoir) e uma
camada de saída (readout) formam a estrutura basica de reservoir computing (FERREIRA,
2011). Os sinais de entradas são enviados ao reservoir que posteriormente os envia à camada
de saída, que é um circuito reduzido. O reservoir também pode receber de forma facultativa
os sinais da conexão de feedback. Uma característica excepcional é o fato da camada de saída
ser única que recebe treinamento, enquanto a topologia de elementos de processamento tem
pesos randômicos, tornando a atividade de treinamento extremamente eficiente neste
paradigma (BACCIU et al., 2013). A Figura 2.1 ilustra uma abordagem de reservoir
computing.
4
Figura 2.1 – Arquitetura de Reservoir Computing.
Fonte: (FERREIRA, 2011)
Embora reservoir computing seja uma abordagem eficiente, esta apresenta algumas
desvantagens, como custo computacional dispendioso e dificuldade na definição de
parâmetros por pessoas pouco familiarizadas com a resolução de determinados problemas
(SERGIO, 2013). Os princípios dos métodos utilizados para reservoir computing são
discutidos nos tópicos 2.1.1 e 2.1.2 deste trabalho.
2.1.1 Echo State Networks
Proposta por Jaeger (2001), as Echo State Networks são métodos pioneiros de
reservoir computing que possuem uma camada de neurônios conectados aleatoriamente que
desempenham a função de memória de curto prazo (o efeito “eco” da rede). O efeito “eco” é
responsável pela percepção da rede do efeito de aproximação no sistema de aprendizagem
(WANG; HAN; SHEN, 2014). As Echo States Networks utilizam neurônios sigmoides
simples, ou seja, neurônios ativados por uma função sigmoide.
A Equação 2.1 descreve a mudança de estados em uma rede de K inputs, N nodos no
reservoir e L nodos de saída:
( + 1)= (()+  ( + 1)+ ( + 1) (2.1)
Segundo Sergio (2013), f é a função sigmoide, podendo ser a logística ou a tangente
hiperbólica, W é a matriz de peso, Win a de entrada, Wout a de feedback, u(n) e y(n) o sinal de
5
entrada e saída respectivamente. O estado estendido do sistema é dado pela concatenação de
x(n) e u(n). A Equação 2.2 equivale a saída da rede, onde Wout e g é a matriz de pesos e função
de ativação dos neurônios do readout respectivamente.
()= (()) (2.2)
Além da característica de memória de curto prazo, as Echo State Networks podem ser
utilizadas em medidores de frequência, atiradores caóticos, reconhecimento de formas de
ondas, palavras e padrões dinâmicos, etc. (SERGIO, 2013).
2.1.2 Liquid State Machines
Outro método pioneiro de reservoir computing são as Liquid State Machines, proposto
por Maass et al. (2002) que consiste na computação neural baseada em perturbações que se
atentam ao neurônio do tipo readout (GRANDO et al., 2010). Este neurônio é o que recebe
várias entradas de outros neurônios e as enviam para outro circuito após estabilizá-las, onde
vários destes neurônios podem gerar um sistema tautócrono quando treinados para realizar
tarefas distintas.
Pode-se estabelecer uma relação análoga com o funcionamento das Liquid State
Machines com uma piscina cheia de água, onde sua superfície sofre perturbações quando são
arremessados itens no seu interior ou quando o vento lhe é incidente, ficando em repouso
quando nenhum evento externo é aplicado. O estado de movimento do líquido reflete tanto o
estado corrente quanto o passado do que lhe foi aplicado. Essa informação de eventos recentes
é possível ser recuperada quando “escaneamos” a superfície da água em certo instante, assim
é possível associar o conceito do líquido perturbado com os microcircuitos neurais sobre
estados perturbados, baseado na diversidade de unidades de processamento e conexões
(SERGIO, 2013).
O funcionamento de uma Liquid State Machine é formulado por Maass et al. (2002)
como um fluxo continuo de perturbações (. ) inserido em um meio excitável
(denominado “circuito líquido”). O “líquido” pode ser tudo aquilo à qual se possa recuperar o
estado corrente denominado () em um instante de tempo t pela função (). Por fim, o
segundo elemento denominado por consiste na função sem memória readout, responsável
por extrair o estado do líquido no instante t em uma saída desejada com base em uma
6
determinada tarefa, podendo haver diversas destas funções (GRANDO et al., 2010). A Figura
2.2 apresenta um modelo desta arquitetura.
Figura 2.2 – Arquitetura de LSM.
Fonte: Elaborado pelo autor.
2.2 Metodologia
O presente artigo é uma revisão bibliográfica acerca do paradigma de reservoir
computing, que apresenta sua conceituação teórica e seus métodos pioneiros, além de estudos
recentes que abordam técnicas de implementação, otimização e aplicabilidade do paradigma
em questão. Dessa forma foi possível evidenciar o auxílio científico das pesquisas e
apresentar, de forma sucinta, o estado da arte e os tópicos que ainda estão abertos ao estudo
científico.
As fontes de pesquisa utilizadas foram artigos científicos presentes em importantes
periódicos da área, além de trabalhos de tese e dissertação disponíveis no diretório
institucional de diversas instituições. A busca foi realizada utilizando os motores de busca
EBSCO Host e Google Scholar, aplicando o critério de inclusão de artigos com idade inferior
a dez anos, objetivando melhor garantir o caráter hodierno do artigo.
Os termos de busca utilizados compreenderam: reservoir computing, liquid state
machines, echo state networks, recurrent neural network.
2.3 Resultados
Pelo fato do conceito Reservoir Computing ser relativamente novo, ainda existem
diversas áreas para pesquisa, como sua modelagem, treinamento, otimização e estudo de
propriedades. Este tópico sumariza as principais pesquisas recentes que contribuem para o
7
aprimoramento da aplicação de Reservoir Computing e algumas de suas aplicações reportadas
na literatura.
2.3.1 Implementação
Objetivando aprimorar a velocidade de implementação, investigação e comparação de
arquiteturas de construídas a partir de técnicas de processamento robustas como reservoir
computing, Verstraeten et al. (2012) propôs o framework Oger. Este framework é codificado
em Python e possui diversas implementações de reservoir (não limitado à LSM e ESN),
suprindo a deficiência e aumentando a flexibilidade dos frameworks propostos até então.
Além do Oger é possível encontrar outros diversos frameworks em diretórios na internet,
como pyReservoir (Python) e aureservoir (C++).
2.3.2 Otimização
Utilizando algoritmos genéticos e o framework Oger (previamente denominado
rctoolbox), Ferreira (2011) propôs um método capaz de atingir o melhor reservoir para
previsão de séries temporais. O método intitulado RCDESIGN é capaz de otimizar a
configuração do reservoir baseado em alguns dados específicos. Este apresenta-se como uma
alternativa de baixo custo computacional quando confrontado com outros trabalhos.
Em Ludermir e Sergio (2012) é utilizada uma adaptação do método proposto por
Ferreira (2011) utilizando algoritmo de otimização por enxame de partículas (PSO) e duas de
suas extensões: EPUS-PSO e APSO. Os resultados alcançados foram comparados com outros
trabalhos da literatura, apresentando-se como uma opção viável na tarefa de otimização de
reservoir computing. Uma abordagem semelhante pode ser encontrada em Martin e Reggia
(2015). Neste trabalho é criado um modelo denominado SINOSA que utiliza PSO e self-
assembly para otimização de uma Echo State Network. A importância deste trabalho se
destaca no fato de se demonstrar a integração de PSO e self-assembly como um meio eficaz
de otimizar os pesos e a topologia de uma rede neural de forma simultânea.
Sergio (2013) propõe, para estudos futuros, a análise da otimização de reservoir
computing utilizando algoritmos como Ant Colony Optimization (ACO), Group Search
Optimizer (GSO) e a combinação destes com outras técnicas. Em Ferreira (2011), além de
otimização, são sugeridos estudos acerca do entendimento da geração de medidas da dinâmica
e da análise das propriedades responsáveis pela força ou fraqueza de reservoir computing em
uma tarefa específica.
8
2.3.3 Aplicabilidade
Em Jalalvand (2017) é estudada a utilização de reservoir computing para
reconhecimento e recuperação de ruídos em imagens, estendendo a aplicação do paradigma
em questão ao campo de processamento de imagens. O estudo demonstrou que o corretor de
ruídos proposto pode reduzir efetivamente a taxa de erro em vários tipos de ruído.
Alem do exemplo anterior, a literatura tem reportado a aplicação de reservoir
computing com sucesso em tópicos abstratos e de engenharia, Ferreira (2011) e Sergio (2013)
destacam algumas aplicações de destaque: aprendizado por reforço; reconhecimento de fala e
modelagem de ruído; previsão de séries temporais caóticas; classificação de padrões
dinâmicos; geração de sinos autônomos; reconhecimento de imagens em
eletroencefalogramas; previsão de geração de energia e velocidade eólica; previsão do
caminho e do movimento de objetos e detecção de eventos.
3 Conclusão
Este trabalho apresentou uma síntese dos principais conceitos e métodos de reservoir
computing, além de um compilado de pesquisas recentes que abordam desde ferramentas de
implementação e otimização até a aplicabilidade deste paradigma.
Pelo fato de reservoir computing ser uma abordagem relativamente recente, ainda
existem inúmeras técnicas e tópicos que devem ser estudados. Para a otimização deste
paradigma, além da utilização de outras extensões de PSO, propõe-se um estudo das
propriedades responsáveis pela aptidão relativa de reservoir computing em tarefas específicas,
e a utilização deste juntamente com outros tipos de sensores ainda não testados e pouco
abordados na literatura, como por exemplo narizes artificiais.
REFERÊNCIAS
BACCIU, Davide et al. An experimental characterization of reservoir computing in
ambient assisted living applications. Neural Computing And Applications, [s.l.], v. 24, n. 6,
p.1451-1464, 16 mar. 2013. Springer Nature.
9
BENINI, Fabriciu Alarcão Veiga. Rede neural recorrente com perturbação simultânea
aplicada no problema do caixeiro viajante. 2008. Dissertação (Mestrado em Sistemas
Dinâmicos) - Escola de Engenharia de São Carlos, Universidade de São Paulo, São Carlos,
2008. doi:10.11606/D.18.2008.tde-29042009-102601. Acesso em: 2017-12-03.
FERREIRA, Aida Araújo. Um Método para Design e Treinamento de Reservoir
Computing Aplicado à Previsão de Séries Temporais. 2011. 144 f. Tese (Doutorado) -
Curso de Ciência da Computação, Universidade Federal de Pernambuco, Recife, 2011.
FERREIRA, Aida A.; LUDERMIR, Teresa B.. Genetic algorithm for reservoir computing
optimization. 2009 International Joint Conference On Neural Networks, [s.l.], jun. 2009.
IEEE.
GRANDO, Neusa et al. Forecasting electric energy demand using a predictor model
based on liquid state machine. International Journal of Artificial Intelligence and Expert
Systems, v. 1, n. 2, 2010. Disponível em: <http://repositorio.furg.br/handle/1/4770>. Acesso
em: 14 out. 2017.
JAEGER. H. The “echo state” approach to analysing and training recurrent neural
networks. , no 148. [S.l.]: GMD - German National Research Institute for Computer Science,
2001. Disponível em: <http://www.faculty.jacobs-
university.de/hjaeger/pubs/EchoStatesTechRep.pdf>. Acesso em 2 out 2017.
JALALVAND, Azarakhsh et al. On the application of reservoir computing networks for
noisy image recognition. Neurocomputing, [s. l.], ago. 2017.
LUDERMIR, Teresa B.; SERGIO, Anderson Tenório. Artificial Neural Networks and
Machine Learning – ICANN 2012. Lecture Notes In Computer Science, [s.l.], v. 7552,
p.685-692, 2012. Springer Berlin Heidelberg.
MAASS, Wolfgang et al. Real-Time Computing Without Stable States: A New
Framework for Neural Computation Based on Perturbations. Neural Computation, [s.l.],
v. 14, n. 11, p.2531-2560, nov. 2002. MIT Press - Journals.
10
MARTIN, Charles E.; REGGIA, James A.. Fusing Swarm Intelligence and Self-Assembly
for Optimizing Echo State Networks. Computational Intelligence And Neuroscience, [s.l.],
v. 2015, p.1-15, 11 maio 2015. Hindawi Limited.
SERGIO, Anderson Tenório. Otimização de Reservoir Computing com PSO. 2013. 87 f.
Dissertação (Mestrado) - Curso de Ciência da Computação, Universidade Federal de
Pernambuco, Recife, 2013.
VERSTRAETEN, D. et al. An experimental unification of reservoir computing methods.
Neural Networks, [s.l.], v. 20, n. 3, p.391-403, abr. 2007. Elsevier BV.
VERSTRAETEN, David et al. Oger: Modular Learning Architectures For Large-Scale
Sequential Processing. 2012. Disponível em:
<http://www.jmlr.org/papers/v13/verstraeten12a.html>. Acesso em: 23 out. 2017.
WANG, Jie-sheng; HAN, Shuang; SHEN, Na-na. Improved GSO Optimized ESN Soft-
Sensor Model of Flotation Process Based on Multisource Heterogeneous Information
Fusion. The Scientific World Journal, [s.l.], v. 2014, p.1-12, 2014. Hindawi Limited.
ResearchGate has not been able to resolve any citations for this publication.
Article
Full-text available
Optimizing a neural network’s topology is a difficult problem for at least two reasons: the topology space is discrete, and the quality of any given topology must be assessed by assigning many different sets of weights to its connections. These two characteristics tend to cause very “rough.” objective functions. Here we demonstrate how self-assembly (SA) and particle swarm optimization (PSO) can be integrated to provide a novel and effective means of concurrently optimizing a neural network’s weights and topology. Combining SA and PSO addresses two key challenges. First, it creates a more integrated representation of neural network weights and topology so that we have just a single, continuous search domain that permits “smoother” objective functions. Second, it extends the traditional focus of self-assembly, from the growth of predefined target structures , to functional self-assembly, in which growth is driven by optimality criteria defined in terms of the performance of emerging structures on predefined computational problems . Our model incorporates a new way of viewing PSO that involves a population of growing, interacting networks, as opposed to particles. The effectiveness of our method for optimizing echo state network weights and topologies is demonstrated through its performance on a number of challenging benchmark problems.
Conference Paper
Full-text available
This paper presents reservoir computing optimization using genetic algorithm. Reservoir computing is a new paradigm for using artificial neural networks. Despite its promising performance, Reservoir Computing has still some drawbacks: the reservoir is created randomly; the reservoir needs to be large enough to be able to capture all the features of the data. We propose here a method to optimize the choice of global parameters using genetic algorithm. This method was applied on a real problem of time series forecasting. The time of search for the best global parameters with GA was just 22.22% of the time- consuming task to an exhausting search of the same parameters.
Article
Full-text available
Electricity demand forecasts are required by companies who need to predict their customers’ demand, and by those wishing to trade electricity as a commodity on financial markets. It is hard to find the right prediction method for a given application if not a prediction expert. Recent works show that Liquid State Machines (LSM’s) can be applied to the prediction of time series. The main advantage of the LSM is that it projects the input data in a high-dimensional dynamical space and therefore simple learning methods can be used to train the readout. In this paper we present an experimental investigation of an approach for the computation of time series prediction by employing Liquid State Machines (LSM) in the modeling of a predictor in a case study for short-term and long-term electricity demand forecasting. Results of this investigation are promising, considering the error to stop training the readout, the number of iterations of training of the readout and that no strategy of seasonal adjustment or preprocessing of data was achieved to extract non-correlated data out of the time series.
Article
Reservoir Computing Networks (RCNs) are a special type of single layer recurrent neural networks, in which the input and the recurrent connections are randomly generated and only the output weights are trained. Besides the ability to process temporal information, the key points of RCN are easy training and robustness against noise. Recently, we introduced a simple strategy to tune the parameters of RCNs. Evaluation in the domain of noise robust speech recognition proved that this method was effective. The aim of this work is to extend that study to the field of image processing, by showing that the proposed parameter tuning procedure is equally valid in the field of image processing and conforming that RCNs are apt at temporal modeling and are robust with respect to noise. In particular, we investigate the potential of RCNs in achieving competitive performance on the well-known MNIST dataset by following the aforementioned parameter optimizing strategy. Moreover, we achieve good noise robust recognition by utilizing such a network to denoise images and supplying them to a recognizer that is solely trained on clean images. The experiments demonstrate that the proposed RCN-based handwritten digit recognizer achieves an error rate of 0.81 percent on the clean test data of the MNIST benchmark and that the proposed RCN-based denoiser can effectively reduce the error rate on the various types of noise.
Article
Oger (OrGanic Environment for Reservoir computing) is a Python toolbox for building, training and evaluating modular learning architectures on large data sets. It builds on MDP for its modularity, and adds processing of sequential data sets, gradient descent training, several crossvalidation schemes and parallel parameter optimization methods. Additionally, several learning algorithms are implemented, such as different reservoir implementations (both sigmoid and spiking), ridge regression, conditional restricted Boltzmann machine (CRBM) and others, including GPU accelerated versions. Oger is released under the GNU LGPL, and is available from http: //organic.elis.ugent.be/oger.
Article
Three different uses of a recurrent neural network (RNN) as a reservoir that is not trained but instead read out by a simple external classification layer have been described in the literature: Liquid State Machines (LSMs), Echo State Networks (ESNs) and the Backpropagation Decorrelation (BPDC) learning rule. Individual descriptions of these techniques exist, but a overview is still lacking. Here, we present a series of experimental results that compares all three implementations, and draw conclusions about the relation between a broad range of reservoir parameters and network dynamics, memory, node complexity and performance on a variety of benchmark tests with different characteristics. Next, we introduce a new measure for the reservoir dynamics based on Lyapunov exponents. Unlike previous measures in the literature, this measure is dependent on the dynamics of the reservoir in response to the inputs, and in the cases we tried, it indicates an optimal value for the global scaling of the weight matrix, irrespective of the standard measures. We also describe the Reservoir Computing Toolbox that was used for these experiments, which implements all the types of Reservoir Computing and allows the easy simulation of a wide range of reservoir topologies for a number of benchmarks.
Rede neural recorrente com perturbação simultânea aplicada no problema do caixeiro viajante
  • Fabriciu Alarcão Benini
  • Veiga
BENINI, Fabriciu Alarcão Veiga. Rede neural recorrente com perturbação simultânea aplicada no problema do caixeiro viajante. 2008. Dissertação (Mestrado em Sistemas Dinâmicos) -Escola de Engenharia de São Carlos, Universidade de São Paulo, São Carlos, 2008. doi:10.11606/D.18.2008.tde-29042009-102601. Acesso em: 2017-12-03.
Um Método para Design e Treinamento de Reservoir Computing Aplicado à Previsão de Séries Temporais
  • Aida Ferreira
  • Araújo
FERREIRA, Aida Araújo. Um Método para Design e Treinamento de Reservoir Computing Aplicado à Previsão de Séries Temporais. 2011. 144 f. Tese (Doutorado) -
Otimização de Reservoir Computing com PSO
  • Anderson Sergio
  • Tenório
SERGIO, Anderson Tenório. Otimização de Reservoir Computing com PSO. 2013. 87 f.