Machine learning (ML) and deep learning can be described by two terms: generative and discriminative modeling. When discussing the machine learning techniques that most people are familiar with, the thinking of a discriminative modeling technique, such as classification.
The difference between these two types of can be described by the following analogy:
Here are a few steps that describe how we would do this in machine learning:
- First, we create a machine learning model that use convolutional layers or other learned features to understand the divisions in the data
- Next, we collect a dataset that has both a training set (60-90% of your data) and a validation dataset (10-40% of your data)
- Train the machine learning model using your data
- Use this model to predict which datapoint belongs to a particular class - in our example, which painting belongs to which author
Here are a few steps to describe a possible way to accomplish this type of modeling:
- Create a machine learning model that learns how to reproduce different painting styles
- Collect a training and validation dataset
- Train the machine learning model using the data
- Use this model to predict (inference) to produce examples of the paint author - use similarity metrics to verify the ability of the model to reproduce the painting style.
Discriminative models will learn the boundary conditions between classes for a distribution:
- Discriminative models get their power from more data
- These models are not designed to work in an unsupervised manner or with unlabeled data
This can be described in a more graphical way, as follows:
This can be described in a more graphical way, as follows:
So, generative models are incredibly difficult to produce as they have to accurately model and reproduce the input distribution. The discriminative models are learning decision boundaries, which is why neural networks have been incredibly successful in recent years. The GAN architecture represents a radical departure from older techniques in the generative modeling area. We'll cover how neural networks are developed and then dive right in the GAN architecture development.