Normalizing flow

Also: flow-based model

Because every layer is invertible, a flow can both sample (map noise forward) and compute the exact likelihood of data (map it backward and apply the change-of-variables formula). Layers such as coupling layers are designed so the Jacobian determinant is cheap to compute.

log p_X(x) = log p_Z(z) − log |det(∂f/∂z)|, x = f(z)

Example

The flow x = 2z + 1 applied to z ~ N(0, 1) stretches space by |det| = 2, so the density at x = 1 is p_Z(0) / 2 ≈ 0.399 / 2 ≈ 0.199.

See it in the lesson: Flow-Based Models →

Related terms

More in Generative Models