"The current implementation does not include the feedback loop on the cells output"
The equations in the original paper are as follows:
it = σ(Wxi∗Xt + Whi∗Ht−1 + Wci◦Ct−1 + bi)
ft = σ(Wxf∗Xt + Whf∗Ht−1 + Wcf◦Ct−1 + bf)
Ct = ft◦Ct−1 + it◦tanh(Wxc∗Xt + Whc∗Ht−1 + bc)
ot = σ(Wxo∗Xt + Who∗Ht−1 + Wco◦Ct + bo)
Ht = ot◦tanh(Ct)
If I am interpreting the code convolutional_recurrent.py correct than the equations used in the ConvLSTM2DCell are:
it = σ(Wxi∗Xt + Whi∗Ht−1 + bi)
ft = σ(Wxf∗Xt + Whf∗Ht−1 + bf)
Ct = ft◦Ct−1 + it◦tanh(Wxc∗Xt + bc)
ot = σ(Wxo∗Xt + Who∗Ht−1 + bo)
Ht = ot◦tanh(Ct)
My Questions are:
Ht equals the cell output? So I would guess that "the feedback loop on the cells output" already is implemented with Whi∗Ht, Whf∗Ht and Who∗Ht−1 but the feedback loop for the memory cell C is missing?
What is the reason that Wci◦Ct−1, Wcf◦Ct−1 and Wco◦Ct are not implemented? Is there a plan to implement them in the future?
On keras.io it says that the ConvLSTM2D is based on Convolutional LSTM Network: A Machine Learning Approach for Precipitation Nowcasting but:
The equations in the original paper are as follows: it = σ(Wxi∗Xt + Whi∗Ht−1 + Wci◦Ct−1 + bi) ft = σ(Wxf∗Xt + Whf∗Ht−1 + Wcf◦Ct−1 + bf) Ct = ft◦Ct−1 + it◦tanh(Wxc∗Xt + Whc∗Ht−1 + bc) ot = σ(Wxo∗Xt + Who∗Ht−1 + Wco◦Ct + bo) Ht = ot◦tanh(Ct)
If I am interpreting the code convolutional_recurrent.py correct than the equations used in the ConvLSTM2DCell are: it = σ(Wxi∗Xt + Whi∗Ht−1 + bi) ft = σ(Wxf∗Xt + Whf∗Ht−1 + bf) Ct = ft◦Ct−1 + it◦tanh(Wxc∗Xt + bc) ot = σ(Wxo∗Xt + Who∗Ht−1 + bo) Ht = ot◦tanh(Ct)
My Questions are: