Aller au contenu principal

Récapitulation et examen final

Dix modules pour passer d'une convolution 2D calculée à la main à un ResNet50 affiné sur un jeu de déchets à trier, interprété par Grad-CAM. Voici le cours condensé, les fils qui le traversent, et la présentation de l'examen final.

Le cours d'un coup d'œil

ModuleL'essentiel à retenir
1. Convolution et filtresPartage des poids ; paramètres = (k2Cin+1)Cout(k^2 C_{\text{in}} + 1) C_{\text{out}}, plus de 100 fois moins qu'un dense équivalent
2. Pas et champ récepteurHout=(H+2pk)/s+1H_{\text{out}} = \lfloor (H + 2p - k)/s \rfloor + 1 ; deux 3x3 valent un 5x5 avec moins de paramètres
3. Sous-échantillonnageGlobalAveragePooling2D remplace un dense énorme ; invariance seulement approximative, jamais rotationnelle
4. LeNet et AlexNetReLU, dropout, max, augmentation, GPU : les cinq changements qui ont fait passer le CNN à l'échelle
5. VGG et petits filtresDoubler les canaux, diviser la résolution ; la mémoire des activations domine, pas celle des poids
6. ResNet et résiduelsBloc résiduel = identité + autoroute du gradient ; bottleneck 1x1-3x3-1x1 rend les 50+ couches viables
7. Inception et MobileNetConvolution séparable en profondeur : 8x moins de FLOPs ; FLOPs ≠ latence, mesurer sur la cible
8. Augmentation d'imagesRetournement horizontal et recadrage aléatoire par défaut ; Mixup et CutMix pour la calibration
9. Transfert et affinagebase.trainable=False et training=False — les deux, jamais l'un sans l'autre
10. Grad-CAM et saillanceDétection des biais de fond, invisibles dans la précision quand la validation partage la distribution

Les fils qui traversent le cours

L'architecture n'est pas une collection de couches, c'est un budget. Chaque décision — noyau, pas, remplissage, canaux — se paie en paramètres, en mémoire d'activations, ou en FLOPs, et ces trois quantités ne varient pas ensemble. Un VGG16 pèse cinq fois plus qu'un ResNet50 en paramètres, mais tourne à peu près à la même vitesse ; un MobileNet a la moitié des FLOPs de ResNet50 mais peut être plus lent sur un GPU serveur. Sur CIFAR-10, la contrainte est le temps d'entraînement ; sur un système embarqué, c'est la latence ; en production cloud, c'est le coût par prédiction. Le bon modèle est celui qui respecte le budget dominant de son contexte.

Empiler bat élargir, et empiler avec résiduels bat empiler. C'est le fil dominant des modules 5 et 6. Deux 3x3 valent un 5x5 (VGG), un bloc résiduel rend l'empilement de dizaines de couches profitable (ResNet). Le corollaire pratique est simple : avant d'écrire une architecture personnalisée à plus de dix couches, ajouter des connexions résiduelles est le premier geste. Le coût est nul, le bénéfice est presque garanti.

Les statistiques et les poids ne sont pas la même chose. C'est le piège de la normalisation par lots au module 9, mais l'idée dépasse ce cas. Un CNN moderne contient des paramètres appris et des grandeurs suivies pendant l'entraînement. Les deux peuvent être gelés ou libres indépendamment, et confondre les deux détruit silencieusement les résultats du transfert.

Un chiffre de précision n'est pas un audit. Le module 10 rend visible ce que les neuf autres n'ont pas su mesurer : où le modèle regarde. Un modèle à 92 % de précision qui utilise le fond de l'image tombera à 60 % dès qu'on change de tapis. Grad-CAM est un test de plausibilité obligatoire avant toute mise en production, et cela au même titre qu'une matrice de confusion. Un modèle jamais audité visuellement est un modèle qui n'a pas encore rencontré son cas d'échec réel.

L'examen final

L'examen comporte 40 questions couvrant les dix modules : calcul de taille de sortie et comptage de paramètres, prédiction du champ récepteur, choix entre max, moyenne et pas 2 pour le sous-échantillonnage, lecture d'un tableau d'architecture (LeNet, AlexNet, VGG, ResNet, Inception, MobileNet), diagnostic d'une augmentation qui détruit la tâche, erreur classique de BatchNorm au dégel, et interprétation trompeuse d'une heatmap Grad-CAM.

Plusieurs questions présentent des situations à diagnostiquer : une carte qui tombe à 1x1 avant la fin du réseau, un modèle plus profond qui apprend moins bien son entraînement, un transfert qui stagne à 84 % au lieu de 92 %, un jitter de teinte qui gagne 1 point sur MNIST mais fait basculer les 6 et les 9, une heatmap qui semble parfaite mais reste identique quand on randomise les poids. C'est le jugement qui est évalué, pas la mémorisation d'API.

En cas de réussite, votre attestation d'achèvement est délivrée immédiatement ; son numéro est vérifiable par tout tiers sur la plateforme.

Avant de commencer

Reprenez le tableau ci-dessus et, pour chaque ligne, demandez-vous « quel symptôme verrais-je si je me trompais ici ? ». Si vous savez expliquer pourquoi une pile de dix Conv2D sans activation n'est qu'une convolution linéaire équivalente, pourquoi geler une base ResNet50 sans training=False détruit la représentation, et pourquoi une belle heatmap Grad-CAM ne prouve pas qu'un modèle est fiable, vous êtes prêt. Bonne chance !

Examen final

Prêt à valider ce cours ?

40 questions tirées au hasard dans la banque du cours · seuil de réussite 70 % · certificat PDF vérifiable délivré immédiatement en cas de réussite.

Commencer l'examen

Connexion à votre compte InSkillML et abonnement actif requis. Vous pouvez aussi lancer l'examen depuis Mes cours.