Qui lit les chèques à la banque ?
Vous déposez un chèque rempli à la main. Quelques secondes plus tard, la banque a lu le montant. Personne ne l’a tapé.
Votre téléphone reconnaît aussi votre visage, et votre messagerie trie les courriels indésirables.
Derrière ces outils, il y a souvent un réseau de neurones. Ce n’est ni un cerveau ni de la magie : ce sont des multiplications et des additions, en très grand nombre.
À la fin de cette leçon
Remarque
Je peux dire avec des mots ce qu’est un réseau de neurones.
Mots-clés
| Mot | Ce que ça veut dire |
|---|---|
| Neurone artificiel | un petit calcul qui transforme plusieurs nombres en un seul |
| Poids | l’importance donnée à une entrée |
| Seuil | la valeur à dépasser pour répondre oui |
| Couche | un groupe de neurones qui calculent en même temps |
| Réseau de neurones | des couches de neurones reliées entre elles |
| Apprentissage profond | l’apprentissage avec un réseau à nombreuses couches |
Les cellules que les étudiants remplissent restent vides dans cet aperçu.
Un neurone fait une somme pondérée
Un neurone artificiel reçoit plusieurs nombres, ses entrées. Il multiplie chacun par un poids, qui dit son importance. Il additionne le tout : c’est la somme pondérée.
Puis il compare cette somme à un seuil. Au-dessus, il répond 1. Sinon, il répond 0.
Exemple : un service client veut savoir s’il faut rappeler un client après son avis.
Exemple travaillé : rappeler ce client ?
| Entrée | Valeur | Poids | Valeur × poids |
|---|---|---|---|
| Mots négatifs dans l’avis | 2 | 3 | 6 |
| Étoiles manquantes sur 5 | 4 | 2 | 8 |
| Commandes cette année | 3 | 1 | 3 |
| Somme pondérée | 17 | ||
| Comparée au seuil de 12 | 17 dépasse 12 : sortie 1, rappeler |
Les cellules que les étudiants remplissent restent vides dans cet aperçu.
Calculez la sortie d’un neurone
# Un neurone qui décide s'il faut rappeler un client après son avis
# Entrées : mots négatifs, étoiles manquantes, commandes cette année
entrees = [2, 4, 3]
poids = [3, 2, 1] # l'importance donnée à chaque entrée
seuil = 12
somme = 0
for i in range(len(entrees)):
somme = somme + entrees[i] * poids[i]
print("Somme pondérée :", somme)
if somme > seuil:
print("Sortie : 1, rappeler le client")
else:
print("Sortie : 0, pas de rappel")
# Mettez les deux premiers poids à 1, puis relancez.
# Le neurone demande-t-il encore un rappel ?
Des couches combinent des motifs simples
Un seul neurone ne sait pas grand-chose. Un réseau en relie des milliers, rangés en couches.
Chaque couche reçoit les sorties de la précédente. Pour lire un chiffre sur un chèque, la première couche repère des traits. La suivante assemble ces traits en boucles et en barres. La dernière décide de quel chiffre il s’agit.
Avec beaucoup de couches, on parle d’apprentissage profond.
Apprendre, c’est régler les poids
Au départ, les poids sont choisis au hasard. Le réseau se trompe beaucoup.
Après chaque erreur sur un exemple, on modifie un peu chaque poids. Le but est de se tromper un peu moins la fois suivante.
On répète cela des millions de fois. Il faut donc beaucoup d’exemples et des machines puissantes, souvent avec des cartes graphiques.
Un modèle simple ou un réseau profond
| Question | Modèle simple | Réseau profond |
|---|---|---|
| Exemples nécessaires | Des centaines ou des milliers | Souvent des millions |
| Matériel | Un ordinateur portable | Des cartes graphiques, parfois des jours |
| Expliquer une réponse | Plutôt facile | Difficile |
| Bon pour | Des tableaux de chiffres | Images, son et texte |
Les cellules que les étudiants remplissent restent vides dans cet aperçu.
Une erreur fréquente
Attention
Beaucoup pensent qu’un réseau de neurones pense comme un cerveau humain. Il n’emprunte que le mot « neurone ». Il ne fait que des calculs avec des poids réglés sur des exemples. Hors de ce que ses exemples contenaient, il peut se tromper avec assurance.