CourseAI / ML Engineer: The Complete Course · Module 4: Deep Learning · part 25 of 93
Part 25 · Module 4: Deep Learning

Lesson 1: How a network learns, from gradients to normalisation

32 min read·
Module 4 · Lesson 1 · About 50 minutes · Needs: gradient descent and momentum (Module 1 lesson 2), cross-entropy (Module 1 lesson 3), the time split and PR-AUC (Module 3 lesson 3), and the Kestrel data (course-guide/06).

The situation

Week 4 at Kestrel. Model v1, a calibrated LightGBM, is in review, and Adaeze wants one challenge answered before ADR-002: "Would a neural network beat the trees?" First you need a network that trains properly, and to know why it trains at all.

One parcel runs through the lesson: KP0104204 (simulated), collected from Dartford on Wednesday 2 September 2026 at 18:00, next-day service, 143 stops on its route, a poor address. It arrived a day late.

WHERE THIS FITS The Kestrel system this lesson SHARED SERVICES Depot scans parcels, routes Ingestion nightly batch Validation Pandera checks Data lake Parquet, DuckDB Experiments MLflow runs Training LightGBM, Optuna Online store Feast, Redis Features point in time Gates vs the champion Registry staged versions Serving API FastAPI, ONNX Consumers vans, customers Retraining trigger, budget Alerting on call Monitoring drift, Evidently Late labels a day later Orchestrator Prefect flows Versions DVC, Git CI/CD GitHub Actions Containers Docker images
This lesson works inside training (blue): the network Kestrel will try against the trees; the rest of the system is grey for now.

The rest of this course is yours to keep

This course is bought on its own, once, and stays readable afterwards, including the parts added to it later.

Or open everything with a plan