talón ¿Qué son los RNN y los LSTM en Deep Learning? - Unite.AI
Contáctanos
Clase magistral de IA:

AI 101

¿Qué son los RNN y los LSTM en Deep Learning?

mm
Actualizado on

Muchos de los avances más impresionantes en el procesamiento del lenguaje natural y los chatbots de IA están impulsados ​​por Redes neuronales recurrentes (RNN) y redes de memoria a largo plazo (LSTM). RNN y LSTM son arquitecturas de redes neuronales especiales que pueden procesar datos secuenciales, datos donde el orden cronológico es importante. Los LSTM son versiones esencialmente mejoradas de RNN, capaz de interpretar secuencias de datos más largas. Echemos un vistazo a cómo se estructuran RNN y LSTMS y cómo permiten la creación de sistemas sofisticados de procesamiento de lenguaje natural.

¿Qué son las Redes Neuronales Feed-Forward?

Entonces, antes de hablar sobre cómo funcionan la memoria a corto plazo (LSTM) y las redes neuronales convolucionales (CNN), debemos analizar el formato de una red neuronal en general.

Una red neuronal está destinada a examinar datos y aprender patrones relevantes, de modo que estos patrones se puedan aplicar a otros datos y se puedan clasificar nuevos datos. 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 toma 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 se relacionan los puntos de datos entre sí. Estos pesos se ajustan durante el entrenamiento. A medida que la red se entrena, las conjeturas 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 (con suerte) volverse más precisa en la predicción de las relaciones entre los puntos de datos, para que pueda clasificar con precisión nuevos puntos de datos. 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 regulares de avance, como las que he descrito anteriormente, a menudo se denominan "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 RNN (redes neuronales recurrentes)?

Las redes neuronales recurrentes toman el principio general de las redes neuronales de avance y les permiten manejar datos secuenciales por dándole al modelo una memoria interna. La parte "recurrente" del nombre RNN proviene del hecho de que la entrada y las salidas se repiten. 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 sólo se analizan las entradas y salidas actuales, sino que también se consideran las entradas anteriores. Para decirlo de otra manera, si la entrada inicial de la red es X y la salida es H, tanto H como X1 (la siguiente entrada en la secuencia de datos) se introducen en la red para la siguiente ronda de aprendizaje. De esta manera, el contexto de los datos (las entradas anteriores) se preserva a medida que la red se entrena.

El resultado de esta arquitectura es que los RNN son capaces de manejar datos secuenciales. Sin embargo, los RNN sufren un par de problemas. RNN sufren de la problemas de gradiente de fuga y gradiente de explosión.

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

¿Qué son las LSTM (redes de memoria a largo plazo y corto plazo)?

Las redes de memoria a largo y corto plazo pueden considerarse extensiones de las RNN, aplicando una vez más el concepto de preservar el contexto de las entradas. Sin embargo, los LSTM se han modificado de varias formas importantes que les permiten interpretar datos anteriores con métodos superiores. Las alteraciones realizadas en los LSTM abordan el problema del gradiente de fuga y permiten que los LSTM consideren secuencias de entrada mucho más largas.

Los modelos LSTM se componen de tres componentes diferentes, o puertas. Hay un puerta de entrada, una puerta de salida y una puerta de olvido. Al igual que los RNN, los LSTM tienen en cuenta las entradas del paso de tiempo anterior al modificar la memoria del modelo y los pesos de entrada. La puerta de entrada toma decisiones sobre qué valores son importantes y deben dejarse pasar por el modelo. Se utiliza una función sigmoidea en la puerta de entrada, que determina qué valores transmitir a través de la red recurrente. El cero reduce el valor, mientras que el 1 lo conserva. Aquí también se usa una función TanH, que decide qué tan importantes son los valores de entrada para el modelo, que van de -1 a 1.

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

Una red neuronal LSTM está hecha de capas LSTM especiales que pueden interpretar datos de palabras secuenciales y densamente conectadas como las descritas anteriormente. Una vez que los datos se mueven a través de las capas LSTM, pasan a las capas densamente conectadas.