Cuando hablamos de una red neuronal, no solo importa que tenga neuronas, pesos y funciones de activación. También importa cómo está organizada. Esa organización general es lo que llamamos arquitectura.
La arquitectura de una red neuronal define su forma, su tamaño, su profundidad y el modo en que circula la información. En términos prácticos, es el plano de construcción del modelo.
En este tema veremos qué significa arquitectura, cuáles son sus componentes principales y por qué estas decisiones influyen tanto en el rendimiento final de una red.
La arquitectura de una red neuronal es la estructura general del modelo. Incluye aspectos como:
En otras palabras, la arquitectura responde a la pregunta: ¿cómo está construido el modelo?
Una buena forma de entender la arquitectura es compararla con el diseño de un edificio.
Así como no todos los edificios sirven para lo mismo, no todas las arquitecturas de redes neuronales son adecuadas para cualquier problema.
Una arquitectura de red neuronal suele describirse a partir de estos elementos fundamentales:
En redes más avanzadas aparecen además componentes especiales, como capas convolucionales, recurrentes, de normalización o de atención.
La capa de entrada es el punto de inicio del modelo. Su función es recibir los datos y ponerlos a disposición del resto de la red.
La cantidad de neuronas en la capa de entrada depende directamente del número de características del problema.
Por ejemplo:
La capa de entrada no suele "decidir" nada por sí misma; simplemente recibe la información inicial.
Las capas ocultas son las encargadas de transformar los datos de entrada en representaciones internas cada vez más útiles. Se llaman ocultas porque forman parte del procesamiento interno del modelo, no de la entrada ni de la salida final.
Estas capas son las que hacen posible que la red detecte patrones, relaciones y estructuras complejas.
En general:
Pero una red más grande no siempre es mejor: también puede volverse más costosa, más difícil de entrenar y más propensa al sobreajuste.
La capa de salida produce la respuesta final de la red. Su forma depende del tipo de problema.
Algunos casos típicos:
La arquitectura de la salida debe elegirse de forma coherente con la tarea que queremos resolver.
La profundidad de una red se refiere al número de capas que tiene, especialmente capas ocultas. Cuando una red posee varias capas ocultas, hablamos de una red profunda, y de ahí surge el término Deep Learning.
La profundidad permite construir representaciones jerárquicas. Por ejemplo, en visión por computadora:
Esta progresión es una de las grandes fortalezas de las redes profundas.
Además de la profundidad, también importa el ancho de la red, es decir, la cantidad de neuronas que tiene una capa.
Una capa más ancha puede representar más combinaciones y patrones, pero también aumenta el número de parámetros.
Por eso, al diseñar una arquitectura, suelen considerarse dos dimensiones:
No existe una clasificación absoluta, pero en términos intuitivos podemos pensar que:
Las redes grandes pueden aprender patrones muy complejos, pero exigen más datos, más tiempo de entrenamiento y más recursos de hardware.
La arquitectura también depende de cómo se conectan las neuronas entre sí. El patrón de conexiones determina cómo circula la información y qué tipo de operaciones son posibles.
En una red totalmente conectada, cada neurona de una capa se conecta con todas las neuronas de la siguiente. Esta es una estructura muy común en redes densas.
Sin embargo, otras arquitecturas usan conexiones más especializadas para aprovechar mejor el tipo de dato con el que trabajan.
Las redes densas, también llamadas fully connected, son aquellas en las que cada neurona de una capa está conectada con todas las neuronas de la siguiente.
Son conceptualmente sencillas y muy útiles para datos tabulares o problemas generales de aprendizaje supervisado.
Sin embargo, cuando el tamaño de la entrada es muy grande, estas redes pueden generar muchísimos parámetros, lo que aumenta el costo computacional.
No todas las redes neuronales tienen la misma forma. Con el tiempo surgieron arquitecturas especializadas según el tipo de datos:
En este tema nos centraremos en la idea general de arquitectura. Más adelante veremos algunas de estas variantes con más detalle.
No existe una fórmula universal para decidir cuántas capas debe tener una red. Depende del problema, del volumen de datos, de la complejidad del patrón a aprender y de la experiencia del diseñador.
En términos generales:
Pero aumentar capas no garantiza mejores resultados. También puede hacer más difícil el entrenamiento.
Algo parecido ocurre con la cantidad de neuronas. No hay una regla fija que sirva siempre. En muchos casos, este valor se ajusta experimentalmente.
Algunas intuiciones útiles:
Por eso el diseño de arquitectura suele formar parte del ajuste de hiperparámetros.
La arquitectura está estrechamente relacionada con la capacidad del modelo, es decir, con su habilidad para aprender relaciones complejas a partir de los datos.
Una red demasiado pequeña puede quedar corta y no aprender bien. Una red demasiado grande puede memorizar demasiado los datos de entrenamiento y generalizar mal.
Diseñar la arquitectura correcta implica buscar un equilibrio entre:
Cuando una arquitectura es demasiado grande para la cantidad de datos disponible, el modelo puede caer en sobreajuste. Esto significa que aprende demasiado bien los ejemplos de entrenamiento, pero falla con nuevos datos.
Una arquitectura más compleja no siempre es una mejora. A veces un modelo más pequeño y mejor regularizado ofrece mejores resultados reales.
Esta es una de las razones por las que el diseño de arquitectura debe hacerse con criterio y no solo aumentando tamaño indiscriminadamente.
Cada decisión de arquitectura tiene un costo computacional asociado. Más capas y más neuronas significan:
Por eso el diseño de arquitectura también debe considerar los recursos disponibles: CPU, GPU, memoria y tiempo.
Supongamos que queremos predecir si un cliente comprará un producto. Disponemos de cuatro variables de entrada:
Una arquitectura simple podría ser:
Este ejemplo muestra que la arquitectura es, en esencia, una decisión sobre cómo organizar el procesamiento del problema.
Muchas veces la arquitectura se describe mediante una secuencia de números. Por ejemplo:
Esto podría significar:
Es una manera rápida de resumir la estructura de una red.
La arquitectura no se refiere solo a cuántas neuronas hay, sino también a qué activaciones se usan en cada parte.
Por ejemplo:
La combinación entre estructura y activaciones define el comportamiento global del modelo.
Cada conexión entre neuronas tiene un peso, y muchas neuronas también tienen bias. Eso significa que la arquitectura afecta directamente la cantidad de parámetros del modelo.
Una red más grande suele tener más parámetros, lo que puede darle mayor capacidad, pero también más riesgo de sobreajuste y mayor costo de entrenamiento.
Por eso la arquitectura es, en gran medida, una decisión sobre la complejidad del modelo.
En algunos problemas simples, se puede empezar con una arquitectura relativamente estándar. En otros casos, la arquitectura se convierte en una parte clave del proceso experimental.
Es común probar varias versiones del modelo:
Ese proceso de prueba y ajuste es parte natural del desarrollo de modelos de Deep Learning.
Una buena arquitectura no es la más grande ni la más compleja, sino la que logra un equilibrio adecuado entre rendimiento, generalización y costo computacional.
En general, una buena arquitectura debería:
Esto es algo que se evalúa empíricamente con experimentos y validación.
En PyTorch, definir una arquitectura significa especificar las capas y la forma en que se conectan. Es decir, cuando escribimos una clase de modelo en PyTorch, estamos codificando la arquitectura de la red.
Más adelante en el curso construiremos redes sencillas y veremos cómo esta arquitectura se traduce directamente en código.
Por eso comprender el concepto ahora es importante: cuando empieces a programar modelos, ya sabrás qué decisiones estás tomando al diseñarlos.
| Decisión | Qué define | Impacto |
|---|---|---|
| Número de capas | Profundidad de la red | Capacidad para aprender representaciones complejas |
| Neuronas por capa | Ancho de la red | Capacidad y cantidad de parámetros |
| Tipo de capa | Forma de procesar la información | Adaptación al tipo de dato |
| Conexiones | Cómo fluye la información | Eficiencia y comportamiento del modelo |
| Funciones de activación | Transformación no lineal | Capacidad de aprendizaje y estabilidad |
La arquitectura de una red neuronal es una de las decisiones más importantes en Deep Learning. Define cómo se organiza el modelo, cuánta capacidad tiene y cómo procesará la información.
Entender la arquitectura es comprender que una red no es una caja mágica, sino una estructura diseñada con objetivos concretos. A partir de aquí, el siguiente paso natural es estudiar cómo fluye la información dentro de esa estructura durante la propagación hacia adelante.