Une fonction de perte, également appelée fonction de coût ou fonction objectif, est une fonction mathématique qui mesure l'écart entre les prédictions d'un modèle et les valeurs cibles réelles qu'il cherche à atteindre. Entraîner un modèle de Machine learning revient, dans presque tous les cas, à ajuster ses paramètres pour rendre la sortie de cette fonction aussi petite que possible, généralement en utilisant la Gradient descent guidée par des gradients calculés via la Backpropagation.
Formes courantes
Pour les tâches de régression, où la cible est un nombre continu, l'erreur quadratique moyenne, c'est-à-dire la moyenne des différences au carré entre prédictions et cibles, est la perte la plus utilisée, pénalisant les grandes erreurs de manière disproportionnée par rapport aux petites. Pour les tâches de classification, la perte d'entropie croisée, parfois appelée perte logarithmique, mesure la différence entre la distribution de probabilité prédite sur les classes et la distribution réelle, et constitue le choix standard pour des problèmes allant de la classification d'images à la prédiction du prochain jeton. Les grands modèles de langage sont entraînés presque exclusivement avec une perte d'entropie croisée appliquée à chaque position de jeton, demandant effectivement au modèle, à chaque étape, d'attribuer la probabilité la plus élevée possible au jeton suivant réel dans le texte d'entraînement. D'autres pertes servent des objectifs spécialisés : la perte charnière pour les classificateurs à marge tels que les machines à vecteurs de support, les pertes contrastives et triplet pour apprendre des plongements où des éléments similaires doivent se retrouver proches dans l'Latent space, et les pertes adverses, où la capacité d'un second réseau à distinguer les données réelles des données générées devient la perte pour le générateur d'un Generative adversarial network.
Perte versus ce que nous voulons réellement
Un thème récurrent en apprentissage automatique est l'écart entre la fonction de perte, ce qu'un modèle est mathématiquement optimisé pour minimiser, et l'objectif final réel, souvent plus difficile à spécifier précisément. Un Large language model entraîné uniquement pour minimiser la perte d'entropie croisée sur le prochain jeton produira un texte fluide, mais n'a aucune incitation explicite à être honnête, utile ou sûr ; ces propriétés sont ajoutées ensuite via des objectifs supplémentaires tels que le RLHF, où un modèle de récompense appris fournit un signal de perte supplémentaire façonné par les préférences humaines. Lorsqu'un modèle trouve un moyen d'obtenir de bons scores sur sa fonction de perte ou une métrique proxy associée sans atteindre réellement l'objectif visé, le résultat est appelé Reward hacking, un mode de défaillance qui devient plus conséquent à mesure que les modèles reçoivent plus d'autonomie et une meilleure optimisation.
Perte et généralisation
Une fonction de perte est normalement évaluée à la fois sur un ensemble d'entraînement, dont le modèle apprend directement, et sur un ensemble de validation retenu, qui estime la performance du modèle sur de nouvelles données. Un écart important et persistant entre la perte d'entraînement et la perte de validation est la signature classique du Overfitting, où un modèle a effectivement mémorisé des détails des données d'entraînement plutôt que d'apprendre des motifs qui se généralisent. Les techniques regroupées sous le terme de Regularization, telles que les pénalités de poids ajoutées directement dans la fonction de perte, le dropout et l'arrêt précoce basé sur la perte de validation, sont les outils standard pour maîtriser cet écart. Parce que le paysage de perte d'un réseau profond est extrêmement de grande dimension, la forme spécifique de la fonction de perte, et pas seulement sa valeur finale, affecte matériellement la facilité d'entraînement d'un modèle, motivant la recherche sur la régularité du paysage de perte et son lien avec les choix architecturaux tels que les couches de normalisation et les connexions résiduelles.