How might we make cats in cellular automata discoverable? Philosophy & Strategy Track
Title after the children’s book Spot a cat by Lucy Micklethwait (Dorling Kindersley, 1995), which is designed to get young children engaged with fine art.
“Animals are good to think with.” —Claude Levi-Strauss “You see, wire telegraph is a kind of a very, very long cat. You pull his tail in New York and his head is meowing in Los Angeles. Do you understand this? And radio operates exactly the same way: you send signals here, they receive them there. The only difference is that there is no cat.” —A quote apocryphally attributed to Albert Einstein
Author’s note: The code used in this notebook is not easily run on the web. We are considering how to get you a code-rich version of this post and hope to get to that soon. Meanwhile, enjoy.
GOAL OF THE PROJECT: Stephen Wolfram has tasked me with finding images of cats in cellular automata based on his essay, Generative AI Space and the Mental Imagery of Alien Minds, in which he explored the computational space around AI-generated images of cats in party hats.
How might we discover the cats in cellular automata (CA)? How might we identify representational images in CA by representing words and CA-generated images as vectors? How might we refine these representations?
SUMMARY OF RESULTS: By applying a reflection to grids generated by 2D CA rules, we generate emoji-style representations of words, which we call Rorschachs in honor of the inkblot test, using vector representations of the images to find the best match for words. This results in representational CA images that both computers and humans can recognize. What we seem to get when we access CA cat space to make Rorschach cats is a rudimentary version of a search tool providing transparency to the CLIP & OpenCLIP Multi-Domain Feature Extractors. Delivering access to cat space seems to deliver a view into to the concept space. What we have is a toy model of a tool at low a resolution. The possibilities are very intriguing.
Details
Are there cats in Cellular Automata? There are no cats in CAs. But just as there is a face on Mars and the Virgin Mary can appear on a piece of toast, we can see cats in cellular automata, and its not very hard to find CA that look cattish. Here is one we call Darth Kitty:
The task at hand, to find cats in CA algorithmically, should be understood as a positive use of machine hallucination (The initial computer science mention of the phrase had to do with getting machines to see faces: Baker, S., & Kanade, T. (2000). Hallucinating faces. Proceedings Fourth IEEE International Conference on Automatic Face and Gesture Recognition (Cat. No. PR00580), 83-88. https://doi.org/10.1109/AFGR.2000.840616 )
How do we see cats? How do computers see cats? Humans and computers do not see eye-to-eye on what a cat looks like. In the CA image above, Darth Kitty, I see cat-like ears, and if you turn it sideways it’s got an evil face. The computer doesn’t think so. The computer failed to see cats in CA that we could see and I disagreed with computer rankings of images on cattishness. A preliminary idea for how this might be accomplished, furnished by Stephen Wolfram, is to look at CA images with CLIP and using evolutionary strategies attempt to introduce mutations to the CA rules that would improve rules’ cat-fitness, the idea being that if you run this long enough, eventually it might converge to something resembling, at least in CLIP’s judgement, a cat. We explored using CLIP to identify cats in images and ran into some problems. CLIP is very sensitive to image resizing, sometimes doesn’t see animals that we see in CA patterns because of overemphasis on outlines, and is sensitive to the placement of the target image. It is not good at the image gestalt. We needed a way to force consensus. In considering how to go about this, we did some preliminary exploration. A key question is “What does a cat look like to an AI?” We humans have trained on different cat data than AIs, so our assumptions of what an AI might think is catlike are not necessarily correct. This turns out to be a more complex question than I had initially thought, since the essence of catness we want detected will be in the form of cellular automata plots which do not, in general, look like cats.
For this one, Claude attempts to describe a minimally cat body. Outliers: The Blind Man & the Elephant problem I built a pet detector to see what animals ImageIdentify[] thinks might be in CA. This generates two companion landscapes: the relative (low) probability that this CA is an animal; if it were an animal, which animal would it be?
What we get from binding CLIP to CA to look for cats
We can use FeatureSpacePlot to see how our Rorschach animals are conceptually and visually related to one another in the resulting space.
It seems that if we can build a thing that can find a cat in a cellular automata space, it can also find Jesus, and anything else in its down-sampled conceptual space. Except, to paraphrase the apocryphal Einstein quote, there is no cat.
2D CAs Rules Definitions
Growth-Decay Cases Rules and Outer Totalistic Code Rules Map the same space of 2D rules
◼
In 2D there are
262144
Outer Totalistic Code rules in total.
◼
An example of equivalent rules using both notations:
The image with the smallest distance is the one that it’s closest to the concept “pixel art cat” in terms of OpenCLIP representational space.
◼
In this example we generated only 15 different images starting from a single initial grid.
Finding Good “Cat” 2D CAs Rules from a subset of 25k+ Outer Totalistic Code Rules
Let’s try to identify “good” 2D CAs Rules for generating cats. Here we will explore 25k+ Outer Totalistic Code Rules, which is around 10% of all possible rules in 2D (262144 rules).
Define a function to take 25 random initial grids, evolve them with a specific rule and number of generation and then measure the distance to a certain “entity/concept” like “cat”:
We can see that under 5 generations, for 25 randomly selected initial grids, the majority of 2D CAs yield a shorter mean distance to the concept “cat”. There are also a lot of rules that destroy the “catness” of the initial random grids in a stronger way (left tails of the graphs).
Note that the final generated images contain 733 duplicated images (there is degeneracy):
In[]:=
Length@Union@caGridsCats
Out[]=
99277
◼
These are the first 25 images:
In[]:=
caImagesCats[[;;25]]
Out[]=
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
◼
Now let’s use OpenCLIP to obtain the generated images closer to the concept “cat” (Note that computing the image features can take up to several hours, to avoid re-computing import the attached file at the bottom of the post)
ROADS NOT TAKEN: I considered what kinds of cellular automata might be able to deliver full cat faces and looked into the matter of CA systems such as neural cellular automata and lenia (on the advice of UVM’s Josh Bongard), but continuous cellular automata are outside the scope of what I could work with in the space of a few weeks.
FURTHER WORK
◼
Higher resolution image processing and image generation
◼
More techniques for using feature extractors to generate representational images
◼
The potential for using the linkage of CA and multi-domain feature extractors such as CLIP as a search tool
◼
Exploring the computational implications of relationships between concepts defined by cellular automata.
◼
We did explore Wolfram’s concept of using evolutionary algorithms to improve cattishness. It seemed, at the resolution we were working, to make only a small improvement but might work better at higher resolutions. Here are a few more highly evolved Rorschach cats:
Many thanks to Jofre and Phinéas who did an amazing job of supporting and guiding me through this exploration and coming up with concepts for how to make it work, and to Stephen Wolfram who made that off-the-wall suggestion that I go look for cats in CA. —KC
References
◼
Baker, S., & Kanade, T. (2000). Hallucinating faces. Proceedings Fourth IEEE International Conference on Automatic Face and Gesture Recognition (Cat. No. PR00580), 83–88. https://doi.org/10.1109/AFGR.2000.840616
Micklethwait, L. (1995). Spot a cat (1st American ed). Dorling Kindersley.
◼
Olah, C., Satyanarayan, A., Johnson, I., Carter, S., Schubert, L., Ye, K., & Mordvintsev, A. (2018). The Building Blocks of Interpretability. Distill, 3(3), 10.23915/distill.00010. https://doi.org/10.23915/distill.00010
Zimmerman, J. W., Hudon, D., Cramer, K., Onge, J. S., Fudolig, M., Trujillo, M. Z., Danforth, C. M., & Dodds, P. S. (2023). A blind spot for large language models: Supradiegetic linguistic information (arXiv:2306.06794). arXiv. http://arxiv.org/abs/2306.06794. There’s also a later version of our paper at Plutonics: Zimmerman, J. W., Hudon, D., Cramer, K., Onge, J. S., Fudolig, M., Trujillo, M. Z., Danforth, C. M., & Dodds, P. S. (2024). A blind spot for large language models: Supradiegetic linguistic information. Plutonics: A Journal of Non-Standard Theory, XVII. https://plutonicsjournal.com/wp-content/uploads/2024/05/Plutonics17spread.pdf