Papers
Topics
Authors
Recent
Search
2000 character limit reached

Rotation-Invariant Neural Cellular Automata

Updated 4 July 2026
  • Rotation-Invariant NCA is a neural cellular automata design that maintains consistent pattern growth by integrating orientation-aware local update rules.
  • It utilizes methods like steerable perception, rotated gradient sensing, and shared weights across orientations to enforce symmetry in both continuous and discrete regimes.
  • The approach has been validated in simulations and modular robotic platforms, demonstrating high temporal stability and effective symmetry breaking for complex tasks.

A rotation-invariant neural cellular automaton (NCA) is an NCA whose local update mechanism is constructed so that global rotations of the target configuration do not require separately learned orientation-specific rules. In the literature, this designation covers at least two closely related regimes. In "Growing Steerable Neural Cellular Automata" (Randazzo et al., 2023), rotation invariance is pursued for pattern growth by combining steerable perception, an internal orientation state, and a rotation-invariant training objective over α∈[0,2π)\alpha \in [0,2\pi). In "A Rotation-Invariant Embedded Platform for (Neural) Cellular Automata" (Woiwode et al., 8 Oct 2025), rotation invariance is realized on a modular robotic platform with discrete four-way rotations θ∈{0∘,90∘,180∘,270∘}\theta \in \{0^\circ,90^\circ,180^\circ,270^\circ\}, using rotated gradient perception, data augmentation, and shared weights across orientations. Both formulations retain the characteristic NCA premise that complex global behavior emerges from repeated local coordination, but they differ in symmetry assumptions, state parameterization, and evaluation tasks.

1. Conceptual position within NCA research

In the original implementation of NCA, cells are incapable of adjusting their own orientation, and it is the responsibility of the model designer to orient them externally. A recent isotropic variant, Growing Isotropic Neural Cellular Automata, makes the model orientation-independent by removing its dependency on perceiving the gradient of spatial states in its neighborhood. The steerable formulation revisits this design choice by making each cell responsible for its own orientation, allowing it to "turn" as determined by an adjustable internal state; the resulting Steerable NCA contains cells of varying orientation embedded in the same pattern (Randazzo et al., 2023).

A central distinction in this line of work is that isotropy and steerability are not identical. While Isotropic NCA are orientation-agnostic, Steerable NCA have chirality: they have a predetermined left-right symmetry. The same paper shows that Steerable NCA can nevertheless be trained in similar but simpler ways than their isotropic variant by either breaking symmetries using only two seeds, or introducing a rotation-invariant training objective and relying on asynchronous cell updates to break the up-down symmetry of the system (Randazzo et al., 2023).

The embedded formulation extends the topic from simulation to modular robotics. It presents a rotation-invariant embedded platform for simulating NCA in modular robotic systems, with a symmetric modular structure enabling seamless connections between cells regardless of orientation, and battery-powered cells that can operate independently and retain state even when disconnected from the collective. Within that setting, a novel rotation-invariant NCA model is used for isotropic shape classification (Woiwode et al., 8 Oct 2025).

2. State representation and local update rules

In the steerable growth model, each cell at grid location (i,j)(i,j) carries a state vector

si,j∈RC=[R,G,B,A,  …,  si,jaux].\mathbf{s}_{i,j} \in \mathbb{R}^C = \bigl[R,G,B,A,\; \dots,\; s^\text{aux}_{i,j}\bigr].

The first four channels are R,G,B,AR,G,B,A, and the remaining C−4C-4 channels include orientation channels. In the angle-based variant, one of these channels is the internal angle θi,j\theta_{i,j}; in the gradient-based variant, one channel is a concentration ci,jc_{i,j} from which θ\theta is inferred. At discrete time tt, each cell computes an increment θ∈{0∘,90∘,180∘,270∘}\theta \in \{0^\circ,90^\circ,180^\circ,270^\circ\}0 and updates according to

θ∈{0∘,90∘,180∘,270∘}\theta \in \{0^\circ,90^\circ,180^\circ,270^\circ\}1

The increment is produced by a small MLP acting on a local perception vector θ∈{0∘,90∘,180∘,270∘}\theta \in \{0^\circ,90^\circ,180^\circ,270^\circ\}2,

θ∈{0∘,90∘,180∘,270∘}\theta \in \{0^\circ,90^\circ,180^\circ,270^\circ\}3

so that the total learnable parameters are on the order of θ∈{0∘,90∘,180∘,270∘}\theta \in \{0^\circ,90^\circ,180^\circ,270^\circ\}4 (Randazzo et al., 2023).

