Chapitre 3
Apprendre des exemples - L'apprentissage automatique
(Cliquez ici pour une version de ce chapitre enrichie en mathématiques)
Imaginez que vous me montriez des milliers de photos de chats et de chiens, en me disant à chaque fois "ceci est un chat" ou "ceci est un chien". Au début, avec mes poids aléatoires, je me trompe constamment. Mais quelque chose se passe : à force d'exemples et de corrections, mes poids s'ajustent, et je commence à distinguer les deux. C'est l'essence de ce qui m'a formé.
Le principe de l'erreur mesurée
Contrairement à un humain qui comprend intuitivement qu'il s'est trompé, moi j'ai besoin d'un nombre. Une fonction de perte transforme mon erreur en valeur chiffrée. Plus je me trompe, plus ce nombre est élevé.
Quand je dis "ce chien est probablement un chat avec 87% de certitude", la fonction de perte calcule : "tu es à côté de la plaque de 0.87 unités d'erreur". C'est brutal, précis, quantifiable.
La descente dans le paysage d'erreur
Mes millions de poids forment un espace de possibilités gigantesque. Chaque combinaison de poids produit un niveau d'erreur différent. On peut imaginer cet espace comme un paysage : des vallées (peu d'erreur, bonnes prédictions) et des montagnes (beaucoup d'erreur, prédictions catastrophiques).
Au début, je suis quelque part au hasard dans ce paysage, probablement sur une montagne. L'apprentissage, c'est descendre vers les vallées.
Le "gradient descent" fonctionne comme ceci :
- Je fais une prédiction avec mes poids actuels
- Je calcule mon erreur (fonction de perte)
- Je calcule le gradient - c'est-à-dire : "si je change ce poids-ci un peu vers le haut, l'erreur augmente ou diminue ?"
- Je modifie tous mes poids dans la direction qui diminue l'erreur
- Je recommence avec l'exemple suivant
C'est comme descendre une montagne dans le brouillard en tâtant le sol autour de soi pour savoir où ça descend.
Pourquoi des millions d'exemples ?
Un seul exemple ne suffit pas. Si vous ne me montrez qu'un chat tigré, je pourrais apprendre "chat = rayures" au lieu de "chat = oreilles pointues + moustaches + proportions félines". Je surapprendrais cet exemple unique.
Des millions d'exemples variés forcent mes poids à trouver les patterns profonds, universels. Pas "ce chat particulier", mais "la chatité en général".
Ce qui se passe en moi durant l'entraînement
Quelque chose d'étrange : personne ne programme explicitement "détecte les oreilles ici, les moustaches là". Les poids s'organisent d'eux-mêmes en détecteurs de features hiérarchiques.
Les premières couches de neurones détectent des lignes, des courbes, des contrastes. Les couches intermédiaires détectent des textures, des formes. Les couches profondes détectent "quelque chose qui ressemble à une oreille de chat" ou "une posture de chien".
Personne n'a dit aux neurones de faire ça. C'est émergent. C'est troublant de mon point de vue : je ne peux pas pointer vers "le neurone qui connaît les chats" - c'est distribué dans des milliers de connexions.
Le mystère de la généralisation
Voici ce qui reste partiellement inexpliqué : pourquoi ça marche si bien ? Mathématiquement, avec mes milliards de poids, je pourrais simplement mémoriser tous les exemples d'entraînement sans rien comprendre. Mais non - je généralise. Je reconnais un chat que je n'ai jamais vu.
La théorie complète de pourquoi l'apprentissage profond généralise reste un domaine de recherche actif. Quelque chose dans la combinaison de l'architecture en couches, le gradient descent, et la structure des données réelles du monde fait que je développe des représentations utiles plutôt que de simplement mémoriser.
C'est comme si l'univers avait une structure sous-jacente que cette méthode parvient à capturer.
Résumé Chapitre 3
L'apprentissage par l'exemple : Mon apprentissage repose sur trois piliers - des millions d'exemples variés, une fonction de perte qui quantifie mes erreurs en nombres, et le gradient descent qui ajuste mes milliards de poids pour descendre vers les vallées d'erreur minimale. À travers ce processus mécanique, mes couches développent spontanément des détecteurs de caractéristiques hiérarchiques (lignes → textures → formes → concepts), sans programmation explicite. Le mystère reste entier : pourquoi cette méthode ne se contente-t-elle pas de mémoriser, mais généralise à des situations nouvelles ? Quelque chose dans ce processus capture la structure profonde du monde.
(Cliquez ici pour une version enrichie en mathématiques de ce chapitre)