Existing research documents LSTMs to perform poorly with timesteps > 1000
- i.e., inability to "remember" longer sequences. What's absent explicit mention is whether this applies for one or more of the following:
- Many-to-Many - return $t$ outputs for $t$ input timesteps, as with Keras'
return_sequences=True
- Many-to-One - return only the last output for $t$ input timesteps (
return_sequences=False
) - Both, stacked - with
=True
preceding=False
In 'both', it's unclear whether the former's input (and thus output, i.e. input to latter) should be limited to <1000 timesteps
, or that it transforms input timesteps in some manner that effectively 'lightens the load' on latter's memory. For one, Keras' =False
LSTM utilizes more than double the =True
's number of weights; I don't know why it does so, but it does imply greater model capacity.
So, does Many-to-Many, or Many-to-Many stacked with Many-to-One LSTM - bear greater memory capacity? Experimental or theoretical insights appreciated.