Closed JingliangGao closed 5 years ago
Hi JingliangGao,
We set the first hidden state to zero, therefore the initial internal states of the reservoir are really biased from this initialization and do not provide useful information. For this reason, it is a common practice to discard an arbitrary number of steps. See ""A Practical Guide to Applying Echo State Networks" for a better explaination.
I do not entirely understand your question. Do you want to see where is the "deep" feature inside the code? Here, the implementation of the deep ESN is the same as the PyTorch's implementation of deep RNN. The difference is that we collect the output of each layer (reservoir), not just the last one, since, at the end of the training, we need the state of each reservoir.
Regarding the Lorenz timeseries, if you can share code and dataset, or at least the dataset, I could tell you if something is wrong.
Hi Stefanonardo, Thanks for your prompt reply and help me solve the Q1 that I mentioned above.
It will be appreciate if you provide more detials. Thanks :) @stefanonardo
num_layers
to a value greater than one when you create an ESN. If you want to see the code that makes it work... You should take a look at function StackedRNN
in reservoir.py
. The logic is all there more or less.You are right. Lorenz serialized data is the Lorenz timeseries data. I will sent you an example to your mailbox soon.
Hi, Referring to the examples you provide, I have successsfully write the code to predict Lorenz serialized data, though the result is terrible. Um ... I still don't understand some details as follows.
Why we set 'washout ' this variable ? For example, when we set washout be 10 and try to use trx (length 30) to predict trY, we may get an output with length 20 (30-10= 20). BTW, I have read your comments in echo_state_network.py, but still don't understand the reason.
How we recogize 'Deep' this concept ? I have had a glance at the paper of Deep-ESN, and it seems that muti-reserviors have been connected to make this structure be deeper. I have read your code , but can not see this idea.
I am looking for your reply. :) @stefanonardo