The embedded model adopts a related but distinct parameterization. It uses a 2D grid of cells indexed by θ∈{0∘,90∘,180∘,270∘}\theta \in \{0^\circ,90^\circ,180^\circ,270^\circ\}5, where each cell carries a state vector θ∈{0∘,90∘,180∘,270∘}\theta \in \{0^\circ,90^\circ,180^\circ,270^\circ\}6, and the neighborhood is the von Neumann 4-neighbor topology with zero-padding at the boundary. Perception is formed by applying θ∈{0∘,90∘,180∘,270∘}\theta \in \{0^\circ,90^\circ,180^\circ,270^\circ\}7 convolutional kernels channel-wise and concatenating the results,

θ∈{0∘,90∘,180∘,270∘}\theta \in \{0^\circ,90^\circ,180^\circ,270^\circ\}8

In the final setup, θ∈{0∘,90∘,180∘,270∘}\theta \in \{0^\circ,90^\circ,180^\circ,270^\circ\}9, corresponding to Identity, Von Neumann sum, Gradient X, and Gradient Y. The neural update rule is

(i,j)(i,j)0

with (i,j)(i,j)1, (i,j)(i,j)2 for (i,j)(i,j)3 hidden units, and (i,j)(i,j)4, (i,j)(i,j)5. Channel (i,j)(i,j)6 is reserved as alive, and if a cell has died, (i,j)(i,j)7 is forced to (i,j)(i,j)8 (Woiwode et al., 8 Oct 2025).

3. Mechanisms for rotation invariance

The steerable model constructs rotation-aware local perception from a (i,j)(i,j)9 Moore neighborhood using a discrete Laplacian kernel si,j∈RC=[R,G,B,A,  …,  si,jaux].\mathbf{s}_{i,j} \in \mathbb{R}^C = \bigl[R,G,B,A,\; \dots,\; s^\text{aux}_{i,j}\bigr].0 and Sobel kernels si,j∈RC=[R,G,B,A,  …,  si,jaux].\mathbf{s}_{i,j} \in \mathbb{R}^C = \bigl[R,G,B,A,\; \dots,\; s^\text{aux}_{i,j}\bigr].1 to measure local gradients si,j∈RC=[R,G,B,A,  …,  si,jaux].\mathbf{s}_{i,j} \in \mathbb{R}^C = \bigl[R,G,B,A,\; \dots,\; s^\text{aux}_{i,j}\bigr].2:

si,j∈RC=[R,G,B,A,  …,  si,jaux].\mathbf{s}_{i,j} \in \mathbb{R}^C = \bigl[R,G,B,A,\; \dots,\; s^\text{aux}_{i,j}\bigr].3

These gradients are then rotated by the cell's orientation via

si,j∈RC=[R,G,B,A,  …,  si,jaux].\mathbf{s}_{i,j} \in \mathbb{R}^C = \bigl[R,G,B,A,\; \dots,\; s^\text{aux}_{i,j}\bigr].4

In the angle-based variant,

si,j∈RC=[R,G,B,A,  …,  si,jaux].\mathbf{s}_{i,j} \in \mathbb{R}^C = \bigl[R,G,B,A,\; \dots,\; s^\text{aux}_{i,j}\bigr].5

In the gradient-based variant, one channel si,j∈RC=[R,G,B,A,  …,  si,jaux].\mathbf{s}_{i,j} \in \mathbb{R}^C = \bigl[R,G,B,A,\; \dots,\; s^\text{aux}_{i,j}\bigr].6 is treated as a concentration, with

si,j∈RC=[R,G,B,A,  …,  si,jaux].\mathbf{s}_{i,j} \in \mathbb{R}^C = \bigl[R,G,B,A,\; \dots,\; s^\text{aux}_{i,j}\bigr].7

after which si,j∈RC=[R,G,B,A,  …,  si,jaux].\mathbf{s}_{i,j} \in \mathbb{R}^C = \bigl[R,G,B,A,\; \dots,\; s^\text{aux}_{i,j}\bigr].8 are defined as above (Randazzo et al., 2023).

The embedded model uses the same rotation matrix formalism, but over a discrete symmetry group. During training each cell carries an extra orientation channel encoding si,j∈RC=[R,G,B,A,  …,  si,jaux].\mathbf{s}_{i,j} \in \mathbb{R}^C = \bigl[R,G,B,A,\; \dots,\; s^\text{aux}_{i,j}\bigr].9, either one-hot or scalar, and the gradient components of the perception are rotated as

