View on GitHub

maschere's blog

data, science, art

GenGen: Steering Generative Genetic Algorithms

20 Jun 2021

GenGen: Steering Generative Genetic Algorithms

gengengif


Genetic algorithms are “creative” by design, as they explore their respective fitness-function landscape in a randomized, pseudo-evolutionary manner. Hence defining mutation and cross-over processes in a way that allows them to literally paint a picture results in a large variety of images.

To evaluate the fitness – that is deciding if the picture of one individuum fulfills certain criteria – requires human judgment in the optimal case. However by letting a pre-trained neural network take on the role of judge, this processes can be steered autonomously and independently of human input.

Depending on the actual painting capabilities on the individuum, this process does not generate highly realistic examples of the target class. Rather it produces adversarial examples that look like the target class to the neural network, but most likely not to the human eye. Visually pleasing results can be obtained nevertheless. Have a look.

Starting with a blank image:

Another variation:

Starting with random Bob Ross images:

Source code in the form of a Colab notebook is available at https://github.com/maschere/public-jupyter/blob/master/genGen.ipynb

RSS