Idée
On dispose de 60 000 images d'entrainement, chacune en niveaux de gris sur une grille 28 x 28, representant un chiffre manuscrit entre 0 et 9 ; on aplatit chaque image en un vecteur de 784 nombres.
Pourquoi
On dispose de 60 000 images d'entrainement et 10 000 images de test, chacune en niveaux de gris sur une grille $28 \times 28$, representant un chiffre manuscrit entre $0$ et $9$. Chaque image est aplatie en un vecteur de dimension $28 \times 28 = 784$, et le réseau doit decider laquelle des 10 classes (chiffres $0$ a $9$) est presente. C'est le 'hello world' historique de la reconnaissance d'images : un nuage etiquete dans $\mathbb{R}^{784}$ avec etiquettes dans ${0, \ldots, 9}$. À retenir : un MLP n'exploite pas la structure 2D des pixels — il regarde 784 nombres en vrac. C'est cette limite qui motivera plus tard les CNN.
Outil
Nuage de points etiquetes dans $\mathbb{R}^{784}$ avec etiquettes dans ${0, \ldots, 9}$ ; aplatissement = vectorisation par ligne d'une matrice $28 \times 28$.
Formule
MNIST est le "hello world" de l'apprentissage profond : 70 000 images de chiffres manuscrits 0-9, chacune en niveaux de gris 28×28 pixels, étiquetées avec le bon chiffre. Pipeline complet : (1) prétraitement — aplatir chaque image en un vecteur $x$ de 784 valeurs, normaliser entre 0 et 1 (diviser par 255) ; (2) architecture — un MLP, par exemple $784 \to 128 \to 10$ : couche d'entrée (784), couche cachée (128 neurones avec ReLU), couche de sortie (10 neurones, un par chiffre) ; (3) softmax — sur les 10 sorties, $\text{softmax}(z)_k = e^{z_k} / \sum_j e^{z_j}$, ce qui donne 10 probabilités qui somment à 1 ; (4) prédiction — argmax sur les 10 probas donné le chiffre prédit ; (5) entraînement — pour les 60 000 images d'entraînement, on calcule la cross-entropy entre la distribution prédite et la one-hot du vrai chiffre, on rétropropage pour mettre à jour les poids par SGD, en répétant sur des mini-batches (par exemple 64 images à la fois) pendant 10-20 epochs (passages complets sur tout le dataset) ; (6) évaluation — on mesure l'accuracy sur les 10 000 images de test jamais vues. Un MLP simple atteint 95-97% ; les architectures convolutionnelles modernes (CNN) dépassent 99.5%.
Piège
Le réseau MLP du PDF NE voit PAS une image 28×28 en 2D. Il reçoit un vecteur plat de 784 valeurs : la structure 2D (proximité spatiale des pixels voisins) est détruite par l'aplatissement. Le réseau peut classifier MNIST malgré ça parce que les chiffres sont positionnés de manière standardisée, mais la même approche échouerait sur des chiffres décalés ou tournés. Pour exploiter la 2D il faut un CNN (hors programme du PDF).