Arquitecturas de redes neuronales: aplicaciones en la IA

Imagen IA
allan-spadini
allan-spadini
Compartir

Índice de contenidos

¿Alguna vez te has preguntado cómo tu smartphone reconoce tu rostro o cómo los asistentes virtuales entienden lo que dices?

¡Todo esto es gracias a las redes neuronales! Inspiradas en el funcionamiento de nuestro cerebro, están revolucionando la Inteligencia Artificial y permitiendo avances increíbles en áreas como el reconocimiento de imágenes, el lenguaje natural y la robótica.

Lo más fascinante es que aprenden patrones complejos a partir de datos brutos, como un rompecabezas que se va armando. Esta poderosa habilidad ayuda a resolver problemas que antes parecían imposibles.

Pero, ¿qué hace que todo esto sea posible? ¡La variedad de arquitecturas de redes neuronales!

Cada tipo tiene sus propias fortalezas y debilidades, adaptándose a diferentes tareas y tipos de datos. Conocer estas diferentes estructuras es esencial para quienes desean aventurarse en el mundo del aprendizaje profundo (deep learning) y aplicar estas tecnologías de forma eficaz.

En este artículo, exploraremos las principales arquitecturas de redes neuronales. Comenzaremos por las redes perceptrón e iremos hasta las más avanzadas, como las redes convolucionales y recurrentes.

Descubriremos los principios básicos de cada una, dónde se utilizan más y cuáles son sus ventajas y desventajas con el objetivo de ofrecerte una visión completa y accesible de este universo fascinante.


Banner de información del aumento de precio de los planes de Alura

Perceptrón Multicapa (MLP)

Las diferentes arquitecturas de redes neuronales pueden adaptarse a una variedad de problemas, dependiendo de las características de los datos y de las tareas a resolver.

La red MLP (Multilayer Perceptron) es una de las formas más simples y tradicionales de red neuronal, compuesta por capas densamente conectadas, también conocidas como fully connected. Es ampliamente utilizada en tareas de clasificación y regresión, especialmente con datos tabulares.

Con una MLP, es posible construir modelos que estimen valores continuos, como el precio de las casas, basándose en variables geográficas y características de los inmuebles de la región. Además, puede aplicarse en la clasificación de problemas de salud, como predecir si una persona tiene diabetes a partir de los resultados de exámenes médicos.

Redes Neuronales Convolucionales (CNNs)

Aunque la arquitectura MLP es bastante poderosa, encontrar la configuración ideal de neuronas, capas o funciones de activación puede ser un desafío. Sin embargo, al utilizar capas especializadas para el tipo de dato con el que estamos tratando, incluso las configuraciones simples pueden resultar en modelos de alto rendimiento.

Las Redes Neuronales Convolucionales (CNNs) están diseñadas exactamente con ese propósito. Introducen capas convolucionales que aplican filtros sobre los datos durante el entrenamiento. Estos filtros son aprendidos por la red y permiten la identificación y el realce de características importantes, mejorando la precisión en tareas como la clasificación y la regresión.

Las CNNs se utilizan ampliamente en visión computacional, como en la clasificación de imágenes y detección de objetos, ya que las operaciones de convolución son altamente eficaces para capturar patrones espaciales y características dentro de una imagen.

En el ejemplo presentado, observamos una red donde las primeras capas son convolucionales, combinadas con capas de max-pooling. El max-pooling realiza la reducción dimensional, disminuyendo la cantidad de parámetros y la complejidad de la red. Después de estas capas, tenemos capas densas, similares a las usadas en las redes MLP, que finalizan el proceso de aprendizaje y clasificación.

Redes Neuronales Recurrentes (RNNs)

Algunos tipos de datos poseen un carácter secuencial, como las series temporales. Por ejemplo, el precio de las acciones de una empresa de agronomía puede verse influenciado por factores estacionales, como el clima, o por eventos recientes, como un escándalo político ocurrido el día anterior.

En este tipo de datos, es importante recordar los eventos pasados y considerar que estos pueden repetirse estacionalmente o no. Otro ejemplo de datos secuenciales son los textos. Al escuchar la frase "Quiero comer una...", es mucho más probable que la secuencia se complete con "pizza" que con "taladro".

Para lidiar con estas características, las Redes Neuronales Recurrentes (RNNs) poseen una memoria interna que permite capturar dependencias a lo largo de secuencias temporales.

En la ilustración abajo podemos observar la arquitectura de una RNN, donde parte de la información es retroalimentada para la misma neurona, lo que le da a la red su capacidad de tratar datos secuenciales de forma eficaz

Existen variantes populares de las RNNs, como las Long Short-Term Memory (LSTM) y las Gated Recurrent Units (GRUs):

  • LSTMs: Son capaces de capturar dependencias a largo plazo, manejando bien secuencias extensas sin perder información en el camino.
  • GRUs: Aunque su diseño es más simple que el de las LSTMs, resultan sumamente eficaces en el procesamiento de secuencias largas con un menor costo computacional.

Redes Neuronales Generativas Adversarias (GANs)

En lugar de querer entrenar una red que realice una tarea de clasificación para discernir entre una información y otra, podrías querer "enseñar" a una red a generar un determinado tipo de información, como una imagen o un texto. Las GANs se utilizan ampliamente en este campo.

Están compuestas por dos redes diferentes que compiten en un juego de suma cero durante el entrenamiento:

  • Red generadora: Intenta crear datos nuevos (por ejemplo, imágenes) que parezcan completamente reales.
  • Red discriminadora: Evalúa los datos para determinar si son reales (del conjunto de entrenamiento original) o falsos (creados por el generador).

