Proyecto · Autómatas celulares neuronales

Una lagartija que crece desde una sola célula

Esto es una cuadrícula de 72×72 células. Todas siguen la misma regla, una red neuronal de 8 320 números, y cada una ve solo a sus 8 vecinas. Nadie les dio el dibujo. Aun así, desde un punto, crece una lagartija. Y si la cortas, se cura. Arrastra el mouse sobre ella para comprobarlo, o elige otra figura: cada una tiene su propia red, entrenada desde cero.

Figura
Experimento

La probabilidad de disparo es la de cada célula de aplicar su cambio en un paso. La red se entrenó con 0,50; cámbiala para ver qué tan robusta es la regla.

Rayos X: los 16 canales por dentro

Cada cuadro es un canal de todas las células. Los cuatro primeros forman la imagen. Los otros doce no se ven en la figura: son las señales que la red inventó para que las células se coordinen. Mira cómo cambian mientras crece o se cura: cada canal marca una zona distinta, y cada figura tiene su propia química.

Ámbar = positivo, azul verdoso = negativo, blanco = cero. Satura en ±1.

El objetivo

La imagen objetivo: el emoji de lagartija a 40×40 píxeles.

Curva de pérdida del experimento

Error cuadrático medio contra el objetivo, promedio cada 10 pasos. La línea negra es el momento elegido arriba.

Qué probar

  1. Crecer, y esperar. Elige el experimento 1 y déjalo correr varios cientos de pasos. Llega a la forma… ¿y después? Aprendió a llegar, pero nadie le enseñó a quedarse.
  2. Persistir, y cortar. En el experimento 2 la forma se mantiene sola. Ahora córtala por la mitad: ¿se recupera? No se entrenó para curar, solo para quedarse.
  3. Regenerar, y cortar. En el 3, borra pedazos con el mouse, hiere el centro, córtala por la mitad. En el entrenamiento solo vio heridas circulares, y aun así se cura de un corte por la mitad. ¿Hasta dónde puedes borrar antes de que no vuelva?
  4. Viajar en el tiempo. Mueve el control "momento del entrenamiento" al principio: a los 25 pasos de entrenamiento la red apenas sabe hacer una mancha. Avanza y mira en qué momento aparece la lagartija.
  5. Cambiar el reloj. Sube la probabilidad de disparo a 1 (todas las células cambian en cada paso, como en el Juego de la Vida) o bájala a 0,1. ¿La regla sigue funcionando?
  6. Mirar la química. Con los rayos X encendidos, vuelve a la semilla y mira los primeros pasos: los canales ocultos se extienden antes que el color.
  7. Cambiar de figura. Pepe, el perro de "This is fine" o el tripulante usan la misma arquitectura y el mismo entrenamiento que la lagartija, cada uno con su propia red. Córtalos igual: ¿cuál se cura mejor? Fíjate también en los rayos X: cada red inventó su propia química.

Cómo funciona, paso a paso

Cinco capítulos, en orden. Cada uno tiene ejemplos que puedes mover. No necesitas saber de redes neuronales para empezar.

  1. Capítulo 1Qué es un autómata celular

    El Juego de la Vida, las 256 reglas elementales, la biología que inspira todo y el artículo de Distill que reproducimos.

  2. Capítulo 2La red neuronal, desde cero

    Neurona, ReLU, capas, percepción con filtros Sobel, pérdida, descenso de gradiente y retropropagación a través del tiempo.

  3. Capítulo 3Un paso, célula por célula

    El estado de 16 canales, la semilla, el disparo al azar y la máscara de vida. Inspecciona lo que piensa cada célula.

  4. Capítulo 4Cómo aprende a crecer

    El bucle de entrenamiento, el pool, las heridas, los tres experimentos lado a lado y la historia de cada entrenamiento.

  5. Capítulo 5Decisiones técnicas

    Cada número y cada herramienta: por qué PyTorch, por qué JavaScript puro, qué se midió para que entrenara en una hora.

Cómo se hizo

Cada red se entrenó en PyTorch, en un portátil sin GPU: unos 80 minutos por figura. La página no usa ningún servidor ni librería: nca.js corre el autómata en tu navegador, célula por célula, con los pesos entrenados (modelos/). Un script comprueba que ese JavaScript calcule exactamente lo mismo que el modelo de PyTorch. El capítulo 5 cuenta cada decisión.

Las figuras de la lagartija, el hongo, el invasor y el pulpo son los emojis de Noto Color Emoji (licencia SIL Open Font). Las de This is fine, Pepe y el tripulante son pixel art propio, en homenaje al cómic de KC Green, a Pepe the Frog de Matt Furie y a Among Us de Innersloth.

Referencia

Mordvintsev, Randazzo, Niklasson y Levin. "Growing Neural Cellular Automata". Distill, 2020. distill.pub/2020/growing-ca. Este proyecto reproduce sus experimentos 1, 2 y 3 en PyTorch, con un motor en JavaScript para el navegador.