R,G,B,AR,G,B,A0

The same R,G,B,AR,G,B,A1 are shared for all R,G,B,AR,G,B,A2, which ties together all four rotated versions. The paper states that no explicit SO(2)-continuous regularizer was needed; discrete rotation EQ enforced by data augmentation and weight sharing sufficed (Woiwode et al., 8 Oct 2025).

A recurrent source of confusion is the relation between rotation invariance and isotropy. The cited work treats them as distinct. In the steerable setting, internal orientation is preserved and actively used, so the model is not made orientation-blind; instead, the model’s learned rule is coupled to per-cell orientation and to a training loss that tolerates arbitrary global rotation. In the embedded setting, invariance is explicitly limited to the discrete four-rotation regime imposed by the hardware.

4. Training objectives, optimization, and symmetry breaking

For steerable growth from a single seed, the global rotation chosen by the NCA is not known in advance. The training objective is therefore a rotation-invariant pixel-wise R,G,B,AR,G,B,A3 loss that minimizes over R,G,B,AR,G,B,A4:

R,G,B,AR,G,B,A5

where R,G,B,AR,G,B,A6 is the initial seed state, R,G,B,AR,G,B,A7 is the target pattern, and R,G,B,AR,G,B,A8 is the NCA’s grown pattern. Because direct minimization over a dense set of R,G,B,AR,G,B,A9 is expensive, the practical approximation is to convert both C−4C-40 and C−4C-41 into polar-coordinate images, use 1D cross-correlation via FFT along the angular axis to find the shift C−4C-42 that minimizes the C−4C-43 difference, and backpropagate the loss at that best shift. Depending on the shape, local minima can trap training, so auxiliary channels and corresponding C−4C-44 targets may be added: a binary mask channel and a radial-distance-to-center channel. These guide global shape alignment without breaking rotation-only invariance (Randazzo et al., 2023).

The same work uses asynchronous updates to avoid requiring a global clock and to help break the up-down symmetry. At each simulation step each cell updates with probability C−4C-45, and the reported configuration uses C−4C-46. Empty cells, defined as those with C−4C-47 and no alive neighbor, are zeroed out each step. The practical implementation recipe chooses C−4C-48 channels, reserves C−4C-49 for RGBA and θi,j\theta_{i,j}0 for angle or concentration, initializes a single-pixel seed with θi,j\theta_{i,j}1 at the grid center, uses rollout lengths θi,j\theta_{i,j}2 or θi,j\theta_{i,j}3, computes the rotation-invariant loss on RGB and any auxiliary channels, and optimizes with Adam at learning rate θi,j\theta_{i,j}4 (Randazzo et al., 2023).

The embedded classifier uses a different optimization protocol. Its datasets are digits, digits-symmetric, polyomino–4, and polyomino–5. The reported hyperparameters are batch size θi,j\theta_{i,j}5, pool size θi,j\theta_{i,j}6, number of NCA steps per sample θi,j\theta_{i,j}7, asynchronous dropout θi,j\theta_{i,j}8, Gaussian noise θi,j\theta_{i,j}9, Adam with ci,jc_{i,j}0 and default betas, and a Mean-Squared-Error loss against one-hot label ci,jc_{i,j}1,

ci,jc_{i,j}2

Training uses a sample-pool procedure: maintain a reservoir of ci,jc_{i,j}3 seed-target pairs, draw ci,jc_{i,j}4 samples, train, re-insert all ci,jc_{i,j}5, replace ci,jc_{i,j}6 with fresh random seeds, and with probability ci,jc_{i,j}7 randomly mutate the target shape to help generalization. Rotation augmentation is performed by choosing ci,jc_{i,j}8 and rotating the input pattern accordingly in the pool (Woiwode et al., 8 Oct 2025).

5. Empirical behavior and validation

In the steerable growth setting, rotation invariance is evaluated by growing the pattern ci,jc_{i,j}9 for a fixed number of steps θ\theta0, comparing it against the target θ\theta1 rotated by a range of angles θ\theta2, and recording the error

θ\theta3

The stated criterion is that, if the model is invariant, there will be a unique θ\theta4 whose error is minimized, and the error curve θ\theta5 will be roughly constant around θ\theta6. In practice, one plots θ\theta7; a flat-bottomed curve indicates that small perturbations of θ\theta8 do not degrade performance. In the lizard experiments, the minimum occurs consistently at the chosen growth angle, and the error rise for mis-rotations exceeds θ\theta9–tt0 for large tt1 (Randazzo et al., 2023).

