# Que sont LeNet-5 et le jeu de données MNIST, et pourquoi tous les cours d’apprentissage profond commencent-ils par eux?

Date: 2020-09-16 · Author: Robert Scales · https://guidetoartificialintelligence.com/fr/apprendre/lenet-5-et-mnist/

**Answer:** LeNet-5 est un réseau de neurones convolutif à sept couches qui lit les chiffres manuscrits, et MNIST est l’ensemble de 70 000 images de chiffres qui a servi à le tester; les deux ont été décrits par Yann LeCun, Léon Bottou, Yoshua Bengio et Patrick Haffner dans les Proceedings of the IEEE de novembre 1998. LeNet-5 lisait des millions de chèques bancaires par jour aux États-Unis, et MNIST est devenu le premier exercice standard de quiconque apprend comment les réseaux de neurones voient.

Ouvrez presque n’importe quel tutoriel pour débutants sur les réseaux de neurones et vous tomberez sur les mêmes petites images floues : des 0, des 1 et des 7 écrits à la main, chacun dans un carré de 28 pixels de côté. Elles viennent de MNIST, une collection de chiffres constituée chez AT&T au milieu des années 1990. Le réseau qui les a rendues célèbres, LeNet-5, est le gabarit que de nombreux systèmes de reconnaissance d’images suivent encore.

Les deux ont été exposés en détail dans « Gradient-Based Learning Applied to Document Recognition », un long article de quatre chercheurs, Yann LeCun, Léon Bottou, Patrick Haffner et Yoshua Bengio, paru dans le numéro de novembre 1998 des *Proceedings of the IEEE*. Les auteurs travaillaient à AT&T Labs-Research, à Red Bank, au New Jersey. Le travail lui-même est plus ancien que l’article : la base de données MNIST date de 1994, et certaines sources font remonter LeNet-5 à 1995. C’est dans l’article de 1998 que tout est réuni.

## Ce que contenait l’article

L’article avait un grand objectif : montrer que l’apprentissage à partir de données l’emporte sur les règles construites à la main pour la lecture de documents. Il comparait de nombreuses méthodes sur un même test commun, présentait LeNet-5, introduisait une façon d’entraîner d’un seul coup des systèmes de reconnaissance complets à plusieurs parties (appelés réseaux transformateurs de graphes) et décrivait deux systèmes en usage commercial, dont un qui lisait des chèques bancaires.

## Comment fonctionne LeNet-5

LeNet-5 s’appuie sur le réseau convolutif que le groupe de LeCun avait utilisé pour les codes postaux américains en 1989. Il compte sept couches à poids entraînables, sans compter l’entrée, et reçoit une image de 32 pixels sur 32. Il alterne deux types de couches :

1. **Convolution (C1) :** six petits détecteurs de motifs, chacun avec son propre ensemble de poids partagés, glissent sur l’image et produisent six cartes de caractéristiques, comme des cartes de contours à différents angles.
2. **Sous-échantillonnage (S2) :** chaque carte est réduite à la moitié de sa largeur et de sa hauteur en combinant chaque bloc de 2 valeurs sur 2 en une seule, de sorte que les positions exactes comptent moins.
3. **Convolution (C3) :** seize détecteurs combinent les cartes précédentes en formes plus complexes, comme des coins et des boucles.
4. **Sous-échantillonnage (S4) :** les cartes sont réduites de nouveau.
5. **Convolution et connexions complètes (C5, F6) :** les caractéristiques sont combinées en 84 nombres qui décrivent le chiffre entier.
6. **Sortie :** dix unités, une par chiffre, mesurent chacune à quel point ces 84 nombres correspondent à son chiffre; la meilleure correspondance est la réponse.

Parce que les détecteurs partagent leurs poids d’une position à l’autre, le réseau compte 340 908 connexions, mais seulement environ 60 000 nombres à apprendre. L’entrée est plus grande que les chiffres eux-mêmes, qui tiennent dans une boîte de 20 sur 20, pour que les caractéristiques près des bords, comme le bout d’un trait, tombent quand même au milieu du champ de vision d’un détecteur.

## Comment MNIST a été construit

Avant MNIST, la source évidente d’images de chiffres était le National Institute of Standards and Technology (NIST) des États-Unis. Mais l’ensemble d’entraînement du NIST, la Special Database 3, provenait d’employés du Census Bureau, alors que son ensemble de test, la Special Database 1, provenait d’élèves du secondaire, dont l’écriture est beaucoup plus brouillonne. Les résultats dépendaient de l’ensemble sur lequel on s’entraînait.

