7. Arquitectura de una red neuronal

7.1 Introducción

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.

7.2 ¿Qué significa "arquitectura"?

La arquitectura de una red neuronal es la estructura general del modelo. Incluye aspectos como:

  • Cuántas capas tiene la red.
  • Cuántas neuronas hay en cada capa.
  • Cómo se conectan las neuronas entre capas.
  • Qué funciones de activación se utilizan.
  • Qué tipo de capas componen la red.

En otras palabras, la arquitectura responde a la pregunta: ¿cómo está construido el modelo?

7.3 Una analogía útil: el diseño de un edificio

Una buena forma de entender la arquitectura es compararla con el diseño de un edificio.

  • Las capas serían como los pisos.
  • Las neuronas serían como las habitaciones o unidades internas.
  • Las conexiones serían como pasillos o instalaciones que comunican sectores.
  • El plano general indicaría cómo se organiza todo el conjunto.

Así como no todos los edificios sirven para lo mismo, no todas las arquitecturas de redes neuronales son adecuadas para cualquier problema.

7.4 Componentes básicos de la arquitectura

Una arquitectura de red neuronal suele describirse a partir de estos elementos fundamentales:

  • Capa de entrada
  • Capas ocultas
  • Capa de salida
  • Número de neuronas por capa
  • Tipo de conexión entre capas
  • Funciones de activación

En redes más avanzadas aparecen además componentes especiales, como capas convolucionales, recurrentes, de normalización o de atención.

7.5 Capa de entrada

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:

  • Si una casa se describe con 8 variables, la entrada tendrá 8 nodos.
  • Si una imagen se representa con muchos píxeles, la entrada reflejará esa cantidad de valores.

La capa de entrada no suele "decidir" nada por sí misma; simplemente recibe la información inicial.

7.6 Capas ocultas

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:

  • Más capas pueden permitir aprender relaciones más complejas.
  • Más neuronas por capa pueden dar mayor capacidad al modelo.

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.

7.7 Capa de salida

La capa de salida produce la respuesta final de la red. Su forma depende del tipo de problema.

Algunos casos típicos:

  • Regresión: una sola neurona que devuelve un valor numérico (por ejemplo, predecir el precio de una vivienda).
  • Clasificación binaria: una neurona con salida interpretable como probabilidad (por ejemplo, determinar si un correo es spam o no spam).
  • Clasificación multiclase: varias neuronas, una por clase (por ejemplo, identificar si una imagen corresponde a un gato, un perro o un pájaro).

La arquitectura de la salida debe elegirse de forma coherente con la tarea que queremos resolver.

7.8 Profundidad de la red

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:

  • Una capa inicial puede detectar bordes.
  • Otra puede detectar texturas.
  • Otra puede detectar partes de objetos.
  • Las capas finales pueden identificar el objeto completo.

Esta progresión es una de las grandes fortalezas de las redes profundas.

7.9 Ancho de la red

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:

  • Profundidad: cuántas capas tiene.
  • Ancho: cuántas neuronas hay en cada capa.

7.10 Red pequeña, red mediana, red grande

No existe una clasificación absoluta, pero en términos intuitivos podemos pensar que:

  • Una red pequeña tiene pocas capas y pocas neuronas.
  • Una red mediana tiene una capacidad intermedia.
  • Una red grande tiene muchas capas, muchas neuronas y muchos parámetros.

Las redes grandes pueden aprender patrones muy complejos, pero exigen más datos, más tiempo de entrenamiento y más recursos de hardware.

7.11 Conexiones entre capas

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.

7.12 Redes densas o fully connected

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.

7.13 Arquitecturas especializadas

No todas las redes neuronales tienen la misma forma. Con el tiempo surgieron arquitecturas especializadas según el tipo de datos:

  • MLP (Multi-Layer Perceptron): redes multicapa densas, útiles en problemas generales y datos tabulares.
  • CNN (Convolutional Neural Network): redes convolucionales, especialmente eficaces en imágenes.
  • RNN (Recurrent Neural Network): redes recurrentes, orientadas a secuencias.
  • Transformers: muy usadas en lenguaje natural y otros dominios complejos.

