Thursday, November 3, 2016
Neuroevolution: Neural Networks and Evolution
The most recent hot topic among computer scientists is that of neural networks and machine learning. Every other week companies like Google and Microsoft buy neural network startups. (The Race of AI, CBInsights) As this technology begins to spread into our every day lives, it becomes more important to understand it. In this post I will attempt to simplify the concept of a neural network while focusing on three key points: how it conceptually works, why it is revolutionary, and where we will see it in our every day lives.
As visualized above, a neural network has elements simulating “neurons” in a brain. The ways in which these “neurons” interact depends on the goal of the program. Vaguely, it can be said that these neurons form connections between one another. These connections take an input (on the left), and generate an output (on the right) based on these connections. Simple right?!
Maybe not so simple.
After this output is generated the reinforced “evolution” learning kicks in. The output of this configuration of neurons is compared to an arbitrary goal. This configuration’s chances of surviving are based on how “successful” this configuration of neurons was at completing its goal. This is what gives neural networks their power and ability to learn.
For example, say we are building a neural network to identify cat pictures. Each cycle we take 100 different neural configurations and feed them each 1000 pictures, 700 of which are of cats. The neural configurations which identify the most cats correctly live on and pass down their “traits”. The bad configurations that didn’t identify the cats die off and don’t pass down their traits. Thousands of generations later, we are left with a population of cat-identifying neural configurations!
I recommend checking out one or both of the visual examples below if you are still confused. Try and think of what the arbitrary goals are in each scenario. What do the different neural connections do to the models?
The innovative thing about neural networks - specifically the evolutionary variant - is that they allow computers to think of things that their programmers didn’t, or couldn’t think of! Before neural networks, computers were more “static” in the sense that everything a program would do was very linear and relatively simple to follow.
With neural networks things are dynamic and increasingly difficult to follow as thousands of “generations” pass by for every second of simulation. Current neural networks quickly evolve and aren’t readable by programmers in most cases.
The truly amazing aspect of neural networks, their ability to learn, is beautifully displayed in the below video.
As you can see, neural networks and evolution - or neuroevolution - was applied to create a unique, possibly more efficient, turbine blade shape. Kind of amazing!
You might be surprised to learn how wide spread neural networks are today. Google Photos - an image storing app - uses neural networks to identify things in photographs. This allows the user to find pictures by searching for what is in them. Want to find that picture of a bridge you took last year? Only keystrokes away! Download it to your phone and try it if you're interested.
Variations of neural networks are also used for voice recognition, translation, design, and the sorting of mortgage applications! Any situation in which large sets of data are available - or possible to generate in the wind turbine example - are good situations for neural networks, because the data is needed to train them.
Most recently, Tesla Motors has announced that it’s self driving car features are going to be managed partially by neural networks. (The Tesla AutoPilot, WCCTech)
So whether they designed your toothbrush, drove you to work, or wrote your music, neural networks will surround you in the future. Could these programs become conscious by our standards? What do you think about that?
“Exclusive: The Tesla AutoPilot - An In-Depth Look At The Technology Behind the Engineering Marvel.” WCCFtech, 16 Sept. 2016, http://wccftech.com/tesla-autopilot-story-in-depth-technology/.
“The Race For AI: Google, Twitter, Intel, Apple In A Rush To Grab Artificial Intelligence Startups.” CB Insights Blog, 13 Oct. 2016, https://www.cbinsights.com/blog/top-acquirers-ai-startups-ma-timeline/.