AI EducademyAIEducademy
🌳

Fondations IA

🌱
AI Seeds

Partez de zéro

🌿
AI Sprouts

Construisez les fondations

🌳
AI Branches

Mettez en pratique

🏕️
AI Canopy

Approfondissez

🌲
AI Forest

Maîtrisez l'IA

🔨

Maîtrise IA

✏️
AI Sketch

Partez de zéro

🪨
AI Chisel

Construisez les fondations

⚒️
AI Craft

Mettez en pratique

💎
AI Polish

Approfondissez

🏆
AI Masterpiece

Maîtrisez l'IA

🚀

Prêt pour la Carrière

🚀
Rampe de lancement entretien

Commencez votre parcours

🌟
Maîtrise comportementale

Maîtrisez les compétences relationnelles

💻
Entretiens techniques

Réussissez l'épreuve de code

🤖
Entretiens IA et ML

Maîtrisez l'entretien ML

🏆
Offre et au-delà

Décrochez la meilleure offre

Voir tous les programmes→

Labo

7 expériences chargées
🧠Terrain de jeu neuronal🤖IA ou humain ?💬Labo de prompts🎨Generateur d'images😊Analyseur de sentiment💡Constructeur de chatbot⚖️Simulateur d'ethique
🎯Entretien simuléEntrer dans le labo→
ParcoursBlog
🎯
À propos

Rendre l'éducation en IA accessible à tous, partout

❓
FAQ

Common questions answered

✉️
Contact

Get in touch with us

⭐
Open Source

Construit publiquement sur GitHub

Commencer gratuitement
AI EducademyAIEducademy

Licence MIT. Open Source

Apprendre

  • Programmes
  • Leçons
  • Labo

Communauté

  • GitHub
  • Contribuer
  • Code de conduite
  • À propos
  • FAQ

Soutien

  • Offrez-moi un café ☕
  • Conditions d'utilisation
  • Politique de confidentialité
  • Contact
Programmes d'IA et d'ingénierie›🌿 AI Sprouts›Leçons›Fonctions de perte et optimiseurs
📉
AI Sprouts • Intermédiaire⏱️ 15 min de lecture

Fonctions de perte et optimiseurs

Fonctions de perte et optimiseurs

La rétropropagation nous donne des gradients - mais des gradients de quoi ? Avant que la rétropropagation puisse s'exécuter, nous avons besoin d'un seul nombre qui capture à quel point le modèle se trompe. Ce nombre provient d'une fonction de perte. Une fois que nous avons les gradients, un optimiseur décide comment mettre à jour les poids. Ensemble, ils forment la boucle d'apprentissage.

Qu'est-ce qu'une fonction de perte ?

Une fonction de perte (également appelée fonction de coût) prend la prédiction du modèle et la vraie réponse, et renvoie un nombre mesurant le « degré d'erreur ». L'objectif de l'entraînement est de minimiser ce nombre.

Pensez-y comme un score au golf - plus c'est bas, mieux c'est. Une perte de 0 signifie une prédiction parfaite.

Une courbe en U montrant la perte sur l'axe des ordonnées et la valeur du poids sur l'axe des abscisses, avec une balle roulant vers le minimum
L'entraînement est comme faire rouler une balle en descente sur le paysage de la perte, à la recherche du point le plus bas.

Fonctions de perte pour la régression - MSE

Lorsqu'on prédit des valeurs continues (prix immobiliers, température), on utilise l'erreur quadratique moyenne (MSE) :

MSE = (1/n) × Σ(prédit - réel)²

Élever au carré fait deux choses : cela rend toutes les erreurs positives, et cela pénalise de manière disproportionnée les grandes erreurs. Prédire un prix immobilier avec 100 000 € d'écart produit une erreur au carré 100 fois pire qu'un écart de 10 000 €.

🤯

MSE remonte à Carl Friedrich Gauss en 1795 - plus de deux siècles avant les réseaux de neurones. Il l'a utilisée pour suivre l'orbite de l'astéroïde Cérès.

Fonctions de perte pour la classification - Entropie croisée

Lorsqu'on prédit des catégories (spam ou non, chat vs chien), on utilise la perte d'entropie croisée. Elle mesure à quel point les probabilités prédites par le modèle sont éloignées des vraies étiquettes.

Si la bonne réponse est « chat » et que le modèle dit 99 % chat, la perte est minuscule. S'il dit 10 % chat, la perte est énorme. L'entropie croisée a une propriété utile : elle devient infiniment mécontente lorsque le modèle se trompe avec confiance, créant un gradient fort pour corriger l'erreur.

L'entropie croisée binaire est destinée aux problèmes à deux classes. L'entropie croisée catégorielle gère plusieurs classes en comparant les distributions de probabilités.

Leçon 7 sur 160% terminé
←Rétropropagation

Discussion

Sign in to join the discussion

Suggérer une modification de cette leçon
🧠Vérification rapide

Pourquoi MSE est-elle un mauvais choix pour les tâches de classification ?

Descente de gradient - Rouler vers le bas

Avec une fonction de perte définie, nous pouvons visualiser le paysage de la perte - une surface où chaque point représente un ensemble de poids et la hauteur correspond à la perte. Entraîner le modèle revient à trouver la vallée la plus profonde.

La descente de gradient est l'algorithme qui nous y mène :

  1. Calculer le gradient (la pente) à la position actuelle.
  2. Faire un pas dans la direction opposée (en descente).
  3. Répéter.

