Getting Started
Get an overview of the topics that will be covered in this course and the target audience.
We'll cover the following
Overview
In this course, we’ll explore generative AI, a cutting-edge technology for generating synthetic (yet strikingly realistic) data using advanced machine learning algorithms. Generative models have been intriguing researchers across domains for quite some time now. With recent improvements in the fields of machine learning and, more specifically, deep learning, generative modeling has seen a tremendous uptick in the number of research works and their applications across different areas. From artwork and music composition to synthetic medical datasets, generative modeling is pushing the boundaries of imagination and intelligence alike. The amount of thought and effort required to understand, implement, and utilize such methods is simply amazing. Some of the newer methods (such as GANs) are very powerful yet difficult to control, making the overall learning process both exciting and frustrating.
The aim of this course is to be a kaleidoscope of the generative modeling space and cover a wide range of topics. This course takes you on a journey where you don’t just read the theory and learn about the fundamentals, but also discover the potential and impact of these models through worked examples. We’ll implement these models using a variety of open-source technologies—the Python programming language, the TensorFlow 2 library for deep neural network development, and cloud computing resources such as Google Colab and the Kubeflow project.
Understanding the various topics, models, architectures, and examples in this course will help learners easily explore more complex topics and cutting-edge research.
“Imagination is more important than knowledge.”—Albert Einstein, Einstein on Cosmic Religion and Other Opinions and Aphorisms (2009)
Target audience and prerequisites
Generative AI with Python and TensorFlow 2 is for data scientists, ML engineers, researchers, and developers interested in generative modeling and the application of state-of-the-art architectures to real-world datasets.
This course is also suitable for TensorFlow beginners with intermediate-level deep learning-related skills who want to expand their knowledge base.
Basic proficiency in Python and deep learning is required to get started with this course.
What this course covers
An Introduction to Generative AI: This chapter introduces the field of generative AI, from the underlying probability theory to recent examples of applied products of these methods.
Building Blocks of Deep Neural Networks: This chapter introduces foundational concepts for deep neural networks that will be utilized in the rest of the volume—how they were inspired by biological research, what challenges researchers overcame in developing ever larger and more sophisticated models, and the various building blocks of network architectures, optimizers, and regularizers utilized by generative AI examples in the rest of the course.
Teaching Networks to Generate Digits: This chapter demonstrates how to implement a deep belief network, a breakthrough neural network architecture that achieved state-of-the-art results in classifying images of handwritten digits through a generative AI approach, which teaches the network to generate images before learning to classify them.
Painting Pictures with Neural Networks Using VAEs: This chapter describes variational autoencoders (VAEs), an advancement from deep belief networks that create sharper images of complex objects through the effe use of an objective function grounded in Bayesian statistics. The reader will implement both a basic and advanced VAE, which utilizes inverse autoregressive flow (IAF), a recursive transformation that can map random numbers to complex data distributions to create striking synthetic images.
Image Generation with GANs: This chapter introduces generative adversarial networks, or GANs, as powerful deep learning architectures for generative modeling. Starting with the building blocks of GANs and other fundamental concepts, this chapter covers a number of GAN architectures and how they are used to generate high-resolution images from random noise.
Style Transfer with GANs: This chapter focuses on a creative application of generative modeling, particularly GANs, called style transfer. Applications such as transforming black and white images to colored ones, aerial maps to Google Maps-like outputs, and background removal are all made possible using style transfer. We cover a number of paired and unpaired architectures like pix2pix and CycleGAN.
Deepfakes with GANs: This chapter introduces an interesting and controversial application of GANs called deepfakes. It discusses the basic building blocks for deepfakes, such as features and different modes of operations, along with a number of key architectures. It also includes a number of hands-on examples to generate fake photos and videos based on key concepts covered so readers can create their own deepfake pipelines.
The Rise of Methods for Text Generation: This chapter introduces concepts and techniques relating to text generation tasks. We first cover the very basics of language generation using deep learning models, starting from different ways of representing text in vector space. We progress to different architectural choices and decoding mechanisms to achieve high-quality outputs. This chapter lays the foundation for more complex text generation methods covered in the subsequent chapter.
NLP 2.0: Using Transformers to Generate Text: This chapter covers the latest and greatest in the NLP domain, with a primary focus on the text generation capabilities of some state-of-the-art architectures (like GPT-x) based on transformers and the like and how they have revolutionized the language generation and NLP domain in general.
Composing Music with Generative Models: This chapter covers music generation using generative models. This is an interesting yet challenging application of generative models and involves understanding a number of nuances and concepts associated with music. This chapter covers a number of different methods to generate music, from basic LSTMs to simple GANs and, eventually, MuseGAN for polyphonic music generation.
Play Video Games with Generative AI: GAIL: This chapter describes the connection between generative AI and reinforcement learning, a branch of machine learning that teaches “agents” to navigate real or virtual “environments” while performing specified tasks. Through a connection between GANs and reinforcement learning, the reader will teach a hopping figure to navigate a 3D environment by imitating an expert example of this movement.
Emerging Applications in Generative AI: This chapter describes recent research in generative AI, spanning biotechnology, fluid mechanics, video, and text synthesis.
Appendix: This chapter will guide us on how to set up a TensorFlow Lab. It describes how to set up a computing environment for developing generative AI models with TensorFlow using open-source tools—Python, Docker, Kubernetes, and Kubeflow—to run a scalable code laboratory in the cloud.