¿Qué son las RNN?

Una red neuronal recurrente (RNN) es un modelo de aprendizaje profundo que está entrenado para procesar y convertir una entrada de datos secuencial en una salida de datos secuencial específica. Los datos secuenciales son datos, como palabras, oraciones o datos de serie temporal, en los que los componentes secuenciales se interaccionan en función de reglas semánticas y sintácticas complejas. Una RNN es un sistema de software que consta de muchos componentes interconectados que imitan la forma en que los humanos realizan conversiones de datos secuenciales, como la traducción de texto de un idioma a otro. Las RNN están siendo reemplazadas en gran medida por la inteligencia artificial (IA) basada en transformadores y modelos de lenguaje de gran tamaño (LLM), que son mucho más eficientes en el procesamiento secuencial de datos.

Obtenga más información sobre las redes neuronales

Obtenga más información sobre el aprendizaje profundo

Obtenga más información sobre los transformadores en inteligencia artificial

Obtenga más información sobre los modelos de lenguaje de gran tamaño

¿Cómo funciona una red neuronal recurrente?

La siguiente imagen muestra un diagrama de una RNN.

Las RNN están formadas por neuronas: nodos de procesamiento de datos que trabajan juntos para realizar tareas complejas. Las neuronas se organizan en capas de entrada, salida y ocultas. La capa de entrada recibe la información para procesar y la capa de salida proporciona el resultado. El procesamiento, el análisis y la predicción de los datos se llevan a cabo en la capa oculta. 

Capa oculta

Las RNN funcionan pasando los datos secuenciales que reciben a las capas ocultas paso a paso. Sin embargo, también tienen un flujo de trabajo recurrente o en bucle automático: la capa oculta puede recordar y utilizar las entradas anteriores para realizar predicciones futuras en un componente de memoria a corto plazo. Utiliza la entrada actual y la memoria almacenada para predecir la siguiente secuencia. 

Por ejemplo, consideremos la secuencia: La manzana es roja. Quiere que la RNN prediga roja cuando reciba la secuencia de entrada que es la manzana es. Cuando la capa oculta procesa la palabra manzana, guarda una copia en su memoria. Luego, cuando ve la palabra es, recuerda manzana de su memoria y entiende la secuencia completa: la manzana es para el contexto. A continuación, puede predecir roja para mejorar la precisión. Esto hace que las RNN sean útiles en el reconocimiento de voz, la traducción automática y otras tareas de modelado de idiomas.

Más información sobre la traducción automática

Capacitación

Los ingenieros de machine learning (ML) entrenan redes neuronales profundas, como las RNN, mediante la alimentación del modelo con datos de entrenamiento y el refinamiento de su rendimiento. En ML, los pesos de las neuronas son señales para determinar qué tan influyente es la información aprendida durante el entrenamiento a la hora de predecir el resultado. Cada capa de una RNN comparte el mismo peso. 

Los ingenieros de ML ajustan los pesos para mejorar la precisión de las predicciones. Utilizan una técnica llamada retropropagación en el tiempo (BPTT) para calcular el error del modelo y ajustar su peso en consecuencia. La BPTT revierte la salida al paso de tiempo anterior y recalcula la tasa de error. De esta manera, puede identificar qué estado oculto de la secuencia está causando un error significativo y reajustar el peso para reducir el margen de error.

Obtenga más información sobre el machine learning

¿Cuáles son los tipos de redes neuronales recurrentes?

Las RNN se suelen caracterizar por una arquitectura uno a uno: una secuencia de entrada está asociada a una salida. Sin embargo, puede ajustarlas de manera flexible en varias configuraciones para fines específicos. Los siguientes son varios tipos de RNN comunes.

De una a varias

Este tipo de RNN canaliza una entrada a varias salidas. Permite aplicaciones lingüísticas, como la subtitulación de imágenes, al generar una oración a partir de una sola palabra clave.

De varias a varias

El modelo usa múltiples entradas para predecir múltiples salidas. Por ejemplo, puede crear un traductor de idiomas con una RNN que analice una oración y estructure correctamente las palabras en un idioma diferente. 

De varias a una

Se asignan varias entradas a una salida. Esto resulta útil en aplicaciones como el análisis de opiniones, en las que el modelo predice las opiniones positivas, negativas y neutrales de los clientes a partir de los testimonios de entrada.

