05

La neurona artificial

¿Qué hace exactamente una neurona artificial?

11 minRuta ejecutiva

La neurona artificial

Con voz. Puedes pausar y saltar a cualquier paso.

Lección completa

Subtítulos

En las lecciones anteriores, el modelo era una recta con un peso y un sesgo. Hoy ese modelo se convierte en la pieza con la que se construyen las redes: la neurona artificial.

Voz

Sin voz: la lección avanza sola con subtítulos.

La voz de esta lección está en preparación: por ahora avanza sola con subtítulos.

0:00 / 0:00

Qué lograrás

  • Calcular la salida de una neurona de dos entradas: entradas por pesos, suma, sesgo y activación.
  • Explicar por qué una neurona de dos entradas es una recta que divide el plano, y qué hace cada parámetro.
  • Describir cómo aprende el perceptrón y reconocer hasta dónde llega la analogía con el cerebro.

Ideas clave

  1. Una neurona artificial calcula y = f(w₁x₁ + w₂x₂ + b): multiplica cada entrada por su peso, suma, añade el sesgo y aplica una función de activación.
  2. Con dos entradas, los puntos donde la suma vale cero forman una recta: la frontera de decisión. Los pesos la inclinan; el sesgo la desplaza.
  3. El escalón responde cero o uno de forma tajante y no da gradiente; la sigmoide da una puntuación suave entre cero y uno y sí lo da.
  4. El perceptrón (Rosenblatt, 1958) es una red de unidades de umbral que aprende de ejemplos. En su versión más simple, una neurona con escalón, corrige los pesos solo cuando se equivoca y, si existe una recta que separe los datos, la encuentra en un número finito de pasos.
  5. Una neurona artificial es una fórmula inspirada en la biología, no un modelo del cerebro: una neurona real es muchísimo más compleja.

Lo que mucha gente cree

Creencia común Una neurona artificial funciona como una neurona del cerebro: es un cerebro en miniatura que «piensa».

Lo correcto Es una fórmula: multiplica, suma y aplica una función. Se inspira en la biología (McCulloch y Pitts, 1943), pero una neurona real es una célula enormemente más compleja. Lo que logran las redes surge de combinar muchísimas de estas fórmulas con parámetros ajustados con datos.

Compruébalo

Cuatro preguntas. Sin nota ni cuenta: sirven para ver si la idea quedó.

ConceptoEn una neurona de dos entradas, ¿qué efecto tiene cambiar solo el sesgo b?
Concepto¿Por qué se prefiere la sigmoide al escalón cuando una neurona se entrena con descenso del gradiente?
CálculoUna neurona con escalón tiene w = (0.5; −0.5) y b = 0. Para el ejemplo x = (1; 2) debía responder 1, pero respondió 0. Con tasa η = 1, ¿cómo quedan los pesos y el sesgo tras un paso del perceptrón?
AplicaciónUn proveedor asegura que su sistema usa «neuronas que piensan como el cerebro». ¿Qué pregunta es la más útil para evaluarlo?

Por dentroPara quien quiere las fórmulas y el código. No hace falta para seguir el curso.

La neurona como fórmula

Una neurona con entradas x1,…,xnx_1,\dots,x_n, pesos w1,…,wnw_1,\dots,w_n y sesgo bb calcula

z=∑i=1nwixi+b=w⋅x+b,y=f(z)z = \sum_{i=1}^{n} w_i x_i + b = \mathbf{w}\cdot\mathbf{x} + b, \qquad y = f(z)

donde ff es la función de activación. Con los números de la lección, x=(0.8; 0.2)\mathbf{x}=(0.8;\,0.2), w=(2; −1.5)\mathbf{w}=(2;\,-1.5) y b=−0.5b=-0.5:

z=2⋅0.8+(−1.5)⋅0.2−0.5=0.8z = 2\cdot 0.8 + (-1.5)\cdot 0.2 - 0.5 = 0.8

Con escalón, y=1y=1. Con sigmoide, y=σ(0.8)≈0.69y=\sigma(0.8)\approx 0.69. Si n=1n=1 y ff es la identidad, queda y=wx+by=wx+b: la recta de la lección 3 es el caso más simple de neurona.

La frontera de decisión

