Вопрос

Из кода TensorFlow: Tensorflow. Rnncell.

num_units: int, The number of units in the LSTM cell.

Не могу понять, что это значит. Каковы единицы ячейки LSTM. Ввод, вывод и забыть ворота? Означает ли это «количество единиц в рецидивирующем проекционном слое для глубокого LSTM». Тогда почему это называется «количество единиц в ячейке LSTM»? Что такое ячейка LSTM и что такое разница и блока LSTM, что такое минимальная единица LSTM, если не ячейка?

Это было полезно?

Решение

Как говорят полезные комментарии в этой функции,

Определение ячейки в этом пакете отличается от определения, используемого в литературе. В литературе ячейка относится к объекту с одним скалярным выходом. Определение в этом пакете относится к горизонтальному ряду таких подразделений.

По сути, слой будет содержать несколько параллельных блоков LSTM, структурно идентичных, но каждый из которых в конечном итоге «учится запомнить» какую -то разные вещи.

Другие советы

Большинство диаграмм LSTM/RNN просто показывают скрытые клетки, но никогда не единицы этих клеток. Следовательно, путаница. Каждый скрытый слой имеет скрытые ячейки, столько же временных шагов. И, кроме того, каждая скрытая ячейка состоит из нескольких скрытых единиц, как на диаграмме ниже. Следовательно, размерность матрицы скрытого слоя в RNN (количество временных шагов, количество скрытых единиц).

enter image description here

В керасе, который находится на вершине Tensorflow или Theano, когда вы звоните model.add(LSTM(num_units)), num_units - это размерность выходного пространства (от здесь, строка 863). Для меня это значит num_units это количество скрытых подразделений, активации которых отправляются на следующий раз.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с datascience.stackexchange
scroll top