Lecture 4. Deep Generative Modeling.

Deep Generative Modeling

Learning

There are two types of learning: supervised and unsupervised learning. Supervised learning is about mapping some data to another data, so it’s perfect for classification. Unsupervised learning on the other hand is used to learn some hidden patterns from data. It’s excellent in clustering.

Generative modeling

In generative AI, we learn from training about distribution of data. From this distribution we can generate new unique samples. It’s ideal for finding outliers as if we don’t have something in our distribution, we can treat it as outlier.

Autoencoders

Main component of generative AI is autoencoder. It is used to encode data/features of data to lower dimensionality. In short, it does compression of data.

Decoding in this scenario is decompressing data, so it’s moving from lower dimensionality to higher dimensionality. In autoencoders and decoders we learn how to reconstruct original data.

VAEs (Variational autoencoders)

Instead of taking pure data, we sample data. We take only mean and standard deviation and learn from them. Encoder is encoding probability distribution.

Regularization

We need to regularize data to make them useful for generative models. The need to have the following properties:

  • continuity - so we have similar content after decoding,
  • completeness - so we have only meaningful content after decoding.

GANs (Generative adversarial networks)

These are special networks, where we give them noise, and they return us meaningful content. It is used to e.g. generate images after giving it some noised pixels and based how they were trained, they will return desired output.

GANs are hard to train.

CycleGANs

They are creating new data based on another dataset. So we don’t start from noise, but from real sample. For example, we can start with image of horse and turn it into zebra, keeping all the surrounding details like structure of image, positions etc.

Lecture: https://youtu.be/Dmm4UG-6jxA?si=SrnK7VlSVbRBeFsQ