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 reconocimiento de voz y subtítulos de imágenes.
Cabe mencionar que 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. Aunque 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.
Watson Studio
Watson Machine Learning Accelerator
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.
Como se analizó en el artículo de aprendizaje sobre redes neuronales, una función de activación determina si debe activarse 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.
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.
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 de IBM Watson .
Watson es ahora una solución confiable para empresas que buscan aplicar técnicas de procesamiento avanzado del lenguaje natural y deep 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 y Watson 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.
Cree y escale la IA confiable en cualquier nube. Automatice el ciclo de vida de la IA para ModelOps.
Software de nube híbrida basado en IA.
Híbrida. Abierta. Resiliente. Su plataforma y socio para la transformación digital.
Cree y escale la IA confiable en cualquier nube. Automatice el ciclo de vida de la IA para ModelOps.
Agilice su carga de trabajo de deep learning. Acelere la creación de valor con entrenamiento e inferencia de modelos de inteligencia artificial.