Una sola neurona artificial aprende a separar dos grupos de puntos. Tú pones los datos; ella mueve una recta hasta acertar. Pensado para la pantalla grande de un ordenador.
No es un trozo de cerebro ni nada misterioso: recibe números, los multiplica, los suma y decide. Se llama «neurona» porque se inventó imitando, de forma muy simplificada, a una neurona real, que suma las señales que le llegan y «se dispara» si pasan de cierto nivel.
Son los números con los que trabaja. Aquí, cada punto del gráfico tiene dos: x1 (su posición horizontal) y x2 (la vertical), los dos entre 0 y 1. Al lado de cada punto hay también un color: el que debería contestar la neurona (rojo = 0, azul = 1).
Un peso es un número que dice cuánto le importa a la neurona una entrada, y en qué sentido. Si el peso de x1 es grande y positivo, cuanto más a la derecha esté el punto, más empuja hacia el azul. Si es negativo, empuja hacia el rojo. Si está cerca de 0, la neurona casi ignora esa entrada. En el dibujo: grosor = cuánto manda; color = verde suma, morado resta.
El sesgo (b) es un número que se suma siempre, pase lo que pase. Es como una entrada que vale siempre 1 y tiene su propio peso. Sirve para mover la recta sin girarla; sin él, la recta tendría que pasar siempre por la esquina (0, 0).
suma = w1·x1 + w2·x2 + b
salida = 1 (azul) si suma > 0
0 (rojo) si no
La recta del gráfico es el sitio donde la suma vale exactamente 0. Los pesos la giran y el sesgo la desplaza. A un lado de la recta la suma es positiva (azul); al otro, negativa (rojo).
Quien dice cuál es la respuesta correcta eres tú, al poner cada punto rojo o azul. La neurona contesta y se compara con el color correcto:
error = correcto − salida debía ser azul (1) y contestó rojo (0) → error = +1 debía ser rojo (0) y contestó azul (1) → error = −1 acertó → error = 0
w1 nuevo = w1 + tasa × error × x1 w2 nuevo = w2 + tasa × error × x2 b nuevo = b + tasa × error
Tasa = 0,1. Pesos: w1 = 0,30; w2 = −0,20; b = 0,10. Punto: x1 = 0,8; x2 = 0,5, que debe ser rojo (0).
suma = 0,30×0,8 + (−0,20)×0,5 + 0,10 = 0,24 salida = 1 (azul) → se equivoca error = 0 − 1 = −1 w1 = 0,30 + 0,1×(−1)×0,8 = 0,22 w2 = −0,20 + 0,1×(−1)×0,5 = −0,25 b = 0,10 + 0,1×(−1) = 0,00 suma nueva = 0,22×0,8 + (−0,25)×0,5 + 0 = 0,051
Sigue siendo mayor que 0, así que aún dice azul: una corrección no basta, pero la suma ha bajado de 0,24 a 0,05, o sea, se ha acercado. Por eso se dan muchas vueltas. Pulsa «Un punto» y mira cómo cambian los números.
Sí, pero no la salida: lo que vuelve es el error. La señal va hacia delante (entradas → suma → respuesta). Luego se compara con el color correcto y ese error viaja de vuelta para corregir cada peso: es la flecha naranja del dibujo. En las redes grandes, con muchas capas de neuronas, ocurre lo mismo pero el error se reparte capa por capa hacia atrás. Eso se llama retropropagación y es como se entrenan las redes neuronales modernas. Aquí, con una sola neurona, es la versión más sencilla posible.
Una neurona dibuja una recta. Si existe una recta que separa los dos colores, se demuestra que esta regla la encuentra en un número finito de vueltas. Si no existe (el «Ejemplo imposible»: rojos en dos esquinas y azules en las otras dos), seguirá corrigiéndose para siempre sin acertar. Para eso se necesitan varias neuronas colocadas en capas.
Elige un color y toca el gráfico para poner puntos. «Preguntar» sirve para ver qué contesta la neurona en cualquier sitio.
Cada línea lleva un peso. Verde: suma. Morado: resta. Cuanto más gruesa, más manda. La flecha naranja es el error que vuelve a corregir los pesos.
Sin entrenar.
Errores en cada vuelta (cuando llega a 0, ya sabe separar los dos grupos):