chapter eight

8 Evolving autoencoders

 

This chapter covers

  • Convolutional autoencoders a Primer
  • Genetic encoding a convolutional autoencoder network
  • Applying mutation and mating to develop an evolutionary autoencoder
  • Putting it all together and building and evolving autoencoder architecture
  • Introducing a convolutional variational autoencoder (VAE)

In the last chapter, we covered how convolutional neural network (CNN) architecture could be adapted using evolutionary algorithms. It’s where we used genetic algorithms to encode a gene sequence defining a CNN model for image classification. The outcome of this was to successfully build more optimized networks for image recognition tasks.

For this chapter, we continue to extend the fundamentals and explore evolving autoencoders. We will take some of our experience from building evolving CNN architecture from the last chapter and apply it to convolutional autoencoders. Then we will move on to more advanced variational autoencoders and explore novel ways of evolving model loss.

Autoencoders are a foundation to deep learning that introduces unsupervised and representation learning. Chances are if you have spent any time studying DL you have encountered autoencoders and variational autoencoders. From the perspective of evolutionary deep learning, they introduce some novel applications we will explore in this chapter.

8.1 The Convolution Autoencoder

8.1.1 An Introduction to Autoencoders

8.1.2 Building a Convolutional Autoencoder

8.1.3 Learning Exercises

8.1.4 Generalizing a Convolutional Autoencoder

8.1.5 Improving the Autoencoder

8.2 Evolutionary Autoencoder Optimization

8.2.1 Building the AE Gene Sequence

8.2.2 Learning Exercises

8.3 Mating and Mutating the Autoencoder Gene Sequence

8.4 Evolving an Autoencoder

8.4.1 Learning Exercises

8.5 Building Variational Autoencoders

8.5.1 Variational Autoencoders a Review

8.5.2 Implementing a VAE

8.5.3 Learning Exercises

8.6 Summary