Course: CIS 582 — Trustworthy AI, Winter 2026 Student: Bobby Craft Dataset: Emotion Recognition Dataset (Kaggle)
Extension of the PoisonSpot clean-label backdoor detection framework to the Facial Emotion Recognition (FER) dataset using the Narcissus attack.
Pipeline:
- Generate Narcissus backdoor trigger (surrogate ResNet18, 5 epochs, 200 PGD steps)
- Train poisoned ResNet18 victim (30 epochs, 10% target-class poison rate)
- Batch-level provenance detection
- Sample-level provenance detection
- Score and remove flagged samples
- Retrain from scratch on filtered dataset
| Metric | Value |
|---|---|
| Clean Accuracy (poisoned model) | 79.88% |
| Attack Success Rate (ASR) | 85.47% |
| TPR — KMeans | 98.75% |
| FPR — KMeans | 0.00% |
| TPR — Gaussian | 99.38% |
| FPR — Gaussian | 0.93% |
| Retrain ACC | 79.65% |
| Retrain ASR | 72.86% |
| ΔASR (mitigation) | −12.61 pp |
Run the notebook on Kaggle with the sujaykapadnis/emotion-recognition-dataset dataset attached.
Environment: PyTorch 2.6.0, CUDA 12.4, T4 GPU
poisonspot_emotion_kaggle.ipynb— full pipeline notebook (all patched source files embedded)outputs/results/— results CSV, config, and detection visualizationsoutputs/provenance/— flagged feature dimensions from batch-level provenance