AI for Pediatric Medicine
Module: Healthcare AI | Difficulty: Advanced
Growth Percentile
Head Circumference Z-Score
Pediatric AI Challenges
| Challenge | Description | Mitigation |
|---|---|---|
| Small dataset | Fewer pediatric cases | Transfer learning |
| Age variation | Normal changes with age | Age-specific models |
| Device differences | Smaller anatomy | Pediatric protocols |
| Artifacts | Motion, crying | Robust preprocessing |
| Rare conditions | Low prevalence | Few-shot learning |
import torch
import torch.nn as nn
import numpy as np
class AgeAwareClassifier(nn.Module):
def __init__(self, num_classes=10, max_age=18):
super().__init__()
self.age_embedding = nn.Embedding(max_age + 1, 32)
self.image_encoder = models.resnet34(pretrained=True)
num_features = self.image_encoder.fc.in_features
self.image_encoder.fc = nn.Identity()
self.classifier = nn.Sequential(
nn.Linear(num_features + 32, 128), nn.ReLU(),
nn.Dropout(0.3), nn.Linear(128, num_classes))
def forward(self, x, age):
image_features = self.image_encoder(x)
age_emb = self.age_embedding(age)
combined = torch.cat([image_features, age_emb], dim=1)
return self.classifier(combined)
class GrowthChartPredictor(nn.Module):
def __init__(self):
super().__init__()
self.encoder = nn.Sequential(
nn.Linear(4, 64), nn.ReLU(), nn.Linear(64, 32), nn.ReLU())
self.predictor = nn.Linear(32, 3)
def forward(self, age, sex, weight, height):
features = torch.cat([age.unsqueeze(1), sex.unsqueeze(1),
weight.unsqueeze(1), height.unsqueeze(1)], dim=1)
encoded = self.encoder(features)
return self.predictor(encoded)
def compute_z_score(value, mean, std):
return (value - mean) / (std + 1e-8)
model = AgeAwareClassifier(num_classes=10)
x = torch.randn(1, 3, 224, 224)
age = torch.tensor([5])
output = model(x, age)
print(f'Pediatric classification output: {output.shape}')
growth_model = GrowthChartPredictor()
percentiles = growth_model(
torch.tensor([5.0]), torch.tensor([1]),
torch.tensor([18.0]), torch.tensor([110.0]))
print(f'Growth percentiles: {percentiles.detach().numpy()[0]}')
Research Insight: Pediatric AI models must account for normal developmental changes: brain MRI appearance, bone density, and organ sizes vary dramatically with age. Transfer learning from adult models often fails because pediatric anatomy is fundamentally different. Federated learning across children's hospitals can address the data scarcity problem while maintaining privacy.