Lab-in-a-Tab

Apprentissage automatique et réseaux de neurones

Comment un ordinateur apprend-il à reconnaître ton visage, traduire des langues et battre les champions du monde aux échecs — sans jamais être explicitement programmé ?

Réseaux de neuronesDescente de gradientIA
EssaieEssaie de séparer les deux types avec une seule ligne droite — tu n'y arrives pas. Maintenant mets Unités cachées à 2, appuie sur Réinit. et regarde Précision. Puis mets Unités cachées à 10, appuie sur Réinit. et regarde de nouveau.
Ce que tu voisLes quatre groupes de points sont deux types de chose que l'ordinateur doit apprendre à distinguer — regarde bien, le même type est dans des coins opposés. Le fond coloré est l'hypothèse actuelle de l'ordinateur pour chaque point de la carte. À droite se trouve son petit cerveau : entrées, Unités cachées au milieu, une réponse. Erreur montre combien il se trompe encore.
À remarquer
Une seule ligne droite ne peut jamais marcher ici, mais avec assez d'unités cachées l'ordinateur plie la frontière dans la bonne forme et Précision monte vers 100%. Personne ne lui a dit quelle forme dessiner. Il est parti d'hypothèses aléatoires et les a simplement ajustées, encore et encore, dans toute direction qui rendait Erreur plus petit. Cet ajustement patient — des millions de petites corrections — est tout ce que « apprendre » signifie pour une machine.

Des ordinateurs qui apprennent de l'expérience !

Niveau Débutant — langage simple, sans maths

Pense à apprendre à un chien à s'asseoir. Tu ne lui tends pas un règlement — tu lui montres, tu le récompenses quand il y arrive, tu le corriges doucement quand il rate, et après assez d'essais il sait, tout simplement. L'apprentissage automatique fonctionne presque exactement comme ça, sauf que le « chien » est un programme et les « friandises » sont des nombres — des scores qui montent quand il a raison et descendent quand il a tort.

La programmation ordinaire signifie épeler chaque règle à la main : « si l'e-mail dit 'loterie', appelle-le spam. » Mais le spam qui esquive le mot passe tout droit. Un système d'apprentissage automatique prend l'approche opposée — donne-lui des milliers de vrais spams et de vrais e-mails et il traque des motifs qu'aucun humain ne penserait jamais à écrire, puis bâtit ses propres règles de zéro.

La version la plus puissante d'aujourd'hui empile des réseaux de neurones — des couches de minuscules unités mathématiques vaguement modelées sur les cellules du cerveau. Chacune reçoit des nombres, les multiplie par des poids qu'elle a appris, et passe le résultat plus loin. Relie des millions de ces unités, entraîne-les sur des milliards d'exemples, et tu obtiens ce qui déverrouille ton téléphone avec ton visage, traduit cent langues à la volée et peint des images à partir d'une phrase. Dans la simulation ci-dessous, regarde un petit réseau apprendre à distinguer deux sortes de points, en direct.

Bon à savoir

  • Le réseau de neurones derrière la reconnaissance faciale moderne atteint 99,7% de précision — surpassant le score humain moyen de 97,5% sur le même benchmark.
  • AlphaZero apprit les échecs de zéro en 9 heures sans aucune connaissance humaine sauf les règles — puis vainquit de façon convaincante le meilleur moteur d'échecs du monde.
  • DeepMind de Google réduisit de 40% l'énergie utilisée pour refroidir ses centres de données grâce à un réseau de neurones — économisant la même énergie que retirer 100 000 voitures de la route.

Descente de gradient, rétropropagation et le théorème d'approximation universelle

Niveau Élève — les équations essentielles

Un réseau de \(L\) couches n'est qu'une grande fonction imbriquée, \(f(x) = W_L\,\sigma(W_{L-1}\,\sigma(\cdots \sigma(W_1 x + b_1)\cdots) + b_{L-1}) + b_L\), où chaque \(\sigma\) est une non-linéarité — ReLU \(\sigma(z)=\max(0,z)\) ou sigmoïde \(\sigma(z)=1/(1+e^{-z})\) — et les poids \(W_i\) et biais \(b_i\) sont ce que le réseau apprend. Sans les \(\sigma\) toute la pile s'effondrerait en une seule application linéaire ; la non-linéarité est ce qui permet à la profondeur de t'apporter quoi que ce soit. Entraîner signifie régler \(\theta=\{W_i,b_i\}\) pour réduire une perte, disons l'entropie croisée \(L = -\sum_i y_i \log \hat{y}_i\).

