HomeMachine Learning & Neural NetworksBatch Normalization: Stabilizing Deep Network Training

📊 Batch Normalization: Taming Internal Covariate Shift

Explore how batch normalization stabilises deep neural network training by normalising layer activations, enabling faster convergence and higher learning rates.

Machine Learning & Neural Networks3DModerate60 FPS
batch-normalization-training-lab ↗ Open standalone

The simulation visualises activation distributions flowing through a multi-layer network in 3D, contrasting the drifting, spread-out distributions of unnormalized training with the stable, tightly clustered distributions produced when batch normalization is applied.

🔬 What It Demonstrates

The simulation visualises activation distributions flowing through a multi-layer network in 3D, contrasting the drifting, spread-out distributions of unnormalized training with the stable, tightly clustered distributions produced when batch normalization is applied.

🎮 How to Use

Toggle batch normalization on or off to compare training behaviour, use the speed slider to control how fast training steps play out, and use play/pause and rebuild to restart the network with fresh random weights.

💡 Did You Know?

The original 2015 batch normalization paper allowed one image classification model to match its previous accuracy using 14 times fewer training steps, while also beating the original network's best accuracy outright.

⚙ Under the hood

Compare training with and without batch normalization to see how normalizing layer inputs smooths the loss landscape and speeds convergence.

batch normalizationdeep learningtraining stabilityoptimizationmachine-learningneural networks

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

What did you find?

Add reproduction steps (optional)