Cómo funciona por dentro · Lectura de 8 min

Cómo aprende una red neuronal: el error que se propaga hacia atrás

Aprender, para una máquina, es equivocarse y corregir el rumbo. El método tiene nombre feo y una idea muy elegante detrás.

Una red neuronal recién nacida es un desastre. Trae sus pesos puestos al azar, así que si le muestras la foto de un gato responde con la misma seguridad "tostadora" que "gato" o "eclipse". No sabe nada. Y sin embargo, unas horas más tarde, esa misma red acierta nueve de cada diez veces. En medio no ocurrió ningún milagro: ocurrió un método para medir cuánto se equivocó y repartir la culpa de ese error entre todos sus números. Ese método se llama backpropagation, retropropagación, y es la razón por la que hoy cómo aprende una red neuronal ya no es un misterio, sino una cuenta.

Qué es backpropagation y cómo aprende una red neuronal, dicho de una vez y sin adornos: la red hace una predicción, compara su respuesta con la correcta, mide la distancia entre ambas, y luego camina esa distancia hacia atrás por toda la red para saber qué peso empujar, en qué dirección y cuánto. Aprender es corregir el rumbo, un pasito cada vez.

01 · el errorPrimero hay que medir cuánto te equivocaste

Antes de corregir nada, hay que ponerle número al fracaso. Cuando la red da una respuesta, esa respuesta se compara con la verdad conocida del ejemplo, y de esa comparación sale un único valor: la pérdida (en inglés, loss). Es una calificación al revés: cuanto más se aleja la predicción de lo correcto, más alta es la pérdida. Cero pérdida sería el acierto perfecto.

Imagínalo como una distancia. La respuesta correcta es un punto en el mapa; la respuesta de la red, otro punto. La pérdida es cuántos metros hay entre los dos. Todo el aprendizaje consiste en acercar esos puntos, y para acercarlos primero hay que saber en qué dirección tirar. Esa dirección no se adivina: se calcula.

Aprender no es acertar a la primera. Es medir el error con precisión y saber exactamente hacia dónde moverse para reducirlo.

Figura 1 · la pérdida es la distancia entre lo que dijo y lo que era
predicción respuesta correcta pérdida reducir la pérdida = acercar el punto rojo al verde
La pérdida convierte "acertaste más o menos" en un número exacto. Sin ese número no habría nada que reducir. Elaboración propia; esquema conceptual.

02 · la pendienteLa derivada dice hacia dónde bajar

Aquí entra la idea elegante que se esconde detrás del nombre feo. Piensa la pérdida como un paisaje de montañas y valles. Cada peso de la red es una coordenada; muévelo un poco y la pérdida sube o baja. La red está parada en algún punto de ese terreno, y quiere llegar al fondo del valle, donde la pérdida es mínima. ¿Cómo baja sin ver el mapa completo? Palpando la pendiente bajo sus pies.

Esa pendiente tiene nombre: gradiente. Es la derivada de la pérdida respecto a cada peso, y responde a una pregunta muy concreta: si muevo este peso una pizca, ¿la pérdida sube o baja, y con cuánta fuerza? Con esa respuesta la red da un paso en la dirección contraria a la pendiente (cuesta abajo) y repite. A ese descenso paciente se le llama descenso por gradiente [1]. El tamaño de cada paso es la tasa de aprendizaje: pasos grandes bajan rápido pero se pasan de largo; pasos diminutos son seguros pero lentos.

Por qué no se prueba peso por peso

Una red moderna tiene millones o miles de millones de pesos. Ajustarlos de a uno, probando "¿y si subo este?", sería eterno. La gracia del gradiente es que da la dirección de bajada de todos los pesos a la vez, en una sola pasada. No se adivina cuál mover: se calcula la mejor jugada para el conjunto entero.

03 · hacia atrásBackpropagation: repartir la culpa capa por capa

