Celda GRU
La celda GRU, Unidad recurrente cerrada (o Gated Recurrent Unit), es una versión simplificada de la celda LSTM y parece funcionar igual de bien. Estas son las principales simplificaciones:
Ambos vectores de estado se fusionan en un solo vector
Un controlador de puerta única
No hay puerta de salida; el vector de estado completo se muestra en cada paso de tiempo. Sin embargo, hay un nuevo controlador de puerta
Las siguientes ecuaciones resumen cómo calcular el estado de la celda en cada paso de tiempo para una sola instancia.
Las celdas LSTM y GRU son una de las principales razones del éxito de las RNN. Sin embargo, si bien pueden abordar secuencias mucho más largas que las RNN simples, aún tienen una memoria a corto plazo bastante limitada y les resulta difícil aprender patrones a largo plazo en secuencias de 100 pasos de tiempo o más, como muestras de audio, series temporales largas u oraciones largas. Una forma de resolver esto es acortar las secuencias de entrada, por ejemplo, utilizando capas convolucionales 1D.
Capas convolucionales 1D para secuencias
Una capa convolucional 2D funciona deslizando varios núcleos (kernel) bastante pequeños (o filtros) a lo largo de una imagen, lo que produce múltiples mapas de características 2D (uno por núcleo). De manera similar, una capa convolucional 1D desliza varios núcleos a lo largo de una secuencia, lo que produce un mapa de características 1D por núcleo. Cada núcleo aprenderá a detectar un único patrón secuencial muy corto (no más largo que el tamaño del núcleo). Si utiliza 10 núcleos, la salida de la capa estará compuesta por 10 secuencias unidimensionales (todas de la misma longitud) o, de manera equivalente, puede ver esta salida como una única secuencia de 10 dimensiones. Esto significa que puede construir una red neuronal compuesta por una mezcla de capas recurrentes y capas convolucionales 1D (o incluso capas de agrupamiento 1D). Si utiliza una capa convolucional 1D con un paso de 1 y el "mismo" relleno (padding), la secuencia de salida tendrá la misma longitud que la secuencia de entrada. Pero si utiliza un relleno "válido" o un paso mayor que 1, entonces la secuencia de salida será más corta que la secuencia de entrada, así que asegúrese de ajustar los objetivos en consecuencia.