En este tema nos centraremos en la idea general de arquitectura. Más adelante veremos algunas de estas variantes con más detalle.

7.14 ¿Cómo se decide el número de capas?

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:

  • Problemas simples pueden resolverse con pocas capas.
  • Problemas complejos pueden requerir más profundidad.

Pero aumentar capas no garantiza mejores resultados. También puede hacer más difícil el entrenamiento.

7.15 ¿Cómo se decide el número de neuronas por capa?

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:

  • Muy pocas neuronas pueden dar una red con poca capacidad.
  • Demasiadas neuronas pueden volverla costosa y propensa a sobreajuste.

Por eso el diseño de arquitectura suele formar parte del ajuste de hiperparámetros.

7.16 Arquitectura y capacidad del modelo

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:

  • Capacidad suficiente para resolver el problema.
  • Complejidad razonable para entrenar y generalizar bien.

7.17 Arquitectura y sobreajuste

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.

7.18 Arquitectura y costo computacional

Cada decisión de arquitectura tiene un costo computacional asociado. Más capas y más neuronas significan:

  • Más parámetros
  • Más memoria necesaria
  • Más operaciones matemáticas
  • Más tiempo de entrenamiento

Por eso el diseño de arquitectura también debe considerar los recursos disponibles: CPU, GPU, memoria y tiempo.

7.19 Un ejemplo sencillo de arquitectura

Supongamos que queremos predecir si un cliente comprará un producto. Disponemos de cuatro variables de entrada:

  • Edad
  • Ingresos
  • Cantidad de visitas al sitio
  • Tiempo en la plataforma

Una arquitectura simple podría ser:

  • 4 neuronas de entrada
  • 1 capa oculta con 7 neuronas
  • 1 capa oculta con 4 neuronas
  • 1 neurona de salida

Este ejemplo muestra que la arquitectura es, en esencia, una decisión sobre cómo organizar el procesamiento del problema.

7.20 Notación de una arquitectura

Muchas veces la arquitectura se describe mediante una secuencia de números. Por ejemplo:

4 - 7 - 4 - 1

Esto podría significar:

  • 4 neuronas en la entrada
  • 7 neuronas en la primera capa oculta
  • 4 neuronas en la segunda capa oculta
  • 1 neurona en la salida

Es una manera rápida de resumir la estructura de una red.

Ejemplo de arquitectura de una red neuronal

7.21 Activaciones y arquitectura

La arquitectura no se refiere solo a cuántas neuronas hay, sino también a qué activaciones se usan en cada parte.

Por ejemplo:

  • ReLU puede usarse en capas ocultas.
  • Sigmoid puede usarse en una salida binaria.
  • Softmax puede usarse en una salida multiclase.

La combinación entre estructura y activaciones define el comportamiento global del modelo.

7.22 Parámetros e impacto de la arquitectura

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.

7.23 Arquitectura fija y arquitectura ajustable

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:

  • Con más o menos capas
  • Con más o menos neuronas
  • Con distintas activaciones
  • Con distintos tipos de capas

Ese proceso de prueba y ajuste es parte natural del desarrollo de modelos de Deep Learning.

7.24 ¿Qué hace buena a una arquitectura?

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:

  • Ser suficiente para aprender el problema.
  • No ser innecesariamente compleja.
  • Entrenar de forma estable.
  • Generalizar bien a nuevos datos.

Esto es algo que se evalúa empíricamente con experimentos y validación.

7.25 Relación con PyTorch

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.

7.26 Resumen comparativo de decisiones arquitectónicas

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

7.27 Qué debes recordar de este tema

  • La arquitectura de una red neuronal es su estructura general.
  • Incluye capas, neuronas, conexiones y activaciones.
  • La profundidad se refiere al número de capas.
  • El ancho se refiere al número de neuronas por capa.
  • Una arquitectura más grande no siempre es mejor.
  • La arquitectura influye en la capacidad, el costo computacional y el riesgo de sobreajuste.
  • Distintos tipos de datos requieren arquitecturas diferentes.
  • En PyTorch, diseñar un modelo es definir su arquitectura en código.

7.28 Conclusión

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.