The embedded classifier is evaluated by shape classification accuracy, reported as mean tt2 standard deviation over tt3 runs after tt4, tt5, and tt6 steps. For digits without a tt7 channel, the accuracies are tt8, tt9, and θ∈{0∘,90∘,180∘,270∘}\theta \in \{0^\circ,90^\circ,180^\circ,270^\circ\}00. For digits with a θ∈{0∘,90∘,180∘,270∘}\theta \in \{0^\circ,90^\circ,180^\circ,270^\circ\}01 channel, they are θ∈{0∘,90∘,180∘,270∘}\theta \in \{0^\circ,90^\circ,180^\circ,270^\circ\}02, θ∈{0∘,90∘,180∘,270∘}\theta \in \{0^\circ,90^\circ,180^\circ,270^\circ\}03, and θ∈{0∘,90∘,180∘,270∘}\theta \in \{0^\circ,90^\circ,180^\circ,270^\circ\}04. For digits-symmetric, they are θ∈{0∘,90∘,180∘,270∘}\theta \in \{0^\circ,90^\circ,180^\circ,270^\circ\}05, θ∈{0∘,90∘,180∘,270∘}\theta \in \{0^\circ,90^\circ,180^\circ,270^\circ\}06, and θ∈{0∘,90∘,180∘,270∘}\theta \in \{0^\circ,90^\circ,180^\circ,270^\circ\}07. For polyomino-4, they are θ∈{0∘,90∘,180∘,270∘}\theta \in \{0^\circ,90^\circ,180^\circ,270^\circ\}08, θ∈{0∘,90∘,180∘,270∘}\theta \in \{0^\circ,90^\circ,180^\circ,270^\circ\}09, and θ∈{0∘,90∘,180∘,270∘}\theta \in \{0^\circ,90^\circ,180^\circ,270^\circ\}10. For polyomino-5, they are θ∈{0∘,90∘,180∘,270∘}\theta \in \{0^\circ,90^\circ,180^\circ,270^\circ\}11, θ∈{0∘,90∘,180∘,270∘}\theta \in \{0^\circ,90^\circ,180^\circ,270^\circ\}12, and θ∈{0∘,90∘,180∘,270∘}\theta \in \{0^\circ,90^\circ,180^\circ,270^\circ\}13 (Woiwode et al., 8 Oct 2025).

The same paper reports an ablation on polyomino-4 in which no replacement causes classification to degrade over long roll-outs, whereas periodic replacement every θ∈{0∘,90∘,180∘,270∘}\theta \in \{0^\circ,90^\circ,180^\circ,270^\circ\}14 steps with rate θ∈{0∘,90∘,180∘,270∘}\theta \in \{0^\circ,90^\circ,180^\circ,270^\circ\}15 yields the most temporally stable behavior over θ∈{0∘,90∘,180∘,270∘}\theta \in \{0^\circ,90^\circ,180^\circ,270^\circ\}16 steps. It also reports a hand-coded firefly synchronization experiment in which θ∈{0∘,90∘,180∘,270∘}\theta \in \{0^\circ,90^\circ,180^\circ,270^\circ\}17 cells in a circle synchronize their phase in approximately θ∈{0∘,90∘,180∘,270∘}\theta \in \{0^\circ,90^\circ,180^\circ,270^\circ\}18 min simulated time, measured by circular standard deviation θ∈{0∘,90∘,180∘,270∘}\theta \in \{0^\circ,90^\circ,180^\circ,270^\circ\}19. Qualitatively, the model is able to re-classify after random perturbations or rotations of individual tiles, and the emergent visual morphing on the θ∈{0∘,90∘,180∘,270∘}\theta \in \{0^\circ,90^\circ,180^\circ,270^\circ\}20 LED display blends classes when uncertain, then sharpens (Woiwode et al., 8 Oct 2025).

A plausible implication is that rotation invariance in NCA should be assessed not only by endpoint accuracy or reconstruction loss, but also by temporal stability under long roll-outs and by the structure of the angular error landscape.

6. Practical implementation and physical realization

