Javier Vélez Reyes - Artículos
Data & Inteligencia Artificial

Arquitecturas del Dato IA & ML

Redes Neuronales Profundas

Inteligencia Artificial Conexionista II
Javier Vélez Mayo 2024 9 mins

Introducción

En artículos anteriores, hemos explorado las capacidades de la neurona artificial, componente fundamental que emula la forma en que el cerebro procesa la información. Como ya discutimos, las neuronas, organizadas en arquitecturas dirigidas por un gran volumen de datos, demostraron ser soluciones capaces de presentar auto-aprendizaje, una cualidad que les permite mejorar su rendimiento con la experiencia. Sus usos potenciales abarcan un amplio espectro, desde la clasificación y predicción hasta la generación y proyección dimensional de datos, abriendo un mundo de posibilidades en diversos campos.

Sin embargo, la verdadera potencia de estas herramientas se revela al combinar varias neuronas para crear una arquitectura de red neuronal compleja. Es en esta intrincada danza de conexiones donde reside la capacidad de abordar problemas de una magnitud y complejidad mucho mayores. Este tipo de arquitecturas, que exploraremos en profundidad a lo largo de esta serie, se conocen como redes neuronales profundas, un campo abonado que ha revolucionado el panorama de la Inteligencia Artificial Conexionista.

En concreto, nos embarcaremos en un viaje para presentar el camino que condujo a este tipo de soluciones. Desde los primeros modelos teóricos hasta las arquitecturas más sofisticadas, desentrañaremos los principios y conceptos que sustentan las redes neuronales profundas. Analizaremos cómo estas estructuras multicapa permiten a las máquinas aprender representaciones abstractas de los datos, lo que a su vez les confiere una capacidad sin precedentes para resolver problemas complejos.

Exploraremos cómo la combinación de múltiples neuronas en capas sucesivas permite a la red descomponer un problema en subproblemas más simples, cada uno resuelto por una capa diferente. Esta organización jerárquica es clave para la capacidad de las redes profundas de extraer características relevantes de los datos. A medida que avancemos, profundizaremos en arquitecturas específicas, y como cada topología de red es útil para resolver cierto tipo de problemas.

Redes Neuronales Profundas

Como ya hemos explicado en otros artículos, el modelo de neurona artificial de McCulloch y Pitts sentaría un marco conceptual fundamental dentro del ámbito de la Inteligencia Artificial Conexionista que proporcionaría una base teórica para la creación de sistemas capaces de procesar información de manera distribuida. Y la friolera de 15 años después, Rosenblatt reinterpretaría el modelo de neurona de estos autores como un agente capaz de actuar de clasificador lineal dentro de un espacio de datos multifactorial.

Pero si las capacidades de una sola neurona operando sobre el espacio de datos habían quedado claramente establecidas, el siguiente paso natural sería combinar varios de estos elementos para conectarlos de acuerdo a una topología de red neuronal. Esta exploración abriría un nuevo horizonte en el campo de la Inteligencia Artificial Conexionista que conduciría a comprender mejor la verdadera potencia que residía en la capacidad de una colección de neuronas organizadas en red operando de forma cooperativa y distribuida. Ello permitiría abordar problemas que una sola neurona, con su limitada capacidad de clasificación lineal, no podría resolver.

En una arquitectura neuronal de esta naturaleza, las neuronas se organizarían en capas conectadas entre sí de forma que cada neurona tuviera un perímetro de acción especializado actuando como un agente de clasificación local dentro del espacio de datos multifactorial. De esta manera, la solución global de la red emergería a partir de la composición autónoma de las respuestas emitidas por cada una de las neuronas que forman parte de la misma. Dentro de este tipo de estructuras, la información fluiría de una capa a otra, permitiendo la extracción de características cada vez más abstractas y complejas.

Esta idea condujo al desarrollo de las redes neuronales profundas, arquitecturas caracterizadas por múltiples capas de neuronas apiladas. Cada capa recibiría como entrada la salida de la capa anterior y realizaría una transformación de los datos, extrayendo características de un nivel de abstracción cada vez mayor. Así, en relación al tipo de problema a tratar, la anatomía de una red profunda de esta naturaleza incluiría varios niveles de capas, cada una con una responsabilidad específica dentro de dicho problema. Las capas de entrada reciben los datos brutos, las capas intermedias - también llamadas ocultas - realizarían transformaciones internas y la capa de salida en el extremo opuesto produciría el resultado final de la red.

Una topología de red de esta forma, basada en una estructura apilada de capas con niveles de responsabilidad en profundidad, resultaría una idea realmente eficaz y potente. Las capas internas de la red, estructuras neuronales densamente conectadas, serviríam para establecer conexiones entre todas las neuronas de dos capas consecutivaslo que permitiría a la red aprender relaciones complejas entre las características extraídas por las capas anteriores y tomar decisiones locales basadas en ellas. La combinación de diferentes tipos de capas en una misma red haría, de esta forma, crear arquitecturas híbridas capaces de abordar una amplia variedad de tareas, como descubriremos a lo largo de esta serie.

Redes Neuronales Profundas en Acción

xf Diseñar arquitecturas neuronales dispuestas en red parecía presentarse como la solución idónea para superar las limitaciones de los modelos de aprendizaje automático tradicionales. Esto era así dado que permitía abordar problemas de mayor complejidad y extraer características más relevantes de los datos. De acuerdo a estas ideas, una red neuronal profunda se organizaría en varias capas de neuronas apiladas, donde cada neurona dentro de cada capa operaría como un agente de clasificación especializada enfocándose en un aspecto particular del problema.

