HeadlinesBriefing favicon HeadlinesBriefing.com

Red neuronal Numberwang en 100 líneas de Python

Hacker News •
×

Una pequeña red neuronal decide si un número es Numberwang. El modelo es un archivo JSON de 1.8 MB y la inferencia es de aproximadamente 100 líneas de pura biblioteca estándar de Python — sin PyTorch, sin NumPy. Clona y ejecuta: python3 numberwang.py 2222 produce "THAT'S NUMBERWANG!" (confianza: 99.3%).

Ejecuta sin argumentos para el modo interactivo. Requiere Python 3.8+. En el código, load_model y wang_probabilities devuelven cuatro veredictos: no es Numberwang, Numberwang, no es un número, o Wangernumb. Acepta dígitos, palabras en once idiomas, aritmética, números romanos, ordinales, negativos, decimales, moneda, unidades, horas y números ficticios.

Arquitectura: caracteres → Embedding(32) → Conv1d(128, k3) → ReLU → Conv1d(128, k3) → ReLU → max pool global → Linear(128) → ReLU → Linear(4) → softmax. 80,804 parámetros. Sin tokenizador ni motor de reglas. Una demo se ejecuta en Hugging Face Spaces; gradio es solo para la demo.

La precisión es del 88.9% sobre 486 adjudicaciones reservadas (macro-F1 0.896). La aritmética con operandos no vistos es débil (44–72%). Licencia MIT.

Entidades clave: Empresas: GitHub, Hugging Face Spaces