5
$\begingroup$

Evolutionary algorithms are mentioned in some sources as a method to train a neural network (finding weights, not hyperparameters). However, I have not heard about one practical application of such an idea yet.

My question is, why is that? What are the issues or limitations with such a solution that prevented it from practical use?

I am asking because I am planning on developing such an algorithm and want to know what to expect and where to put most attention.

$\endgroup$

1 Answer 1

4
$\begingroup$

The main evolutionary algorithm used to train neural networks is Neuro-Evolution of Augmenting Topoloigies, or NEAT. NEAT has seen fairly widespread use. There are thousands of academic papers building on or using the algorithm.

NEAT is not widely used in commercial applications because if you have a clean objective function, a topology that is optimized for gradient decent via backpropogation, and an implementation that is highly optimized for a GPU, you are almost certainly going to see better, faster, results from a conventional training process. Where NEAT is really useful is if you want to do something weird, like train to maximize novelty, or if you want to try to train neurons that don't have cleanly decomposable gradients. Basically, you need to have any of the usual reasons you might prefer an evolutionary algorithm to hill-climbing approaches:

  1. You don't have a clean mapping from loss function to individual model components.
  2. Your loss function has many local maximia.
$\endgroup$
2
  • $\begingroup$ Worth mentioning scaling by number of parameters. Gradient descent scales up to millions of weights. NEAT, relying on search through testing small subsets of weight changes, cannot scale that way and is much better with relatively small neural networks. NEAT can be a good alternative to Reinforcement Learning for learning control systems (when the task only needs a simple function) $\endgroup$ Sep 20, 2019 at 7:34
  • $\begingroup$ I think there's not a strong reason that NEAT cannot be scaled up, in principle, and there are approaches like Tangled Program Graphs (link.springer.com/chapter/10.1007/978-3-319-77553-1_9) that are capable of training things similar to a neural network using evolutionary methods, so I don't think that's a limiting factor for evolutionary methods in general. I agree that it is a limit for the standard NEAT algorithm though, which is the most widely used one. $\endgroup$ Sep 20, 2019 at 14:34

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .