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 proxy
from face crops into six demographic groups for downstream fairness analysis.
Train and evaluate
a 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.
Workshop slides
Preview or download a copy of the Workshop 2 slides:
PDF preview loads in your browser…
If it doesn’t appear, download it here.