NCA – Summary from: Neural cellular automata - applications to biology and beyond classical AI
Neural Cellular Automata (NCA) represent a powerful framework for modeling biological self-organization, extending classical rule-based systems with trainable, differentiable (or evolvable) update rules that capture the adaptive self-regulatory dynamics of living matter. By embedding Artificial Neural Networks (ANNs) as local decision-making centers and interaction rules between localized agents, NCA can simulate processes across molecular, cellular, tissue, and system-level scales, offering a multi-scale competency architecture perspective on evolution, development, regeneration, aging, morphogenesis, and robotic control. These models not only reproduce canonical, biologically inspired target patterns but also generalize to novel conditions, demonstrating robustness to perturbations and the capacity for open-ended adaptation and reasoning through embodiment. Given their immense success in recent developments, we here review current literature of NCAs that are relevant primarily for biological or bioengineering applications. Moreover, we emphasize that beyond biology, NCAs display robust and generalizing goal-directed dynamics without centralized control, e.g., in controlling or regenerating composite robotic morphologies or even on cutting-edge reasoning tasks such as ARC-AGI-1. In addition, the same principles of iterative state-refinement is reminiscent to modern generative AI, such as probabilistic diffusion models. Their governing self-regulatory behavior is constraint to fully localized interactions, yet their collective behavior scales into coordinated system-level outcomes. We thus argue that NCAs constitute a unifying computationally lean paradigm that not only bridges fundamental insights from multiscale biology with modern generative AI, but have the potential to design truly bio-inspired collective intelligence capable of hierarchical reasoning and control.
NCA
A CA comprises a discrete (continuous version: lenia), typically 2D grid of cells , each maintaining a numerical, vector-valued state . The state of each cell evolves over discrete timesteps via local transition rules, by considering the cell’s own state and all the states of its neighbourhood:
… neighbourhood of cell , often the Moore neighbourhood.
Even hardcoded update functions give rise to elaborate complex behaviors, but the framework allows any local udpatee function (deterministic, stochastic, etc.).
NCAs extend CAs by using learnable – often differentiable – update rules that are realized by an ANN with parameters and enable each cell on the NCA to self-regularize its continuous vector valued states based on local perceptions of its local neighbourhood on the grid (which, for cognitive tasks really shouldn’t be a grid, but a self-organizing graph).
In vanilla NCAs, all cells use the same ANN architecture for their updates (parameter-sharing), and still give rise to assymetric and potentially incredibly rich cell-state dynamics.Most basic form: CNN → dense ffwd → ,
are weighs & biases; usually on the order of to parameters.
Transclude of Growing-Neural-Cellular-Automata#^b1adaf
Asynchronycity & Robustnesss
To increase robustness, stochastic cell updates have been introduced – via an update probability – that constrains the cells’ reliability to regulate their own state by discarding proposed updates across stochastically chosen cells and time steps. This explicitly implements an asynchronous update process across the NCA’s grid that requires cells to generalize across cellular neighborhoods by learning how to distinguish between signal and noise. This avoids overfitting cellular policies on local cell-state dynamics and, in turn, promotes global patterns as collective attractor states enabling robust morphogenesis and self-repair.
Notably, this renders NCAs as closely related to denoising diffusion models.Explicitly adding noise to the update function has proven effective to enhance learning and generalization capabiltiies.
The possibilities this opens for distributed computing is quite exciting to me.
And I’m also curious whether we’d then still need to artificially add noise to the system.
And on the effect of other kinds of stochasticity (like occasionally receiving messages outside the local neighbourhood).
So instead of outputing a state delta, we output a hidden state, and feed it recurrently back into the network.
The picture I have in mind is appending memory latents to the conext recursively [memwindow, messages, (obs)] → [hidden] → [next memory, …]
Pool poisoning?
NCAs can still be difficult to train, as solutions can collapse into trivial attractors (especially with gradient-based methods via pool-poisoning)
Link to originalLimiatations / Future work required
NCAs can still be difficult to train, as solutions can collapse into trivial attractors (especially with gradient-based methods via pool-poisoning) or get trapped in suboptimal solutions that lack feature precision (predominantly in the case of neuroevolution training).
They suffer from limitations in storage capacity (of multiple system-level target outcomes, or functional modalities) and in scaling; simulating realistic organ-level complexity at unicellular resolutions is currently infeasible.
Relations of NCAs with reinforcement learning, active inference, or neuroevolution techniques remain underexplored. Moreover, their descriptive power, especially of biological systems, is still largely oversimplified: NCAs treat cells largely as homogeneous units and their numerical states and interactions are at best abstractions (or model composites) of most biological processes. And while progress has been made, it is difficult to integrate (and identify) NCA dynamics with molecular pathways, gene regulatory networks, or biomechanical forces.
Training NCAs is mostly concerned with the accuracy of the final system-level outcomes, largely neglecting energetic, metabolic, or other physical/chemical/biological constraints necessary for developing viable morphologies; the learned update rules are still largely opaque black-boxes and difficult to interpret at the parameter and interaction level; update dynamics don’t follow physical or biologically relevant ODEs; it is unclear how to implement reasonable multiscale coupling principles in HNCAs; in robotics, real-world experimental realization are in their infancies; and improving our theoretical understanding in stability, conditional dynamics, universality, criticality, and hierarchical phase-transitions still requires significant effort.
I don’t get all the explicitly hierarchical approaches.
I mean as an inductive bias, sure, but like isn’t the entire point / hope that NCA interaction dynamics lead to higher order coordination / loops by themselves?
Is there something funamentally missing for that from NCAs, or is it just a matter of evolutionary-scale compute / time?
Todo
Learning Global Rules from Local Patches - Scaling Neural Cellular Automata Training
Attention-based Neural Cellular Automata
https://github.com/maxencefaldor/cax
VARIATIONAL NEURAL CELLULAR AUTOMATA
Selection for short-term empowerment accelerates the evolutionof homeostatic neural cellular automata
https://distill.pub/selforg/2021/textures/
https://google-research.github.io/self-organising-systems/isonca/
References
- (YT, Emergent Garden) What are neural cellular automata?
- Random code : https://github.com/erikhelmut/neural-cellular-automata/tree/main
- Attention-based Neural Cellular Automata
- Levin BP thread on differentiable self-organizing systems (with full code in notebooks!)