This course extends the material from the first course on Creative Applications of Deep Learning, providing an updated landscape on the state of the art techniques in recurrent neural networks. We begin by recapping what we've done up until now and show how to extend our practice to the cloud where we can make use of much better hardware including state-of-the- art GPU clusters. We'll also see how the models we train can be deployed for production environments. The techniques learned here will give us a much stronger basis for developing even more advanced algorithms in the final course of the program. We then move on to some state-of-the-art developments in Deep Learning, including adding recurrent networks to a variational autoencoder in order to learn where to look and write. We also look at how to use neural networks to model parameterized distributions using a mixture density network. Finally, we look at a recent development in Generative Adversarial Networks capable of learning how to translate unpaired image collections so that each collection looks like the other one. Along the way, we develop a firm understanding in theory and code about some of the components in each of these architectures that make them possible.