¿Cómo se comparan las redes neuronales recurrentes con otras redes de aprendizaje profundo?

Las RNN son una de las varias arquitecturas de redes neuronales diferentes.

Red neuronal recurrente en comparación con red neuronal de prealimentación

Al igual que las RNN, las redes neuronales de prealimentación son redes neuronales artificiales que transmiten información de un extremo al otro de la arquitectura. Una red neuronal de prealimentación puede realizar tareas sencillas de clasificación, regresión o reconocimiento, pero no puede recordar la entrada anterior que ha procesado. Por ejemplo, se olvida de manzana cuando su neurona procesa la palabra es. La RNN supera esta limitación de memoria al incluir un estado de memoria oculto en la neurona.

Red neuronal recurrente en comparación con redes neuronales convolucionales

Las redes neuronales convolucionales son redes neuronales artificiales diseñadas para procesar datos temporales. Puede utilizar redes neuronales convolucionales para extraer información espacial de vídeos e imágenes pasándolos a través de una serie de capas convolucionales y agrupadas en la red neuronal. Las RNN están diseñadas para capturar dependencias a largo plazo en datos secuenciales

¿Cuáles son algunas variantes de la arquitectura de redes neuronales recurrentes?

La arquitectura RNN sentó las bases para que los modelos de ML tuvieran capacidades de procesamiento del lenguaje. Han surgido muchas variantes que comparten su principio de retención de memoria y mejoran su funcionalidad original. A continuación se muestran algunos ejemplos.

Redes neuronales recurrentes bidireccionales

Una red neuronal recurrente bidireccional (BRNN) procesa secuencias de datos con capas de nodos ocultos hacia adelante y hacia atrás. La capa hacia adelante funciona de manera similar a la RNN, que almacena la entrada anterior en estado oculto y la usa para predecir la salida posterior. Mientras tanto, la capa anterior funciona en la dirección opuesta al tomar tanto la entrada actual como el estado oculto futuro para actualizar el estado oculto actual. La combinación de ambas capas permite a la BRNN mejorar la precisión de la predicción al tener en cuenta los contextos pasados y futuros. Por ejemplo, puede usar la BRNN para predecir la palabra árboles en la oración los manzanos son altos

Memoria a corto plazo largo

La memoria a corto plazo largo(LSTM) es una variante de RNN que permite al modelo ampliar su capacidad de memoria para adaptarse a una línea de tiempo más larga. Una RNN solo puede recordar la entrada pasada inmediata. No puede usar entradas de varias secuencias anteriores para mejorar su predicción. 

Considere las siguientes oraciones: Tom es un gato. La comida favorita de Tom es el pescado. Cuando usa una RNN, el modelo no puede recordar que Tom es un gato. Puede generar varios alimentos cuando predice la última palabra. Las redes LSTM agregan un bloque de memoria especial llamado celdas en la capa oculta. Cada celda está controlada por una puerta de entrada, una puerta de salida y una puerta de olvido, lo que permite a la capa recordar información útil. Por ejemplo, la celda recuerda las palabras Tom y gato, lo que permite al modelo predecir la palabra pescado

Unidades recurrentes cerradas

Una unidad recurrente cerrada (GRU) es una RNN que permite la retención selectiva de la memoria. El modelo agrega una actualización y olvida la puerta a su capa oculta, que puede almacenar o eliminar información de la memoria. 

¿Cuáles son las limitaciones de las redes neuronales recurrentes?

Desde la introducción de la RNN, los ingenieros de ML han logrado avances significativos en las aplicaciones de procesamiento de lenguaje natural (NLP) con RNN y sus variantes. Sin embargo, la familia de modelos de RNN tiene varias limitaciones.

Obtenga más información sobre el procesamiento de lenguaje natural

Gradiente en aumento

Una RNN puede predecir de manera errónea la salida en el entrenamiento inicial. Se necesitan varias iteraciones para ajustar los parámetros del modelo y reducir la tasa de errores. Puede describir la sensibilidad de la tasa de error correspondiente al parámetro del modelo como un gradiente. Puede imaginar un gradiente como una pendiente que toma para descender de una colina. Un gradiente más pronunciado permite que el modelo aprenda más rápido y un gradiente poco profundo reduce la velocidad de aprendizaje.

