Problem-solving recipes
A step-by-step procedure for every problem type this course teaches — what to do first, what to do next, and how to tell which case you're in.
What are you being asked to do?
What are you actually trying to do? Given a network's weights and an input, and need its output -> a forward pass (one neuron, or a whole network). Have a model and a loss and want to make the loss smaller -> gradient descent. Need the exact gradient of the loss with respect to every parameter, so gradient descent has something to work with -> backpropagation. Have all of the above and want to actually run a full training run -> the training loop, plus early stopping so it stops at the right time. Have a trained classifier and want an honest report of how good it is -> evaluate a classifier.
Computing a network's output
Forward pass through a network
Use when: you are given a network's full architecture -- every layer's weights, biases, and activation -- along with its input, and need the network's final output
Goal: the output of every layer, ending with the network's prediction, \mathbf{a}^{(L)}
The forward pass, one layer at a time
The one-neuron recipe run once per layer, in order.
Making the loss smaller
Backpropagation
Use when: you have a computational graph for a network (or any calculation) and need the exact gradient of its loss with respect to every one of its parameters
Goal: every trainable parameter's gradient, computed exactly once, ready to hand to gradient descent's update rule
Backpropagation through the 2-2-1 network, by hand
Supplies the gradient gradient descent's update rule needs.
Running a real training procedure
Stop a run at the right time, and keep the right weights
Use when: you have a training loop already checking validation loss on some schedule (Section 4), and want to stop automatically once it stops improving, without losing the best version
Goal: the best-performing set of parameters this run reached, saved and ready to use, with training halted once continuing stopped helping
Early stopping and checkpoints
An add-on to the training loop, not a replacement for it.
Reporting how good a trained model is
Later in the course (chapters not yet redesigned)
Take a project from data to a deployed model
Use when: you're starting a new deep-learning project -- or evaluating an existing one -- and need to decide what representation, architecture, loss, and training strategy actually fit, not execute one technique you've already committed to
Goal: a trained, honestly evaluated, ready-to-ship model, with every major decision justified by what came before it, or a clear diagnosis of which earlier step needs to be redone
The end-to-end decision chain
The course's closing capstone -- data to a deployed model, one decision at a time.