Connect with us

IA 101

¿Qué son RNNs y LSTMs en Deep Learning?

mm

Muchos de los avances más impresionantes en el procesamiento de lenguaje natural y los chatbots de IA están impulsados por Redes Neuronales Recurrentes (RNNs) y redes de Memoria de Corto Plazo Larga (LSTM). Las RNNs y LSTMs son arquitecturas de redes neuronales especiales que pueden procesar datos secuenciales, datos donde el orden cronológico es importante. Las LSTMs son esencialmente versiones mejoradas de las RNNs, capaces de interpretar secuencias de datos más largas. Veamos cómo están estructuradas las RNNs y LSTMs y cómo permiten la creación de sistemas de procesamiento de lenguaje natural sofisticados.

¿Qué son las Redes Neuronales de Feed-Forward?

Así que antes de hablar sobre cómo funcionan las Redes de Memoria de Corto Plazo Larga (LSTM) y las Redes Neuronales Convolucionales (CNN), debemos discutir el formato de una red neuronal en general.

Una red neuronal está diseñada para examinar datos y aprender patrones relevantes, para que estos patrones puedan aplicarse a otros datos y nuevos datos puedan ser clasificados. Las redes neuronales se dividen en tres secciones: una capa de entrada, una capa oculta (o varias capas ocultas) y una capa de salida.

La capa de entrada es lo que introduce los datos en la red neuronal, mientras que las capas ocultas son las que aprenden los patrones en los datos. Las capas ocultas en el conjunto de datos están conectadas a las capas de entrada y salida por “pesos” y “sesgos” que son solo suposiciones de cómo los puntos de datos están relacionados entre sí. Estos pesos se ajustan durante el entrenamiento. A medida que la red se entrena, las suposiciones del modelo sobre los datos de entrenamiento (los valores de salida) se comparan con las etiquetas de entrenamiento reales. Durante el curso del entrenamiento, la red debería (esperemos) volverse más precisa para predecir relaciones entre puntos de datos, para que pueda clasificar nuevos puntos de datos con precisión. Las redes neuronales profundas son redes que tienen más capas en el medio/más capas ocultas. Cuantas más capas ocultas y más neuronas/nodos tenga el modelo, mejor podrá reconocer patrones en los datos.

Las redes neuronales de feed-forward regulares, como las que he descrito anteriormente, a menudo se llaman “redes neuronales densas”. Estas redes neuronales densas se combinan con diferentes arquitecturas de red que se especializan en interpretar diferentes tipos de datos.

¿Qué son las RNNs (Redes Neuronales Recurrentes)?

Las Redes Neuronales Recurrentes toman el principio general de las redes neuronales de feed-forward y les permiten manejar datos secuenciales dándole al modelo una memoria interna. La parte “Recurrente” del nombre de la RNN proviene del hecho de que las entradas y salidas forman un bucle. Una vez que se produce la salida de la red, la salida se copia y se devuelve a la red como entrada. Al tomar una decisión, no solo se analizan la entrada y la salida actuales, sino que también se considera la entrada anterior. Para decirlo de otra manera, si la entrada inicial para la red es X y la salida es H, tanto H como X1 (la siguiente entrada en la secuencia de datos) se alimentan a la red para la siguiente ronda de aprendizaje. De esta manera, se conserva el contexto de los datos (las entradas anteriores) mientras la red se entrena.

El resultado de esta arquitectura es que las RNNs son capaces de manejar datos secuenciales. Sin embargo, las RNNs sufren de un par de problemas. Las RNNs sufren del problema del gradiente desvaneciente y el gradiente explosivo.

La longitud de las secuencias que una RNN puede interpretar es bastante limitada, especialmente en comparación con las LSTMs.

¿Qué son las LSTMs (Redes de Memoria de Corto Plazo Larga)?

Las Redes de Memoria de Corto Plazo Larga pueden considerarse extensiones de las RNNs, aplicando nuevamente el concepto de preservar el contexto de las entradas. Sin embargo, las LSTMs han sido modificadas de varias maneras importantes que les permiten interpretar datos pasados con métodos superiores. Las alteraciones realizadas en las LSTMs tratan el problema del gradiente desvaneciente y permiten que las LSTMs consideren secuencias de entrada mucho más largas.

Los modelos LSTMs están compuestos por tres componentes diferentes, o compuertas. Hay una compuerta de entrada, una compuerta de salida y una compuerta de olvido. Al igual que las RNNs, las LSTMs toman en cuenta las entradas del timestep anterior al modificar la memoria del modelo y los pesos de entrada. La compuerta de entrada toma decisiones sobre qué valores son importantes y deben dejarse pasar al modelo. Se utiliza una función sigmoide en la compuerta de entrada, que toma decisiones sobre qué valores pasar al recurrente. Red de cero cae el valor, mientras que 1 lo conserva. También se utiliza una función TanH aquí, que decide cuán importante es el valor de entrada para el modelo, que va desde -1 a 1.

Después de que se tienen en cuenta las entradas actuales y el estado de memoria, la compuerta de salida decide qué valores pasar al siguiente tiempo de paso. En la compuerta de salida, los valores se analizan y se les asigna una importancia que va desde -1 a 1. Esto regula los datos antes de que se lleven a la siguiente calculación de tiempo. Finalmente, el trabajo de la compuerta de olvido es descartar la información que el modelo considera innecesaria para tomar una decisión sobre la naturaleza de los valores de entrada. La compuerta de olvido utiliza una función sigmoide en los valores, que produce números entre 0 (olvidar esto) y 1 (conservar esto).

Una red neuronal LSTM está compuesta por capas LSTM especiales que pueden interpretar datos de palabras secuenciales y capas densamente conectadas como las descritas anteriormente. Una vez que los datos pasan por las capas LSTM, proceden a las capas densamente conectadas.

Bloguero y programador con especialidades en Machine Learning y Deep Learning temas. Daniel espera ayudar a otros a utilizar el poder de la IA para el bien social.