There's more...

Despite the stable architecture of DCGANs, convergence is still not guaranteed, and training could be unstable. There are a few architectural features and training procedures that, when applied while training GANs, show a remarkable improvement in their performance. These techniques leverage the heuristic understanding of the non-convergence problem and lead to improved learning performance and sample generation. In fact, in a few cases, the generated data cannot be distinguished from the real data for specific datasets, such as MNIST, CIFAR, and many more.

The following are a few techniques that can be used to achieve the same:

  • Feature matching: This technique provides a new objective to the generator in order to generate data that matches the statistics of real data rather than directly maximizing the discriminator's output. The discriminator is used to specify the statistics that are worth matching, and the generator is trained to match the expected value of the features on an intermediate layer of the discriminator.
  • Minibatch discrimination: One of the challenges associated with GANs is the collapse of the generator to one particular parameter setting that makes it always generate similar data always. This happens because the gradients of the discriminator might point to similar directions for many similar points since it processes each batch independently, with no coordination among individual batches. Due to this, the generator doesn't learn to differentiate between batches. Minibatch discrimination allows the discriminator to look at multiple examples in coordination, rather than in isolation, which in turn helps the generator adjust its gradients accordingly.
  • Historical averaging: In this technique, the average of the past values of each parameter is taken into account while updating the parameters. This kind of learning scales well to long time series. The generator and discriminator's cost values are modified to include the following term: 
  • One-sided label smoothing: This technique replaces the 0 and 1 targets for a classifier with smoothed values, such as .9 or .1, which improves model performance when dealing with adversarial examples.
  • Virtual batch normalization: Although batch normalization leads to better performance in neural networks, it also causes the output for a training example to be dependent on other training examples from the same batch. Virtual batch normalization avoids this dependency by normalizing the results of each training example with respect to the statistics collected on a reference batch, which is fixed at the start of training. This technique is computationally expensive since forward propagation is run on two mini-batches of data. Hence, this is only used in the generator network.
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset