GANs
GANs are a new kind of unsupervised learning model, one of the very few disrupting models of the last decade. They have two models competing with and improving each other throughout the iterations.
This architecture was originally based on supervised learning and game theory, and its main objective is to basically learn to generate realistic samples from an original dataset of elements of the same class.
It's worth noting that the amount of research on GANs is increasing at an almost exponential rate, as depicted in the following graph:

Source: The GAN Zoo (https://github.com/hindupuravinash/the-gan-zoo)
Types of GAN applications
GANs allow new applications to produce new samples from a previous set of samples, including completing missing information.
In the following screenshot, we depict a number of samples created with the LSGAN architecture on five scene datasets from LSUN, including a kitchen, church, dining room, and conference room:

LSGAN created models
Another really interesting example...