
Reconocer un 3 garabato en 28×28 píxeles es instantáneo para ti. Escribir un if/else que haga lo mismo — curva aquí, trazo allí, y si está torcido? — es un infierno. La red neuronal del vídeo But what is a neural network?, de 3Blue1Brown (Grant Sanderson), desmonta esto: no es magia, es una función con miles de botones.
Este texto sigue el capítulo 1 de la serie de deep learning. La cuenta que la GPU hace en el post GPU vs TPU es exactamente esta: multiplicar matrices, un millón de veces.
Una neurona es un número
Olvida el dibujo biológico. En silicio, una neurona es un recipiente con un número — la activación. En MNIST (dígitos manuscritos):
- Entrada: 28×28 = 784 neuronas. Cada una guarda el brillo del píxel, de 0 (negro) a 1 (blanco).
- Salida: 10 neuronas, una por dígito 0–9. El valor más alto es la suposición.
- Ocultas: en el ejemplo del vídeo, dos capas de 16. La red queda
784 → 16 → 16 → 10.
entrada 784 px → oculta 16 → oculta 16 → saída 10
(pixels) (bordas) (formas) (0..9)
Por qué capas
Un píxel por sí solo no significa nada. La red apila abstracciones:
- Capa 2: trozos de borde (trazo corto, diagonal).
- Capa 3: une bordes — círculo arriba + asta = 9; dos círculos = 8; tres rectas = 4.
- Capa 4: combina las piezas y elige el dígito.
El mismo esquema en el audio: muestra → fonema → sílaba → palabra. Por eso “deep”: profundidad es jerarquía, no marketing.
Pesos, sesgo y activación
Cada arista entre neuronas tiene un peso w. Positivo estimula; negativo inhibe (¿luz en esa región? entonces no es el patrón). Cero ignora el píxel.
El estímulo que llega a la neurona j es la suma ponderada de las activaciones anteriores, más un sesgo b (el umbral: con b = -10, la suma debe superar +10 para que la neurona “se encienda”):
estímulo = (w1·a1 + w2·a2 + … + wn·an) + b
Ese número puede ser cualquier real. La función de activación lo comprime a un intervalo útil. El vídeo utiliza la sigmoide (curva logística), la analogía clásica con el disparo biológico:
σ(x) = 1 / (1 + e^(-x))
x → -∞ ⇒ 0
x = 0 ⇒ 0,5
x → +∞ ⇒ 1
En la práctica, las redes profundas abandonaron la sigmoide a mitad de camino: se satura y el gradiente desaparece (vanishing gradient). El patrón pasó a ser ReLU — barata y suficientemente no lineal:
ReLU(x) = max(0, x)
13.002 botones
¿Cuántos números libres hay en esta red didáctica?
| Capas | Pesos | Sesgos | Total |
|---|---|---|---|
| 784 → 16 | 12.544 | 16 | 12.560 |
| 16 → 16 | 256 | 16 | 272 |
| 16 → 10 | 160 | 10 | 170 |
| Suma | 12.960 | 42 | 13.002 |
Entrenar es encontrar esos 13 mil números. Gradient descent + backpropagation — el próximo vídeo de la serie. Un LLM de 2026 tiene billones de los mismos botones; la cuenta no cambia, solo la escala. Por eso un modelo no Ollama come RAM: cada parámetro es un float que necesita caber en memoria.
Una línea de álgebra lineal
Neurona a neurona no escala. Apila las activaciones en el vector a, los pesos en la matriz W, los sesgos en el vector b. La capa entera se convierte en:
a¹ = σ( W · a⁰ + b )
Producto matriz-vector, suma el sesgo, aplica σ en cada posición. NumPy, PyTorch, TensorFlow existen para hacer esto rápido — BLAS/GEMM en la GPU. La “IA” del centro de datos es, en el fondo, esa línea repetida.
Entonces, ¿qué es una red neuronal?
Una función f. En MNIST: entra ℝ784, sale ℝ10, por dentro 13.002 parámetros en productos matriciales con no linealidad en medio. Con datos suficientes, esa función aprende patrones que nadie escribiría a mano. El resto — Transformer, atención, GPU — es variación del mismo truco.
Referencias
- Vídeo: 3Blue1Brown — But what is a neural network? (Grant Sanderson)
- Serie: Neural networks · 3blue1brown.com
- GPU vs TPU: cómo funcionan los chips de IA
- Ejecutando IA local en Linux con Ollama
Trece mil números para leer un dígito. Trillones para conversar. La máquina es la misma.