Guest User

Untitled

a guest
Jul 16th, 2018
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.49 KB | None | 0 0
  1. In this article, we’ll introduce the reader to Generative Adversarial Networks (GANs). We assume the reader has some prior experience with neural networks, such as artificial neural networks.
  2.  
  3. Here’s the plan of attack:
  4.  
  5. Introduction to Generative Adversarial Networks
  6.  
  7. The Discriminative Model
  8. The Generative Model
  9. How GANs Work
  10. Different types of GANs
  11. Applications of GANs
  12. Build a simple GAN in Keras
  13. Introduction to Generative Adversarial Networks
  14. GANs were introduced by Ian Goodfellow et al. in 2014. Yann LeCun described adversarial training as the coolest thing since sliced bread. GANs are neural networks that generate synthetic data given certain input data. For example, GANs can be taught how to generate images from text. Generative Adversarial Networks consists of two models; generative and discriminative.
  15.  
  16. The Discriminative Model
  17. The discriminative model operates like a normal binary classifier that’s able to classify images into different categories. It determines whether an image is real and from a given dataset or is artificially generated.
  18.  
  19. The Generative Model
  20. The discriminative model tries to predict certain classes given certain features. The generative model tries to predict features given classes. This involves determining the probability of a feature given a class.
  21.  
  22. How GANs Work
  23. A GAN has two players: a generator and a discriminator. A generator generates new instances of an object while the discriminator determines whether the new instance belongs to the actual dataset.
  24.  
  25. Let’s say you have a dataset containing images of shoes and would like to generate ‘fake’ shoes. The role of the generator would be to generate the new shoes while the discriminator’s goal is to determine images coming from the generator as fake.
  26.  
  27. During the training process, weights and biases are adjusted through backpropagation until the discriminator learns to distinguish real images of shoes from fake images. The generator gets feedback from the discriminator and uses it to produce images that are more ‘real’. The discriminator network is a convolutional neural network that classifies the images as either fake or real. The generator produces new images through a de-convolutional neural network.
  28.  
  29. Different types of GANs
  30.  
  31. Deep Convolutional GANs (DCGANs)
  32. DCGANs are an improvement of GANs. They are more stable and generate higher quality images. In DCGAN, batch normalization is done in both networks, i.e the generator network and the discriminator network. They can be used for style transfer. For example, you can use a dataset of handbags to generate shoes in the same style as the handbags.
  33.  
  34. Conditional GANs (cGANs)
  35.  
  36. These GANs use extra label information and result in better quality images and are able to control how generated images will look. cGANs learn to produce better images by exploiting the information fed to the model.
  37.  
  38. StackGAN
  39. The authors of this paper propose a solution to the problem of synthesizing high-quality images from text descriptions in computer vision. They propose Stacked Generative Adversarial Networks (StackGAN) to generate 256x256 photo-realistic images conditioned on text descriptions. They decompose the hard problem into more manageable sub-problems through a sketch-refinement process.
  40.  
  41. The Stage-I GAN sketches the primitive shape and colors of the object based on the given text description, yielding Stage-I low-resolution images. The Stage-II GAN takes Stage-I results and text descriptions as inputs, and generates high-resolution images with photo-realistic details.
  42.  
  43. InfoGANs
  44. InfoGAN is an information-theoretic extension to the GAN that is able to learn disentangled representations in an unsupervised manner. InfoGANs are used when your dataset is very complex, when you’d like to train a cGAN and the dataset is not labelled, and when you’d like to see the most important features of your images.
  45.  
  46. Wasserstein GANs(WGAN)
  47. WGANs change the loss function to include a Wasserstein distance. They have loss functions that correlate to image quality.
  48.  
  49. Discover Cross-Domain Relations with Generative Adversarial Networks(Disco GANS)
  50. The authors of this paper propose a method based on generative adversarial networks that learns to discover relations between different domains. Using the discovered relations, the network transfers style from one domain to another. In the process, it preserves key attributes such as orientation and face identity.
  51.  
  52. There are many more types of GANs, but we won’t be able to cover all of them in this article. Let’s move on to some practical applications of GANs.
Add Comment
Please, Sign In to add comment