A reproducible Apple Silicon study

What CIFAR-10 taught us about small vision models.

We trained conventional CNNs, a recurrent CNN, MobileNet, a Vision Transformer, DynamicCNN, DenseCNN, and ResNet-50 on CIFAR-10. The goal is not only to identify a winner, but to understand the effects of capacity, normalization, feature reuse, training length, and parameter efficiency.

Best model
92.94%
ResNet-50 test accuracy — best epoch 185 of a 200-epoch run, with 23,520,842 parameters.
Best conventional CNN
88.48%
CNN-C + BatchNorm under the same 200-epoch target.
Smallest model
4,930
parameters — MobileNet-A, the leanest model in the study.
“ResNet-50 reached 92.94% test accuracy at its best epoch, 185/200. DenseCNN followed at 92.53% with only 300,634 parameters; CNN-C + BatchNorm remained the strongest standard CNN at 88.48%.”

Leaderboard

Final results

Every ranked row is a completed run. Click any column header to sort. Rows trained for only 30 epochs carry a distinct 30-epoch run badge so short experiments are never confused with full-length results.

Rank Model Family Size Norm Parameters Best / target epoch * Best val % Test acc % Status

* Best / target epoch: 192/200 means epoch 192 had the highest validation accuracy during a 200-epoch run. Test accuracy is evaluated from that checkpoint, not automatically from the final epoch.

Unranked runs — excluded from the leaderboard

DynamicCNN Investigation required

Dynamic CNN · dynamic size · BatchNorm

Parameters
unknown
Best / target epoch
15/30
Best validation
70.46%
Test accuracy
10.00%

Validation and test results conflict — 70.46% validation against a 10.00% test result. Excluded from all scientific conclusions pending investigation.

Visual evidence

Three views of the same story

Test accuracy, parameter efficiency across the whole field, and complete training-loss trajectories generated directly from the synchronized result files.

Test accuracy — all completed models

Final test accuracy evaluated from each run's best-validation checkpoint.

Bar chart comparing test accuracy for all completed CIFAR-10 model runs

ResNet-50's best / target epoch is 185/200; DenseCNN's is 192/200. R-CNN-B + BN and MobileNet-B remain 30-epoch runs.

Parameters vs. test accuracy

Trainable parameters on a logarithmic x-axis against test accuracy. Colors separate architecture families and nearby labels use leader lines.

Scatter chart comparing trainable parameters and test accuracy across CIFAR-10 architectures

Training loss over epochs

Full per-epoch histories. Thin lines retain raw loss; bold lines show your time-weighted EMA trend (decay = 0.99). Unequal line lengths make the 30- and 200-epoch budgets visible.

Line chart showing the complete training-loss history for every reported CIFAR-10 model

Independent reproduction

CUDA matrix · NVIDIA A40

This second run uses the CUDA-optimized pipeline (GPU-resident tensor shards, GPU-side augmentation, batch size 1024). It is reported separately from the MPS leaderboard because the accelerator and input pipeline changed.

ModelBest / targetBest validationTest accuracyParameters
ResNet-50191/20092.60%91.80%23,520,842
DenseCNN191/20092.10%91.50%300,634
CNN-C + BN200/20089.00%88.35%2,360,906
ViT174/20081.24%80.15%546,186

Open all CUDA runs in W&B ↗ · Download CUDA checkpoints and JSON metadata ↗. Full matrix: reports/cuda_summary.json.

Model zoo

Seven architectures, seven lessons

Each family probes a different design question: capacity, normalization, recurrence, efficiency, attention, feature reuse, and residual depth.

Controlled baseline

CNN A/B/C

Two convolution stages and a compact classifier. Channel widths increase from 16/32 to 32/64 and 64/128, making capacity easy to compare.

TakeawayMore capacity improved accuracy, but parameter count increased much faster than accuracy.
Optimization variants

BatchNorm / LN / def

BatchNorm normalizes batch statistics. The LN option uses one-group GroupNorm. The default variant has no normalization.

TakeawayBatchNorm was strongest at CNN sizes B and C; LN remained competitive.
Shared recurrent refinement

R-CNN

A recurrent convolutional classifier, not a region detector. It repeatedly applies a shared convolution with a residual update.

TakeawayAt the same parameter count as CNN-B + BN, it reached 81.22% after only 30 epochs.
Extreme parameter efficiency

MobileNet

Depthwise spatial convolution plus 1×1 pointwise projection sharply reduces parameter count.

TakeawayMobileNet-A + BN reached 68.78% with only 5,346 parameters.
Images become tokens

ViT

A 32×32 image is split into 4×4 patches. Each patch is flattened and linearly projected to a 128-dimensional token before four Transformer layers.

TakeawayLonger training improved ViT from 69.08% at 30 epochs to 79.31% at 200 epochs.
Feature reuse

DenseCNN

Dense layers append new features to all earlier features. Transitions compress channels and global average pooling replaces a large classifier.

TakeawayThe best accuracy came from only 300,634 parameters, although its optimizer and schedule differ from the baseline recipe.
Deep residual learning

ResNet-50

A CIFAR-adapted ResNet-50 uses a 3×3 stride-1 stem without the ImageNet max pool.

TakeawayIt reached the highest test accuracy at 92.94%, but uses 23.5M parameters—far more than DenseCNN.

Interpretability

Where does DenseCNN look differently?

DenseCNN, the strongest compact feature-reuse model (92.53%), is compared with CNN Best—the strongest original baseline configuration, CNN-C + BatchNorm (88.48%)—on exactly the same four CIFAR-10 test images. This controls the input while exposing differences in spatial evidence.

Four-row Grad-CAM comparison showing original images, DenseCNN attention, and CNN-C plus BatchNorm attention
Left: original image. Middle: DenseCNN Grad-CAM. Right: CNN Best (C + BN) Grad-CAM. Predictions use each model's best-validation checkpoint.

Cat · both correct

DenseCNN spreads evidence across the cat's central body and head. CNN Best is more fragmented, with several small hotspots. Both predict cat, so a smoother map is not required for correctness.

Ship · both correct

DenseCNN emphasizes a broad vessel region. CNN Best reacts to separated structural details and the lower-right hull. Their different spatial strategies still reach the same class.

Truck · both wrong

Both models predict airplane with extreme confidence. DenseCNN follows the elongated object and horizon; CNN Best concentrates on smaller edges. The shared error suggests ambiguous low-resolution shape cues, not merely poor localization.

Dog · only CNN Best correct

DenseCNN collapses onto the bright torso/head region and predicts cat at 98.4%. CNN Best distributes evidence across the dog's body and extremities, predicting dog at 59.2%. This counterexample matters: the higher-scoring model is not better on every image.

Grad-CAM visualizes sensitivity for a chosen class, not causal reasoning. Heatmap sharpness cannot be compared as an accuracy metric because the architectures have different final feature-map geometry. The scientifically useful observation is whether the highlighted evidence aligns with the prediction and whether the same failure repeats across models. See the method and top-channel analysis.

Synthesis

Key discoveries

Seven findings that survived scrutiny across the whole study.

  1. Dense feature reuse provided the strongest accuracy-to-parameter result.
  2. CNN capacity helped, but parameters grew faster than accuracy.
  3. BatchNorm was the safest normalization choice for larger CNNs.
  4. Extending ViT training from 30 to 200 epochs added 10.23 accuracy points, but it still trailed parameter-similar CNN-B models.
  5. MobileNet is useful when parameter efficiency matters more than maximum accuracy.
  6. Correct localization does not guarantee a correct class prediction.
  7. Always report the best checkpoint epoch together with the run target epoch.

Fairness notes

⚖️ Unequal training budgets

ResNet-50, DenseCNN, CNN A/B/C, ViT, and MobileNet-A have 200-epoch results. R-CNN-B and MobileNet-B remain 30-epoch experiments. DenseCNN also uses a different optimization recipe, so equal epoch count does not imply equal compute.

🚫 DynamicCNN excluded

DynamicCNN is excluded from scientific conclusions because its 70.46% validation accuracy conflicts with its 10.00% test result.

Reproducibility

Test machine

Every run in this study executed on the same single machine, with the software stack pinned below.

Machine
Mac mini
Chip
Apple M4
CPU
10 cores (4P + 6E)
GPU
10-core integrated Apple GPU
Memory
24 GB unified
Architecture
arm64 · Metal supported
OS
macOS 26.5.1 (25F80)
Python
3.12.13
PyTorch
2.13.0
Training device
mps