Welcome to the workshop!
Welcome to Fairness in Facial Emotion Recognition!

Today's icebreaker:
Share one algorithmic-bias headline that surprised you lately.
Put you answers in the chat.
Today's agenda:
ReviewRecap key concepts from async unit 3.15 minsDemoWe'll provide a guided walkthrough of how to:
-
Prepare & Explore: set up imports, seeds, and GPU determinism; load data and inspect class counts with sample images.
-
Derive Skin-Tone Proxy: extract cheek patches, convert to CIE-Lab, compute ITA, and visualise six-bin distribution.
-
Train & Evaluate CNN: fit with class-weighted loss, L2 decay, dropout, early stopping, and LR schedule; review classification report and confusion matrix.
-
Assess Fairness: calculate per-bin FNR (omit bins < 40), plot FNR bars, and note the max-gap.
-
Mitigate & Reflect: run a temperature-scaling grid search, gauge its effect on FNR gaps, and discuss data-coverage vs. calibration trade-offs. 10 minsPracticeYou'll get hands-on practice with the techniques shown in the demo.25 minsClosingKey takeaways and next steps.10 mins## Today's learning objectives:
-
Derive and bin a skin-tone proxyfrom face crops into six demographic groups for downstream fairness analysis.
-
Train and evaluatea CNN baseline using class-weighted loss and regularisation to establish raw performance benchmarks.
-
Compute and visualise fairness-aware metrics(e.g. per-bin FNR, max-gap) on disaggregated slices—skipping under-represented bins—and interpret disparate error patterns.
-
Apply lightweight mitigations(post-hoc temperature scaling; tone-aware instance re-weighting) and critically assess their impacts on the fairness–accuracy trade-off and business governance KPIs.