Red de conocimiento informático - Material del sitio web - Cómo utilizar capas de distribución temporal en redes de memoria a corto y largo plazo

Cómo utilizar capas de distribución temporal en redes de memoria a corto y largo plazo

Los LSTM funcionan muy bien en la capa de distribución temporal, pero son difíciles de usar y equipar, especialmente para los principiantes.

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!