La taille de chaque pas est contrôlée par le taux d'apprentissage - sans doute l'hyperparamètre le plus important de l'apprentissage profond.

Le dilemme du taux d'apprentissage

  • Trop élevé : Vous dépassez la vallée, rebondissant d'un côté à l'autre ou divergeant complètement.
  • Trop faible : Vous avancez péniblement et risquez de rester coincé dans un minimum local peu profond.
  • Juste bien : Vous convergez régulièrement vers une bonne solution.
🤔
Think about it:

Imaginez que vous descendiez une montagne dans le brouillard et que vous ne puissiez sentir que la pente directement sous vos pieds. Vous faites des pas vers le bas, mais vous ne voyez pas l'ensemble du paysage. Comment pourriez-vous vous retrouver dans un petit creux qui n'est pas la vallée la plus profonde ? C'est le problème du minimum local.

Variantes de la descente de gradient

Descente de gradient par lots (Batch)

Calcule le gradient en utilisant l'ensemble du jeu de données avant chaque mise à jour. Précis mais terriblement lent pour les grands ensembles de données - imaginez relire chaque livre d'une bibliothèque avant de corriger une seule faute d'orthographe.

Descente de gradient stochastique (SGD)

Met à jour les poids après chaque exemple individuel. Rapide mais bruitée - le chemin zigzague fortement. Le bruit peut en fait aider à s'échapper des minima locaux, ce qui est un avantage surprenant.

Descente de gradient par mini-lots

Le compromis idéal en pratique. Calcule les gradients sur un petit lot (généralement 32 à 512 exemples). Offre un équilibre entre vitesse et stabilité, et c'est ce que la quasi-totalité des entraînements modernes utilise.

Optimiseurs modernes

La SGD simple a des limites. Les chercheurs ont développé des optimiseurs plus intelligents qui s'adaptent au fil de l'entraînement.

SGD avec momentum

Comme une lourde balle roulant en descente, le momentum accumule de la vitesse dans les directions cohérentes et amortit les oscillations. Si le gradient pointe constamment dans la même direction, le momentum accélère. S'il change constamment de direction, le momentum le lisse.

AdaGrad

Adapte le taux d'apprentissage par paramètre. Les poids fréquemment mis à jour reçoivent des pas plus petits ; les poids rarement mis à jour reçoivent des pas plus grands. Excellent pour les données éparses (comme le texte), mais le taux d'apprentissage peut diminuer jusqu'à zéro au fil du temps.

Adam (Adaptive Moment Estimation)

Combine le momentum et les taux adaptatifs par paramètre. Il maintient des moyennes glissantes du gradient (premier moment) et du gradient au carré (second moment). Adam est le choix par défaut pour la plupart des praticiens aujourd'hui.

🧠Vérification rapide

Quel avantage Adam a-t-il par rapport à la SGD de base ?

Planification du taux d'apprentissage

Plutôt que de fixer le taux d'apprentissage, l'entraînement moderne le planifie souvent :

  • Décroissance par paliers : Diviser le taux par deux tous les N epochs.
  • Recuit cosinus : Diminuer progressivement selon une courbe cosinus, parfois avec des redémarrages.
  • Échauffement (warmup) : Commencer avec un taux minuscule, l'augmenter progressivement, puis le faire décroître. Utilisé dans l'entraînement des Transformers.

L'intuition : faire de grands pas au début pour explorer largement, puis de petits pas ensuite pour affiner.

Écrêtage des gradients - Les garde-fous

Parfois, les gradients explosent (comme nous l'avons vu dans la leçon sur la rétropropagation). L'écrêtage des gradients plafonne la magnitude du gradient avant l'étape de mise à jour. Si le gradient dépasse un seuil, il est réduit proportionnellement. C'est une pratique standard lors de l'entraînement des RNN et des Transformers.

🧠Vérification rapide

Que prévient l'écrêtage des gradients ?

🤯

L'article sur l'optimiseur Adam (Kingma & Ba, 2014) compte plus de 150 000 citations, ce qui en fait l'un des articles les plus cités de toute l'informatique.

Points clés à retenir

  • Les fonctions de perte quantifient à quel point un modèle se trompe - MSE pour la régression, entropie croisée pour la classification.
  • La descente de gradient minimise la perte en faisant des pas répétés dans la direction opposée au gradient.
  • Le taux d'apprentissage contrôle la taille des pas et son réglage est crucial.
  • Adam est l'optimiseur de référence, combinant momentum et taux adaptatifs.
  • La planification du taux d'apprentissage et l'écrêtage des gradients sont des stabilisateurs essentiels de l'entraînement.
🤔
Think about it:

Si vous entraîniez un modèle et que la perte cessait de diminuer après quelques epochs, qu'examineriez-vous en premier - le taux d'apprentissage, la fonction de perte ou les données ? Pourquoi ?


📚 Pour aller plus loin

  • Andrej Karpathy - A Recipe for Training Neural Networks - Conseils pratiques sur le débogage de la perte et le choix de l'optimiseur
  • 3Blue1Brown - Gradient Descent - Intuition visuelle remarquable sur la façon dont la descente de gradient navigue dans les paysages de perte
  • An Overview of Gradient Descent Optimisation Algorithms (Ruder, 2016) - Comparaison complète de SGD, Adam et consorts