wohlert/generative-query-network-pytorch

ConvLSTM did not concat hidden from last round

tomfox1900 opened this issue · 7 comments

In the structure presented in the paper, the hidden from last round is concat with input and then proceed for other operation. But it seems your LSTM did not use the hidden information from previous round.

Can you perhaps show me where you think this is the case?

The last hidden state of the generator LSTM is concatenated with the input and fed into the inference LSTM here:

https://github.com/wohlert/generative-query-network-pytorch/blob/master/gqn/generator.py#L146

So the input fed into inference should be h_(i-1) + h_g + x + v + r, what I'm saying is it seems you missed the h_(i-1) part, which is the hidden state from last round of inference LSTM.

Similarly the generator LSTM.

Another question I have is about the sigma scheme, I noticed you updated the shepardmetzler.py, and the range of data is from 0 to 1 now, but the sigma scheme is set to be 0.7 to 2, not sure if this will affect the log likelihood estimation.

The h_(i-1) part is fed into the LSTM through the state variable, so the information is available to the network. You can see this at the end of the line that i linked.

The sigma scheme is the same as done in the paper. The authors never specify the data range, but it is customary to have it be floating points [0, 1].

Yes, I see that is a mistake.

It has been fixed in the recent commit. Thank you for posting this issue.