Glow

The paper made invertible convolution a reusable mixing layer for image normalizing flows.

Metadata

FieldValue
PaperGlow: Generative Flow with Invertible 1x1 Convolutions
AuthorsDiederik P. Kingma, Prafulla Dhariwal
Year2018
VenueNeurIPS 2018
arXiv1807.03039
NeurIPSpaper page
Codeopenai/glow
Statusverified

Question

Real NVP showed that normalizing flows can give exact likelihood, exact sampling, and exact latent inference with affine coupling layers. But coupling layers need a way to mix dimensions between splits.

Glow asks:

The answer is an invertible convolution inserted between coupling transformations.

Main Claim

Glow proposes a flow step:

The durable architecture claim is:

This is an architecture paper because the main reusable contribution is a flow block.

Architecture Contract

ItemContract
Inputimage tensor
Outputlatent tensor and exact log likelihood
Samplingdraw , apply inverse flow
Core blockactnorm, invertible convolution, affine coupling
Main guaranteeexact inverse and tractable log-determinant
Main biasimage density modeling through invertible transformations

Change of Variables

Glow keeps the normalizing-flow contract:

For an invertible map:

For a stack of flow steps:

The architecture must therefore make both inverse computation and log-determinant computation tractable.

Flow Step

Glow repeats three transformations.

ComponentTransformationWhy It Exists
actnormper-channel affine normalizationdata-dependent initialization without batch statistics
invertible convlearned channel mixingreplaces fixed channel permutation
affine couplingexpressive invertible transformnonlinear density modeling with easy inverse

The step can be written as:

Each component has a computable inverse.

Invertible 1x1 Convolution

At each spatial location, Glow applies the same learned invertible matrix:

Here is the channel vector at pixel location .

The inverse is:

The log-determinant contribution is:

Using for image width avoids confusing it with the convolution matrix .

In practice, the matrix can be parameterized with LU decomposition to make determinant and inverse computation cheaper.

Why It Improves Real NVP

Real NVP typically relies on fixed permutations or masks so that different dimensions eventually influence each other. Glow makes this mixing learned:

AxisReal NVPGlow
dimension mixingfixed permutations/maskslearned invertible convolution
normalizationbatchnorm-like choicesactnorm
couplingaffine couplingaffine coupling
likelihoodexactexact
inverseexactexact

The learned channel mixing is the main architectural addition.

Multi-Scale Flow

Glow follows the multi-scale image-flow pattern:

The squeeze operation trades spatial resolution for channels:

This lets channel mixing operate on local spatial neighborhoods after reshaping.

Evidence

Evidence TypeWhat It Supports
likelihood benchmarksinvertible convolution improves flow density modeling
large-image sampleslikelihood-trained flows can generate visually plausible high-resolution samples
latent interpolation and manipulationexact latent inference gives a controllable representation route

The evidence should be read as a flow-architecture claim, not as a claim that likelihood alone always optimizes perceptual quality.

Limits

  • Invertibility constrains architecture design.
  • Exact likelihood can prefer density behavior that does not perfectly match human perceptual quality.
  • Sampling is parallel through the inverse, but memory and determinant costs still matter.
  • Image flows have become less dominant than diffusion models for high-fidelity generation, but Glow remains central for understanding invertible architectures.

Concepts