← Volver a Aprende con CDIA

Deep LearningEl perceptrón

IntermedioDeep Learning7 min de lectura

El perceptrón

La neurona artificial: pondera entradas, suma un sesgo y activa una salida. La unidad mínima de toda red neuronal, y el límite (el XOR) que obligó a apilar capas.

El perceptrón es la neurona artificial: la unidad más simple de una red neuronal. Propuesto por Frank Rosenblatt en 1958 e inspirado en las neuronas del cerebro, toma varias entradas, las pondera y decide una salida. Todo el deep learning nace de aquí.

De la neurona biológica a la artificial

Una neurona recibe señales, las combina y "se activa" si el estímulo supera cierto umbral. El perceptrón imita eso con números:

  1. Recibe entradas .
  2. Cada una tiene un peso que mide su importancia.
  3. Suma todo y le añade un sesgo .
  4. Pasa el resultado por una función de activación que produce la salida.
w₁ w₂ w₃ b x₁ x₂ x₃ Σ ŷ
Cada entrada xᵢ se multiplica por su peso wᵢ; todo se suma junto al sesgo b (Σ) y el total pasa por la función de activación.

La fórmula

Primero, la suma ponderada (idéntica a la de una regresión lineal):

Luego, una función escalón decide la salida: dispara si se supera el umbral, si no.

Los pesos deciden cuánto pesa cada entrada; el sesgo, qué tan fácil es activarse.

Cómo aprende

El perceptrón ajusta sus pesos mirando sus errores. Por cada ejemplo, compara su predicción con la respuesta real y corrige:

  • Si acertó (), no cambia nada.
  • Si falló, mueve los pesos en la dirección que habría dado la respuesta correcta.

Repitiendo sobre los datos, converge a una recta que separa las clases... si es que existe.

En código

Un perceptrón que aprende la función lógica AND cabe en unas líneas:

import numpy as np

X = np.array([[0, 0], [0, 1], [1, 0], [1, 1]])
y = np.array([0, 0, 0, 1])            # AND: solo (1,1) da 1

w = np.zeros(2); b = 0.0; eta = 0.1
for _ in range(10):                   # varias pasadas por los datos
    for xi, yi in zip(X, y):
        pred = 1 if xi @ w + b >= 0 else 0
        error = yi - pred
        w += eta * error * xi         # regla de aprendizaje
        b += eta * error

print(w, b)  # una recta que separa el único (1,1) del resto

El límite que cambió la historia

Un solo perceptrón únicamente puede separar clases con una recta. El caso famoso es el XOR (o exclusivo): no existe ninguna recta que separe sus clases, y el perceptrón simplemente no puede aprenderlo. Este descubrimiento, en 1969, casi congela el campo por años.

00/1 01
XOR: cada color es una clase, en esquinas opuestas. Cualquier recta (línea punteada) deja siempre un punto mal clasificado.

La solución llegó después: apilar perceptrones en capas. Eso es exactamente una red neuronal.

Para llevar

El perceptrón es la neurona artificial: pondera entradas, suma un sesgo y activa una salida. Aprende corrigiendo sus errores, pero por sí solo únicamente traza fronteras lineales —no puede con el XOR—. Superar ese límite apilando neuronas en capas es el tema de la próxima lección: las redes neuronales.