Capítulo 1 · Contexto

Qué es un autómata celular

Antes de meter una red neuronal, conviene entender la idea vieja y simple sobre la que se monta todo: una cuadrícula de celdas donde cada una mira a sus vecinas y decide qué hacer con una regla. Con reglas de dos líneas aparecen cosas que parecen vivas. En este capítulo juegas con dos autómatas clásicos y ves qué cambia cuando la regla, en vez de escribirla una persona, la aprende una red.

1

La idea en cinco piezas

Un autómata celular tiene cinco piezas, y todo el proyecto es una versión de estas cinco:

  1. Una cuadrícula de celdas. Como una hoja de cuaderno: cada cuadrado es una célula. Aquí la cuadrícula es de 72×72.
  2. Un estado por célula. Lo que la célula "es" en este momento. En el Juego de la Vida es un solo bit: viva o muerta. En nuestro autómata son 16 números reales.
  3. Un vecindario. Las células que cada una puede ver. Casi siempre son las 8 que la rodean (el vecindario de Moore) o solo las 4 de los lados (el de von Neumann).
  4. Una regla. Una función que, con el estado de la célula y el de sus vecinas, dice cuál será su estado siguiente. Es la misma regla para todas las células. Ninguna es especial.
  5. El tiempo en pasos. El reloj avanza de a un paso: todas las células aplican la regla y el mundo entero pasa al estado siguiente.

Dos vecindarios: la célula central solo ve lo marcado

Moore: 8 vecinas von Neumann: 4 vecinas

Nuestro autómata usa el de Moore: cada célula mira un bloque de 3×3 centrado en ella.

Lo poderoso de esto es lo que no hay: no hay un jefe que mire la cuadrícula completa, ni una célula que conozca el dibujo final. Cada una ve solo lo que tiene al lado. Si aparece una forma global, es emergente: sale de muchas decisiones locales, igual que una bandada de pájaros no tiene un pájaro que dirija.

2

El Juego de la Vida

El matemático John Conway lo inventó en 1970 y se volvió el autómata celular más famoso. El estado es un bit, y la regla son tres frases:

  • Nacer: una célula muerta con exactamente 3 vecinas vivas, nace.
  • Sobrevivir: una célula viva con 2 o 3 vecinas vivas, sigue viva.
  • Morir: en cualquier otro caso muere o sigue muerta: por soledad (0 o 1 vecinas) o por sobrepoblación (4 o más).

Pruébalo. Haz clic o arrastra sobre la cuadrícula para dibujar células, y elige uno de los patrones.

Juego de la Vida · 64×40 células

Patrón

Lo que conviene mirar en cada patrón:

  • Planeador: cinco células que, cada 4 pasos, vuelven a su forma corridas una casilla en diagonal. Ninguna célula se mueve: las de un lado mueren y del otro nacen otras. El "objeto" que viaja es un patrón, no un grupo de células. En el autómata neuronal pasa lo mismo: la lagartija es un patrón que las células mantienen, no un conjunto fijo de píxeles.
  • Parpadeador: tres células que oscilan entre horizontal y vertical, para siempre. Es un atractor pequeño: un estado al que el sistema vuelve una y otra vez. Este concepto vuelve en el capítulo 4.
  • R-pentominó: cinco células que tardan más de mil pasos en calmarse y en el camino sueltan planeadores. Una semilla mínima con una regla mínima puede generar muchísima estructura, y esa es la apuesta de todo el proyecto.
  • Cañón de Gosper: una máquina que fabrica un planeador nuevo cada 30 pasos. Con planeadores y cañones se pueden armar compuertas lógicas: el Juego de la Vida puede, en principio, calcular cualquier cosa que calcule un computador.
Fíjate

Las reglas del Juego de la Vida las eligió una persona, probando hasta encontrar unas interesantes. Si quisieras que de una célula creciera una lagartija, tendrías que inventar la regla a mano, y nadie sabe cómo hacerlo. Ese es el problema que resuelve la red neuronal.

3

Una sola dimensión: las 256 reglas

Hay una versión todavía más simple que ayuda a ver que "la regla" es solo una tabla. Imagina una fila de células, cada una 0 o 1, que mira solo a su izquierda y a su derecha. Un vecindario de 3 células binarias tiene 2³ = 8 combinaciones posibles, y la regla dice qué hacer en cada una. Como son 8 respuestas de 0 o 1, hay 2⁸ = 256 reglas posibles. Stephen Wolfram las numeró del 0 al 255: el número de la regla, escrito en binario, es la tabla.

Abajo, cada fila es un paso de tiempo. Arriba parte una sola célula encendida al centro y el tiempo avanza hacia abajo.

Autómata elemental

Regla

  • Regla 30 produce caos desde una sola célula: la columna central es tan impredecible que se usó como generador de números aleatorios.
  • Regla 90 dibuja el triángulo de Sierpinski, un fractal perfecto.
  • Regla 110 genera estructuras que chocan e interactúan; se demostró que puede calcular cualquier cosa, como el Juego de la Vida.
  • Regla 4 no hace nada interesante: la célula se queda quieta y ya. La mayoría de las 256 reglas son así de aburridas.