Falta la pieza central, la que le da el nombre. El error se mide al final, en la capa de salida. Pero la culpa no es solo de la última capa: viene arrastrada desde el principio, porque cada capa alimentó a la siguiente. Para corregir bien hay que saber cuánto aportó al error cada peso, incluso los del fondo. Y esa contabilidad se hace al revés: se empieza por el error final y se propaga hacia atrás, capa por capa, hasta la entrada.

El truco matemático que lo hace posible es la regla de la cadena del cálculo: para saber cuánto influye un peso lejano en el error final, se multiplican las influencias de cada eslabón intermedio. La retropropagación es, en el fondo, aplicar esa regla de forma ordenada y reutilizando cuentas, de modo que con una sola pasada hacia adelante y otra hacia atrás quedan calculados todos los gradientes [2]. Sin ese orden, el cálculo sería impracticable; con él, es casi barato.

La idea no cayó del cielo. En 1986, David Rumelhart, Geoffrey Hinton y Ronald Williams publicaron en Nature el artículo que enseñó al mundo a usar la retropropagación para ajustar los pesos de redes con varias capas [2]. No inventaron la regla de la cadena, que tiene siglos, ni fueron los primeros en rozar la idea, pero mostraron que con ella una red profunda podía aprender representaciones útiles por sí sola. Aquel trabajo destrabó décadas de estancamiento y es, en línea recta, el ancestro de casi todo lo que hoy llamamos inteligencia artificial.

Figura 2 · dos pasadas: adelante para predecir, atrás para corregir
entrada oculta salida → hacia adelante: predecir ← hacia atrás: repartir el error
La pasada hacia adelante convierte la entrada en una predicción y mide la pérdida. La pasada hacia atrás lleva ese error de vuelta por cada conexión, asignando a cada peso su parte de responsabilidad. Elaboración propia a partir de Rumelhart, Hinton & Williams (1986) [2].

04 · el cicloRepetir el rumbo hasta que la red acierta

Junta las tres piezas y tienes el latido completo del aprendizaje. La red mira un lote de ejemplos y predice (adelante). Mide su pérdida. Propaga el error hacia atrás y obtiene, para cada peso, su gradiente. Ajusta cada peso un pasito en la dirección que baja la pérdida. Y vuelve a empezar con el siguiente lote. Cada vuelta completa sobre los datos se llama época, y hacen falta muchas.

Visto de lejos, es un mismo gesto repetido hasta el cansancio: predecir, medir, corregir el rumbo. No hay un instante de comprensión súbita; hay un goteo de millones de correcciones diminutas que, sumadas, dejan los pesos justo donde la red acierta. Lo que la red "sabe" al final no es una idea: es la posición exacta de sus pesos, esculpida por el error que la fue empujando cuesta abajo.

La red no entiende de golpe. Baja la montaña a tientas, un paso corregido cada vez, hasta que el valle es el acierto.

Y ese es el secreto entero, sin el nombre feo estorbando. Backpropagation no es más que la contabilidad honesta del error: cada peso recibe la parte de culpa que le toca y se mueve lo justo para hacerlo mejor la próxima vez. Repítelo lo suficiente y una tabla de números al azar termina reconociendo una cara, traduciendo un idioma o escribiendo esta frase. Lo asombroso no es que la máquina aprenda: es que aprender, mirado de cerca, resulte ser tan solo saber medir un error y caminar hacia atrás para repartirlo.

Fuentes

  1. Goodfellow, I., Bengio, Y. & Courville, A. (2016). Deep Learning. MIT Press, caps. 4 y 6 (optimización y descenso por gradiente; retropropagación). Disponible en deeplearningbook.org.
  2. Rumelhart, D. E., Hinton, G. E. & Williams, R. J. (1986). Learning representations by back-propagating errors. Nature, 323, pp. 533-536. DOI: 10.1038/323533a0.
  3. LeCun, Y., Bengio, Y. & Hinton, G. (2015). Deep learning. Nature, 521, pp. 436-444. DOI: 10.1038/nature14539.

Aprende más sobre IA

Ver todo Aprende IA