Supongamos que estoy alimentando una matriz 2D de forma (99,13) como entrada a una capa LSTM. Tengo un número n de archivos, donde cada uno contiene (99,13) vectores de tamaño. He decidido considerar 13 como la cantidad de funciones y 99 como los pasos de tiempo.
(Mientras implementaba con Keras, agregué la capa LSTM como la primera capa. Y configuré el output_dim de la capa como 100)
Pero no puedo entender cómo funcionan realmente las cosas dentro de la red cuando proporcionamos una entrada como la anterior. Tengo las siguientes preguntas, que no puedo responder.
- ¿Qué tipo de valores proporcionamos como entrada a las celdas LSTM? ( xt , ht-1 utilizado como entradas a la celda son siempre vectores? En mi caso, xt tiene la forma de [1,13]?)
- Cuando decimos que tenemos una capa LSTM como la primera capa del modo l, ¿alimenta el primer vector de entrada a todas las celdas de la capa dada? (Por ejemplo: ¿alimentar el primer fotograma de tamaño 13 (de 99 fotogramas) a todas las n celdas LSTM en la primera capa?) De igual manera, ¿sigue alimentando todas las filas de la matriz de entrada en cada paso de tiempo?
- ¿Qué tipo de valor genera una celda LSTM en cada paso de tiempo ? (¿Consideramos el estado de la celda como la salida correcta del nodo? ¿Es un valor único o un vector? Si es un vector, ¿cuáles son las dimensiones? ¿Hay alguna forma de adivinar las dimensiones? He asumido que ht como vector)
- ¿Qué se entiende por output_dim (dimensión de salida) de una capa dada? ¿Siempre tiene que ser el número de nodos en la siguiente capa?
No ponga esto en espera ni lo dirija a ningún otro grupo. Creo que estas preguntas están relacionadas con el aprendizaje automático y el rnn. He leído trabajos de investigación, pero no he podido tener una idea clara de cómo funcionan realmente las cosas dentro de la red LSTM.
fuente