Un gradiente explosivo ocurre cuando el gradiente aumenta exponencialmente hasta que la RNN se vuelve inestable. Cuando los gradientes se vuelven infinitamente grandes, la RNN se comporta de forma errática, lo que provoca problemas de rendimiento, como el sobreajuste. El sobreajuste es un fenómeno en el que el modelo puede predecir con precisión con datos de entrenamiento, pero no puede hacer lo mismo con datos reales. 

Gradiente que se desvanece

El problema del gradiente que desvanece es una condición en la que el gradiente del modelo se acerca a cero durante el entrenamiento. Cuando el gradiente se desvanece, la RNN no aprende eficazmente de los datos de entrenamiento, lo que resulta en un ajuste insuficiente. Un modelo no apto no puede funcionar bien en aplicaciones de la vida real porque sus pesos no se ajustaron adecuadamente. Las RNN corren el riesgo de desaparecer y aumentar los problemas de gradiente cuando procesan secuencias de datos largas. 

Tiempo lento de entrenamiento

Una RNN procesa los datos de forma secuencial, lo que limita su capacidad de procesar una gran cantidad de textos de manera eficiente. Por ejemplo, un modelo de RNN puede analizar la opinión de un comprador a partir de un par de oraciones. Sin embargo, se requiere una enorme potencia informática, espacio de memoria y tiempo para resumir una página de un ensayo. 

¿Cómo superan los transformadores las limitaciones de las redes neuronales recurrentes?

Los transformadores son modelos de aprendizaje profundo que utilizan mecanismos de autoatención en una red neuronal de retroalimentación codificadora-decodificadora. Pueden procesar datos secuenciales de la misma manera que lo hacen las RNN. 

Autoatención

Los transformadores no utilizan estados ocultos para capturar las interdependencias de las secuencias de datos. En su lugar, utilizan un cabezal de atención propia para procesar secuencias de datos en paralelo. Esto permite a los transformadores entrenar y procesar secuencias más largas en menos tiempo que una RNN. Con el mecanismo de autoatención, los transformadores superan las limitaciones de memoria y las interdependencias de secuencia a las que se enfrentan las RNN. Los transformadores pueden procesar secuencias de datos en paralelo y utilizar la codificación posicional para recordar cómo se relaciona cada entrada con las demás. 

Paralelismo

Los transformadores resuelven los problemas de gradiente a los que se enfrentan las RNN al permitir el paralelismo durante el entrenamiento. Al procesar todas las secuencias de entrada en simultáneo, un transformador no está sujeto a restricciones de retropropagación porque los gradientes pueden fluir libremente a todos los pesos. También están optimizados para la computación paralela, que ofrecen las unidades de procesamiento gráfico (GPU) para los avances de la IA generativa. El paralelismo le permite a los transformadores escalar de manera masiva y gestionar tareas complejas de NLP mediante la creación de modelos más grandes. 

¿Cómo puede AWS cumplir sus requisitos de RNN?

La IA generativa en Amazon Web Services (AWS) brinda servicios, herramientas y recursos que puede utilizar para crear, administrar y escalar aplicaciones de IA tradicionales con tecnología avanzada basada en transformadores. Por ejemplo:

  • Amazon SageMaker es un servicio totalmente administrado para preparar datos y crear, entrenar e implementar modelos de ML para cualquier caso de uso. Cuenta con una infraestructura, herramientas y flujos de trabajo totalmente administrados.
  • Amazon Bedrock simplifica el desarrollo de la IA generativa al permitir la personalización y el despliegue de modelos fundacionales (FM) líderes del sector, de forma segura y eficiente.
  • AWS Trainium es un acelerador de ML que puede utilizar para entrenar y escalar modelos de aprendizaje profundo en la nube, de forma asequible. 

Cree una cuenta hoy mismo para comenzar a utilizar la IA generativa en AWS.

Pasos siguientes en AWS

Descubra otros recursos relacionados con el producto
Innove más rápido con el conjunto más completo de servicios de IA y ML 
Regístrese para obtener una cuenta gratuita

Obtenga acceso instantáneo al nivel Gratuito de AWS.

Regístrese 
Comenzar a crear en la consola

Comience a crear en la consola de administración de AWS.

Iniciar sesión