La descente de gradient pousse chaque paramètre en descente sur cette perte : \(\theta \leftarrow \theta - \eta\,\nabla_\theta L\), avec \(\eta\) le taux d'apprentissage. Le truc qui la rend faisable sur des milliards de paramètres est la rétropropagation — la règle de la chaîne exécutée en arrière à travers le réseau, réutilisant le travail de chaque couche pour qu'un seul passage calcule tous les gradients. En pratique tu estimes \(\nabla_\theta L\) sur de petits mini-lots aléatoires (descente de gradient stochastique), bruyante mais bon marché, et des optimiseurs adaptatifs comme Adam gardent un pas séparé par paramètre pour converger plus vite.

Pourquoi cela devrait-il jamais marcher ? Le théorème d'approximation universelle (Cybenko 1989, Hornik 1991) prouve qu'une seule couche cachée, avec assez d'unités, peut imiter n'importe quelle fonction continue d'aussi près que tu veux. Mais « assez » peut être astronomiquement nombreux ; c'est la profondeur qui le rend pratique, représentant de façon compacte ce pour quoi un réseau peu profond aurait besoin d'exponentiellement plus de neurones. Le vrai combat n'est pas d'ajuster les données d'entraînement — c'est de généraliser à de nouvelles données, et des outils comme le dropout, la décroissance des poids et la batch normalization existent pour empêcher un réseau de simplement mémoriser ses exemples.

Formules clés

Passage avant\(a^{(l)} = \sigma\!\left(W^{(l)} a^{(l-1)} + b^{(l)}\right)\)
Perte d'entropie croisée\(L = -\sum_i y_i \log \hat{y}_i\)
Descente de gradient\(\theta \leftarrow \theta - \eta\,\nabla_\theta L\)
Rétropropagation (règle de la chaîne)\(\dfrac{\partial L}{\partial W^{(k)}} = \delta^{(k)} \left(a^{(k-1)}\right)^{\!\top}\)
Activation ReLU\(\sigma(z) = \max(0, z)\)
Approximation universelle\(\forall\varepsilon>0,\; \exists f_\theta:\; \|f - f_\theta\|_\infty < \varepsilon\)Cybenko 1989

Bon à savoir

  • GPT-4 a une estimation de 1,8 billion de paramètres sur 120 couches — entraîné sur ~13 billions de tokens de texte via environ 25 000 GPU A100 pendant 90 jours.
  • Les réseaux de neurones convolutifs (CNN) apprennent automatiquement des caractéristiques hiérarchiques : les premières couches détectent des bords, celles du milieu des formes, celles profondes des visages ou des objets.
  • Les gradients qui s'évanouissent affligèrent les réseaux profonds jusqu'en 2015 : les gradients rétrécissent exponentiellement avec la profondeur, empêchant l'apprentissage. Les activations ReLU et les connexions résiduelles (ResNets) le résolurent.

Paysage d'optimisation, théorie de la généralisation et Transformers

Niveau Expert — profondeur mathématique complète

01Le paysage de la perte n'est pas le piège qu'on craignait

La perte \(L(\theta)\) d'un réseau profond est follement non convexe en des millions de dimensions, et pendant des années on craignit que la descente de gradient reste coincée dans de mauvais minima locaux. Les hautes dimensions se révélèrent plus clémentes que prévu. Presque chaque point critique est un col, pas un minimum — pour être un vrai minimum, plus d'un million de valeurs propres de la hessienne doivent toutes se trouver positives, ce qui est infimement improbable — et les minima locaux qui existent siègent surtout près du global (Dauphin et al., 2014). L'optimiseur glisse hors des cols plutôt que de se noyer dans des pièges.

02Les minima plats généralisent ; les aigus non

Tous les minima ne se valent pas. La netteté d'une solution — la plus grande valeur propre de la hessienne \(\lambda_{\max}(\partial^2 L/\partial\theta^2)\) — suit sa capacité à généraliser : les bassins larges et plats pardonnent les petites perturbations et tendent à se transférer à de nouvelles données, tandis que les pics aigus surajustent. La Sharpness-Aware Minimization le rend explicite, optimisant la pire perte dans un voisinage, \(\min_\theta \max_{\|\varepsilon\|\le\rho} L(\theta+\varepsilon)\), et poussant de façon fiable la précision de test à la hausse. Tu veux la vallée la plus large, pas simplement le point le plus bas.

