Redes neuronales recurrentes
Inteligencia artificial
Fondo negro y azul
Redes neuronales recurrentes

Descubra cómo las redes neuronales recurrentes utilizan datos secuenciales para resolver problemas temporales comunes que se observan en la traducción de idiomas y el reconocimiento de voz.

Productos destacados

Watson Studio

Watson Machine Learning Accelerator


¿Qué son las redes neuronales recurrentes?

Una red neuronal recurrente (RNN) es un tipo de red neuronal artificial que utiliza datos secuenciales o datos de series de tiempo. Estos algoritmos de aprendizaje profundo se utilizan comúnmente para problemas ordinales o temporales, como la traducción de idiomas, el procesamiento de lenguaje natural (nlp), el reconocimiento de voz y subtítulos de imágenes; están incorporados en aplicaciones populares como Siri, búsqueda por voz y Google Translate. Al igual que las redes neuronales feedforward y convolucionales (CNN), las redes neuronales recurrentes utilizan datos de entrenamiento para aprender. Se distinguen por su "memoria", ya que toman información de entradas anteriores para utilizarse en los datos de entrada y en los resultados. Si bien las redes neuronales profundas tradicionales asumen que los datos de entrada y los resultados son independientes entre sí, los resultados de las redes neuronales recurrentes depende de los elementos anteriores dentro de la secuencia. Si bien los eventos futuros también serían útiles para determinar los resultados de una secuencia dada, las redes neuronales recurrentes unidireccionales no pueden tener en cuenta estos eventos en sus predicciones.

Tomemos un modismo, como "tener mala pata", que se usa comúnmente cuando alguien tiene mala suerte, para ayudarnos en la explicación de las RNNs. Para que la expresión tenga sentido, debe expresarse en ese orden específico. Como resultado, las redes recurrentes deben tener en cuenta la posición de cada palabra en dicho modismo y usan esa información para predecir la siguiente palabra en la secuencia.

Otra característica distintiva de las redes recurrentes es que comparten parámetros en cada capa de la red. Si bien las redes tipo "feedforward" tienen diferentes pesos en cada nodo, las redes neuronales recurrentes comparten el mismo parámetro de peso dentro de cada capa de la red. Dicho esto, estos pesos aun se ajustan en los procesos de retropropagación y descenso de gradiente para facilitar el aprendizaje por refuerzo.

Las redes neuronales recurrentes aprovechan el algoritmo de retropropagación a través del tiempo (BPTT) para determinar los gradientes, que es ligeramente diferente de la retropropagación tradicional, ya que es específico de los datos de secuencia. Los principios de BPTT son los mismos que los de la retropropagación tradicional, donde el modelo se entrena a sí mismo calculando errores desde su capa de salida hasta su capa de entrada. Estos cálculos nos permiten ajustar y adaptar los parámetros del modelo de manera adecuada. BPTT se diferencia del enfoque tradicional en que BPTT suma los errores en cada paso de tiempo, mientras que las redes "feedforward" no necesitan sumar errores, ya que no comparten parámetros en cada capa.

A través de este proceso, los RNN tienden a encontrarse con dos problemas, conocidos como gradientes explosivos y gradientes que desaparecen. Estos problemas se definen por el tamaño del gradiente, que es la pendiente de la función de pérdida a lo largo de la curva de error. Cuando el gradiente es demasiado pequeño, continúa haciéndolo más pequeño, actualizando los parámetros de peso hasta que se vuelven insignificantes, es decir, 0. Cuando eso ocurre, el algoritmo ya no está aprendiendo. Los gradientes explosivos suceden cuando el gradiente es demasiado grande, creando un modelo inestable. En este caso, los pesos del modelo crecerán demasiado y, finalmente, se representarán como NaN. Una solución a estos problemas es reducir la cantidad de capas ocultas dentro de la red neuronal, eliminando parte de la complejidad en el modelo RNN.

Enlaces relacionados

Ciencia de datos


Tipos de redes neuronales recurrentes

Las redes "feedforward" mapean una entrada a una salida, y aunque hemos visualizado las redes neuronales recurrentes de esta manera en los diagramas anteriores, en realidad no tienen esta restricción. En cambio, sus entradas y salidas pueden variar en longitud, y se utilizan diferentes tipos de RNN para diferentes casos de uso, como la generación de música, la clasificación de sentimientos y la traducción automática.


