Cómo utilizar capas de distribución temporal en redes de memoria a corto y largo plazo
Otra dificultad es la capa de distribución de tiempo (anteriormente capa de distribución de tiempo), que se describe como un contenedor de capas:
Este paquete debe estar en capas para cada entrada de segmento de tiempo.
¿Cómo y cuándo debo usar este paquete en LSTM?
Cuando busque discusiones sobre capas contenedoras en Keras Github y StackOverflow, encontrará que es cada vez más confuso y complejo.
Por ejemplo, en respuesta a la pregunta de cuándo y cómo usar timedistributedDense (/fchollet (Keras/issues/1029)), fchollet (el autor de Keras) explicó:
TimeDistributedDense es útil para Cada distancia temporal del tensor 3D utiliza la misma operación densa (completamente conectada).
Esta respuesta tiene sentido cuando ya sabes qué es TimeDistributed y cuándo usarlo, pero no es de mucha ayuda para los novatos.
El propósito de este tutorial es resolver la confusión del uso de la capa TimeDistributed en LSTM y utilizar ejemplos prácticos para ayudar a los lectores a comprender.
En términos de problemas de secuencia, se utiliza un problema de ataque simple para explicar la capa de distribución del tiempo. Suponga que la secuencia de entrada es [0.0, 0.2, 0.4, 0.6, 0.8], ingrese uno a la vez y genere un resultado a la vez. Se puede considerar como aprender un programa simple y complejo. Cuando la entrada es 0,0, se espera que la salida sea 0,0 y se repita para cada factor de la secuencia.
El código que genera esta matriz es el siguiente:
Al ejecutar este código se obtendrá la siguiente secuencia:
[ 0.0.2 0.4 0.6 0.8]
¡Espero que pueda ayudarte y espero que lo adoptes!