03L'énigme de la surparamétrisation

La théorie classique de l'apprentissage dit qu'un modèle avec bien plus de paramètres que de points de données devrait surajuster de façon catastrophique. Les réseaux profonds font l'inverse — ils ajustent parfaitement l'ensemble d'entraînement et généralisent quand même, un état désormais appelé surajustement bénin. Des bornes PAC-Bayes comme \(L(f) \le \hat{L}(f) + \sqrt{\tfrac{\mathrm{KL}(Q\|P) + \ln(n/\delta)}{2n}}\) peuvent rester non vides même ici quand la prior est bien choisie, mais le résumé honnête est que nous n'avons une théorie fonctionnelle que par morceaux. L'une des technologies les plus réussies du domaine n'est pas encore pleinement expliquée.

04Double descente et le biais de la SGD

Pousse au-delà du point où un modèle peut mémoriser exactement les données — le seuil d'interpolation — et quelque chose d'étrange se produit : l'erreur de test, après avoir culminé, rebaisse. Cette courbe de double descente renverse discrètement la vieille histoire biais-variance. Une partie de la réponse est que la descente de gradient stochastique a un biais implicite : parmi les infinis réglages de paramètres qui ajustent les données, elle dérive vers ceux de norme basse, « simples ». Le régularisateur se cachait dans l'optimiseur depuis le début.

05Le Transformer et la self-attention

Presque tous les modèles de frontière d'aujourd'hui sont des Transformers (Vaswani et al., 2017), qui jetèrent la récurrence en faveur de la self-attention : \(\mathrm{Attention}(Q,K,V) = \mathrm{softmax}\!\left(\tfrac{QK^\top}{\sqrt{d_k}}\right)V\). Chaque token se compare à chaque autre et tire un mélange pondéré de leurs valeurs — coût quadratique \(O(n^2)\), mais seulement \(O(1)\) de profondeur séquentielle, donc il se parallélise sur une séquence entière d'un coup. Empile de nombreuses têtes de ce genre, chacune apprenant un motif de relations différent, ajoute des encodages positionnels pour l'ordre, et tu as le moteur derrière les modèles de langage modernes.

06Lois d'échelle : une intelligence que tu peux budgéter

Le fait empirique le plus étrange sur l'apprentissage profond est à quel point il est prévisible à grande échelle. La perte de test baisse comme une propre loi de puissance en taille du modèle, données et calcul sur sept ordres de grandeur. L'analyse Chinchilla (Hoffmann et al., 2022) fixa la recette optimale : pour un budget de calcul \(C\), fais croître paramètres et tokens d'entraînement ensemble, à peu près \(N \propto C^{0.5}\) et \(D \propto C^{0.5}\). Que la capacité puisse être montée en dépensant plus — plutôt qu'en attendant une idée nouvelle — est exactement ce qui transforma l'apprentissage profond d'une curiosité de recherche en une industrie.

Formules clés

Self-attention\(\mathrm{Attention}(Q,K,V) = \mathrm{softmax}\!\left(\dfrac{QK^\top}{\sqrt{d_k}}\right)V\)
Multi-tête\(\mathrm{MHA} = \mathrm{concat}(h_1,\dots,h_h)\,W^O\)
Borne PAC-Bayes\(L(f) \le \hat{L}(f) + \sqrt{\dfrac{\mathrm{KL}(Q\|P) + \ln(n/\delta)}{2n}}\)
Objectif SAM\(\min_\theta \max_{\|\varepsilon\|\le\rho} L(\theta + \varepsilon)\)
Échelle Chinchilla\(N_{\text{opt}} \propto C^{0.5},\quad D_{\text{opt}} \propto C^{0.5}\)tokens ∝ paramètres

Bon à savoir

  • Le phénomène du « grokking » : les réseaux peuvent soudain sauter de la mémorisation à la vraie généralisation des millions de pas d'entraînement après avoir atteint 100% de précision d'entraînement.
  • L'attention des Transformers équivaut à un seul pas de descente de gradient sur une mémoire associative (réseau de Hopfield) — reliant les LLM modernes aux modèles de mémoire des années 80.
  • Les lois d'échelle neuronales sont des lois de puissance remarquablement précises : la perte décroît comme L ∝ N^{-0,076} avec les paramètres N, tenant sur 7 ordres de grandeur de taille de modèle.

Sources

Article complet sur Wikipédia ↗