Skip to main content
Matthew Hampsey's user avatar
Matthew Hampsey's user avatar
Matthew Hampsey's user avatar
Matthew Hampsey
  • Member for 8 years, 2 months
  • Last seen more than 2 years ago
awarded
awarded
awarded
awarded
awarded
awarded
comment
Why back propagate through time in a RNN?
Just posting the scalar loss function doesn't help, you need to post your forward and backward gradient passes.
awarded
comment
Why back propagate through time in a RNN?
My original post explains why having a state vector necessitates backpropagation through time. If you still don't get it there's nothing else I can do for you, other than recommending that you seriously revise your understanding of RNNs and basic multivariable calculus
comment
Why back propagate through time in a RNN?
It doesn't solve any problems, it creates them. If you don't divide your training corpus into short sequences, you will end having to back propagate through the entire corpus on every time step to find the hidden state gradient. Your error metric should be based on the complete output target, not a partial output. This isn't even possible for models that aren't mapping K to K. This isn't possible for mapping sequences of size K to 1, for example sentiment analysis.
comment
Why back propagate through time in a RNN?
It DOESN'T MATTER how many time steps you want to step before you back propagate, because the hidden state vector is ALWAYS a function of previous inputs (as described in my original post). Therefore if you want to calculate the gradient you will ALWAYS need to account for the previous inputs. which means you need to backpropagate through time.
comment
Why back propagate through time in a RNN?
What do you think "operating on a sequence" means? Because what you described is exactly what operating on a sequence means, and is standard use of an RNN for time sequence modelling.
comment
Why back propagate through time in a RNN?
I've seen the original post. You contradict yourself multiple times. Either you are iterating over time sequence and updating a state vector on each time step (or every nth time step), or you are iterating over a time sequence and not updating a state vector. You can't be updating a state vector without iterating over a time sequence, that is meaningless.
comment
Why back propagate through time in a RNN?
You can't maintain state without a sequence. If there is no time sequence then what are you holding state over?
comment
Why back propagate through time in a RNN?
The motivation and benefit of an RNN is that you maintain a sense of state over your time steps - the output of later time steps is influenced by what was seen at earlier time steps. If you are just use a single time step for each training example, then you don't keep any past state and it's not an RNN, just a regular feed forward net. This will work for some things that don't have strong correlation over time steps, but will probably fail for things that do.
comment
Why back propagate through time in a RNN?
I think some clarification here is required. When you say "inputs", are you referring to multiple training examples, or are you referring to multiple time steps within a single training example?
comment
Why back propagate through time in a RNN?
The only sense in which you can feed in multiple inputs at once into an RNN is feeding in multiple training examples, as part of a batch. The batch size is arbitrary, and convergence is guaranteed for any size, but higher batch sizes may lead to more accurate gradient estimations and faster convergence.
answered
Loading…
awarded