Muchos de los avances más impresionantes en el procesamiento del lenguaje natural y los chatbots de IA están impulsados por las redes neuronales recurrentes (RNN) y las redes de memoria a corto plazo (LSTM). Las RNN y las LSTM son arquitecturas especiales de redes neuronales capaces de procesar datos secuenciales, datos en los que importa el orden cronológico.
Las LSTM son esencialmente versiones mejoradas de las RNN, capaces de interpretar secuencias de datos más largas. Veamos cómo se estructuran las RNN y las LSTM y cómo permiten crear sofisticados sistemas de procesamiento del lenguaje natural.
¿Qué son las redes neuronales?
Antes de hablar de cómo funcionan las redes neuronales de memoria a corto plazo (LSTM) y las redes neuronales convolucionales (CNN), debemos hablar del formato de una red neuronal en general.
Una red neuronal tiene como objetivo examinar datos y aprender patrones relevantes, de modo que estos patrones puedan aplicarse a otros datos y se puedan clasificar los nuevos datos. Las redes neuronales se dividen en tres secciones: una capa de entrada, una capa oculta (o múltiples capas ocultas) y una capa de salida.
La capa de entrada es la que recibe los datos en la red neuronal, mientras que las capas ocultas son las que aprenden los patrones de los datos. Las capas ocultas del conjunto de datos están conectadas a las capas de entrada y de salida por medio de "pesos" y "sesgos", que no son más que 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 suposiciones del modelo sobre los datos de entrenamiento (los valores de salida) se comparan con las etiquetas de entrenamiento reales. A lo largo del entrenamiento, la red debería (con suerte) ser más precisa a la hora de predecir las relaciones entre los puntos de datos, de modo 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 tipo feed-forward, como las que he descrito anteriormente, suelen llamarse "redes neuronales densas". Estas redes neuronales densas se combinan con diferentes arquitecturas de red que se especializan en la interpretación de diferentes tipos de datos.
¿Qué son las RNN (redes neuronales recurrentes)?
Las redes neuronales recurrentes toman el principio general de las redes neuronales feed-forward y las capacitan para manejar datos secuenciales dotando al modelo de una memoria interna. La parte "Recurrente" del nombre RNN proviene del hecho de que la entrada y la salida se repiten. Una vez que se produce la salida de la red, ésta se copia y se devuelve a la red como entrada.
Al tomar una decisión, no sólo se analizan la entrada y la salida actuales, sino que también se tiene en cuenta la entrada anterior. Dicho de otro modo, 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 este modo, el contexto de los datos (las entradas anteriores) se mantiene mientras la red se entrena.
El resultado de esta arquitectura es que las redes neuronales recurrentes son capaces de manejar datos secuenciales. Sin embargo, las RNN sufren un par de problemas. Las redes neuronales recurrentes padecen los problemas de gradiente desvanecido y gradiente explosivo.
La longitud de las secuencias que una rede neuronal recurrente puede interpretar es bastante limitada, especialmente en comparación con las LSTM.
¿Qué son las LSTM (redes de memoria a corto plazo)?
Las redes de memoria a largo plazo pueden considerarse extensiones de las RNN, aplicando una vez más el concepto de preservación del contexto de las entradas. Sin embargo, las LSTM han sido modificadas de varias formas importantes que les permiten interpretar datos pasados con métodos superiores. Las modificaciones introducidas en las LSTM se ocupan del problema del gradiente evanescente y permiten a las redes de memoria a corto plazo considerar secuencias de entrada mucho más largas.
Los modelos LSTM están formados por tres componentes diferentes, o puertas. Hay una puerta de entrada, una puerta de salida y una puerta de olvido. Al igual que las redes neuronales recurrentes, las redes de memoria a corto plazo tienen en cuenta las entradas del paso de tiempo anterior cuando modifican la memoria del modelo y los pesos de entrada. La puerta de entrada toma decisiones sobre qué valores son importantes y deben pasar por el modelo.
En la puerta de entrada se utiliza una función sigmoidea que determina qué valores deben pasar por la red recurrente. El cero elimina el valor, mientras que el 1 lo conserva. Aquí también se utiliza una función TanH, que decide la importancia de los valores de entrada para el modelo, y que va de -1 a 1.
Después de que las entradas actuales y el estado de la memoria se contabilizan, la puerta de salida decide qué valores se empujan al siguiente paso de tiempo. En la puerta de salida, se analizan los valores y se les asigna una importancia que va de -1 a 1.
Esto regula los datos antes de pasar al siguiente cálculo del paso temporal. Por último, la función de la puerta de olvido es eliminar la información que el modelo considera innecesaria para tomar una decisión sobre la naturaleza de los valores de entrada.
Una red neuronal LSTM se compone tanto de capas LSTM especiales que pueden interpretar datos de palabras secuenciales como de las densamente conectadas como las descritas anteriormente. Una vez que los datos atraviesan las capas LSTM, pasan a las capas densamente conectadas.
No te pierdas los últimos artículos:
Web Scraping con Python y BeautifulSoup para Principiantes
Leer Más
Curso de Python Básico Gratis
Leer Más
Sistemas Expertos: ¿Qué son y para qué sirven?
Leer Más
La Historia de la Inteligencia Artificial contada en Años
Leer Más
¿Qué es el meta-aprendizaje?
Leer Más