CInC Flow: Characterizable Invertible 3x3 Convolution
  Normalizing flows are an essential alternative to GANs for generative
modelling, which can be optimized directly on the maximum likelihood of the
dataset. They also allow computation of the exact latent vector corresponding
to an image since they are composed of invertible transformations. However, the
requirement of invertibility of the transformation prevents standard and
expressive neural network models such as CNNs from being directly used.
Emergent convolutions were proposed to construct an invertible 3$\times$3 CNN
layer using a pair of masked CNN layers, making them inefficient. We study
conditions such that 3$\times$3 CNNs are invertible, allowing them to construct
expressive normalizing flows. We derive necessary and sufficient conditions on
a padded CNN for it to be invertible. Our conditions for invertibility are
simple, can easily be maintained during the training process. Since we require
only a single CNN layer for every effective invertible CNN layer, our approach
is more efficient than emerging convolutions. We also proposed a coupling
method, Quad-coupling. We benchmark our approach and show similar performance
results to emergent convolutions while improving the model's efficiency.
