palmettos / neat-autoencoders

Evolvable autoencoders for NEAT-Python
BSD 3-Clause "New" or "Revised" License
4 stars 2 forks source link
autoencoders machine-learning neuroevolution

This is a fork of neat-python with added support for autoencoders with evolvable topologies.

AutoencoderGenome creates an encoder and decoder module that can be trained end-to-end. FeedForwardNetwork has a new factory function, create_autoencoder, which takes in an AutoencoderGenome and returns an (encoder: FeedForwardNetwork, decoder: FeedForwardNetwork) tuple. The AutoencoderGenome replaces the num_output configuration option with bottleneck_size. Example code is provided in test-autoencoder-objective.py and test-autoencoder-novelty.py.

For the objective example, once the network has reached a satisfactory fitness, a plot will be shown with sliders that allow you to modify the bottleneck inputs to the decoder module.

Why?