Understanding the fundamentals of neural networks through interactive examples
Explore how neurons are connected across different layers to form a neural network:
Click on layers to activate them
Different loss functions serve different purposes. Explore how they behave:
Watch how gradient descent optimizes the network weights to minimize loss:
Step 0 of 10: Loss = 16.00
import numpy as np class SimpleNeuralNetwork: def __init__(self, layers): self.weights = [] for i in range(len(layers)-1): w = np.random.randn(layers[i], layers[i+1]) self.weights.append(w) def forward(self, x): activations = [x] for w in self.weights: x = self.sigmoid(np.dot(x, w)) activations.append(x) return activations def sigmoid(self, x): return 1/(1 + np.exp(-x))