← archive

Computer Dream Interpretations

Cover image

This week I wanted to continue with the motif of computers autonomously being both the fortune teller and querent. The meditation was to create an electronic form of occlumency and I wanted to create an electronic form of dream interpretation. Since the past week's discussion was focused on machine learning and I haven't had any experience with it, I wanted to try incorporating this tech into my meditation, using ml5 it is surprisingly easy to get something up and running.

Computer Dreams

Before starting any kind of work on the meditation I defined what it meant for a computer to have dreams. For this part I referenced an incredible computational artpiece, Electric Sheep, by Scott Draves. For the uninitiated, Electric Sheep is a distributed computing project for animating and evolving fractal flames.

Essentially when your computer idles or goes to sleep, the electric sheep program displays a screen saver while in the background your computer becomes part of the distributed computing network and renders the flames, thus the sheep are what your computer dreams. Draves continues the dream-sleep metaphor in his project.

While the electric sheep is a beautiful metaphor I decided to go into the genetic code of the sheep to try generating my own. I compiled the Flam3 renderer, which took a quite a while since many of the dependecies had to compiled from source as well. The software was originally released in 1992.

The Flam3 renderer makes beautiful visualizations, but it has a lot of parameters and setting that I'm not so familiar with, so while I like what I made they are not as jawdropping as profession Flame artists. I'd like to keep making more though.

Eventually I would like to pipe the live electric sheep into the dream interpreter but for the time being I decided to download a 2-hour electric sheep video since they are prettier.

Interpretation

For the interpretations of the dreams I went with a machine learning route. I used the videos of the electric sheep and ran it through the ml5 image classifier. I modified the video example to take a video as an input instead of the webcam. The machine learning model tries to classify the electric sheep and then the resulting classification would be ran against a JSON version of the Veale's Dream Symbols to provide an interpretation of the electric sheep visualization.

Unfortunately I had some errors converting the xlsx file into a JSON where the interpretations became empty values and I didn't have time to solve it.

Conclusion

I had a great experience thinking about what it means for a computer to dream and I learned a lot about creative applications of computer networks, in this case distributed computing for rendering and creating fractals. It also felt good to try out ml5.

I am very fascinated with considering comptuers as autonomous agents with their own hopes and dreams. The idea that a network of computers can create a dream and another computer can interpret the dreams through a human lense fascinates me.

In the future I would like to revisit this assignment and improve it since I love looking at the visualizations, it would be cool to see interpretations of the fractals.