- π§ Alzheimer's Disease MRI Multi-Stage Classifier (ResNet-18)
π§ Alzheimer's Disease MRI Multi-Stage Classifier (ResNet-18)
A high-sensitivity deep learning vision model for 4-stage Alzheimer's disease classification and 512-dimensional latent feature extraction from structural brain MRI scans.
β οΈ Clinical Research Disclaimer: This model is distributed strictly for scientific, academic research, and educational purposes. It is not an FDA/CE-cleared medical device and should never replace clinical evaluations, expert neurological consultations, or standard diagnostic workups (such as MMSE, MoCA, PET, or CSF biomarkers).
π Executive Summary
Early diagnosis of Alzheimer's disease (AD) is critical for timely therapeutic interventions, clinical trial enrollment, and personalized patient care. This model uses transfer learning via a customized ResNet-18 architecture fine-tuned on 86,437 brain MRI slices.
The model serves two primary modalities:
- Multi-Stage Disease Classification: Categorizes structural MRI slices into 4 clinical progression tiers.
- Latent Feature Extraction (Embedding Engine): Generates 512-dimensional semantic representations from the penultimate pooling layer for Content-Based Image Retrieval (CBIR) and visual case similarity matching.
π¬ Model Architecture & Design
Input: Brain MRI Scan (224 Γ 224 Γ 3 RGB)
β
βΌ
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β ResNet-18 Feature Backbone β
β (7x7 Conv, BatchNorm, MaxPool, Residual Blocks 1-4) β
β 11,176,512 Parameters β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β
βΌ
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Adaptive Average Pooling Layer β
β Output: 512-dimensional vector β
β β
Exportable for Case Similarity Search β
β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β
βΌ
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Fully Connected Classifier Head β
β Linear(in: 512, out: 4) β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β
βΌ
Softmax Probabilities:
[Mild Dementia, Moderate Dementia, Non Demented, Very Mild Dementia]
Technical Specifications
- Base Architecture:
torchvision.models.resnet18(ImageNet-1K pre-trained backbone) - Input Dimensions:
3 Γ 224 Γ 224pixels (normalized to ImageNet mean/standard deviation) - Parameters: 11,178,564 total parameters (~44.8 MB checkpoint size)
- Latent Vector Size: 512 dimensions (
avgpooloutput) - Optimization Strategy: Two-stage transfer learning with frozen residual stages and trainable classification head.
π·οΈ Clinical Classification Categories
The model stratifies scans into four standard diagnostic classes:
| Class ID | Diagnosis Label | Clinical Manifestation & Radiological Correlates |
|---|---|---|
| 0 | Mild Dementia | Noticeable cognitive impairment; moderate hippocampal and temporal lobe atrophy visible on structural T1-weighted images. |
| 1 | Moderate Dementia | Marked memory loss, impaired executive function; generalized cortical thinning, prominent sulcal widening, and ventricular enlargement. |
| 2 | Non Demented | Normal age-appropriate brain volume; preserved cortical thickness without localized atrophy. |
| 3 | Very Mild Dementia | Early Prodromal / Mild Cognitive Impairment (MCI); subtle medial temporal lobe volume changes often challenging for unassisted visual inspection. |
π Comprehensive Performance & Benchmark Results
1. Training Progression
Trained across 15 epochs on NVIDIA Tesla T4 hardware using WeightedRandomSampler and CrossEntropyLoss(label_smoothing=0.1).
| Epoch | Training Loss | Validation Accuracy | Status |
|---|---|---|---|
| 1 | 0.8931 | 71.83% | Best checkpoint |
| 3 | 0.7782 | 72.21% | Best checkpoint |
| 5 | 0.7611 | 73.10% | Best checkpoint |
| 6 | 0.7585 | 75.15% | Best checkpoint |
| 9 | 0.7557 | 75.94% | Best checkpoint |
| 11 | 0.7510 | 79.55% | π Global Best Checkpoint |
| 15 | 0.7355 | 76.68% | Converged |
2. Validation Metrics (Held-out Set: 17,288 MRIs)
========================================================================
PRECISION RECALL F1-SCORE SUPPORT (COUNT)
========================================================================
Mild Dementia 0.32 0.84 0.47 1,022
Moderate Dementia 0.27 0.97 0.42 121
Non Demented 0.94 0.81 0.87 13,390
Very Mild Dementia 0.55 0.53 0.54 2,755
------------------------------------------------------------------------
Accuracy 0.77 17,288
Macro Average 0.52 0.79 0.57 17,288
Weighted Average 0.83 0.77 0.79 17,288
========================================================================
3. Confusion Matrix Breakdown
PREDICTED
Mild Mod Non VeryMild β Total (Actual)
ACTUAL βββββββββ¬βββββββ¬ββββββββ¬ββββββββββββ
Mild β 855 β 27 β 85 β 55 ββ 1,022
Moderate β 3 β 117 β 0 β 1 ββ 121
Non Demented β 1,220 β 199 β10,818 β 1,153 ββ 13,390
Very Mild β 562 β 92 β 635 β 1,466 ββ 2,755
βββββββββ΄βββββββ΄ββββββββ΄ββββββββββββ
4. Key Strengths in Clinical Screening:
- Exceptionally High Sensitivity (Recall) for Severe Stages:
- Moderate Dementia Recall: 96.69% (117 out of 121 cases correctly detected, only 4 missed).
- Mild Dementia Recall: 83.66% (855 out of 1,022 detected).
- High Specificity for Healthy Scans:
- Non Demented Precision: 93.76% (When the model identifies a scan as healthy, it has ~94% reliability).
- Weighted Balance:
- High weighted average precision (83%) and F1-score (0.79) over the entire 17,288 evaluation corpus.
π» How to Use
Installation
pip install torch torchvision pillow requests
1. Direct Inference Pipeline (Classification)
import torch
import torch.nn as nn
from torchvision import models, transforms
from PIL import Image
# Setup device
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
# Initialize architecture matching the trained model
model = models.resnet18(weights=None)
model.fc = nn.Linear(model.fc.in_features, 4)
# Load checkpoint
model_path = "resnet18_alzheimer_best.pth"
model.load_state_dict(torch.load(model_path, map_location=device))
model.to(device)
model.eval()
# Preprocessing transforms (ImageNet standard)
transform = transforms.Compose([
transforms.Resize((224, 224)),
transforms.ToTensor(),
transforms.Normalize(
mean=[0.485, 0.456, 0.406],
std=[0.229, 0.224, 0.225]
)
])
classes = [
"Mild Dementia",
"Moderate Dementia",
"Non Demented",
"Very Mild Dementia"
]
# Run prediction
img = Image.open("sample_brain_mri.png").convert("RGB")
tensor = transform(img).unsqueeze(0).to(device)
with torch.no_grad():
logits = model(tensor)
probs = torch.softmax(logits, dim=1)[0].cpu().numpy()
pred_idx = torch.argmax(logits, dim=1).item()
print(f"Top Prediction: {classes[pred_idx]} ({probs[pred_idx]*100:.2f}%)")
print("\nClass Probabilities:")
for label, p in zip(classes, probs):
print(f" β’ {label:20s}: {p*100:.2f}%")
2. Feature Extraction for Case Retrieval (Latent Embeddings)
# Strip the final classification layer to extract 512-d feature vectors
feature_extractor = nn.Sequential(*list(model.children())[:-1])
feature_extractor.eval()
with torch.no_grad():
# Returns shape: (1, 512)
embedding = feature_extractor(tensor).squeeze().cpu().numpy()
print(f"Extracted embedding dimension: {embedding.shape}")
# You can now compute cosine similarity against a database of MRI scans!
βοΈ Training Protocol & Reproducibility
| Hyperparameter | Configuration |
|---|---|
| Dataset Size | 86,437 total images |
| Train / Validation Split | 80% (69,149 images) / 20% (17,288 images), seeded at 42 |
| Batch Size | 32 (optimized for GPU memory throughput) |
| Optimizer | AdamW(lr=1e-3, weight_decay=1e-4) |
| Learning Rate Schedule | ReduceLROnPlateau(mode='max', patience=2, factor=0.5) |
| Loss Function | CrossEntropyLoss(label_smoothing=0.1) |
| Sampling Technique | WeightedRandomSampler (inverse class frequency balancing) |
| Data Augmentation | RandomRotation(degrees=10), RandomHorizontalFlip(p=0.5) |
π‘οΈ Ethical Considerations & Bias Statement
- Class Distribution: In typical clinical cohorts, the ratio of healthy elderly individuals exceeds diagnosed dementia patients. The training dataset reflects this real-world imbalance, which was mitigated via
WeightedRandomSamplerto boost minority-class detection sensitivity. - Slice Bias: 2D slice analysis cannot fully capture volumetric brain changes (e.g., total hippocampal volume) as effectively as complete 3D volumetric MRI (e.g., NIfTI/DICOM T1 MPRAGE sequences).
- Intended Use: Screening assistance, radiologist second-reading triage, and educational visualization.
π Citation & Credits
If you use this model or its weights in your research or application, please cite:
@misc{alzheimers_mri_resnet18,
title={Alzheimer's Disease MRI Multi-Stage Classifier and Feature Extractor using ResNet-18},
author={Alzheimer's Early Detection AI Team},
year={2026},
publisher={Hugging Face},
howpublished={\url{https://huggingface.co}}
}
Made with β€οΈ for neuroscience and early Alzheimer's awareness.
Evaluation results
- Peak Validation Accuracyself-reported79.55%
- Weighted F1-Scoreself-reported0.790
- Moderate Dementia Recall (Sensitivity)self-reported96.69%
- Mild Dementia Recall (Sensitivity)self-reported83.66%
- Non-Demented Precision (Specificity)self-reported93.76%