HomeMachine Learning & Neural NetworksNormalizing Flows: Exact Density Modeling via Invertible Transforms

🌊 Normalizing Flows: Exact Density Modeling via Invertible Transforms

Explore how normalizing flows turn a simple Gaussian cloud into a complex data distribution through a chain of invertible, differentiable transforms, using the change-of-variables formula to compute exact likelihoods.

Machine Learning & Neural Networks3DModerate60 FPS
normalizing-flows-lab ↗ Open standalone

A 2D point cloud that morphs in real time as a stack of invertible coupling-layer transforms warps a simple Gaussian base distribution into a complex target data distribution, with a live readout of how the Jacobian determinant rescales density at each step.

🔬 What It Demonstrates

A 2D point cloud that morphs in real time as a stack of invertible coupling-layer transforms warps a simple Gaussian base distribution into a complex target data distribution, with a live readout of how the Jacobian determinant rescales density at each step.

🎮 How to Use

Choose a target data distribution, add or remove coupling layers with the depth slider, and press play to watch the Gaussian cloud flow layer by layer into the target shape while the log-likelihood readout updates in real time.

💡 Did You Know?

Because every flow layer is exactly invertible, you can run a trained normalizing flow backward on a real data point to recover its latent code precisely, then forward again to reconstruct the exact original sample with zero reconstruction error.

⚙ Under the hood

Watch a Gaussian point cloud warp through a sequence of invertible layers into a complex target shape, tracking the running log-determinant along the way.

normalizing flowsinvertible neural networkchange of variablesjacobiangenerative modelsmachine-learning

3D · Three.js / WebGL renderer · 60 FPS target · runs fully client-side, no install

What did you find?

Add reproduction steps (optional)