Concept units

Concept units

Each unit is a concise page that teaches one idea. How these pages work explains the levels, the units to read first, and the code.

77 of 77 units are written.

Basic Intermediate Advanced

How the units build on each other

Random draws: chance you can repeat (Basic)random draws Sine waves (Basic)sine waves Vectors: arrows made of numbers (Basic)vectors Summarizing a list of numbers (Basic)mean and spread The derivative: slope at a point (Basic)derivative Exponentials, undone by logarithms (Basic)exponentials Reading Python (Basic)python basics Graphs: dots joined by lines (Basic)graphs Top-K accuracy (Basic)top k accuracy The bell curve (normal distribution) (Basic)bell curve Velocity fields: an arrow at every point (Intermediate)velocity field Distance between two points (Basic)distance The sigmoid: from score to probability (Intermediate)sigmoid The chain rule: slopes of chained steps (Basic)chain rule Arrays in NumPy (Intermediate)numpy arrays Softmax: probabilities over many choices (Intermediate)softmax The gradient: the uphill direction (Intermediate)gradient Recursion: a function that calls itself (Intermediate)recursion Connected pieces of a graph (Basic)connectedcomponents Normalizing data (Basic)normalizingdata Nearest-neighbor search (Intermediate)nearestneighbor search Matching two sets: the assignment problem (Intermediate)assignmentproblem Generative models: making new examples (Intermediate)generativemodels Euler's method: small steps along a field (Intermediate)euler steps Shapes as point clouds (Intermediate)point clouds The dot product: how much two vectors agree (Basic)dot product 3D images made of voxels (Intermediate)voxels Loss: one number for how wrong (Intermediate)loss function Broadcasting: arrays of different shapes (Intermediate)broadcasting PyTorch tensors on the GPU (Intermediate)tensors on gpu Floating-point numbers: rounding to the nearest stored value (Intermediate)floating point The diffusion noising process: from data to noise (Advanced)diffusionnoising KD-trees: nearest neighbors fast (Intermediate)kd tree Multiplying a matrix by a vector (Basic)matrix timesvector Conditional generation: generating from a hint (Intermediate)conditionalgeneration Farthest-point sampling (Intermediate)farthest pointsampling Segmentation: a label for every voxel (Intermediate)segmentation Binary cross-entropy: scoring yes-or-no guesses (Intermediate)binary crossentropy Order doesn't matter: permutation invariance (Intermediate)permutationinvariance Gradient descent (Intermediate)gradientdescent Cross-entropy: scoring a choice among many (Intermediate)cross entropy Automatic gradients in PyTorch (Intermediate)automaticgradients Rotating points with a matrix (Basic)rotationmatrices A linear layer: weighted sums (Intermediate)linear layer Shape completion: generating the missing part (Intermediate)shapecompletion Held-out data: the validation set (Intermediate)validation set Supervoxels: small pieces to merge (Intermediate)supervoxels Minibatches: a few examples per step (Intermediate)minibatches Connectomics: mapping neurons from images (Intermediate)connectomics AdamW: steps that adapt (Intermediate)adamw Gradient clipping (Intermediate)gradientclipping Learning-rate schedules: warm-up, decay (Intermediate)learning rateschedule Layer normalization (Intermediate)layernormalization Data augmentation: new views of an example (Intermediate)dataaugmentation Activation functions: bending straight lines (Intermediate)activationfunctions Embeddings: things as vectors (Intermediate)embeddings Overfitting: when a model fits the noise (Intermediate)overfitting Training on several GPUs at once (Advanced)multi gputraining Two kinds of segmentation error (Intermediate)segmentationerrors Data loaders: preparing examples in parallel (Intermediate)data loaders A moving average of the weights (EMA) (Intermediate)ema weights Checkpoints: saving training to resume it (Intermediate)checkpoints Fourier features: positions as waves (Advanced)fourierfeatures The multilayer perceptron (MLP) (Intermediate)mlp Attention: queries, keys, values (Advanced)attention Proofreading a segmentation (Intermediate)proofreading Residual connections (Intermediate)residualconnections Time conditioning: telling a network the time (Advanced)timeconditioning Flow matching: turning noise into shapes (Advanced)flow matching PointNet pooling: one summary for a set (Advanced)pointnetpooling Cross-attention: reading from another set (Advanced)cross attention Backpropagation: gradients by the chain rule (Intermediate)backpropagation The transformer block (Advanced)transformerblock Classifier-free guidance (Advanced)classifier freeguidance Mixed precision: 16-bit numbers (bf16) (Intermediate)mixed precision Diffusion transformers (DiT) (Advanced)diffusiontransformer The training loop (Intermediate)training loop
Each arrow points from a unit to a unit that builds on it, so the foundations are at the top. Box outlines show the level. Hover over a unit, or tab to it, to light its links. On a narrow screen, scroll sideways to see the whole graph.

Basic

Intermediate

Advanced