Desde el código de Tensorflow : Tensorflow. RnnCell.
num_units: int, The number of units in the LSTM cell.
No puedo entender qué significa esto. ¿Cuáles son las unidades de la celda LSTM? Entrada, salida y olvidar puertas? ¿Significa esto "número de unidades en la capa de proyección recurrente para Deep LSTM". 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 del bloque VS LSTM?
neural-network
tensorflow
rnn
Brans Ds
fuente
fuente
Respuestas:
Como dicen los útiles comentarios en esa función,
En esencia, la capa contendrá múltiples unidades LSTM paralelas, estructuralmente idénticas pero cada una eventualmente "aprenderá a recordar" algo diferente.
fuente
La mayoría de los diagramas LSTM / RNN solo muestran las celdas ocultas pero nunca las unidades de esas celdas. De ahí la confusión. Cada capa oculta tiene celdas ocultas, tanto como el número de pasos de tiempo. Y además, cada celda oculta está compuesta de 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).
fuente
En Keras, que se encuentra encima de TensorFlow o Theano, cuando llamas
model.add(LSTM(num_units))
, num_units es la dimensionalidad del espacio de salida (desde aquí , línea 863). Para mí, eso significanum_units
es el número de unidades ocultas cuyas activaciones se envían al siguiente paso de tiempo.fuente
El número de unidades en un RNN es el número de unidades de memoria RNN para cada entrada de la secuencia en forma vertical unida entre sí, y cada una está pasando la información filtrada a las siguientes unidades de memoria.
Recuerde que este concepto se inspiró en el concepto de informática del flujo de asignación de memoria a diferentes unidades del tamaño de bits.
fuente