Согласно математической формулировке из wikipedia-lstm-math-уравнения , как показано ниже, 
должно быть только скрытое состояние h_t
и состояние ячейки c_t
.Однако когда я попытался написать код RNN на Keras, их было три: lstm_output
, state_h
и state_c
.
Теперь мне интересно, какова математическая формулировка lstm_output
?Вот мой код:
from keras.layers import Input, LSTM
lstm_input = Input(shape=(28, 10))
lstm_output, state_h, state_c = LSTM(units=32,
return_sequences=True,
return_state=True,
unroll=True)(lstm_input)
print(lstm_output, state_h, state_c)
и он дает
Using TensorFlow backend.
(<tf.Tensor 'lstm_1/transpose_1:0' shape=(?, 28, 32) dtype=float32>, <tf.Tensor 'lstm_1/mul_167:0' shape=(?, 32) dtype=float32>, <tf.Tensor 'lstm_1/add_221:0' shape=(?, 32) dtype=float32>)