About this Article
Written by:
Written on: March 21st, 2017
Tags: art, electrical engineering, computer science, lifestyle, artificial intelligence, computer, google, neural network, neuroscience, brain, dream
Thumbnail by: A. Mordvintsev/Research Blog
About the Author
Also in this Issue
Are You a Human? Exploring What Web Security Means to YouWritten by: Austin Bowie
Engineering Ice CreamWritten by: Stephanie Ego
From Shark Skin to SpeedWritten by: Jane Li
Leaving the Light On: Vacuum Tubes and their Reemergence Written by: Greggory Caine
Stay Connected

Volume XVIII Issue I > Do Androids Dream of Electric Sheep? A Look Into Google's DeepDream

Artificial Neural Networks

A neural network is essentially computer science's take on the brain. To understand the motivation behind neural networks, we must first think about how computers solve problems. It's surprisingly difficult to describe what a computer can actually do. Computers are incredibly good at some things - like telling you the millionth digit of pi in a few milliseconds - but incredibly bad at others - like figuring out whether or not a photograph contains a bird. While this distinction may seem arbitrary, the ability of computers to perform certain tasks depends completely on its internal algorithms. Algorithms, collectively, create the brain of a computer. They serve as intricate instruction manuals to solve specific problems. They work reasonably well for problems we know how to solve, like algebra, for it is easy enough to explain the steps of equation simplification. But how would you describe the process of determining whether or not a photo has a tree in it? Although trees come in a variety of shapes, sizes, and colors, they share certain common features-- roots and branches, for example. While it might work to simply establish the presence of these common features in an image, it would be a lot of work to compile and recognize the variety of features that trees exhibit. Our brains, in comparison to algorithms, are much more capable of solving these types of problems. There is simply no general method to recognize a tree that is as straightforward as simplifying a math equation.
To answer this challenge, computer scientists have developed computer system neural networks to mimic the problem-solving capacity of the human brain. Similar to how neurons are the building blocks of the brain, perceptrons (basic components which outputs either a 1 or a 0 depending on its inputs) are the building blocks of neural networks. Fig. 2 diagrams the basic structure of a neural network. Perceptrons, here represented as circles, are placed in multiple layers. The problem is fed to perceptrons as encoded inputs in the input layer. The perceptron output from the input layer is then passed on to a number of “hidden layers.” Finally, the processes inputs are passed through the output layer and a cohesive solution is presented in response to the original problem.
Figur​e 2: Neural Network Structure. Source: AstroML.