Hi Mathis,
There are indeed several ways to adapt the mutation step size (sigma) in Evolution Strategies. What you are describing "assigning a specific sigma to each individual and evolving it alongside the genome," is called adaptive co-evolution. However, for this specific exercise, the TODO expects a simpler method: a deterministic scheduled decay for a single, global step size.
In this case, all specific genomes will have the same mutation step size for each individual.
As a consequence, the entire population is sampled around a single current mean vector:
N(x_t+1, sigma_t+1) = x_t+1 + sigma_t+1*N(0, 1).
Thus your understanding of the new population generation is correct.
The sigma_decay_rate is a constant multiplier (usually slightly less than 1, like 0.99) used to deterministically shrink your step size each generation, e.g.: sigma_t+1 = sigma_t * 0.99
If you want, you can follow the directions of the "Co-evolution of mutation size" lecture slide to implement adaptive co-evolution of step size.
For the final implementation except for the sigma it looks good.
Try a simple decay scheduling and see if you are still having problem.
Best,
Fuda
There are indeed several ways to adapt the mutation step size (sigma) in Evolution Strategies. What you are describing "assigning a specific sigma to each individual and evolving it alongside the genome," is called adaptive co-evolution. However, for this specific exercise, the TODO expects a simpler method: a deterministic scheduled decay for a single, global step size.
In this case, all specific genomes will have the same mutation step size for each individual.
As a consequence, the entire population is sampled around a single current mean vector:
N(x_t+1, sigma_t+1) = x_t+1 + sigma_t+1*N(0, 1).
Thus your understanding of the new population generation is correct.
The sigma_decay_rate is a constant multiplier (usually slightly less than 1, like 0.99) used to deterministically shrink your step size each generation, e.g.: sigma_t+1 = sigma_t * 0.99
If you want, you can follow the directions of the "Co-evolution of mutation size" lecture slide to implement adaptive co-evolution of step size.
For the final implementation except for the sigma it looks good.
Try a simple decay scheduling and see if you are still having problem.
Best,
Fuda