La lección: cambiar un bit de la tabla cambia por completo lo que pasa a gran escala, y no hay forma fácil de adivinar el resultado sin correrlo. Buscar a mano una regla que produzca un dibujo concreto es como buscar una aguja en un pajar. Con 16 números reales por célula, el pajar es infinito.

4

De la regla escrita a la regla aprendida

El autómata celular neuronal conserva las cinco piezas y cambia tres cosas:

Juego de la VidaAutómata neuronal
Estado1 bit: viva o muerta16 números reales: 4 que se ven (color y "vida") y 12 ocultos
Vecindario3×3, contando vecinas vivas3×3, midiendo el valor y cómo cambia cada número de un lado a otro (gradientes)
Regla3 frases escritas por Conwayuna red neuronal con 8 320 parámetros, aprendidos
Quién la diseñauna personael descenso de gradiente, a partir de un dibujo objetivo
Relojtodas las células cambian a la vezen cada paso cambia solo la mitad, al azar
Qué buscamosver qué pasaque desde una célula crezca una forma, que se mantenga y que se cure si la dañas

La pregunta deja de ser "¿qué hace esta regla?" y pasa a ser "¿qué regla hace esto?". Esa pregunta inversa es justo lo que el aprendizaje automático sabe responder: defines qué quieres (que al final se vea como la lagartija), mides qué tan lejos estás (la pérdida) y ajustas los parámetros de la regla un poquito en la dirección que reduce ese error, miles de veces. Cómo es esa red está en el capítulo 2 y cómo se entrena, en el capítulo 4.

La frase para recordar

En el Juego de la Vida escribes la regla y miras qué forma sale. En el autómata neuronal dibujas la forma y la red encuentra la regla.

5

La biología detrás

Todo esto está inspirado en una pregunta de la biología del desarrollo llamada morfogénesis: ¿cómo una sola célula, un óvulo fecundado, termina convertida en un cuerpo con una forma precisa?

  • Todas las células tienen la misma "regla". Cada célula de tu cuerpo lleva el mismo ADN. Como en el autómata, no hay una regla distinta para la célula del dedo y la del ojo: es la misma, y lo que cambia es lo que cada una percibe a su alrededor.
  • Se comunican solo con sus vecinas. Ninguna célula ve el cuerpo completo. Se coordinan con señales químicas que se difunden y con señales eléctricas entre vecinas. Los 12 canales ocultos de nuestro autómata cumplen ese papel: son "químicos" que la red aprende a inventar y a leer.
  • Saben dónde parar. Un brazo crece y se detiene en el largo correcto. Esto es lo difícil, y es lo que el experimento 2 del artículo enseña a hacer: crecer y después mantenerse.
  • Algunas se reparan. El ajolote regenera una pata completa, y una planaria, un gusano plano, puede regenerar el cuerpo entero desde un trozo pequeño. El tejido "sabe" qué forma le falta. El experimento 3 enseña esto: cortas la lagartija y vuelve a crecer lo que falta.

En 1952 Alan Turing publicó The Chemical Basis of Morphogenesis, donde mostró que dos sustancias químicas que reaccionan y se difunden pueden formar manchas y rayas por sí solas. Es la misma intuición: reglas locales que producen patrones globales.

Ojo con la metáfora

El autómata no es un modelo de cómo funcionan las células reales. Es una analogía útil: muestra que reglas locales, idénticas y aprendidas alcanzan para crecer, mantener y reparar una forma. Por eso interesó a los biólogos, y uno de los autores del artículo, Michael Levin, investiga justamente la regeneración.

6

El artículo que reproducimos

Referencia

Alexander Mordvintsev, Ettore Randazzo, Eyvind Niklasson y Michael Levin. "Growing Neural Cellular Automata". Distill, 2020. distill.pub/2020/growing-ca

Distill fue una revista científica de aprendizaje automático que publicaba artículos interactivos en la web, con demos que corren en el navegador. Este es uno de sus artículos más conocidos. Mordvintsev es también el autor de DeepDream, el programa de Google que hacía alucinar perros en las fotos.

El artículo plantea cuatro experimentos, cada uno arreglando lo que falla en el anterior:

#ExperimentoQué aprendeAquí
1Learning to GrowA crecer desde la semilla hasta la forma. Después se deforma o explota.crecer
2What persists, existsA mantener la forma indefinidamente, gracias a un "pool" de estados.persistir
3Learning to regenerateA reparar heridas, entrenando con estados dañados a propósito.regenerar
4Rotating the perceptive fieldQue la forma crezca girada si se giran los filtros de percepción.no incluido

Este proyecto reproduce los tres primeros en PyTorch, con los mismos hiperparámetros salvo los que se explican en el capítulo 5. El código original del artículo está en TensorFlow, en un cuaderno de Colab enlazado desde la página de Distill.

El mismo grupo publicó después dos continuaciones, también en Distill: Self-classifying MNIST Digits (2020), donde las células de un dígito escrito a mano se ponen de acuerdo sobre qué número forman, y Self-Organising Textures (2021), donde el autómata aprende a generar texturas en vez de una forma.