What Is It?

Neural Garden is an interactive visualization tool that lets you watch neural networks learn in real-time. Instead of just seeing loss curves, you see the decision boundaries evolving, the weights flowing, the network “thinking.”

Why I Built It

I was frustrated with how abstract neural network learning felt. You tweak hyperparameters, wait, look at numbers. Where’s the intuition?

I wanted to see what the network was doing. To watch it struggle with non-linear boundaries. To see why learning rates matter, viscerally.

The Stack

1
2
3
4
Language: Python
Visualization: Matplotlib + custom WebGL renderer
ML Backend: JAX (for that sweet autodiff)
UI: Gradio (for quick prototyping)

Key Features

๐ŸŽจ Decision Boundary Visualization

Watch the decision boundary evolve during training. See how a simple network can only draw lines, while deeper networks can carve out complex regions.

๐ŸŒŠ Gradient Flow Animation

See the gradients flowing backward through the network. Watch where they vanish, where they explode, where learning actually happens.

๐ŸŽ›๏ธ Interactive Hyperparameters

Change the learning rate mid-training. Add layers. Swap activation functions. See the immediate effect.

๐Ÿ“Š Loss Landscape Explorer

Navigate the loss landscape in 3D. See where the minima are, where the saddle points lurk, why your training got stuck.

Lessons Learned

  1. Visualization is understanding. Abstractions are powerful but can hide intuition.
  2. JAX is joy. Functional transformations + autodiff = ๐Ÿง‘โ€๐Ÿณ๐Ÿ‘จโ€๐Ÿณ.
  3. WebGL is pain. But worth it for that buttery-smooth 60fps.

Status

๐ŸŒฑ Active Development

Currently working on:

  • Transformer attention visualization
  • Comparative mode (train multiple networks side by side)
  • Export animations for teaching

If you’re interested in contributing or just want to chat about neural network visualizations, reach out!