While our autoencoding use cases in the last chapter were limited to image reconstruction and denoising, these use cases are quite distinct from the one we are about to address in this chapter. So far, we made our autoencoders reconstruct some given inputs, by learning an arbitrary mapping function. In this chapter, we want to understand how to train a model to create new instances of some content, instead of simply replicating its inputs. In other words, what if we asked a neural network to truly be creative and generate content just like human beings do?. Can this even be achieved? The canonical answer common in the realm of Artificial Intelligence (AI) is yes, but it is complicated. In the search for a more detailed answer, we arrive at the topic of this chapter: generative networks.
While a plethora of generative networks exist, ranging...