Reservoir Computing with Cellular Automata
ReservoirComputing.RECA
— TypeRECA(train_data,
automata;
generations = 8,
input_encoding=RandomMapping(),
nla_type = NLADefault(),
states_type = StandardStates())
[1] Yilmaz, Ozgur. “Reservoir computing using cellular automata.” arXiv preprint arXiv:1410.0162 (2014).
[2] Nichele, Stefano, and Andreas Molund. “Deep reservoir computing using cellular automata.” arXiv preprint arXiv:1703.02806 (2017).
The input encodings are the equivalent of the input matrices of the ESNs. These are the available encodings:
ReservoirComputing.RandomMapping
— TypeRandomMapping(permutations, expansion_size)
RandomMapping(permutations; expansion_size=40)
RandomMapping(;permutations=8, expansion_size=40)
Random mapping of the input data directly in the reservoir. The expansion_size
determines the dimension of the single reservoir, and permutations
determines the number of total reservoirs that will be connected, each with a different mapping. The detail of this implementation can be found in [1].
[1] Nichele, Stefano, and Andreas Molund. “Deep reservoir computing using cellular automata.” arXiv preprint arXiv:1703.02806 (2017).
The training and prediction follow the same workflow as the ESN. It is important to note that currently we were unable to find any papers using these models with a Generative
approach for the prediction, so full support is given only to the Predictive
method.