Pourquoi la dérivation est indispensable en deep learning ? (ou est‑elle vraiment liée à l’algèbre linéaire ?)



1. Introduction : le doute raisonnable du développeur

En étudiant le deep learning, on croise deux géants des mathématiques : l’algèbre linéaire et le calcul différentiel. C’est là que le développeur peut se demander :

"Mais le nom même est « linéaire ». Si y = ax + b, la dérivée d’une fonction linéaire n’est qu’une constante (a). Pourquoi avoir besoin de dériver ? On peut juste résoudre l’équation ?"

Exact. Si un modèle de deep learning était réellement linéaire, on pourrait le résoudre en une seule opération matricielle inversée.

Mais les problèmes réels ne sont pas aussi simples. Aujourd’hui, nous allons expliquer pourquoi nous devons absolument recourir à la dérivation, et ce pourquoi, en langage de développeur.

2. Dérivation = « Quel est l’impact d’un petit changement ? » (sensibilité)

Regardons la dérivation non pas comme une formule mathématique, mais comme une opération d’opérations système.

Imaginez que vous tunez un serveur noir‑et‑blanc doté de milliers de réglages (knobs).

  • Objectif : réduire la latence (Loss) à zéro.
  • Problème : quel réglage doit être ajusté ? Les réglages sont interdépendants.

Dans ce contexte, faire une dérivation est une action très simple.

« Si je tourne le knob #1 de 0,001 mm vers la droite, la latence diminue‑t‑elle ? Augmente‑t‑elle ? »

La réponse à cette question est exactement la valeur de la dérivée (pente).

  • Si la dérivée est positive (+) : tourner le knob ralentit le serveur → tournez‑le dans l’autre sens.
  • Si la dérivée est négative (‑) : tourner le knob accélère le serveur → tournez‑le davantage dans cette direction.
  • Si la dérivée est 0 : tourner le knob n’a aucun effet → c’est soit le point optimal, soit un knob inutile.

En fin de compte, la dérivation en deep learning n’est pas un problème mathématique à résoudre, mais un compas qui indique dans quelle direction ajuster les paramètres pour réduire l’erreur.

3. Pourquoi on ne peut pas tout résoudre en une seule équation ? (le charme du non‑linéaire)

Revenons à la question initiale : « Si c’est linéaire, on peut tout résoudre ? »

Le deep learning est puissant parce qu’il insère des fonctions d’activation non linéaires (ReLU, Sigmoid, etc.) entre les opérations linéaires (multiplications matricielles).

  • Seul le linéaire : peu importe le nombre de couches, le résultat final est toujours une seule grande multiplication matricielle. (y = a(b(cx)) ≈ y = abcx)
  • Avec le non‑linéaire : le graphe n’est plus une droite mais une chaîne de montagnes sinueuses. On ne peut plus trouver la solution optimale avec une seule équation.

C’est pourquoi nous abandonnons la recherche d’une solution analytique instantanée et adoptons la méthode de descente de gradient : un processus itératif qui descend progressivement la montagne.

4. Dérivation vectorielle ? C’est simplement « vérifier un grand nombre de réglages en même temps »

« Dériver un vecteur » peut sembler compliqué, mais en termes de développeur, c’est le traitement par lots.

Si un paramètre est unique, on a une dérivation scalaire. Mais les modèles modernes ont des milliards de paramètres (LLM, etc.). Tester chaque knob individuellement est impossible.

La dérivation vectorielle/matricielle traite tous ces paramètres en une seule opération.

"Hey, prends tous les 7 billion de paramètres, déplace‑les légèrement, et rapporte le résultat !"

Ce rapport massif est exactement le vecteur de gradient. PyTorch, en utilisant le GPU, calcule ce gigantesque rapport en un clin d’œil.

image

5. Conclusion : l’étape suivante est la rétropropagation

Nous avons vu que la dérivation est un compas qui indique la direction pour réduire l’erreur. Mais un modèle de deep learning peut avoir des dizaines, voire des centaines de couches :

  • Pour réduire l’erreur de la couche de sortie, il faut corriger la couche juste avant.
  • Pour corriger cette couche, il faut corriger la couche encore plus avant, et ainsi de suite.

Cette chaîne de dérivations est calculée efficacement grâce à l’algorithme bien connu de rétropropagation (Backpropagation).

Dans la prochaine publication, nous verrons comment la rétropropagation utilise la règle de la chaîne pour traverser ces couches profondes, et comment elle rend l’apprentissage possible.