  We present a novel model called OCGAN for the classical problem of one-class
novelty detection, where, given a set of examples from a particular class, the
goal is to determine if a query example is from the same class. Our solution is
based on learning latent representations of in-class examples using a denoising
auto-encoder network. The key contribution of our work is our proposal to
explicitly constrain the latent space to exclusively represent the given class.
In order to accomplish this goal, firstly, we force the latent space to have
bounded support by introducing a tanh activation in the encoder's output layer.
Secondly, using a discriminator in the latent space that is trained
adversarially, we ensure that encoded representations of in-class examples
resemble uniform random samples drawn from the same bounded space. Thirdly,
using a second adversarial discriminator in the input space, we ensure all
randomly drawn latent samples generate examples that look real. Finally, we
introduce a gradient-descent based sampling technique that explores points in
the latent space that generate potential out-of-class examples, which are fed
back to the network to further train it to generate in-class examples from
those points. The effectiveness of the proposed method is measured across four
publicly available datasets using two one-class novelty detection protocols
where we achieve state-of-the-art results.
