¿Qué es una red neuronal recurrente (RNN)?

Las redes neuronales recurrentes (RNN) son redes neuronales de aprendizaje profundo que están entrenadas para convertir entradas secuenciales en salidas secuenciales específicas. Las redes neuronales tradicionales no son capaces de recordar datos pasados, de ahí la utilidad de las RNN.

Demostración de la IA
Cosas que hay que saber sobre las redes neuronales recurrentes
Introducción a las RNN ¿Cuáles son los diferentes tipos de redes neuronales recurrentes? ¿Cuál es la diferencia entre las redes neuronales recurrentes y las redes neuronales prealimentadas? ¿Qué variantes tiene la arquitectura de redes neuronales recurrentes? Aplicaciones de las RNN ¿Qué desafíos presentan las RNN? ¿Cuáles son las ventajas de las RNN? ¿Cómo funciona el índice RNN? Cómo implementar las RNN ServiceNow como alternativa eficaz a las redes neuronales recurrentes

Una red neuronal es un sistema computacional que se basa en la estructura del cerebro humano y se compone de neuronas artificiales. Estas redes están diseñadas para replicar los procesos de toma de decisiones del ser humano. Sin embargo, las redes neuronales tradicionales suelen procesar cada entrada de forma independiente; no tienen la capacidad de tener en cuenta la secuencia o el contexto de los datos. Por ejemplo, al procesar las palabras "manzana roja", las redes neuronales estándar no reconocerían el término "roja" como un atributo que describe la manzana y, por tanto, se perdería el vínculo contextual entre ambas palabras.

Hablamos, pues, de una limitación importante que podría impedir a las máquinas desarrollar algo similar a lo que consideramos inteligencia. Para resolver esta deficiencia, los investigadores han desarrollado las redes neuronales recurrentes (RNN). A diferencia de los modelos tradicionales, las RNN incorporan mecanismos para retener información a lo largo de períodos, por lo que pueden memorizar entradas anteriores. Esta capacidad permite a las RNN comprender secuencias y contextos dentro de los datos, lo que las hace especialmente útiles para tareas en las que el orden es crucial, como el procesamiento del lenguaje o el análisis de series temporales.

 

Expandir todo Contraer todo Introducción a las RNN

Las redes neuronales recurrentes están diseñadas como un método de toma de decisiones de IA capaz de reconocer y memorizar la secuencia en la que aparecen los datos. Se trata de una característica de vital importancia para procesar información secuencial como texto, números o datos de series temporales. A diferencia de las redes neuronales tradicionales, que tratan cada entrada de forma independiente, las RNN pueden relacionar la información anterior con las entradas actuales, por lo que la comprensión de las secuencias de datos es más precisa.

Si bien la llegada del concepto de red neuronal recurrente marcó un antes y un después, y sentó las bases para la creación de modelos de aprendizaje profundo, se está viendo reemplazado, en gran medida, por la inteligencia artificial basada en transformadores y los modelos de lenguaje de gran tamaño (LLM). Estos nuevos desarrollos son más eficientes a la hora de procesar datos secuenciales.

Presentamos Now Intelligence Descubre cómo ServiceNow® saca la IA y los análisis fuera del laboratorio para transformar la forma de trabajar de las empresas y acelerar la transformación digital. Descargar eBook
¿Cuáles son los diferentes tipos de redes neuronales recurrentes?

Las RNN se distinguen por su capacidad para procesar secuencias de datos mediante el reconocimiento de relaciones y dependencias entre elementos individuales. Aunque todas las RNN comparten esta característica de base, cada una de las siguientes categorías aborda desafíos específicos del procesamiento de datos. Estos son los cuatro tipos principales:

  • Modelo uno a uno
    La forma más sencilla de RNN es la que utiliza la arquitectura uno a uno, donde se procesa una entrada para generar una salida. Este modelo sirve de base para arquitecturas RNN más complejas.

  • Modelo uno a muchos
    En esta configuración, una sola entrada genera varias salidas. Este tipo de RNN es ideal para tareas en las que una entrada puede activar una serie de salidas relacionadas pero distintas, como generar una frase a partir de una sola palabra descriptiva o producir una melodía a partir de una nota musical.

  • Modelo muchos a uno
    El modelo de muchos a uno procesa varios puntos de datos de entrada para producir una única salida. Suele utilizarse en aplicaciones como el análisis de sentimiento, donde varias palabras (entradas) contribuyen a determinar el sentimiento general (salida) de una frase o documento.

  • Modelo muchos a muchos
    Esta última variación gestiona secuencias tanto en las entradas como en las salidas. Es adecuada para tareas como la traducción de idiomas, donde una secuencia de palabras de entrada en un idioma se convierte en una secuencia de salida en otro idioma. Este modelo también es válido en situaciones en las que las secuencias de entrada y salida tienen longitudes diferentes.

¿Cuál es la diferencia entre las redes neuronales recurrentes y las redes neuronales prealimentadas?

Las redes neuronales que no tienen nodos en bucle se denominan redes neuronales prealimentadas o feedforward. Estos tipos de redes son similares a las RNN en el sentido de que ambos modelos intentan procesar los datos de una manera similar a la humana y utilizan muchos nodos interconectados. Sin embargo, las redes neuronales prealimentadas solo transmiten información hacia delante, y el modelo no puede recordar información de entradas anteriores. Si utilizamos el ejemplo anterior, este modelo no recordaría la palabra "manzana" en el momento de procesar el término "roja".

En su lugar, en las redes neuronales prealimentadas, la información se traslada de la capa de entrada a la capa de salida, pasando también por las capas ocultas. Este tipo de modelo funciona bien para clasificar imágenes en las que la entrada y la salida son independientes. Sin embargo, estas redes son distintas a las RNN porque no pueden recordar la secuencia del modo que las redes recurrentes sí pueden hacerlo.

¿Qué variantes tiene la arquitectura de redes neuronales recurrentes?

La arquitectura de las RNN tiene tres variantes principales, cada una adaptada a partir de la estructura básica para mejorar la funcionalidad y el rendimiento en tareas específicas. Esta flexibilidad en el diseño ayuda a satisfacer las demandas únicas de varias tareas de procesamiento de secuencias de datos. Las variantes que se indican a continuación modifican la manera de procesar y presentar los datos, lo que permite aplicaciones más especializadas en diversos campos:

Redes neuronales recurrentes bidireccionales

Las redes neuronales recurrentes bidireccionales (BRNN) procesan secuencias de datos hacia delante y hacia atrás. La capa hacia delante funciona de forma muy similar a la primera capa de las RNN, pero la capa hacia atrás funciona de forma diferente para mover la información en una segunda dirección. La combinación de ambas capas aumenta la precisión de la predicción.

Memoria a corto-largo plazo

La memoria a corto-largo plazo (LSTM) es un modelo diseñado para poder conservar más memoria. Las RNN básicas solo pueden recordar la entrada inmediatamente anterior. La LSTM puede utilizar entradas de secuencias anteriores para mejorar la precisión de la predicción. Veamos este ejemplo simplificado de entrada de datos: La manzana es roja. A Ann solo le gustan las manzanas rojas. La LSTM recordará que la manzana es roja cuando procese información sobre qué tipos de manzanas son importantes en esta situación. La RNN no recordaría que la manzana es roja, porque esa información se ha introducido en una secuencia anterior.

Unidades recurrentes cerradas

Las unidades recurrentes cerradas (GRU) son una variante avanzada de las redes neuronales recurrentes estándar diseñada para abordar algunas de las limitaciones relacionadas con la retención de memoria. Las GRU incluyen "puertas", es decir, mecanismos que regulan el flujo de información. Entre estas puertas se incluyen la puerta de actualización, que determina cuánta información pasada (de pasos anteriores) se debe conservar, y la puerta de reinicio, que decide cuánta información pasada se debe olvidar. De este modo, las GRU determinan la información que conservan y la que desechan, lo que las convierte en una herramienta muy útil para tareas donde es fundamental comprender el contexto o la secuencia de eventos.

Aplicaciones de las RNN

Las RNN son muy versátiles a la hora de gestionar datos que implican secuencias, y eso las hace adecuadas para un amplio abanico de aplicaciones. Estos son algunos de los usos más habituales:

  • Modelado del lenguaje y generación de texto 
    Las RNN pueden predecir la siguiente palabra de una frase a partir de las palabras anteriores, lo que es crucial para tareas de autocompletar en motores de búsqueda o para generar texto legible automáticamente.

  • Reconocimiento de voz 
    Estas redes pueden procesar datos de audio a lo largo del tiempo, lo que las hace ideales para reconocer palabras habladas en tiempo real y convertirlas en texto, tal como sucede en los asistentes virtuales y las aplicaciones móviles de voz a texto.

  • Traducción automática 
    Los RNN pueden analizar secuencias de palabras en un idioma y traducirlas a otro, manteniendo la precisión gramatical y contextual en el proceso de traducción.

  • Reconocimiento de imágenes 
    Aunque para este tipo de tareas se suele recurrir a otros modelos, como las redes neuronales convolucionales (CNN), las RNN se pueden utilizar para analizar secuencias dentro de imágenes, como la lectura de texto manuscrito o el procesamiento secuencial de fotogramas de vídeo.

  • Previsión de serie temporal 
    Las RNN son ideales para predecir valores futuros en una serie basada en datos históricos, una aplicación útil en campos como el pronóstico del mercado bursátil, la predicción meteorológica y la previsión de la demanda en el sector minorista.

