Glow
The paper made invertible convolution a reusable mixing layer for image normalizing flows.
Metadata
| Field | Value |
|---|---|
| Paper | Glow: Generative Flow with Invertible 1x1 Convolutions |
| Authors | Diederik P. Kingma, Prafulla Dhariwal |
| Year | 2018 |
| Venue | NeurIPS 2018 |
| arXiv | 1807.03039 |
| NeurIPS | paper page |
| Code | openai/glow |
| Status | verified |
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
| Item | Contract |
|---|---|
| Input | image tensor |
| Output | latent tensor and exact log likelihood |
| Sampling | draw , apply inverse flow |
| Core block | actnorm, invertible convolution, affine coupling |
| Main guarantee | exact inverse and tractable log-determinant |
| Main bias | image 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.
| Component | Transformation | Why It Exists |
|---|---|---|
| actnorm | per-channel affine normalization | data-dependent initialization without batch statistics |
| invertible conv | learned channel mixing | replaces fixed channel permutation |
| affine coupling | expressive invertible transform | nonlinear 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:
| Axis | Real NVP | Glow |
|---|---|---|
| dimension mixing | fixed permutations/masks | learned invertible convolution |
| normalization | batchnorm-like choices | actnorm |
| coupling | affine coupling | affine coupling |
| likelihood | exact | exact |
| inverse | exact | exact |
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 Type | What It Supports |
|---|---|
| likelihood benchmarks | invertible convolution improves flow density modeling |
| large-image samples | likelihood-trained flows can generate visually plausible high-resolution samples |
| latent interpolation and manipulation | exact 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.