3 views

I have a good basis on Evolutionary Algorithms, so now I started to read about Artificial Neural Networks. I come across this tutorial on http://www.ai-junkie.com/ann/evolved/nnt2.html, showing how to use an ANN to evolve Tanks that collect mines. It uses a GA to evolve the input weights on each Neuron.

I know I could use GA (without the ANN) to solve the same problem. I already created a Tetris Bot using the only GA to optimize the weights in the grid evaluation function (check my blog http://www.bitsrandomicos.blogspot.com.br/).

My question is: what's the conceptual/practical difference between using an ANN + GA in a situation where I could use GA alone? I mean, is my Tetris Bot an ANN? (I don't think so).

Thanks!

by (108k points)

Neural nets and Genetic algorithm are totally different things which achieve totally different objectives. The neural net is a way to describe a mapping (function) and the genetic algorithm is an optimization process. Thus they cannot be compared.

## Neural Networks coupled with Genetic Algorithms can really accelerate the learning process to solve a certain problem.

From an optimization/mathematical point of view, Neural nets are a way to describe a trainable function that is known to perform very well on a wide variety of tasks.

Since NNs required a lot of data, and GAs didn’t. GAs was used mostly to simulate environments and behaviors of entities in a population. They were mostly used to learn the path to a problem that we knew the answer to.

NNs have helped us solve so many problems. But there’s a huge problem that they still have that is hyperparameters(Hyper-parameters are values required by the NN to perform properly, given a problem). These are the only values that can not be learned.

We can use GAs to learn the best hyper-parameters for a NN!

When you create a Tetris bot you do not necessarily have to use an ANN as a function approximator. But you need some kind of function approximator to represent your bot's policy. But when you want to create a complex nonlinear policy you could do that with an ANN.