La neurona cambia de respuesta donde z=0z=0, es decir, w1x1+w2x2+b=0w_1x_1+w_2x_2+b=0. Es una recta cuyo vector normal es w\mathbf{w}. Su distancia al origen es ∣b∣/∥w∥|b|/\lVert\mathbf{w}\rVert y la distancia con signo de un punto a ella es z/∥w∥z/\lVert\mathbf{w}\rVert. En el ejemplo, ∥w∥=2.5\lVert\mathbf{w}\rVert=2.5: la recta pasa a 0.20.2 del origen y el correo de ejemplo queda a 0.8/2.5=0.320.8/2.5=0.32.

Cambiar bb desplaza la recta; cambiar w\mathbf{w} la gira (si w2=0w_2=0 es vertical: solo importa x1x_1). Multiplicar w\mathbf{w} y bb por k>0k>0 no mueve la recta, pero con sigmoide cambia la nitidez de la transición, porque la salida pasa a ser σ(kz)\sigma(kz). Con nn entradas, la frontera es un hiperplano.

Dos activaciones

El escalón es H(z)=1H(z)=1 si z≥0z\ge 0 y 00 si no. La sigmoide es

σ(z)=11+e−z,σ′(z)=σ(z) (1−σ(z))\sigma(z)=\frac{1}{1+e^{-z}},\qquad \sigma'(z)=\sigma(z)\,\bigl(1-\sigma(z)\bigr)

con pendiente máxima 1/41/4 en z=0z=0. La derivada del escalón es cero salvo en z=0z=0, donde no existe: no le da ninguna señal al descenso del gradiente. La de la sigmoide existe en todos los puntos. Una neurona sigmoide entrenada para minimizar la entropía cruzada es la regresión logística. Hoy se usan además otras activaciones, como ReLU (lección 7).

La regla del perceptrón

Con t,y∈{0,1}t,y\in\{0,1\} (respuesta correcta y respuesta de la neurona):

wi←wi+η (t−y) xi,b←b+η (t−y)w_i \leftarrow w_i + \eta\,(t-y)\,x_i,\qquad b \leftarrow b + \eta\,(t-y)

Solo cambia cuando t≠yt\neq y, y entonces t−y=±1t-y=\pm1. El mismo ejemplo queda mejor: Δz=η (t−y) (∥x∥2+1)\Delta z=\eta\,(t-y)\,(\lVert\mathbf{x}\rVert^2+1) tiene el signo correcto. Es un paso de descenso estocástico, con subgradiente, sobre la pérdida max⁡(0,−t~ z)\max(0,-\tilde t\,z) (el «criterio del perceptrón»), con t~=2t−1\tilde t=2t-1: la idea de la lección 4, aplicada a otra pérdida porque la del escalón (contar errores) es plana casi en todas partes.

El teorema de convergencia dice: si existe un vector unitario u\mathbf{u} y un margen γ>0\gamma>0 con t~i (u⋅xi)≥γ\tilde t_i\,(\mathbf{u}\cdot\mathbf{x}_i)\ge\gamma para todos los ejemplos (con el sesgo como una entrada más, igual a 1) y ∥xi∥≤R\lVert\mathbf{x}_i\rVert\le R, el perceptrón, partiendo de pesos cero, comete a lo sumo (R/γ)2(R/\gamma)^2 errores: la cota sale directamente de la demostración de Novikoff (1962). Con los 16 correos de la lección, R≈1.63R\approx 1.63 (el mayor ∥(x1,x2,1)∥\lVert(x_1,x_2,1)\rVert) y γ≈0.12\gamma\approx 0.12, así que la cota es de unos 190 errores; en 300 pruebas con orden aleatorio, desde cero, nunca hicieron falta más de 31. Si los datos no se separan con una recta, no converge: los pesos no dejan de moverse.

En código

import math

def neurona(x, w, b, activacion="escalon"):
    z = sum(wi * xi for wi, xi in zip(w, x)) + b
    if activacion == "escalon":
        return 1 if z >= 0 else 0
    return 1 / (1 + math.exp(-z))

x, w, b = [0.8, 0.2], [2.0, -1.5], -0.5
print(round(sum(wi * xi for wi, xi in zip(w, x)) + b, 2))   # z
print(neurona(x, w, b))                                      # escalón
print(round(neurona(x, w, b, "sigmoide"), 3))                # sigmoide
# 0.8
# 1
# 0.69

Y la regla del perceptrón aprendiendo la función OR:

datos = [([0, 0], 0), ([0, 1], 1), ([1, 0], 1), ([1, 1], 1)]
w, b, eta = [0.0, 0.0], 0.0, 1.0