Funciones de activación comunes

Como se explica en el artículo de Learn sobre redes neuronales, una función de activación determina si se debe activar una neurona. Las funciones no lineales suelen convertir el resultado de una neurona determinada en un valor entre 0 y 1 o -1 y 1. 


Arquitecturas variantes de RNN

Redes neuronales bidireccionales recurrentes (BRNN): Se trata de una variante de la arquitectura de redes de las RNN. Mientras que los RNN unidireccionales solo pueden extraerse de datos de entrada anteriores para hacer predicciones sobre el estado actual, los RNN bidireccionales extraen datos futuros para mejorar su precisión. Si volvemos al ejemplo de "tener mala pata" anteriormente en este artículo, el modelo puede predecir mejor que la segunda palabra en esa frase es "mala" si supiera que la última palabra en la secuencia es "pata".

Memoria a largo plazo a corto plazo (LSTM) : Esta es una arquitectura RNN popular, que fue introducida por Sepp Hochreiter y Juergen Schmidhuber como una solución al problema del gradiente que desaparece. En su artículo científico (PDF,  388 KB) (enlace externo a IBM), ellos abordan el problema de las dependencias a largo plazo. Es decir, si el estado anterior que influye en la predicción actual no es del pasado reciente, es posible que el modelo RNN no pueda predecir con precisión el estado actual. Como ejemplo, digamos que queríamos predecir las palabras en cursiva a continuación, "Alice es alérgica a las nueces. Ella no puede comer mantequilla de maní . " El contexto de una alergia a las nueces puede ayudarnos a anticipar que los alimentos que no se pueden comer contienen nueces. Sin embargo, si ese contexto fuera unas pocas oraciones antes, entonces sería difícil, o incluso imposible, para la RNN conectar la información. Para remediar esto, los LSTM tienen "celdas" en las capas ocultas de la red neuronal, que tienen tres puertas: una puerta de entrada, una puerta de salida y una puerta de olvido. Estas puertas controlan el flujo de información que se necesita para predecir el resultado en la red.  Por ejemplo, si los pronombres de género, como "ella", se repitieron varias veces en oraciones anteriores, puede excluirlo del estado de celda.

Unidades recurrentes cerradas (GRU): Esta variante de RNN es similar a los LSTM, ya que también funciona para abordar el problema de la memoria a corto plazo de los modelos RNN. En lugar de utilizar una información de regulación de "estado de celda", utiliza estados ocultos y, en lugar de tres puertas, tiene dos: una puerta de reinicio y una puerta de actualización. Al igual que las puertas dentro de los LSTM, las puertas de reinicio y actualización controlan cuánta y qué información retener.


Redes neuronales recurrentes e IBM Cloud

Desde hace décadas, IBM ha sido pionera en el desarrollo de tecnologías de IA y redes neuronales, destacadas por el desarrollo y la evolución deIBM Watson . Watson es ahora una solución confiable para empresas que buscan aplicar técnicas de procesamiento avanzado del lenguaje natural ydeep learning a sus sistemas utilizando un enfoque escalonado probado para la adopción e implementación de IA.

Los productos de IBM, como IBM Watson Machine Learning, también admiten bibliotecas populares de Python, como TensorFlow, Keras y PyTorch, que se utilizan comúnmente en redes neuronales recurrentes. Utilizando herramientas como IBM Watson Studio yWatson Machine Learning , su empresa puede llevar a la producción sin problemas sus proyectos de IA de código abierto mientras implementa y ejecuta sus modelos en cualquier nube.

Para obtener más información sobre cómo comenzar con la tecnología del deep learning, explore IBM Watson Studio.

Regístrese para obtener un ID de IBM (IBMid) y crear su cuenta de IBM Cloud

Soluciones relacionadas

Watson Studio

Cree y escale la IA confiable en cualquier nube. Automatice el ciclo de vida de la IA para ModelOps.


Cloud Packs

Software de nube híbrida impulsado por IA.


Soluciones IBM Cloud

Híbrida. Abierta. Resiliente. Su plataforma y socio para la transformación digital.