Google Deep Dreamer: An Introduction to Artificial Neural Nets

An Artificial Neural Network consists of anywhere from a few dozen to millions of artificial neurons arranged in interconnected layers. These layers are classified into three main groups- an input layer, a hidden layer, and the output layer.

The input layer receives sensory data, which is then fed into the hidden layer, which interprets the data and signals a response that is reported by the output layer. The hidden layer consists of the remaining layers of interconnected neurons.

Each of these neurons has a “weight” that’s positive or negative, which excites or suppresses neighboring neurons. The higher the weight, the more intensity the neuron’s excitatory/suppressive function has on its neighbors.

How do Artificial Neural Networks learn?

Artificial Neural Networks learn by being “trained” on an initial dataset. For example, the network will be presented with 10 pictures of a chair, and 10 pictures of anything but a chair. For each picture, the neural network will guess whether it’s a chair or not. Then, for each picture, the network will then be given the correct answer, and through a method called “back propagation,” it will adjust the biases of the neurons in all three layers so that it would correctly classify the image if presented again. After this training process, the network is then able to operate normally.

The Google Deep Dreamer

I’ll be referencing the Google Deep Dreamer neural network a bit here, used to visualize neural network image interpretation. The Deep Dreamer is different than a typical neural network. When fed an image, like a normal neural network, it performs careful feature selection to try and classify the image (noticing features like lines and shapes, eyes and noses). However, this feature selection is then used to alter the input image by enhancing the features it notices. The output image can then be fed through the network again, repeatedly, until features are magnified and related to objects the network already recognizes from its training process.

Deep Dreamer Cloudgazing

Want to read more? Check out Google’s Research Blog post on Deep Dreamer.