IA

Backpropagation: cómo aprende una red de sus errores

Backpropagation: cómo aprende una red de sus errores
Backpropagation: cómo aprende una red de sus errores

En los artículos anteriores hemos montado una cocina (la red neuronal) llena de catadores con manías (los pesos), y hemos conocido al abuelo de todos ellos (la regresión lineal). Pero hay algo que no te he contado todavía, y es lo que de verdad convierte a esta historia en magia:

Cuando una red neuronal nace, todos sus catadores tienen opiniones aleatorias. Literalmente. El primer día en la cocina, uno dice que la sal sabe a plátano, otro que los tomates son bailarines flamencos, y otro que todo lo rojo es caviar. Es un desastre absoluto.

Y sin embargo, unas horas después —o unos días, según el tamaño— esos mismos catadores ya están sirviendo platos dignos de estrella Michelin. ¿Cómo demonios pasa eso?

La respuesta es una idea preciosa que se llama backpropagation, o "retropropagación del error". En español suena a receta de cocinero molecular, pero la idea es tan simple que te la podría explicar tu abuela mientras remueve un guiso. Vamos a ello.

Empecemos por la bronca

Imagínate una cocina grande con muchas mesas de catadores en fila. El plato entra por la primera mesa, va pasando de catador en catador, y sale por la última convertido en una etiqueta: "esto es una salsa boloñesa". Eso se llama forward pass, el paso hacia adelante. Así es como la red usa lo que sabe.

Ahora, al final de la cocina está el jefe de sala. Prueba el plato y le dice al dueño qué piensa: "esto no es boloñesa, esto es guacamole". El dueño, que conoce la receta real, mira, se lleva las manos a la cabeza y dice:

"¡Era sopa de pescado!"

Ahí empieza el aprendizaje de verdad. El dueño tiene que repartir la bronca. Pero repartirla con justicia. Porque no es culpa de todos los catadores por igual: unos se habrán equivocado mucho, otros habrán aportado algo útil.

El reparto justo de la culpa

La gracia de backpropagation es precisamente esta: repartir la bronca hacia atrás, mesa por mesa, proporcional a cuánto contribuyó cada uno al error final.

Vamos a ir paso a paso:

  1. Primero el jefe de sala. Él dijo "guacamole" cuando era "sopa de pescado". El error es enorme. Se lleva la primera bronca, y apunta mentalmente: "la próxima vez, cuando la mesa de atrás me diga lo que me dijo, yo no voy a decir guacamole". Es decir, ajusta sus propias manías.

  2. Luego, el jefe se gira hacia la mesa anterior y le dice: "lo que vosotros me habéis pasado me ha hecho equivocarme. En concreto, tú que insistías tanto en el aguacate, tienes que bajarle. Y tú, el que detectó algo pescadoso, te hice poco caso, a partir de ahora escucho más".

  3. Esa mesa anterior recibe la bronca, ajusta lo suyo, y se gira a la mesa de más atrás: "eh, vosotros nos habéis confundido con esos colores verdes, id con más cuidado".

  4. Y así, como un dominó de regaños, la culpa viaja de atrás hacia delante, desde la última mesa hasta la primera. Cada catador recibe su "cuánto te has equivocado tú" y ajusta mínimamente sus manías para la próxima.

Eso es backpropagation. Literalmente: retropropagar (mandar hacia atrás) el error (la bronca). La información entra hacia adelante, pero la corrección vuelve hacia atrás.

"Vale, pero ¿cómo sabe cada uno cuánta culpa le toca?"

Aquí está la joya matemática, pero te prometí cero derivadas, así que voy con la versión intuitiva.

Imagínate que cada catador, cuando da su nota, también apunta en una libretita: "si la cantidad de sal hubiera sido un pelín mayor, mi nota habría subido esto. Si hubiera sido un pelín menor, habría bajado esto otro". Es decir, cada catador sabe cuán sensible es su opinión a cada ingrediente que recibe.

Esa sensibilidad es una cosa local y pequeña, fácil de calcular. El catador no necesita saber qué está pasando en toda la cocina; sólo necesita saber cómo reaccionan sus propias manías a pequeños cambios.

Ahora viene el truco: si todos los catadores conocen su sensibilidad local, el dueño de la cocina puede encadenar esas sensibilidades para descubrir cuánta culpa le toca a cada uno desde el final hasta el principio. Es como hacer un árbol genealógico del error.