Las capas, en este contexto, serían una estructura anatómica sobre la que distribuir procesos de aprendizaje jerárquico que conducirían a modelos de refinamiento progresivo. La información fluiría a través de las capas, transformándose en cada etapa y volviéndose cada vez más abstracta y relevante para la tarea en cuestión. Este proceso de refinamiento permite a la red aprender representaciones complejas de los datos, capturando patrones y relaciones que serían difíciles de detectar con métodos más simples.

Si bien no todas las redes que se describen en esta serie pueden considerarse como arquitecturas plenamente profundas en sentido estricto, sí que en general establecieron el camino en la idea de crear estructuras neuronales complejas alineadas con la resolución de problemas. Estas arquitecturas, que exploraremos en detalle, incluyen el Perceptrón Multicapa, las Redes Neuronales con Base Radial, las Redes Auto-Organizativas y las Redes Neuronales Convolucionales.

  • El Clasificador Multicapa. El clasificador multicapaes una extensión del Perceptrón original que incluye una o más capas ocultas entre la capa de entrada y la capa de salida. Estas capas ocultas permiten al clasificador aprender relaciones no lineales entre los datos, lo que lo hace capaz de resolver problemas más complejos que el Perceptrón simple. Este tipo de arquitectura ha sido ampliamente utilizado en tareas de clasificación y regresión, y sentó las bases para el desarrollo de arquitecturas de redes neuronales más profundas.

  • Redes Neuronales con Base Radial. Este tipo de redes utilizan funciones de base radial como funciones de activación en sus neuronas. Estas funciones miden la distancia entre la entrada y un centro, lo que permite a la red aprender funciones complejas y no lineales. Las redes con base radial son particularmente útiles para problemas de interpolación y aproximación de funciones, y han encontrado aplicaciones en áreas como el reconocimiento de patrones y el control de sistemas.

  • Redes Neuronales Auto-Organizativas. Este tipo de redes es un tipo de red neuronal no supervisada que se utiliza para la visualización y el agrupamiento de datos. Se trata de soluciones capaces de aprender a asociar datos de alta dimensión a un espacio de baja dimensión, preservando las relaciones topológicas entre los datos. Las redes auto-organizativas son útiles para explorar y comprender la estructura de los datos, y han encontrado aplicaciones en áreas como el análisis de imágenes y el procesamiento del lenguaje natural.

  • Redes Neuronales Convolucionales. Estas redes son un tipo de red neuronal profunda especialmente diseñada para procesar datos con una estructura de rejilla, como imágenes o señales de audio. En esencia, utilizan capas convolucionales para extraer características locales de los datos, y capas de pooling para reducir la dimensionalidad de las representaciones. Las estructuras de red convolucionales han demostrado ser muy efectivas en tareas de visión por computadora, como la clasificación de imágenes y el reconocimiento de objetos, y han revolucionado este campo.

Algunas de estas arquitecturas, como el clasificador multicapa y las redes convolucionales, sí pueden considerarse como redes profundas debido a su estructura multicapa, otras, como las redes con base radial y o los mapas auto-organizativos, son menos profundas en sentido estricto. Sin embargo, todas estas soluciones contribuyeron, de manera significativa, al desarrollo del campo de las redes neuronales y sentaron las bases para las arquitecturas más sofisticadas que vemos hoy en día y que serán objeto de estudio en series subsiguientes. Su estudio nos permitirá comprender la evolución de las ideas y los principios que sustentan las redes neuronales profundas.

Conclusiones

A lo largo de este artículo, hemos presentado la idea de crear arquitecturas de red complejas como un paso fundamental hacia las arquitecturas de redes neuronales profundas. Estas soluciones, como hemos visto, son muy potentes al distribuir las neuronas por capas para que operen sobre perímetros locales dentro del espacio de datos, actuando como clasificadores especializados.

Es importante reconocer que desconocer el espacio de responsabilidad exacto de cada neurona de la red puede ser un problema. Esta falta de transparencia puede dificultar la interpretación de las decisiones de la red y la identificación de posibles sesgos o errores. Ello conduce a no poder razonar desde el plano teórico sobre el diseño estructural de la red, lo que limita nuestra capacidad para optimizar su arquitectura y garantizar su robustez.

Sin embargo, como nos enseña todo este recorrido, en el desarrollo de redes neuronales profundas, es preciso confiar en los datos y en los procesos de aprendizaje autónomo. Si bien la teoría proporciona una guía valiosa, la experimentación y la validación empírica son esenciales para construir sistemas efectivos. Se trata, en cierto sentido, de hacer más ingeniería que ciencia, donde la intuición y la experiencia juegan un papel crucial en la elección de la arquitectura y los parámetros de entrenamiento.

En este contexto, observamos distintos tipos de topología con desarrollo empírico para resolver distintos tipos de problemas. Cada arquitectura, con sus propias fortalezas y debilidades, se adapta mejor a ciertos tipos de datos y tareas. La elección de la arquitectura adecuada es un proceso iterativo que implica experimentar con diferentes configuraciones y evaluar su rendimiento en función de los resultados obtenidos.

A lo largo de esta serie, describiremos las principales contribuciones en esta línea, explorando las arquitecturas más relevantes dentro del perímetro de las redes neuronales profundas. Nuestro objetivo, en este sentido, será proporcionar una visión completa y práctica de este tipo de redes neuronales, capacitando a los lectores para comprender su funcionamiento y aplicar su potencial en sus propios proyectos.