Your Computer Is Dreaming
Artificial neural networks may be key to making computers sentient, but in the meantime they’re giving us a fascinating insight into how a computer experiences the world.
What does it look like when a computer is dreaming? Google’s research into neural networks has been generating some fascinating images, and it seems like computers are actually dreaming in a manner not dissimilar to humans: that is, in slightly bizarre images that don’t always make sense.
The technology behind these so-called computer dreams is artificial neural networks. This is how we get computers to learn to recognise concepts instead of merely understanding things it has seen before. Artificial neural networks have been key to taking technology beyond its basic programming. So for example, we can show a computer 1000 photos of dogs and it can “learn” to recognise that the next canine it encounters is the same thing, even though that photo is a little different. Or we can have 1000 people say the word “dog” to a computer, and it will eventually learn to understand when it is spoken by someone new.
It’s a bit more complicated than that though, and even the experts are still working out how artificial neural networks really work. “Even though these are very useful tools based on well-known mathematical methods, we actually understand surprisingly little of why certain models work and others don’t”, Google engineers Alexander Mordvintsev, Christopher Olah, and Mike Tyka wrote on the Google Research Blog.
A neural network typically consists of 10 to 30 stacked layers of artificial neurons, explained the researchers who know that each layer looks for more and more features as a computer searches for meaning in what it sees. Each layer helps the computer make a bit more sense of things: “The first layer maybe looks for edges or corners. Intermediate layers interpret the basic features to look for overall shapes or components, like a door or a leaf. The final few layers assemble those into complete interpretations – these neurons activate in response to very complex things such as entire buildings or trees.”.
While there are plenty of exciting uses for the neural networks themselves, the dreamy images created by the current imperfect technology have few functions beyond entertainment. But Google has put everything you need to create your own neural network on GitHub, where it’s known as “Deep Dream”. People have been playing around with it, and the results generated by the technology have been amazing, to put it mildly. Sometimes it’s dreamy, but more often bizarre and sometimes outright nightmarish.
At times the result of Deep Dream has been quite artful – at least that’s the idea behind Deep Dreamer, an app from Realmac Software: “While we were blown away by the images [the Google code] produced, we soon found out that if you wanted to set up a server to process images for yourself it really wasn’t a trivial task,” Realmac Software founder Dan Counsell wrote on the Realmac blog. “We’ve taken the Deep Dream engine to a new level by adding support for GIF and movie export.”.
Deep Dreamer is still in beta mode so it has a few glitches, but it’s designed to be easy to use: just drag an image into the app window and use the default presets to change it. Choices include “Impressionist Painting”, “Eyes”, “Animals” and “Tripping”, to name just four. On that note, someone decided to take Deep Dream to its furthest consequence by running ‘Fear and Loathing in Las Vegas’ through the software, and the results are beyond description – have a look, but only if you’re willing to risk the nightmares.
Keep track of all things tech-news on the VPS.NET Blog!