En matemáticas esto se llama regla de la cadena, y es algo que se enseña en bachillerato. Pero la intuición es tan bonita que no hace falta la fórmula: si sabes cómo reacciona cada eslabón a un cambio pequeñito, puedes saber cómo reacciona toda la cadena. Es la vieja idea de las fichas de dominó.

El tamaño del paso: ni rápido ni lento

Una vez que cada catador sabe cuánta culpa le toca, hay que decidir otra cosa: ¿cuánto debe ajustar sus manías?

Si ajusta demasiado poco, tardará una eternidad en aprender. Si ajusta demasiado, se pasará de largo y volverá a equivocarse, esta vez en la otra dirección. Piensa en alguien duchándose y ajustando el grifo del agua caliente: si lo giras un pelín, no notas nada. Si lo giras medio vuelta, te quemas. Hay que ir encontrando el ajuste perfecto.

A ese "tamaño del paso" se le llama learning rate, tasa de aprendizaje. Es uno de los parámetros más importantes del entrenamiento y, créeme, ha hecho llorar a muchos investigadores. Demasiado grande, el modelo rebota como una pelota y nunca se estabiliza. Demasiado pequeño, se pasa entrenando una semana para mejorar un 0,1%.

Entrenamiento: miles de millones de broncas

¿Cuántas veces pasa esto? Muchas. Muchísimas.

El procedimiento completo es así:

  1. Le das a la red un ejemplo (una foto, una frase, un dato).

  2. La red hace su forward pass y escupe una predicción.

  3. Comparas la predicción con la respuesta correcta y calculas el error.

  4. Haces backpropagation y cada catador ajusta un poco sus manías.

  5. Vuelta a empezar con el siguiente ejemplo.

Y así millones, a veces miles de millones de veces. Cada ejemplo corrige a la red un poquito. Ningún ejemplo por sí solo cambia nada significativo; es la suma de millones de correcciones minúsculas lo que, poco a poco, convierte el caos inicial en un modelo preciso.

Hay una frase que define esto a la perfección: una red neuronal no "entiende" nada, simplemente ha sido regañada tantas veces que ha dejado de equivocarse.

¿Y eso es todo? ¿No hay más?

Sorprendentemente, no. Todo el entrenamiento de un modelo como ChatGPT se reduce, en esencia, a estos cuatro pasos repetidos obscenas cantidades de veces sobre obscenas cantidades de datos. Eso sí, con trucos para que vaya más rápido, para evitar que se "atasque" en errores tontos, y para manejar el tamaño descomunal de las redes modernas. Pero el corazón es esto.

Cuando oigas frases como "han entrenado el modelo con 10 billones de tokens durante 3 meses usando 25.000 GPUs", lo que han estado haciendo es exactamente lo del catador recibiendo broncas. Sólo que el catador tiene 175 mil millones de manías, la bronca llega miles de millones de veces por segundo, y hay 25.000 cocinas trabajando en paralelo.

Un detalle histórico bonito

Backpropagation no es nuevo. La idea se describió en los años 70 y se popularizó en 1986 con un paper de Rumelhart, Hinton y Williams. Durante décadas fue una curiosidad académica. ¿Por qué? Porque en los 80 y 90 no había ni suficientes datos ni suficiente potencia de cómputo para que funcionase bien. La idea era correcta, pero el mundo no estaba listo.

Hizo falta llegar a 2012, con redes grandes, GPUs potentes e internet lleno de imágenes etiquetadas, para que alguien —Geoffrey Hinton otra vez, con sus alumnos— demostrara que backpropagation sobre redes profundas machacaba a todo lo demás. De ahí para acá, la explosión.

Moraleja: a veces la idea correcta lleva 40 años esperando a que la tecnología la alcance. Da esperanza.

Lo que te llevas a casa

Si la regresión lineal es el ladrillo y la red neuronal es la cocina, backpropagation es el método de educación de los catadores. Sin él, la cocina es un ruido aleatorio. Con él, se convierte en un restaurante con tres estrellas Michelin.

La frase para tatuarte:

Backpropagation es repartir la culpa hacia atrás, con justicia, para que cada catador ajuste sus manías exactamente en la dirección correcta. Entrenar una red neuronal es repetir este ritual millones de veces hasta que el caos se vuelve inteligencia.

Comentarios (0)

Sé el primero en comentar.

Deja un comentario

Protegido con reCAPTCHA — Privacidad · Términos

Historias relacionadas