The steerable implementation recipe is explicit. It recommends θ∈{0∘,90∘,180∘,270∘}\theta \in \{0^\circ,90^\circ,180^\circ,270^\circ\}21 channels; θ∈{0∘,90∘,180∘,270∘}\theta \in \{0^\circ,90^\circ,180^\circ,270^\circ\}22 for RGBA, θ∈{0∘,90∘,180∘,270∘}\theta \in \{0^\circ,90^\circ,180^\circ,270^\circ\}23 for angle or concentration, and the rest as hidden channels. The two-layer MLP uses ReLU and weight-shapes θ∈{0∘,90∘,180∘,270∘}\theta \in \{0^\circ,90^\circ,180^\circ,270^\circ\}24 and θ∈{0∘,90∘,180∘,270∘}\theta \in \{0^\circ,90^\circ,180^\circ,270^\circ\}25. Rollouts use θ∈{0∘,90∘,180∘,270∘}\theta \in \{0^\circ,90^\circ,180^\circ,270^\circ\}26 or θ∈{0∘,90∘,180∘,270∘}\theta \in \{0^\circ,90^\circ,180^\circ,270^\circ\}27 steps per training sample with θ∈{0∘,90∘,180∘,270∘}\theta \in \{0^\circ,90^\circ,180^\circ,270^\circ\}28, and the loss is computed after correlating in angle via FFT to find the best shift. Additional stability heuristics include batch sizes of θ∈{0∘,90∘,180∘,270∘}\theta \in \{0^\circ,90^\circ,180^\circ,270^\circ\}29–θ∈{0∘,90∘,180∘,270∘}\theta \in \{0^\circ,90^\circ,180^\circ,270^\circ\}30 simultaneous rollouts, early sharpening of RGBA outputs by applying a small exponent to RGB before loss to penalize blur, optional binary-mask auxiliary supervision when local minima appear, and monitoring the angular error curve θ∈{0∘,90∘,180∘,270∘}\theta \in \{0^\circ,90^\circ,180^\circ,270^\circ\}31 during training. Training typically converges in θ∈{0∘,90∘,180∘,270∘}\theta \in \{0^\circ,90^\circ,180^\circ,270^\circ\}32–θ∈{0∘,90∘,180∘,270∘}\theta \in \{0^\circ,90^\circ,180^\circ,270^\circ\}33 steps for complex shapes, faster than IsoNCA (Randazzo et al., 2023).

The embedded system provides a concrete hardware instantiation. Its core MCU is a Raspberry Pi RP2040 with dual Cortex M0+ and θ∈{0∘,90∘,180∘,270∘}\theta \in \{0^\circ,90^\circ,180^\circ,270^\circ\}34 kB SRAM. The modules use genderless spring-loaded pins on four sides, allowing any θ∈{0∘,90∘,180∘,270∘}\theta \in \{0^\circ,90^\circ,180^\circ,270^\circ\}35 orientation, four UART ports at θ∈{0∘,90∘,180∘,270∘}\theta \in \{0^\circ,90^\circ,180^\circ,270^\circ\}36 Bd for inter-module communication, a CR123A Li-ion battery rated at θ∈{0∘,90∘,180∘,270∘}\theta \in \{0^\circ,90^\circ,180^\circ,270^\circ\}37 mAh, onboard θ∈{0∘,90∘,180∘,270∘}\theta \in \{0^\circ,90^\circ,180^\circ,270^\circ\}38 V and θ∈{0∘,90∘,180∘,270∘}\theta \in \{0^\circ,90^\circ,180^\circ,270^\circ\}39 V regulators, and a θ∈{0∘,90∘,180∘,270∘}\theta \in \{0^\circ,90^\circ,180^\circ,270^\circ\}40 WS2812B RGB LED output driven by single-wire PIO. The firmware is written in C with Pico SDK and includes a small tensor-engine interpreting a custom bytecode of approximately θ∈{0∘,90∘,180∘,270∘}\theta \in \{0^\circ,90^\circ,180^\circ,270^\circ\}41 operations. A WebAssembly build of the same MCU tensor engine runs in the browser, with a visual editor for module placement, weight inspection, and per-cell state debugging. All hardware designs, firmware, training code, and simulator are open-sourced at the repository named in the paper (Woiwode et al., 8 Oct 2025).

Taken together, these implementations show that rotation-invariant NCA models are not a single architecture but a design pattern. One branch targets continuous-angle growth through steerable perception and loss minimization over global rotations; the other targets discrete orientation robustness on physically rotatable modules through rotated gradient perception, weight sharing, and augmentation. The common principle is local neural update under symmetry constraints, but the exact notion of invariance, the task class, and the deployment substrate differ materially across formulations.

Definition Search Book Streamline Icon: https://streamlinehq.com
References (2)

Topic to Video (Beta)

No one has generated a video about this topic yet.

Whiteboard

No one has generated a whiteboard explanation for this topic yet.

Follow Topic

Get notified by email when new papers are published related to Rotation-Invariant NCA Model.