Neural Cellular Automata research thread

A differentiable update rule — a tiny neural network applied identically to every cell — trained by gradient descent to grow from a single seed into a target image, then to self-repair when you damage it. The whole thing trains live in your browser, no GPU, no server. This is the Mordvintsev–Niklasson "Growing NCA" line; the open questions are listed below.

target
step 0
loss
train/s 0
grid 32×32 · 12ch

Click the canvas to wound the pattern. A trained rule heals it; an untrained one can't — that gap is the point.

Target

Switch target any time — training continues against the new goal.

Knobs

Damage-in-training is what buys robust self-repair: the rule sees wounds and learns to regrow through them.

How it works

Each cell holds 12 numbers (RGBA + 8 hidden). One step: perceive (the cell + Sobel gradients of its neighbourhood) → a 2-layer net → a small stochastic update added to the state, then dead cells (α≤0.1) are masked off.

Loss = pixel error vs the target after N steps. We backprop through time across the whole rollout and step Adam. Last layer starts at zero, so the rule begins as "do nothing" and learns to act.

🧠 Research thread — open problems

This page is a working seed for a real program, not just a toy. Concrete directions where the literature is still thin:

  1. 3D morphogenesis. Almost all NCA work is 2D image-growing. The same machinery extends to a voxel grid (this lab already has a 3D engine) — growing and self-repairing 3D structures is largely open and a clean novelty runway.
  2. Controllable / goal-directed growth. Condition the rule on a target signal so one trained network grows different shapes on demand, or steers around obstacles — morphogenesis you can drive, not just replay.
  3. Robustness guarantees. Repair is empirical today. Can we bound the damage a pattern provably recovers from, or characterise the basin of attraction of the grown state? A genuine dynamical-systems question.
  4. Learned vs hand-designed rules. The rest of this lab programs rules by hand (B3/S23, Wireworld). NCA learns them from a target. Comparing the two — interpretability, edit-distance to known rules — is an under-explored bridge.
  5. Tiny-compute training. Everything here runs CPU-only in a browser tab. Sample-efficient, hardware-frugal NCA training is itself a contribution for edge / embedded settings.