3 ms·
Evolution strategies (essentially the same as genetic algorithms) have been successfully applied to GPU-training of neural networks and parallelise very well. L
by joefourier 6y ago
Evolution strategies (essentially the same as genetic algorithms) have been successfully applied to GPU-training of neural networks and parallelise very well. Look at various papers on neuro-evolution (e.g. the ones from the now defunct Uber AI Labs).
A simple, very inefficient implementation would be: do inference on n randomly initialised neural networks, calculate loss, select the m best performing and copy them to fill all n spots, add gaussian noise to each weight and bias of every individual, repeat. More efficient mutation and selection strategies exist, but the principle is similar and parallelisation on GPUs is trivial and actually easier than current approaches (atomic operations e.g. compare-and-swap can be used to avoid going back to the CPU for selection).
I believe the real reason for neuro-evolution's unpopularity is that for most problems, gradient descent is just faster and more efficient.
What would be interesting might be to combine both approaches, using evolution strategies on hyperparameter search, although I haven't read the literature on that front.
- GregarianChild 6y agogradient descent is faster and more efficient. Why? Regarding neuro-evolution and hyperparameter, here the question becomes why would the stochastic nature of GAs (and ESs) be particularly better than e.g. brute force search?
- joefourier 6y agoIn their basic form, genetic algorithms essentially approximate gradient descent by randomly sampling the search space to find the direction of steepest descent (similar to a finite differences method). If the loss function is differentiable, you are essentially wasting computing resources on calculating paths that are known not to be optimal, hence, why not apply gradient descent directly instead of a slower approximation? Brute force search would be even more inefficient, genetic algorithms at least throw away unpromising directions.