Contents
This article is part of the
Differentiable Self-organizing Systems Thread,
an experimental format collecting invited short articles delving into
differentiable self-organizing systems, interspersed with critical
commentary from several experts in adjacent fields.
Growing Neural Cellular Automata
Self-Organising Textures
Growing Neural Cellular Automata
Our question is closely related to another unsolved problem in developmental and regenerative biology: how cell groups decide whether an organ or tissue pattern is correct, or whether current anatomy needs to be remodeled (anatomical surveillance and repair toward a specific target morphology). For example, when scientists surgically transplanted a salamander tail to its flank, it slowly remodeled into a limb – the organ that belongs at this location
The self-classifying MNIST task
Suppose a population of agents is arranged on a grid. They do not know where they are in the grid and they can only communicate with their immediate neighbors. They can also observe whether a neighbor is missing. Now suppose these agents are arranged to form the shape of a digit. Given that all the agents operate under the same rules, can they form a communication protocol such that, after a number of iterations of communication, all of the agents know which digit they are forming? Furthermore, if some agents were to be removed and added to form a new digit from a preexisting one, would they be able to know which the new digit is?
Because digits are not rotationally invariant (i.e. 6 is a rotation of 9), we presume the agents must be made aware of their orientation with respect to the grid. Therefore, while they do not know where they are, they do know where up, down, left and right are. The biological analogy here is a situation where the remodeling structures exist in the context of a larger body and a set of morphogen gradients or tissue polarity that indicate directional information with respect to the three major body axes. Given these preliminaries, we introduce the self-classifying MNIST task.
Each sample of the MNIST dataset
Our goal is for all cells that make up the digit to correctly output the label of the digit. To convey this structural information to the cells, we make a distinction between alive and dead cells by rescaling the values of the image to [0, 1]. Then we treat a cell as alive if its value in the MNIST sample is larger than 0.1. The intuition here is that we are placing living cells in a cookie cutter and asking them to identify the global shape of the cookie cutter. We visualize the label output by assigning a color to each cell, as you can see above. We use the same mapping between colors and labels throughout the article. Please note that there is a slider in the interactive demo controls which you can use to adjust the color palette if you have trouble differentiating between the default colors.
Model
In this article, we use a variant of the neural cellular automata model described in Growing Cellular Automata
Target labels
The work in Growing CA used RGB images as targets, and optimized the first three state channels to approximate those images. For our experiments, we treat the last ten channels of our cells as a pseudo-distribution over each possible label (digit). During inference, we simply pick the label corresponding to the channel with the highest output value.
Alive cells and cell states
In Growing CA we assigned a cell’s state to be “dead” or “alive” based on the strength of its alpha channel and the activity of its neighbors. This is similar to the rules of Conway’s Game of Life
Conclusion
In this article, we have demonstrated the ability of neural cellular automata to self-classify MNIST digits. This model can be seen as a simple, yet effective, approach to solving the problem of digit recognition, and can be used as a building block for more complex models. We believe that this work has the potential to contribute to the development of new algorithms for pattern recognition and classification, and to provide insights into the nature of biological systems.
Frequently Asked Questions
Q: What is the self-classifying MNIST task?
A: The self-classifying MNIST task is a problem in machine learning where a population of agents is arranged on a grid and must communicate with each other to identify the shape of a digit.
Q: How does the model work?
A: The model uses a variant of the neural cellular automata model described in Growing Cellular Automata. It treats the last ten channels of the cells as a pseudo-distribution over each possible label (digit) and uses a simple protocol to determine the label of the digit.
Q: What are the limitations of the model?
A: The model

