Las redes neuronales recurrentes o RNN (Recurrent Neural Networks) son algoritmos que sirven para datos secuenciales muy utilizados en Natural Language Processing (NLP).
Se trata de algoritmos que tienen la capacidad de recordar sus entradas, debido a la memoria interna que poseen, lo que hace que se conviertan en una excelente opción en la solución de problemas de aprendizaje automático que involucren datos secuenciales.
Algunos aspectos generales
En las redes neuronales recurrentes se comparten los parámetros en todas las capas que realizan la misma tarea con diferentes entradas, lo que permite reducir el número de parámetros a aprender. Esto es una gran ventaja de cara a hacer el aprendizaje, dado que reduce un poco la complejidad, y de cara a optimizar los parámetros que se necesitan para la red que estemos construyendo. Al final solo habrá que optimizar la capa de embedding y el número de neuronas que tengamos en nuestra capa de redes neuronales recurrentes.
Para usar una red neuronal recurrente es imprescindible preprocesar el texto en una forma que sea entendible para la red neuronal de texto. ¿Cómo puede ser entendible para una red neuronal? En este caso podemos usar tokenización con one hot encoding o word embeddings.
¿Cómo funciona el desenrollado de redes neuronales recurrentes?
Aquí vemos un poco el ciclo iterativo de cómo se va generando todo el proceso de aprendizaje y cómo se propaga. Vemos que todos los input los va recibiendo uno a uno y se van propagando los pesos a lo largo del tiempo. De esta forma, lo que estamos logrando es que se transmita el contexto de neurona a neurona hasta que llegamos al final y podemos generar la predicción total.
Veamos una ejemplificación de un caso práctico:
Si lo vemos en palabras, tendremos la frase total, que dice “Delightful place to have dinner”. Vemos que la primera neurona, es decir, en “Delifhgtful”, es la que tiene más peso, porque es la primera palabra que el algoritmo ha visto. Observamos también que va pasando el contexto a lo largo de las neuronas, todo el contenido de la frase de neurona a neurona.
Funcionamiento de la neurona n + 1
La neurona n + 1 funciona del siguiente modo: recibe los pesos del anterior y calcula los suyos propios, para luego hacer una operación con una función de activación, cuyo resultado, es decir, la combinación de ambas, será lo que pase a la siguiente neurona. Se va haciendo una suma de pesos a lo largo de las neuronas. La salida que da es, por tanto, el resultado de todos los pesos, sumado al peso que dé en la neurona anterior. Esto sucede porque es unidireccional.
El que vemos es el esquema un poco más simple de una RNN.
Tipos de redes neuronales recurrentes
Many to many (equal input – output)
- Tenemos n entradas y n salidas.
- Cada neurona va a procesar su entrada y va a generar una proyección para esa entrada.
- Aquí se hace una propagación de las activaciones por toda la red antes de generar una predicción por capa.
- Muy útil para NLG (Natural Language Generation).
One to many
- En cada propagación por una capa genera una predicción y su activación se pasa a la siguiente.
- Muy útil para NLG (Natural Language Generation).
Many to one
- Propagación de las activaciones por toda la red antes de generar una única predicción.
- Útil para análisis de sentimiento.
Many to many (unequal input – ouput)
- Propagación de las activaciones por toda la red antes de generar una predicción por capa de salida.
- Número diferente de salidas al de entradas o viceversa.
- Útil para generación de traductores de idioma.
¿Quieres seguir avanzando?
Ahora que hemos visto qué son y cómo funcionan las redes neuronales recurrentes, podemos dar el siguiente paso en nuestro proceso formativo y continuar aprendiendo.
Para acceder a las opciones laborales del Big Data, una de las áreas en el mundo de la industria tech mejor pagadas y con más demanda, tenemos para ti el Big Data, Inteligencia Artificial & Machine Learning Full Stack Bootcamp. Con esta formación de alta calidad adquirirás los conocimientos imprescindibles para conseguir el trabajo de tus sueños en pocos meses. ¡No esperes más para impulsar tu futuro y solicita información ahora!