
HAIBT: la red que por fin resuelve XOR
En ROSENBLATT dejamos un límite a la vista, sin esconderlo: una sola neurona artificial puede aprender AND y OR, pero nunca podrá aprender XOR. No es un fallo de aquel proyecto — es un límite matemático real, demostrado por Minsky y Papert en 1969, que durante más de una década enfrió la investigación en redes neuronales.
HAIBT es la respuesta histórica a ese límite: la misma idea de neurona que aprende de sus errores, pero con una capa oculta de por medio y entrenada con retropropagación (Rumelhart, Hinton y Williams, 1986). Con solo dos neuronas ocultas y una de salida —nueve números en total— esta red sí resuelve XOR. Y para que se note la diferencia, resuelve también AND y OR, con un contador de épocas que deja ver, en vivo, cuánto más le cuesta a la red el problema que de verdad necesitaba la capa oculta.
[ENLACE AL REPOSITORIO DE GITHUB]
Instalación
Igual de ligero que ROSENBLATT: FastAPI sirviendo una única página, y la red, la retropropagación y el descenso de gradiente en JavaScript puro — sin TensorFlow.js ni ninguna librería de aprendizaje automático.
bash
# 1. Clona el repositorio
git clone [ENLACE AL REPOSITORIO DE GITHUB]
cd haibt
# 2. Instala las dos únicas dependencias
pip install -r requirements.txt
# 3. Arranca el servidor
python main.py
Y abre el navegador en http://localhost:8033.
Sin clave de API, sin conexión a servicios externos, sin base de datos. Todo corre en local, en el navegador — igual que el resto de la familia.
Qué te vas a encontrar

La interfaz mantiene la misma filosofía que ROSENBLATT —nada de caja negra— pero con más piezas, porque la retropropagación tiene más partes moviéndose que la regla del perceptrón:
- Un selector AND / OR / XOR, con su tabla de verdad.
- El estado del entrenamiento: época actual, error total (la suma de errores al cuadrado sobre las cuatro combinaciones) y aciertos de 4.
- Un diagrama de la red completa —dos entradas, dos neuronas ocultas, una de salida— con las líneas de retorno del error marcadas en dos etapas: primero de la salida hacia la capa oculta, luego de la capa oculta hacia las entradas. Esa doble etapa, con la regla de la cadena aplicada dos veces, es la diferencia real entre retropropagación y la regla simple de Rosenblatt.
- La tabla de pesos y sesgos de las dos capas, siempre visible, con los nueve parámetros.
- Las predicciones actuales de la red para las cuatro combinaciones de entrada.
- Una curva de aprendizaje (el error total, época a época) en vez de una tabla fila a fila: con XOR pudiendo tardar miles de épocas, una tabla así habría sido inmanejable — la curva es, literalmente, la forma de ver cómo baja el error.
- Un botón para entrenar con velocidad ajustable, uno para saltar directo hasta la convergencia (o hasta el tope de seguridad), y uno para reiniciar con pesos nuevos al azar.
- Un botón para descargar en CSV todas las épocas del entrenamiento en curso —con el error y los nueve parámetros de cada una— por si alguien quiere echarle un vistazo más de cerca, aunque no aparezca en pantalla.
Cómo aprende la red, paso a paso
A diferencia de Rosenblatt, aquí los pesos no empiezan en cero, sino al azar —hace falta, si no, las dos neuronas ocultas aprenderían siempre lo mismo y la capa oculta no serviría de nada—. Pero el mecanismo, con cualquier punto de partida, es siempre el mismo:
- Paso hacia adelante. Cada entrada llega a las dos neuronas ocultas, cada una con sus propios pesos y su sesgo, pasadas por una función sigmoide (a diferencia del escalón de Rosenblatt, aquí hace falta que sea derivable). El resultado de esas dos neuronas llega, del mismo modo, a la neurona de salida.
- Se compara la salida con la esperada según la tabla de verdad, y se calcula el error.
- Retropropagación. El error de la salida se reparte hacia atrás en dos etapas, usando la regla de la cadena: primero hacia los pesos que conectan la capa oculta con la salida, después hacia los pesos que conectan las entradas con la capa oculta. Cada peso recibe así “su parte de la culpa” del error final.
- Se actualizan los nueve parámetros, cada uno un poco en la dirección que reduce el error.
- Se repite sobre las cuatro combinaciones, época tras época, hasta acertar las cuatro seguidas.
En las pruebas que hicimos antes de publicar esto, con la misma tasa de aprendizaje para las tres funciones: AND y OR convergen siempre, de media en 150-200 épocas. XOR tarda de media varios cientos de épocas más —y en algunos intentos, según le toquen los pesos iniciales al azar, se queda estancada un buen rato antes de arrancar, llegando a rozar el tope de seguridad de 20 000 épocas sin acabar de converger. Eso no es un error de la página: es la propia demostración de por qué hacía falta la capa oculta.
AND y OR frente a XOR: la comparación en vivo

AND y OR son linealmente separables —ya los resolvía una sola neurona en ROSENBLATT—, así que aquí la capa oculta no tiene que hacer ningún trabajo especial para aprenderlos: convergen rápido y sin sobresaltos. XOR no lo es, y por eso la capa oculta tiene que construir de verdad una representación intermedia del problema —típicamente, cada neurona oculta aprende una especie de “medio problema” que, combinados, resuelven XOR—. El contador de épocas de cada función, uno al lado del otro, es la prueba: el mismo número dice, sin necesidad de explicarlo, por qué una capa oculta puede resolver lo que una sola neurona no puede.

Una red de verdad, por fin con el nombre de Lois Haibt
En ROSENBLATT contamos la historia de Lois Haibt: coautora en 1956 —dos años antes del perceptrón— junto con Nathaniel Rochester, John Holland y William Duda, de una de las primerísimas simulaciones de una red neuronal en ordenador, con varias neuronas conectadas entre sí. Decidimos entonces no ponerle su nombre a aquel proyecto, porque una sola neurona no es la red que ella ayudó a simular.
Aquí sí corresponde: HAIBT es, por fin, una red de varias neuronas conectadas de verdad. Lois Haibt fue también, después de aquel trabajo, la única mujer en el equipo original que desarrolló FORTRAN en IBM.

Qué sigue
De momento, el MVP se queda en dos neuronas ocultas y estas tres funciones lógicas —ni una neurona más, ni otra arquitectura, hasta que haga falta de verdad. Lo que sí queda pendiente es una comparación más sistemática entre varias tasas de aprendizaje, para ver con números cómo cambia la frecuencia de esos estancamientos de XOR — pero eso, de momento, se queda para otro día.
HAIBT forma parte de la misma familia de proyectos que PINSAPIA, METIS, Biotopo, Contagio, Arsenia, Bermeja, Vaucanson, Laberinto y ROSENBLATT — todos gratuitos, sencillos, modulares y pensados para el aula.




