Prerequisites and baseline
Start with Python arrays, matrix multiplication, derivatives and train/validation/test splits. Build a simple baseline before a neural network. Keep the test set untouched while choosing architecture and hyperparameters, so the final score measures generalization rather than repeated tuning.
Understand a training step
Follow a batch through a linear layer, activation and output layer. Compute a loss, calculate gradients, update parameters and clear gradients before the next step. Track both training and validation loss; a falling training loss alone does not establish useful performance.
Control overfitting
Compare a small network with a larger one on the same split. Try regularization and early stopping using validation data. For images, apply augmentation only to training samples. Record random seeds, preprocessing and versions so another learner can reproduce the experiment.
Build a reviewable project
Create an image classifier with documented labels, a baseline and a confusion matrix. Inspect false positives and false negatives instead of reporting accuracy alone. Submit a training notebook, saved preprocessing steps, example predictions and a short limitations section describing failure cases.
Deep learning lab: inspect the split
Before training, count examples per class in each split and display a small random sample with labels. Save the split identifiers with the experiment. Train one small baseline and inspect its most confident incorrect predictions. Write down whether each error suggests a label problem, insufficient examples or an ambiguous task. Change one factor, run again and compare the same validation examples. Keep the final test set for the end.
Check your progress
Keep your working files, test cases and notes together. Explain one design decision, demonstrate a failure case and list what you would improve next. These concrete outputs make it easier to identify the next skill to practice.