Evolution Strategies (ES)

ES are a class of evolutionary optimization algorithms for continuous, gradient-free parameter optimization.

There is no one definition, but broadly:

ES is an algorithm that provides the user a set of candidate solutions to evaluate a problem. The evaluation is based on an objective function that takes a given solution and returns a single fitness value. Based on the fitness results of the current solutions, the algorithm will then produce the next generation of candidate solutions that is more likely to produce even better results than the current generation. The iterative process will stop once the best known solution is satisfactory for the user. 1

In a nutshell:
ES maintain a probability distribution (typically gaussian) over the parameter space:

  1. Sample population:

  2. Evaluate fitness:

  3. Update distribution parameters based on fitness, repeat.

    Unlike GA which uses discrete representations with crossover, ES operates directly on real-valued vectors and is mutation-driven.

Variants

Selection in ES ,

… elites, best performing individuals of a generation
… population size (including elites)
… give the parents a chance to compete with their children (elitist, best survive)
… replace parents by children (can help overcome local optimium through turnover/diversity→ advantage over gradient-based methods; bio inspo: death of old age)

References

https://lilianweng.github.io/posts/2019-09-05-evolution-strategies/

Footnotes

  1. Highly recommended blog: https://blog.otoro.net/2017/10/29/visual-evolution-strategies