¿Qué desafíos presentan las RNN?

Las RNN conllevan algunos desafíos que contribuyen a justificar su sustitución por redes neuronales y variantes más modernas. Estos son cuatro de los mayores obstáculos en el uso de una red neuronal recurrente: 

  • Gradiente explosivo
    El gradiente se refiere a la sensibilidad de la tasa de error correspondiente a los parámetros del modelo. Si el gradiente aumenta de forma exponencial, puede volverse inestable. Cuando esto sucede, se considera un gradiente explosivo. Ese tipo de error puede ocasionar sobreajuste, un fenómeno en el que el modelo puede realizar predicciones precisas con los datos del entrenamiento, pero no con datos del mundo real.

  • Gradiente desvaneciente
    Este desafío surge cuando los valores del gradiente disminuyen hasta casi cero durante el entrenamiento, lo que ralentiza significativamente el proceso de aprendizaje, pudiendo incluso llegar a detenerlo por completo. Cuando el gradiente se desvanece, a la RNN le resulta más difícil capturar los datos de entrenamiento y aprender de ellos con eficacia, lo que a menudo suele provocar subajuste, una situación en la que el modelo no puede generalizar bien en nuevos datos.

  • Dificultad para procesar secuencias largas
    Las RNN pueden tener problemas con las secuencias largas de datos. Esta limitación se debe a que la información relevante puede diluirse en las secuencias largas, lo que dificulta la capacidad del modelo para aprender eficazmente de dichos datos.

  • Lentitud en el entrenamiento.
    Dado que la RNN procesa los datos de forma secuencial, no puede procesar grandes cantidades de información simultáneamente. Este procesamiento secuencial alarga los tiempos de entrenamiento y reduce la eficiencia de las RNN en comparación con otros modelos que pueden procesar datos en paralelo, como los transformadores.

¿Cuáles son las ventajas de las RNN?

Además de la capacidad de procesar la información secuencialmente, las redes neuronales recurrentes presentan otras ventajas:

  • Las RNN están dotadas de estructuras como las unidades de memoria a corto-largo plazo (LSTM), que les permiten recordar información durante periodos prolongados. Esta característica es vital en tareas en las que es necesario comprender el contexto pasado para realizar predicciones precisas sobre eventos futuros.

  • Las RNN se pueden combinar con redes neuronales convolucionales para mejorar su capacidad de procesamiento de datos espaciales, como imágenes y vídeos. Además de permitir a las RNN reconocer patrones a lo largo del tiempo, esta combinación también amplía su "campo de visión" en términos de datos de píxeles, lo que mejora el análisis de secuencias en entradas visuales.

  • A diferencia de muchas otras arquitecturas de redes neuronales, las RNN pueden gestionar secuencias de entrada de diferentes longitudes sin necesidad de cambiar la forma o el tamaño de la entrada. Esto hace que sean muy versátiles para aplicaciones como el reconocimiento de voz, en las que la duración de los datos de entrada puede variar significativamente.

  • Las RNN están intrínsecamente diseñadas para procesar secuencias en las que el intervalo de tiempo entre eventos es crucial. De ahí que sean especialmente útiles en aplicaciones en las que la secuencia y la cronología de los puntos de datos históricos son fundamentales para predecir el futuro, como la predicción del precio de las acciones, la composición musical u otros análisis donde el factor tiempo es importante.

¿Cómo funciona el índice RNN?

Como hemos comentado, las RNN están compuestas de neuronas artificiales diseñadas para imitar la toma de decisiones del ser humano. Estas neuronas artificiales son nodos de procesamiento de datos que actúan conjuntamente para realizar tareas complejas. Las neuronas están organizadas en varias capas principales: entrada, salida y capas ocultas. La capa de entrada recibe la información que se va a procesar, y la de salida proporciona el resultado. El procesamiento de datos, el análisis y la predicción se producen en la capa oculta.

Capa oculta

En una RNN, los datos secuenciales recibidos atraviesan las capas ocultas paso a paso. Sin embargo, la capa oculta contiene un flujo de trabajo recurrente o una característica de bucle de retroalimentación. La capa oculta puede recordar entradas anteriores en la memoria a corto plazo y utilizarlas para predicciones futuras. La entrada actual se guardará en la memoria para hacer una predicción en la próxima secuencia.

Veamos, por ejemplo, esta secuencia: La lluvia moja. Los usuarios quieren que una RNN prediga la idea "moja" cuando reciba la entrada "lluvia". La capa oculta procesaría y almacenaría la idea de lluvia. Una copia se almacena en su memoria. Entonces, cuando recibe "moja", puede recuperar la idea de "lluvia" de su memoria y crear una secuencia completa. Esa información se puede utilizar para mejorar la precisión. Esta función es lo que hace que las RNN sean útiles en el reconocimiento de voz, la traducción y otras tareas de modelado del lenguaje.

Eliminar costes innecesarios

Para entrenar a las redes neuronales como las RNN, los ingenieros de aprendizaje automático suelen alimentar el modelo con datos de entrenamiento para, después, refinar el rendimiento. A las neuronas de los modelos neuronales se les asignan "pesos" que indican la influencia que tiene la información aprendida durante el entrenamiento al predecir el resultado. Inicialmente, cada capa de la RNN tiene el mismo peso.

A medida que el modelo aprende, los ingenieros ajustan los pesos para determinar la precisión de la predicción. Para ello, utilizan una técnica denominada retropropagación en el tiempo (BPTT) para calcular el error del modelo y ajustar su peso en consecuencia. Esto permite a los ingenieros averiguar qué estado oculto de la secuencia está causando un error significativo y reajustar el peso para reducir el margen de error.

Cómo implementar las RNN

Para desarrollar la red neuronal recurrente, los ingenieros de aprendizaje automático pueden usar el lenguaje de codificación que prefieran, como Python. Independientemente de la forma específica en que decidan hacerlo, estos son los pasos generales que suelen seguirse para implementar una RNN:

  • Crear la capa de entrada
    El primer paso consiste en crear una capa que pueda recopilar datos de entrada. Esta capa está formada por neuronas artificiales.

  • Crear estados ocultos
    Los modelos de RNN pueden tener varias capas ocultas que realizan el trabajo de procesamiento de la red neuronal. Estas capas también están formadas por neuronas artificiales interconectadas. Esta composición ayuda a imitar la capacidad humana de predicción y hace posible la secuenciación.

  • Crear la capa de salida
    Esta última capa predice los resultados. Algunos modelos también pueden contener más capas posteriores.

  • Entrenamiento con pesos
    Los parámetros exactos y los márgenes de error se crean una vez que los ingenieros ya han entrenado al modelo con datos. Ajustar los pesos con precisión y evitar que aparezcan gradientes explosivos o desvanecientes puede ser una tarea lenta.

Precios de ServiceNow ServiceNow ofrece paquetes de productos competitivos que se adaptan a medida que tu empresa crece y tus necesidades cambian. Ver precios
ServiceNow como alternativa eficaz a las redes neuronales recurrentes

Las redes neuronales recurrentes han sentado una base sólida para el procesamiento secuencial de datos. Sin embargo, sus limitaciones han llevado a muchas empresas a recurrir a modelos más novedosos y avanzados, así como a la inteligencia artificial, para cubrir sus necesidades. Por ello, Now Platform® de ServiceNow utiliza el aprendizaje automático avanzado y la IA generativa, que incluyen marcos de trabajo de aprendizaje automático, interpretación del lenguaje natural, búsqueda y automatización, análisis y extracción de procesos. En otras palabras, tecnologías de IA innovadoras y de vanguardia que funcionan conjuntamente para hacer crecer tu negocio.

Prueba hoy mismo la demostración de ServiceNow y descubre cómo las nuevas soluciones de redes neuronales pueden ayudarte en tu camino hacia el éxito.

Profundiza en la IA generativa Acelera la productividad con Now Assist: IA generativa integrada en Now Platform. Explorar la IA Contactar
Recursos Artículos ¿Qué es la IA? ¿Qué es la IA generativa? ¿Qué es un LLM? Informes de analistas IDC InfoBrief: Maximiza el valor de la IA con una plataforma digital IA generativa en las operaciones de TI Implementación de la IA generativa en el sector de las telecomunicaciones Fichas técnicas Búsqueda IA Predice y evita interrupciones con AIOps predictivos de ServiceNow® eBooks Moderniza los servicios y las operaciones de TI con la IA IA generativa: ¿es tan grande como parece? Aumenta la productividad empresarial con la IA generativa White papers Índice de madurez de la IA empresarial IA generativa para telecomunicaciones