2.2.1. Historia y actualidad
Las redes neuronales recurrentes fueron desarrolladas a lo largo de la década de 1980, una década después se desarrollaron las LSTM, en 1997 por Hochreiter y Schmidhuber [28]. Las LSTM reciben ese nombre por la enorme memoria que
2.2. Gestión del diálogo: Redes LSTM 15 presentan en un plazo de tiempo breve. Este sistema de DL además evita el problema del gradiente de fuga [29], que tanto sufren las redes neuronales recurrentes. Están compuestas por una serie de puertas recurrentes, que nos ayuda a olvidar datos que no necesitamos.
Por otro lado, pueden recordar datos importantes que ocurrieron miles de pasos antes, lo que habilita a la LSTM a aprender tareas en función de los errores que vaya acumulando. Para desarrollar y aprender su matriz de pesos, habitualmente se usa la Clasificación Temporal Conexionista (CTC) [30], con el fin de aumentar la probabilidad en la obtención de mejores resultados.
Alrededor de 2007, las LSTM empezaron a revolucionar el reconocimiento de voz, superando todos los modelos más actuales hasta la fecha, ya que funcionan increíble- mente bien en una gran variedad de problemas. Por ejemplo, en el reconocimiento de voz, modelado de lenguaje, traducción, subtítulos de imágenes, conversación, etc.
2.2.2. El problema de las dependencias a largo plazo
Las RNN tienen la capacidad de utilizar información reciente para predecir el resultado de una tarea actual. En el caso de que la información que necesitamos está muy atrás en el tiempo, en teoría las RNN son capaces de utilizar esas “dependencias a largo plazo”, sin embargo, en la práctica, no ocurre así. El problema fue estudiado por Hochreiter (1991) [31] y Bengio, et al. (1994) [32], donde se explican algunas de las posibles razones para que esto ocurra. Ilustremos este problema con un ejemplo.
Figura 2.4: Representación del problema en las largas dependencias en una RNN. [2]
Si decimos “Las nubes están en el cielo.”, es fácil para una RNN predecir la palabra cielo, en relación a nubes. Por otro lado, si decimos “Crecí en España... hablo español con fluidez.”, para deducir el idioma español necesitamos de la palabra España, pero puede estar contextualizada al principio de la conversación, en este caso, la RNN no sería capaz de deducir la palabra español.
Por suerte, este problema se reduce en las LSTM, ya que sí pueden almacenar los contextos a largo plazo.
16 Capítulo 2.
2.2.3. LSTMs RNN
Las “LSTMs Networks” son RNN, éstas forman parte de la arquitectura de las RNN. Son el tipo de celdas que compone una capa de una RNN, donde se hacen los cálculos. En esta función se utilizan una memoria (celdas) donde se tienen en cuenta el estado (contexto) anterior y el actual. En las celdas se decide que datos recordar y cuales olvidar en la memoria. Después combinan ambos estados y la información de entrada.
Todas las RNN tienen una forma de cadena con módulos de rede neuronal re- petitivos, y dentro de cada uno una sola capa tanh. Las LSTM tienen la misma estructura de cadena, pero el módulo que se repite, es diferente, no tiene solamente una capa sino cuatro, interactuando unas con otras.
Figura 2.5: Arquitectura interna de una red neuronal recurrente de tipo LSTM. [2]
Figura 2.6: Notación de la red neuronal recurrente de tipo LSTM. [2]
En la figura superior, en cada celda entra por un nodo un vector desde el nodo de salida de la celda anterior. El círculo rosa representa un operación, en los cuadros amarillos se ilustran capas de aprendizaje de redes neuronales. Respecto a las líneas, las que convergen significan concatenación y las que divergen son la copia del vector.
2.2.3.1. La idea central detrás de las LSTM
El concepto más importante en las LSTM es la memoria, en la Figura 2.5 esta representado en la linea horizontal superior. A lo largo de esa línea se transporta el estado de un nodo a otro a través de las celdas, con ligeros o ningún cambio, pudiendo agregar o eliminar información, siendo esta información regulada por unas estructuras llamadas puertas “olvidar”.
2.2. Gestión del diálogo: Redes LSTM 17 En estas puertas se permite pasar la información o se bloquea y desecha, de- pendiendo de su importancia. La puerta está formada por una capa sigmoidea, que aporta un valor entre 0 y 1, representando cuanta información dejar pasar u olvidar y una operación de multiplicación, que hace efectivo ese valor en la memoria. Las LSTM tienen tres puertas como esta en cada módulo repetitivo, para proteger y controlar el estado de la celda.
2.2.4. Variantes en las LSTM
No todas las LSTM son iguales, de hecho hay multitud de variantes, aunque solamente sean ligeras variaciones. Una buena comparación entre las más populares variantes fue estudiada por Greff, et al. (2015) [33], demostrando que son todas prácticamente iguales. Por otro lado, Jozefowicz, et al. (2015) [34] probó más de diez mil arquitecturas de RNN, encontrando algunas con un rendimiento superior a algunas LSTM en ciertas tareas. A continuación, se muestran algunas de las más populares:
2.2.4.1. Conexiones de mirilla
Una variante muy popular es la creada por Gers & Schmidhuber (2000) [35], donde se permite que las puertas de la LSTM puedan mirar el estado, es decir, como entrada a las capas de puerta se introduce también el estado de la celda. Pudiendo variar a su vez esta versión permitiendo q todas o algunas puertas tengan el estado como dato de entrada.
2.2.4.2. Puertas de entrada y olvidar
Otra variación es unir las puertas de entrada y olvidar, es decir, tomar la decisión de que estados recordar y cuáles olvidar a la vez, haciendo que solamente podamos recordar un valor si olvidamos otro.
2.2.4.3. Unidad Recurrente Cerrada (GRU)
Esta variación fue introducida por Cho, et al. (2014) [36], como en la anterior variante combina las puertas de entrada y olvidar en una sola llamada “puerta de actualización”, además une el estado de la celda, con el estado oculto y hace algunos otros cambios. El modelo final es más simple que una LSTM estándar, con lo que se ha vuelto bastante popular.
Ligeramente más dramática en el LSTM es la Unidad Recurrente Gated o GRU, introducida por Cho, et al. (2014). Combina las puertas de olvidar y de entrada en una sola “puerta de actualización”. También combina el estado de la celda y el estado oculto, y realiza algunos otros cambios. El modelo resultante es más simple que los modelos LSTM estándar, y se ha vuelto cada vez más popular.
18 Capítulo 2.
2.2.4.4. Otras variantes
Algunas otras variantes pueden ser la “profundidad cerrada” (Gated Depth) de Yao, et al. (2015) [37] o un enfoque poco tradicional de como abordar las depen- dencias a largo plazo, como se muestra en el “Aparato de relojería” (Clockwork) de Koutnik, et al. (2014) [38].
2.2.5. Futuro de las LSTMs RNN
Las LSTM fueron una revolución dentro de las RNN y se cree que el siguiente paso es la “Atención” (Attention). En este nuevo modelo la idea es permitir que cada RNN elija la información de un conjunto más grande de información. El mecanismo Atención se basa en la visión humana, cuando se mira una imagen, enfocamos cierta de la misma y el resto se percibe con la visión periférica, Atención hace básicamente esto, mostrando una alta resolución en una parte de la imagen y una baja resolución en el resto, después se ajusta el punto focal a lo largo del tiempo. Por ejemplo, en el estudio de Xu, et al. (2015) [39] se hace usa una parte concreta de una imagen, para sacar la información que se utilizará para poner título a esa misma imagen.
Otros modelos muy prometedores son el de LSTM de tipo “Cuadrícula” (Grid), desarrollado por Kalchbrenner, et al. (2015) [40].
Por último los modelos generativos son también una propuesta muy interesante en la que encaminarse, trabajos destacados son los de Gregor, et al. (2015) [41], Chung, et al. (2015) [42], o Bayer & Osendorfer (2015) [43].