Recurrent neural networks makes it possible to implement some kind of memory, which can be very useful for a lot of tasks, incl. (but not limited to) robot control, which I am interested in. For example, echo state networks are known to display some kind of dynamical short-term memory, and display a very small search space wrt alternatives.
Of course, recurrent neural networks are not so simple to use in practical: the search space can grow really fast (e.g. with fully connected networks), forgetting can be catastrophic, etc.
One particular question is: how often should one "read out" the information from a recurrent neural network?
On the one hand, it is very likely that any new input values' influence will be limited when reading out (ie. using) output values at every time steps (ie. no time for operations requiring several iterations to deal with the new inputs).
On the other hand, one can choose to read out outputs values once every N iterations of the neural networks, but there is a risk of forgetting the relevant information if N is too big. Of course, there may exist better guess for N. For example, setting N to be sure that any new input values can travel throughout the shortest path from input to output neurons, but then you may loose partly the benefit of recurrence for this particular input values (e.g. integrate).
In practical, and to the extent of my knowledge, setting N is mostly done by lucky guessing or empirically, through multiple trials.
So my question is: is there an automated way to choose N more wisely, whether there is a magical formula (I'm skeptic) or a methodology to estimate the value of N from data or from observing the reservoir? (e.g. computing some kind of derivative from the reservoir to guess if it is too large or to little).