Reservoir Computing Networks (RCNs) belong to a group of machine learning techniques that project the input space non-linearly into a high-dimensional feature space, where the underlying task can be solved linearly. Popular variants of RCNs are capable of solving complex tasks equivalently to widely used deep neural networks, but with a substantially simpler training paradigm based on linear regression. In this paper, we show how to uniformly describe RCNs with small and clearly defined building blocks, and we introduce the Python toolbox PyRCN (Python Reservoir Computing Networks) for optimizing, training and analyzing RCNs on arbitrarily large datasets. The tool is based on widely-used scientific packages and complies with the scikit-learn interface specification. It provides a platform for educational and exploratory analyses of RCNs, as well as a framework to apply RCNs on complex tasks including sequence processing. With a small number of building blocks, the framework allows the implementation of numerous different RCN architectures. We provide code examples on how to set up RCNs for time series prediction and for sequence classification tasks. PyRCN is around ten times faster than reference toolboxes on a benchmark task while requiring substantially less boilerplate code.
翻译:储量计算网络(RCN)属于一组机器学习技术,将空间输入的非线性空间投入一个高维特征空间,其基本任务可以线性地解决。RCN的流行变体能够解决与广泛使用的深神经网络相当的复杂任务,但有一个基于线性回归的简单得多的培训模式。在本文中,我们展示了如何以小型和明确界定的构件统一描述RCN。我们引入了Python工具箱 PyRCN(Python 储量计算网络),以优化、培训和分析任意大型数据集的RCN。该工具以广泛使用的科学软件包为基础,并符合Scikit-learn界面规范。它提供了一个平台,用于对RCN进行教育和探索性分析,以及一个框架,将RCN应用于包括序列处理在内的复杂任务。在少量的构件中,该框架允许实施许多不同的RCN结构。我们提供了如何在快速的服务器上设置时间序列预测参考RCN的代码示例,同时对10个基准时间进行快速的分类。