Skip to content
ULEHLA

Neural Network Lab

The interactive neural network from my master’s thesis “Modeling Neural Networks in Virtual Reality”. Build your own network: pick the input features, add layers and neurons, click an edge to change a single weight – and watch the decision surface learn your dataset by backpropagation, live in the browser, while the 3D model lights up below.

Dataset

Activation

Learning rate

Epoch 0
Loss
Accuracy

Layers

Decision surface
Decision surface – every point gets the colour of the class the network predicts there; hover to probe the network, click to pin the point (rings mark the neurons it fires)
Network
Edges
Network – neuron colour = its activation for the probed point (blue low, orange high); click an edge to edit its weight, a neuron to edit its bias
3D model
3D network – same activation colours, neurons on rings glow and grow, drag to orbit

How it works

The network is a small multilayer perceptron running entirely in your browser – plain TypeScript, no ML library. Every animation frame it takes a few gradient-descent steps on the visible dataset, and the decision surface repaints each point of the plane with the colour of the class the network currently predicts there.

The whole architecture is yours to break. Choose which engineered features of the point (x, y) feed the input layer, add hidden layers and neurons, and switch the output between a single sigmoid unit and a 2–3-class softmax – the datasets regenerate with matching classes. Click any edge in the schematic to set that weight by hand and watch the surface deform; resume training and backpropagation repairs your intervention.

In the original thesis this ran as two cooperating systems: a web app encoded the architecture, weights and training parameters, and a virtual-reality world in Resonite decoded them into a walk-through 3D model of the network – a “3D brain” driving objects in the scene. The 3D view above is a nod to that world: each layer’s neurons sit on a ring, glow and grow with their activations, while edges carry the sign and strength of their weights.