The following table summarizes the available neuroevolution algorithms and their performance.
We hope this helps EvoJAX users choose the appropriate ones for their experiments.
Algorithms | Description | Contributors | Performance |
---|---|---|---|
ARS | This is a wrapper of the ARS implementation in evosax. (source) | RobertTLange | PR |
ARS_native | Native jax implementation of Augmented Random Search. (source) | EdoardoPona | PR |
CMA-ES | This is a wrapper of the original implementation. Notice that this runs on CPUs. (source) | EvoJAX team | TODO |
CMA-ES | This is a wrapper of the CMA-ES implementation in evosax. (source) | RobertTLange | PR |
CMA-ES | This is a wrapper of the Sep-CMA-ES implementation in evosax. It runs fast but the covariance matrix in this implementation is diagonal. (source) | RobertTLange | PR |
CMA-ES | This is a CMA-ES optimizer using JAX backend, adpated from this faithful implementation of the original CMA-ES algorithm. (source) | EvoJAX Team | PR |
CR-FM-NES | This is a CR-FM-NES optimizer using JAX backend, adapted from this implementation of the original CR-FM-NES algorithm. (performance) (source) | dietmarwo | PR |
CR-FM-NES | This is a wrapper of the CR-FM-NES C++/Eigen implementation from fcmaes, using this implementation of the original CR-FM-NES algorithm. (performance) (source) | dietmarwo | PR |
OpenES | This is a wrapper of the OpenES implementation in evosax. (source) | RobertTLange | Table |
PGPE | This implementation is well tested, all examples are based on this algorithm. We provide two optimizers: Adam and ClipUp. (source) | EvoJAX team | Table |
PGPE | This is a wrapper of the PGPE C++/Eigen implementation from fcmaes, using this implementation of the original PGPE algorithm. We provide one optimizer: Adam. (performance) (source) | dietmarwo | PR |
SimpleGA | This implementation has truncation selection but no crossover. (source) | MaximilienLC | PR |
MAP-Elites | This implementation uses iso-line variantion as the emitter. (source) | EvoJAX team | PR |