Loss Function
Explore comment une fonction de perte guide l’entraînement d’un modèle. Apprends à minimiser l’erreur pour des tâches comme la détection d’objets avec Ultralytics YOLO26 et à optimiser les performances de l’IA.
Une fonction de perte sert de boussole mathématique qui guide l'entraînement des réseaux neuronaux artificiels et d'autres algorithmes d'apprentissage automatique. Fondamentalement, elle quantifie l'écart entre les sorties prédites par le modèle et les étiquettes réelles de « vérité terrain » présentes dans les données d'entraînement. Tu peux la visualiser comme un système de notation dans lequel un score plus faible indique de meilleures performances. Pendant le processus d'entraînement, l'objectif principal est de minimiser progressivement cette valeur de perte. Cette minimisation permet au modèle d'ajuster ses paramètres internes afin d'aligner plus étroitement ses prédictions sur la réalité, grâce à un algorithme d'optimisation tel qu'Adam ou la descente de gradient stochastique (SGD).
Le rôle de la perte dans l'entraînement des modèles#
Le mécanisme d'apprentissage de l'IA repose largement sur la boucle de rétroaction générée par la fonction de perte. Après qu'un modèle a traité un lot de données, la fonction de perte calcule une valeur d'erreur numérique représentant la distance entre la prédiction et la cible. Grâce à une technique appelée rétropropagation, le système calcule le gradient de la perte par rapport à chacun des poids du modèle. Ces gradients servent de carte, indiquant la direction et l'ampleur des ajustements nécessaires pour réduire l'erreur. Le taux d'apprentissage contrôle ensuite la taille des pas effectués lors de ces mises à jour, afin que le modèle converge vers une solution optimale sans la dépasser.
Différentes tâches d'apprentissage automatique nécessitent des types spécifiques de fonctions de perte. Pour l'analyse de régression, dont l'objectif est de prédire des valeurs continues comme les prix de l'immobilier, l'erreur quadratique moyenne (MSE) constitue un choix standard. À l'inverse, pour les tâches de classification d'images impliquant des données catégorielles, la perte d'entropie croisée est généralement utilisée pour mesurer la divergence entre les probabilités prédites et la classe réelle. Les modèles avancés de détection d'objets, tels que YOLO26, utilisent des fonctions de perte composites qui optimisent simultanément plusieurs objectifs, en combinant des métriques comme l'intersection sur union (IoU) pour la localisation et des formules spécialisées comme Distribution Focal Loss (DFL) ou Varifocal Loss pour la confiance de classe.
Applications concrètes#
Les fonctions de perte sont le moteur de la fiabilité de pratiquement toutes les applications d'IA, garantissant que les systèmes peuvent fonctionner en toute sécurité dans des environnements complexes.
- Conduite autonome : Dans le domaine des véhicules autonomes, la sécurité repose sur une perception précise. Une fonction de perte soigneusement réglée aide le système à distinguer les piétons, les autres voitures et les obstacles statiques. En minimisant les erreurs de localisation pendant l'entraînement sur des jeux de données comme nuScenes ou KITTI, le véhicule apprend à prédire la position exacte des objets, ce qui est essentiel pour éviter les collisions dans les solutions d'IA appliquée à l'automobile.
- Diagnostic médical : Dans l'analyse d'images médicales, l'identification des pathologies nécessite souvent de segmenter de petites anomalies au sein de tissus sains. Des fonctions spécialisées comme la Dice Loss sont utilisées dans les tâches de segmentation, notamment pour détecter des tumeurs sur des clichés d'IRM. Ces fonctions gèrent le déséquilibre des classes en pénalisant fortement le modèle lorsqu'il ne détecte pas la petite zone d'intérêt, améliorant ainsi la sensibilité des outils d'IA dans le domaine de la santé.
Exemple Python : calcul de la perte d'entropie croisée#
Même si les frameworks de haut niveau comme l'Ultralytics Platform gèrent automatiquement le calcul de la perte pendant l'entraînement, comprendre les mathématiques sous-jacentes est utile pour le débogage. L'exemple suivant utilise PyTorch — le backend des modèles Ultralytics — pour calculer la perte entre une prédiction et une cible.
import torch
import torch.nn as nn
# Define the loss function (CrossEntropyLoss includes Softmax)
loss_fn = nn.CrossEntropyLoss()
# Mock model output (logits) for 3 classes and the true class (Class 0)
# A high score for index 0 indicates a correct prediction
predictions = torch.tensor([[2.5, 0.1, -1.2]])
ground_truth = torch.tensor([0])
# Calculate the numerical loss value
loss = loss_fn(predictions, ground_truth)
print(f"Calculated Loss: {loss.item():.4f}")Distinguer les concepts associés#
Il est important de distinguer la fonction de perte des autres métriques utilisées tout au long du pipeline d'apprentissage automatique.
- Fonction de perte et métriques d'évaluation : Une fonction de perte est différentiable et utilisée pendant l'entraînement pour mettre à jour les poids. En revanche, les métriques d'évaluation comme l'Accuracy, la Precision et la précision moyenne (mAP) sont utilisées après l'entraînement pour évaluer les performances dans des termes compréhensibles par les humains. Un modèle peut minimiser efficacement la perte tout en affichant une faible précision si la fonction de perte ne correspond pas parfaitement à l'objectif concret.
- Fonction de perte et régularisation : Alors que la fonction de perte guide le modèle vers la prédiction correcte, les techniques de régularisation (comme les pénalités L1 ou L2) sont ajoutées à l'équation de perte pour éviter le surapprentissage. La régularisation décourage les modèles excessivement complexes en pénalisant les poids élevés, ce qui aide le système à mieux généraliser à des données de test inédites.
- Fonction de perte et fonction de récompense : Dans l'apprentissage par renforcement, un agent apprend en maximisant une « récompense » cumulative plutôt qu'en minimisant une perte. Bien qu'elles soient conceptuellement inverses, toutes deux servent de fonction objectif qui guide le processus d'optimisation.









