Una red neuronal recurrente, o RNN, es una red neuronal profunda entrenada con datos secuenciales o de series temporales para crear un modelo de machine learning que pueda hacer predicciones secuenciales o conclusiones basadas en entradas secuenciales.
Una RNN podría utilizarse para predecir los niveles diarios de inundación basándose en los datos diarios anteriores sobre inundaciones, mareas y meteorología. Pero las RNN también se pueden utilizar para resolver problemas ordinales o temporales, como la traducción de idiomas, el procesamiento del lenguaje natural (PLN), el reconocimiento de voz y el subtitulado de imágenes. Las RNN se incorporan a aplicaciones populares como Siri, búsqueda por voz y Google Translate.
Utilice este marco de selección de modelos para elegir el más adecuado y equilibrar sus requisitos de rendimiento con el coste, los riesgos y las necesidades de implementación.
Al igual que las redes neuronales convolucionales (CNN), las redes neuronales recurrentes utilizan datos de entrenamiento para aprender. Se distinguen por su "memoria", ya que toman la información de las entradas anteriores para influir en la entrada y la salida actuales. Aunque las redes neuronales profundas tradicionales asumen que las entradas y las salidas son independientes entre sí, la salida de los RNN depende de los elementos anteriores de la secuencia. Mientras que las redes neuronales profundas tradicionales asumen que las entradas y las salidas son independientes entre sí, la salida de las RNN depende de los elementos anteriores dentro de la secuencia.
Tomemos un modismo, como el inglés “feeling under the weather”, que se utiliza comúnmente cuando alguien está enfermo, para ayudarnos en la explicación de las RNN. Para que el modismo tenga sentido, debe expresarse en ese orden específico. En consecuencia, las redes recurrentes deben tener en cuenta la posición de cada palabra en el modismo y utilizan esa información para predecir la siguiente palabra de la secuencia.
Otra característica distintiva de las redes recurrentes es que comparten parámetros en cada capa de la red. Mientras que las redes 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 todavía se ajustan a través de los procesos de retropropagación y descenso de gradiente para facilitar el aprendizaje por refuerzo.
Las redes neuronales recurrentes aprovechan los algoritmos de retropropagación a través del tiempo (BPTT) para determinar los gradientes, lo que difiere ligeramente de la retropropagación tradicional, ya que es específica de los datos secuenciales. Los principios de la BPTT son los mismos que los de la retropropagación tradicional, en la que el modelo se entrena a sí mismo calculando los errores de su capa de salida a su capa de entrada. Estos cálculos nos permiten ajustar y ajustar los parámetros del modelo adecuadamente. BPTT difiere del enfoque tradicional en que BPTT suma errores en cada paso de tiempo mientras que las redes feedforward no necesitan sumar errores ya que no comparten parámetros a través de cada capa.
Durante este proceso, las RNN tienden a enfrentarse a dos problemas, conocidos como gradientes de explosión y gradientes de desaparición. 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, sigue haciéndose más pequeño, actualizando los parámetros de peso hasta que se vuelven insignificantes, es decir. cuando eso ocurre, el algoritmo ya no está aprendiendo. La explosión de gradientes sucede cuando el gradiente es demasiado grande, lo que crea 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 el número de capas ocultas de la red neuronal, lo que elimina parte de la complejidad de los modelos RNN.
Lea la guía para líderes de datos
Las redes feedforward asignan 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 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 la salida de una neurona dada en un valor entre 0 y 1 o -1 y 1.
Las variantes populares de la arquitectura RNN incluyen
Mientras que las RNN unidireccionales solo se pueden extraer de entradas anteriores para hacer predicciones sobre el estado actual, las RNN bidireccionales, o BRNN, extraen datos futuros para mejorar la precisión de los mismos. Volviendo al ejemplo de “feeling under the weather”, un modelo basado en una BRNN puede predecir mejor que la segunda palabra de esa frase es “under” si sabe que la última palabra de la secuencia es “weather”.
LSTM es una arquitectura RNN popular, que fue introducida por Sepp Hochreiter y Juergen Schmidhuber como una solución al problema del gradiente evanescente. En su artículo (enlace externo a ibm.com) trabajan para abordar el problema de las dependencias a largo plazo. Es decir, si el estado anterior que influye en la predicción actual no se encuentra en el pasado reciente, es posible que el modelo RNN no pueda predecir con exactitud el estado actual.
Por ejemplo, supongamos que queremos predecir las palabras en cursiva que siguen: "Alicia es alérgica a los frutos secos. No puede comer mantequilla de cacahuete". El contexto de una alergia a los frutos secos puede ayudarnos a anticipar que los alimentos que no se pueden comer contienen frutos secos. Sin embargo, si ese contexto estuviera unas frases antes, dificultaría, o incluso imposibilitaría, que la RNN conectara la información.
Para solucionarlo, las 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 la salida en la red. Por ejemplo, si los pronombres de género, como "ella", se repitieron varias veces en oraciones anteriores, puede excluirlos del estado de la celda.
Una GRU es similar a una LSTM, ya que también funciona para abordar el problema de la memoria a corto plazo de los modelos RNN. En lugar de utilizar un "estado de la celda" para regular la información, utiliza estados ocultos, y en lugar de tres compuertas, tiene dos: una de reinicio y otra de actualización. Al igual que las puertas dentro de las LSTM, las puertas de restablecimiento y actualización controlan cuánta y qué información retener.
Durante décadas, IBM ha sido pionera en el desarrollo de tecnologías de IA y redes neuronales, como lo demuestra el desarrollo y la evolución de IBM watsonx. Watsonx es ahora una solución de confianza para las empresas que buscan aplicar técnicas avanzadas de procesamiento del lenguaje natural y deep learning a sus sistemas mediante un enfoque escalonado de probada eficacia para la adopción e implementación de la IA.
Los productos de IBM, como IBM watsonx Machine Learning, también son compatibles con las bibliotecas populares de Python, como TensorFlow, Keras y PyTorch, que se utilizan habitualmente en redes neuronales recurrentes. Utilizando herramientas como IBM watsonx Studio y watsonx Machine Learning, su empresa puede llevar sin problemas sus proyectos de IA de código abierto a producción mientras implementa y ejecuta sus modelos en cualquier nube.
Para obtener más información sobre cómo empezar a utilizar la tecnología de inteligencia artificial, explore IBM watsonx Studio.
IBM watsonx es una cartera de herramientas, aplicaciones y soluciones listas para el negocio, diseñadas para reducir los costos y los obstáculos de la adopción de la IA, al tiempo que optimiza los resultados y el uso responsable de la IA.
IBM watsonx Assistant es el chatbot IA para empresas. Esta tecnología de inteligencia artificial empresarial permite a los usuarios crear soluciones de IA conversacional.
Cree, ejecute y gestione modelos de IA. Prepare datos y cree modelos en cualquier nube utilizando marcos de código abierto como PyTorch, TensorFlow y scikit-learn, herramientas como Jupyter notebooks, JupyterLab y CLI, o lenguajes como Python, R y Scala.
Aprenda los conceptos fundamentales para la IA y la IA generativa, incluyendo ingeniería rápida, modelos de lenguaje extensos y los mejores proyectos de código abierto.
Granite es la serie insignia de IBM de modelos fundacionales LLM basados en arquitectura del transformador sólo decodificador. Los modelos de lenguaje Granite se entrenan con datos empresariales fiables que abarcan datos de Internet, académicos, de código, legales y financieros.
Explore esta rama del machine learning que se entrena con grandes cantidades de datos y se ocupa de las unidades computacionales que trabajan en tándem para realizar predicciones.