2017-02-04 7 views
1

В настоящее время я пытаюсь понять смысл outputs и states функции tf.nn.rnn в tensorflow:LSTM пример с MNIST

outputs, states = tf.nn.rnn(lstm_cell, x, dtype=tf.float32) 

через LSTM MNIST tutorial.

Действительно, в отношении следующего урока, Understanding LSTM, мне интересно, что соответствует этим переменным.

На мой взгляд, outputs соответствует скрытому состоянию (обозначен как h_t в предыдущей ссылке), но я не уверен.

Таким образом, я понимаю, что outputs - это список time_steps тензоров формы (batch_size, n_hidden). Но почему states - это список 2 тензоров формы (batch_size, n_hidden). Это только состояние ячейки для последнего шага времени?

ответ

1

Это похоже на старый вопрос. Извините, если вы уже поняли это.

outputs - значения, выходящие из верхней части ваших блоков LSTM на диаграмме. Это результат всего вашего слоя LSTM.

Как вы предлагаете в своем вопросе, скрытые состояния на самом деле являются временными скрытыми состояниями, которые переходят от одного периода времени к другому. Это значения C_t и h_t, которые перемещаются вдоль оси времени в качестве выхода/ввода на развернутый слой LSTM. Вот почему вы получаете тензоры 2 с размером (batch_size,n_hidden)

+0

, чтобы уточнить, 'output' представляют' y = Vh', где 'V' - весовая матрица, а' h' - значение скрытого состояния. – vin

+0

Неправильное. y = Vh - это упрощение того, что происходит в этом случае. Ссылка в OP о понимании LSTM - хорошее место, чтобы лучше понять, что происходит внутри. Чтобы получить текущий y, вам нужно предварительное скрытое состояние тайм-шага (c и h), и вам нужен текущий вектор X, а затем вы объедините их с алгоритмом LSTM, чтобы получить следующий выход y. –

+0

это упрощение, но какая часть неправильная? для получения выходных данных (которые отличаются от скрытого состояния) вам нужно умножить скрытое состояние на некоторую матрицу V. В свою очередь, скрытое состояние состоит из предыдущего скрытого состояния (h_ {t-1}), некоторая часть состояние ячейки (c_t) и текущее состояние (X). – vin

Смежные вопросы