PyRCN¶
A Python 3 framework for building Reservoir Computing Networks (RCNs).
PyRCN (“Python Reservoir Computing Networks”) is a light-weight and transparent Python 3 framework for Reservoir Computing and is based on widely used scientific Python packages, such as numpy or scipy.
The API is fully scikit-learn-compatible, so that users of scikit-learn do not need to refactor their code in order to use the estimators implemented by this framework. Scikit-learn’s built-in parameter optimization methods and example datasets can also be used in the usual way. PyRCN is used by the Chair of Speech Technology and Cognitive Systems, Institute for Acoustics and Speech Communications, Technische Universität Dresden, Dresden, Germany and IDLab (Internet and Data Lab), Ghent University, Ghent, Belgium
Currently, it implements Echo State Networks (ESNs) by Herbert Jaeger and Extreme Learning Machines (ELMs) by Guang-Bin Huang in different flavors, e.g. Classifier and Regressor. It is actively developed to be extended into several directions:
Interaction with sktime
Interaction with hmmlearn
More towards future work: Related architectures, such as Liquid State Machines (LSMs)
and Perturbative Neural Networks (PNNs)
PyRCN has successfully been used for several tasks:
Music Information Retrieval (MIR)
Multipitch tracking
Onset detection
f0 analysis of spoken language
GCI detection in raw audio signals
Time Series Prediction
Mackey-Glass benchmark test
Stock price prediction
Ongoing research tasks:
Beat tracking in music signals
Pattern recognition in sensor data
Phoneme recognition
Unsupervised pre-training of RCNs and optimization of ESNs
Contents:
Indices and tables¶
Citation¶
If you use PyRCN, please cite the following publication:
@misc{steiner2021pyrcn,
title={PyRCN: A Toolbox for Exploration and Application of Reservoir Computing Networks},
author={Peter Steiner and Azarakhsh Jalalvand and Simon Stone and Peter Birkholz},
year={2021},
eprint={2103.04807},
archivePrefix={arXiv},
primaryClass={cs.LG}
}
Acknowledgements¶
This research was funded by the European Social Fund (Application number: 100327771) and co-financed by tax funds based on the budget approved by the members of the Saxon State Parliament, and by Ghent University.