Les auteurs ont mélangé les deux. Ils ont divisé la Special Database 1 par scripteur, 250 scripteurs pour l’entraînement et 250 pour le test, et ont complété les deux moitiés avec des exemples de la Special Database 3. Le résultat, le « Modified NIST » ou MNIST, compte 60 000 images d’entraînement et 10 000 images de test. Chaque chiffre a été mis à l’échelle pour tenir dans une boîte de 20 sur 20 et centré dans une grille de 28 sur 28.

L’article comparait ensuite des classificateurs sur cet ensemble :

| Méthode | Erreur de test sur MNIST |
|---|---|
| Classificateur linéaire | 12 % |
| Machine à vecteurs de support, polynôme de degré 4 | 1,1 % |
| LeNet-5 | 0,95 % |
| LeNet-5 entraîné avec des copies déformées des chiffres | 0,8 % |
| LeNet-4 avec *boosting* (plusieurs réseaux combinés) | 0,7 % |

Les déformations étaient de petits étirements et écrasements aléatoires des images d’entraînement, une astuce qui ajoute 540 000 exemples supplémentaires sans recueillir la moindre nouvelle écriture manuscrite.

> **À essayer :** écrivez le chiffre 4 dix fois, de façons aussi différentes que possible : grand, penché, ouvert en haut, fermé. Regardez ensuite quelles caractéristiques les dix ont en commun. Ces caractéristiques communes sont le genre de choses que les premières couches de LeNet-5 apprennent à détecter.

## La lecture des chèques

LeNet-5 n’était pas seulement un résultat de laboratoire. Un système de lecture de chèques bâti autour de lui a été intégré aux produits de traitement des chèques de NCR. Il a été déployé dans plusieurs banques américaines à partir de juin 1996, et l’article indique qu’il lisait des millions de chèques par jour. Un test indépendant mené par des intégrateurs de systèmes en 1995 l’avait jugé plus exact que les autres systèmes commerciaux pour lire le montant écrit sur un chèque.

## Pourquoi c’est important aujourd’hui

Les réseaux convolutifs ne se sont pas imposés tout de suite. Le matériel était limité, et les machines à vecteurs de support pouvaient les égaler ou les battre dans de nombreuses tâches. Cela a changé après le succès du réseau AlexNet en 2012, quand les réseaux convolutifs sont devenus le choix par défaut en vision par ordinateur. Les architectures modernes sont beaucoup plus profondes et plus grandes, mais leur enchaînement de couches de convolution, de regroupement et de couches entièrement connectées vient directement de LeNet.

MNIST, de son côté, est devenu le « hello world » de l’apprentissage automatique : assez petit pour l’entraînement sur un ordinateur portable en quelques minutes, assez difficile pour montrer la différence entre les méthodes. Les chercheurs comparent maintenant leurs meilleurs modèles sur des collections d’images plus grandes et plus difficiles, mais c’est encore par MNIST que la plupart des étudiants commencent.

## Comment entraîner votre propre lecteur de chiffres sur MNIST?

Le chemin le plus rapide est un carnet en ligne gratuit, comme Google Colab, avec une bibliothèque comme TensorFlow ou PyTorch, qui peuvent toutes deux télécharger MNIST en une ligne. Un plan simple :

1. Chargez les 60 000 images d’entraînement et les 10 000 images de test, et ramenez les valeurs des pixels entre 0 et 1.
2. Construisez un petit réseau comme LeNet : deux couches de convolution avec regroupement, puis une ou deux couches entièrement connectées et dix sorties.
3. Entraînez-le en quelques passes sur les données et mesurez l’erreur sur l’ensemble de test.
4. Regardez les chiffres sur lesquels il se trompe. Vous hésiteriez vous aussi devant bon nombre d’entre eux.

Un petit réseau de ce genre reconnaît habituellement environ 99 % des chiffres de test. Essayez de retirer les couches de convolution pour n’utiliser que des couches entièrement connectées, et comparez. Vous verrez par vous-même l’avantage que l’équipe de LeCun a démontré en 1998.

## Sources

- Gradient-Based Learning Applied to Document Recognition: http://yann.lecun.com/exdb/publis/pdf/lecun-01a.pdf
- LeNet: https://en.wikipedia.org/w/index.php?title=LeNet&oldid=948550216
- Convolutional neural network: https://en.wikipedia.org/w/index.php?title=Convolutional_neural_network&oldid=957262810
