ঢ — Duke of Dhaka← All work

Case study · MGSC 695

Residual CNN + Grad-CAM

A custom vision model, and proof of what it learned

93.5%CIFAR-10 test accuracy

The question

Can a purpose-built residual network learn strong features from tiny 32×32 CIFAR-10 images — and give CIFAR-100's 100 finer classes a useful warm start?

A 7.6M-parameter residual CNN whose activation and receptive field were picked through a controlled four-way ablation, transferred from CIFAR-10 to CIFAR-100 (72.35%), then opened up with feature maps and Grad-CAM.

How it works

  1. 01

    Crop, flip, colour-jitter and random-erasing augmentation, normalized with CIFAR-10 channel statistics.

  2. 02

    A controlled ablation: two activations × two kernel sizes on the same 9,000-image subset for 15 epochs. SiLU with 5×5 kernels won, at 70.66% validation accuracy.

  3. 03

    The selected 7.6M-parameter network — six residual blocks over three stages — trained on CIFAR-10 for 100 epochs.

  4. 04

    For CIFAR-100: a new head, five warm-up epochs, then 60 epochs of fine-tuning.

  5. 05

    Then opened up: confusion patterns, confidence and calibration, feature maps and Grad-CAM.

Results

93.50%

CIFAR-10 test accuracy

72.35%

CIFAR-100 test accuracy after transfer

7.6M

parameters

0.0638

CIFAR-10 expected calibration error

Bottom line

Visually similar animals stay hardest — 14.40% error on cats, 10.30% on birds, 10.10% on dogs — and correct predictions are more confident than wrong ones: 89.0% vs 60.5% mean confidence.

From the repo

Four-way architecture ablation
CIFAR-10 and CIFAR-100 training curves
CIFAR-10 Grad-CAM examples
Most confident CIFAR-10 errors

Known limits

  • —One seeded, course-scale run — it doesn't measure run-to-run uncertainty.
  • —Grad-CAM is diagnostic evidence, not proof of the model's reasoning.
  • —An honest student-scale benchmark, not a state-of-the-art claim.
PyTorchComputer visionTransfer learningGrad-CAM
View the repo ↗Next case studyTransformer Topic Classifier →