Pregunta

Del código TensorFlow: Tensorflow. Rnncell.

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

No puedo desanimar lo que significa esto. ¿Cuáles son las unidades de la celda LSTM? Entrada, salida y olvida las puertas? ¿Significa esto "número de unidades en la capa de proyección recurrente para LSTM profundo"? Entonces, ¿por qué esto se llama "número de unidades en la celda LSTM"? ¿Qué es la celda LSTM y cuál es la diferencia frente al bloque LSTM, qué es la unidad LSTM mínima si no la celda?

¿Fue útil?

Solución

Como dicen los comentarios útiles en esa función,

La definición de celda en este paquete difiere de la definición utilizada en la literatura. En la literatura, Cell se refiere a un objeto con una sola salida escalar. La definición en este paquete se refiere a una matriz horizontal de tales unidades.

En esencia, la capa contendrá múltiples unidades LSTM paralelas, estructuralmente idénticas pero cada una eventualmente "aprender a recordar" algo diferente.

Otros consejos

La mayoría de los diagramas LSTM/RNN solo muestran las células ocultas pero nunca las unidades de esas células. Por lo tanto, la confusión. Cada capa oculta tiene células ocultas, tantas como el número de pasos de tiempo. Y además, cada celda oculta está compuesta por múltiples unidades ocultas, como en el diagrama a continuación. Por lo tanto, la dimensionalidad de una matriz de capa oculta en RNN es (número de pasos de tiempo, número de unidades ocultas).

enter image description here

En Keras, que se encuentra encima de TensorFlow o Theo, cuando llamas model.add(LSTM(num_units)), num_units es la dimensionalidad del espacio de salida (desde aquí, línea 863). Para mi, eso significa num_units es el número de unidades ocultas cuyas activaciones se envían al siguiente paso de tiempo.

Licenciado bajo: CC-BY-SA con atribución
scroll top