Este entrenamiento competitivo ocurre hasta que la red generadora es capaz de producir imágenes indistinguibles de las reales. Las GANs han sido responsables de avances impresionantes como el DeepFake (creación de videos realistas), la generación de arte digital, imágenes de alta resolución y modelos en 3D.

Transformers

Las redes Transformers representan una evolución significativa en el campo del aprendizaje automático, especialmente en tareas relacionadas con el procesamiento de lenguaje natural (NLP).

A diferencia de las RNNs, que procesan secuencias de forma ordenada y secuencial, los Transformers son capaces de procesar la información en paralelo. Esto los hace extremadamente rápidos y eficientes, especialmente para entrenarse con volúmenes masivos de datos para tareas como traducción automática y generación de texto y procesamiento de imágenes.

La clave de su éxito reside en el mecanismo de atención, más específicamente en la denominada self-attention (autoatención). Este mecanismo permite que la red asigne diferentes pesos a distintas partes de la secuencia de entrada en base al contexto, sin importar qué tan alejadas estén unas palabras de otras en la frase.

El Transformer estándar está compuesto por dos bloques principales:

  • Codificador (Encoder): Recibe la secuencia de entrada y genera una representación vectorial interna.
  • Decodificador (Decoder): Utiliza esa representación para generar la secuencia de salida (por ejemplo, la traducción final).

Autoencoders

Los Autoencoders son un tipo de red neuronal utilizada principalmente para la compresión de datos y el aprendizaje no supervisado. Su principal característica es la capacidad de aprender representaciones comprimidas de los datos de entrada, capturando sus componentes clave en un espacio de menor dimensión.

Su arquitectura básica está compuesta por dos partes principales:

  • Codificador (Encoder): Recibe la entrada y la comprime en una representación de menor dimensión llamada bottleneck (capa latente).
  • Decodificador (Decoder): Toma esa representación comprimida e intenta reconstruir la entrada original con la menor pérdida de información posible.

Durante el entrenamiento, el Autoencoder se ajusta para minimizar la diferencia entre la entrada y la salida reconstruida. Son sumamente versátiles y se aplican en tareas como la eliminación de ruido en imágenes, la detección de anomalías o mediante su variante Variational Autoencoders (VAEs) para generar nuevas muestras de datos.

U-Nets y Redes de Difusión

Las U-Nets son un tipo de red neuronal diseñada para tareas que requieren una segmentación de imágenes precisa, como la identificación de tumores en imágenes médicas o estructuras en mapas satelitales.

Fuente: Mehrdad Yazdani, CC BY-SA 4.0 https://creativecommons.org/licenses/by-sa/4.0, via Wikimedia Commons

La estructura de una U-Net se divide en dos caminos simétricos:

  • Camino de contracción (Encoder): Reduce la dimensionalidad de los datos extrayendo características mediante convoluciones y max-pooling.
  • Camino de expansión (Decoder): Reconstruye el mapa de segmentación a través de operaciones de upsampling combinadas con conexiones de salto (skip connections), las cuales recuperan detalles de alta resolución del camino del encoder.

Relación con las Redes de Difusión

Recientemente, las redes de difusión han surgido como una poderosa técnica para la generación de imágenes de alta calidad a partir de ruido (un proceso conocido como "difusión" y "desdifusión").

Las U-Nets a menudo se utilizan como el motor base en la arquitectura de las redes de difusión, ya que su estructura de codificación, decodificación y conexiones de salto permite una reconstrucción altamente eficiente de la imagen preservando los detalles y texturas importantes.

Physics-Informed Neural Networks (PINNs)

Las Physics-Informed Neural Networks (PINNs) son una clase especial de redes neuronales que integran el conocimiento de las leyes de la física directamente en el proceso de aprendizaje.

A diferencia de los modelos tradicionales de Deep Learning, que dependen únicamente de los datos para encontrar patrones, las PINNs utilizan ecuaciones diferenciales parciales (PDEs) como restricciones durante el entrenamiento. Esto permite:

  • Entrenamiento con pocos datos: Pueden aprender eficientemente en entornos donde la recolección de datos es difícil o costosa.
  • Consistencia Física: Las predicciones de la red garantizan el respeto a los principios de la física real (por ejemplo, termodinámica o mecánica de fluidos), evitando errores absurdos o inconsistentes.
  • Mejor generalización: Al estar acotadas por leyes físicas preestablecidas, ofrecen una fiabilidad científica mucho mayor.

Conclusión

En este artículo, exploramos las principales arquitecturas de redes neuronales, desde las más simples, como las redes MLP, hasta las más avanzadas, como Transformers y PINNs. Cada una de estas arquitecturas tiene su lugar en diferentes tipos de problemas, y entender sus particularidades es esencial para aplicarlas de forma eficaz en el mundo real.

¿Te gustó el contenido? ¡Mantente atento! Tenemos muchos más artículos y guías sobre redes neuronales y aprendizaje profundo preparados especialmente para ti. ¡Un abrazo y hasta la próxima!


Créditos

  • Contenido: Allan Segovia Spadini
  • Producción técnica: Rodrigo Dias
  • Producción didáctica: Cláudia Machado
  • Diseñador gráfico: Alysson Manso
  • Apoyo: Rômulo Henrique
allan-spadini

allan-spadini

Ver otros artículos sobre Inteligencia Artificial