We introduce a method to stabilize Generative Adversarial Networks (GANs) by
defining the generator objective with respect to an unrolled optimization of the
discriminator. This allows training to be adjusted between using the optimal
discriminator in the generator's objective, which is ideal but infeasible in
practice, and using the current value of the discriminator, which is often unstable
and leads to poor solutions. We show how this technique solves the common problem
of mode collapse, stabilizes training of GANs with complex recurrent generators,
and increases diversity and coverage of the data distribution by the generator.