How Google Deep Dream Works

Neurons in Bits

Those darling vacation pictures turn into nightmare fuel when the algorithm of Deep Dream is applied.
Those darling vacation pictures turn into nightmare fuel when the algorithm of Deep Dream is applied.
Deep Dream upload by HowStuffWorks staff

Computers are inorganic products, so it seems unlikely that they would dream in the same sense as people do. Yet Deep Dream is one isolated example of just how complex computer programs become when paired with data from the human world.

Google's software developers originally conceived and built Deep Dream for the ImageNet Large Scale Visual Recognition Challenge, an annual contest that started in 2010. Each year, dozens of organizations compete to find the most effective ways to automatically detect and classify millions of images. After each event, programmers reevaluate their methods and work to improve their techniques.

Image recognition is a vital component that's mostly missing from our box of Internet tools. Our search engines are geared mostly toward understanding typed keywords and phrases instead of images. That's one reason you have to tag your image collections with keywords like "cat," "house" and "Tommy." Computers simply struggle to identify the content of images with any dependable accuracy. Visual data is cluttered and messy and unfamiliar, all of which makes it difficult for computers to understand.

Thanks to projects like Deep Dream, our machines are getting better at seeing the visual world around them. To make Deep Dream work, Google programmers created an artificial neural network (ANN), a type of computer system that can learn on its own. These neural networks are modeled after the functionality of the human brain, which uses more than 100 billion neurons (nerve cells) that transmit the nerve impulses enabling all of our bodily processes.

In a neural network, artificial neurons stand in for biological ones, filtering data in a multitude of ways, over and over again, until the system arrives at some sort of result. In the case of Deep Dream, which typically has between 10 and 30 layers of artificial neurons, that ultimate result is an image.

How does Deep Dream reimagine your photographs, converting them from familiar scenes to computer-art renderings that may haunt your nightmares for years to come?