Présentation

Ces deux notebooks ont été réalisés dans le cadre du cours d'intelligence artificielle AL4A01 en BUT Informatique 2e année à l'IUT de Vannes. Ils portent sur la classification d'images par réseaux de neurones convolutifs (CNN), avec une progression de l'entraînement from scratch jusqu'au fine-tuning de modèles pré-entraînés sur ImageNet.

Les deux labs comparent systématiquement différentes stratégies d'apprentissage et mesurent l'impact du transfer learning sur des datasets variés.


Lab 3 - CNN sur CIFAR-10 : from Scratch vs Feature Extraction vs Fine-tuning

Objectif

Comparer trois stratégies d'entraînement sur le dataset CIFAR-10 (10 classes, 60 000 images 32x32) avec deux architectures pré-entraînées : ResNet18 et AlexNet.

Les 3 approches comparées

Entraînement from scratch - Un CNN custom (2 blocs Conv-ReLU-Pool + Dropout + 2 FC, ~1.07M paramètres) est entraîné de zéro sur CIFAR-10. L'optimiseur SGD avec lr=0.003 tourne pendant 50 epochs. Le Dropout (p=0.25) limite efficacement l'overfitting : les courbes train et val restent très proches tout au long de l'entraînement. Résultat : 68.43% de val accuracy.

Feature Extraction - Le backbone pré-entraîné est entièrement gelé, seule la dernière couche FC est réentraînée. Avec ResNet18, seulement 5 130 paramètres sont entraînables (vs 1.07M from scratch) et le modèle atteint 81.07% en 20 epochs. Avec AlexNet, 4 096 paramètres entraînables donnent 82.69%. Cette efficacité extrême prouve que les features ImageNet se transfèrent très bien à CIFAR-10.

Fine-tuning - Tous les poids du réseau sont dégelés et mis à jour avec un learning rate réduit. ResNet18 fine-tuné atteint 94.89% mais montre un overfitting marqué (train accuracy à 99.99% dès l'epoch 15). AlexNet fine-tuné atteint 90.20% de façon beaucoup plus stable grâce à un LR conservateur (0.0001) et un scheduler StepLR - c'est le meilleur compromis performance/généralisation du lab.

Résultats Lab 3

Modèle Paramètres entraînables Val Accuracy Temps/epoch
CNN from Scratch 1 070 794 68.43% 17s
ResNet18 - Feature Extraction 5 130 81.07% 157s
ResNet18 - Fine-tuning 11 181 642 94.89% 270s
AlexNet - Feature Extraction 40 970 82.69% 126s
AlexNet - Fine-tuning 57 044 810 90.20% 153s

Observations clés Lab 3

Le fine-tuning ResNet18 est la stratégie la plus performante mais la plus risquée : sans régularisation supplémentaire, le modèle mémorise rapidement le dataset d'entraînement. AlexNet fine-tuné offre lui le meilleur équilibre : moins de performance brute mais une convergence stable et une généralisation quasi-parfaite (écart train/val < 1% pendant tout l'entraînement). Un phénomène notable avec AlexNet en Feature Extraction : la val accuracy dépasse régulièrement la train accuracy, ce qui s'explique par le Dropout intégré dans l'architecture d'AlexNet (désactivé à l'inférence).

Code source

Lab ci-dessous :

AL4A01_lab3_EMERIAU_Emilien.ipynb


Lab 4 - CNN from Scratch vs Transfer Learning sur datasets réels