Growing Neural Cellular Automata (2020)
The sciences of genomics and stem cell biology are only part of the puzzle, as they explain the distribution of specific components in each cell, and the establishment of different types of cells. The new state of a cell depends only on the states of the few cells in its immediate neighborhood. Let's try to develop a cellular automata update rule that, starting from a single cell, will produce a predefined multicellular pattern on a 2D grid. Inspired by residual neural networks, the update rule outputs an incremental update to the cell's state, which applied to the cell before the next time step. Typical cellular automata update all cells simultaneously. We can consider every cell to be a dynamical system, with each cell sharing the same dynamics, and all cells being locally coupled amongst themselves. Each of those computers would require approximately 10Kb of ROM to store the "Cell genome": neural network weights and the control code, and about 256 bytes of RAM for the cell state and intermediate activations.