def salida(x):
    return 1 if w[0] * x[0] + w[1] * x[1] + b >= 0 else 0

for epoca in range(10):
    errores = 0
    for x, t in datos:
        y = salida(x)
        if y != t:
            w[0] += eta * (t - y) * x[0]
            w[1] += eta * (t - y) * x[1]
            b += eta * (t - y)
            errores += 1
    print(epoca, errores, w, b)
    if errores == 0:
        break
# 0 2 [0.0, 1.0] 0.0
# 1 2 [1.0, 1.0] 0.0
# 2 1 [1.0, 1.0] -1.0
# 3 0 [1.0, 1.0] -1.0

De dónde viene, con cuidado

McCulloch y Pitts (1943) supusieron neuronas de todo o nada que se activan cuando llega un número fijo de sinapsis excitadoras, con inhibición absoluta (una sola sinapsis inhibidora impide la activación) y una red que no cambia con el tiempo. Mostraron que redes así pueden calcular funciones de la lógica proposicional. No tenían pesos que se aprendieran.

Rosenblatt (1958) describió el perceptrón como un sistema de unidades de umbral: una retina de sensores (S), unidades de asociación (A) conectadas al azar y unidades de respuesta (R). El artículo describe el aprendizaje como refuerzo de las unidades A (el experimentador «fuerza» la respuesta o premia y castiga); no contiene la regla de arriba. La corrección solo cuando hay error aparece en informes de su laboratorio de 1960, y la forma con una sola neurona es la que se enseña desde entonces.

El Mark I Perceptron (manual de 1960): 400 fotorresistencias en una cuadrícula de 20 × 20, 512 unidades A con conexiones al azar a los sensores (generadas por un programa en un IBM 704 y cableadas en un tablero) y 8 unidades R. Los valores de las unidades A, los pesos, son potenciómetros movidos por motores de corriente continua.

La demostración de julio de 1958 se hizo con una computadora IBM 704: tras 50 ensayos distinguió tarjetas marcadas a la izquierda de las marcadas a la derecha. La frase de la Marina sobre una máquina «consciente de su existencia» es del despacho de UPI que publicó The New York Times el 8 de julio.

Las cifras del cerebro. Azevedo et al. (2009) contaron, en cerebros de varones adultos, 86.1±8.186.1\pm 8.1 miles de millones de neuronas en promedio. Beniaguev et al. (2021) necesitaron una red convolucional temporal de cinco a ocho capas para imitar un modelo biofísico detallado de una neurona piramidal de la capa 5 de la corteza; cuando quitaron del modelo los receptores NMDA, bastaba una red con una sola capa oculta. Es una propiedad de ese modelo simulado, no una medida de todas las neuronas.

Lo que viene

Una sola neurona solo separa con una recta; la lección 6 muestra un caso que no puede (XOR). La lección 7 apila capas con activaciones no lineales, y la 8 calcula el gradiente de cada peso de la red (retropropagación).

Lente de decisión

Qué significa esta idea si tu trabajo es decidir, no programar.

  • Cuando un proveedor hable de «neuronas» o de que su sistema «piensa como el cerebro», tradúcelo: son fórmulas con parámetros ajustados con datos. Pide saber con qué datos se entrenó y cómo se evaluó, no cuán «inteligente» parece.
  • Una sola neurona se puede auditar: si las entradas están en la misma escala, sus pesos dicen cuánto aporta cada una a la decisión. Con miles de millones de parámetros esa lectura directa se pierde. Si una decisión debe poder explicarse, pregunta qué explicación puede dar el sistema.
  • Una salida entre 0 y 1 no es automáticamente una probabilidad: un 0.9 no significa «acierta nueve de cada diez veces». Compruébalo con datos propios antes de fijar umbrales de decisión (lección 33).
  • Los pesos aprenden lo que hay en los datos: si los ejemplos reflejan los prejuicios o los errores de quien los etiquetó, la neurona los reproduce. Y una neurona solo separa lo que una recta separa: pregunta si el problema, de verdad, tiene esa forma.

Términos de la lección

Transcripción completa
ComentariosConversación pública de esta lección: dudas, datos por revisar, ideas.

Los comentarios viven en GitHub Discussions, en el repositorio público del curso; para escribir se necesita una cuenta de GitHub. Se cargan desde giscus.app al abrir esta sección. Las personas que revisan el curso los leen, y si un cambio se acepta, se aplica en los dos idiomas. Abrir el hilo en GitHub

Fuentes