Dans le domaine du machine learning (ML), une fonction de perte est utilisée pour évaluer la performance d'un modèle en mesurant l'écart entre ses prédictions et celles de la « vérité terrain ». Optimiser un modèle consiste à ajuster ses paramètres pour minimiser le résultat de cette fonction de perte.
Une fonction de perte est un type de fonction objective qui, dans le cadre de la science des données, désigne toute fonction dont la minimisation ou la maximisation représente l'objectif de l'entraînement du modèle. Le terme « fonction de perte », souvent utilisé de manière interchangeable avec fonction de coût ou fonction d'erreur, fait spécifiquement référence aux situations où la minimisation est l'objectif de l'entraînement d'un modèle de machine learning.
En termes simples, une fonction de perte mesure le degré d'erreur dans les résultats d'un modèle d'intelligence artificielle (IA). Elle quantifie la différence (« perte ») entre une valeur prédite (la sortie du modèle) pour une entrée donnée et la valeur réelle, ou « vérité terrain ». Si les prédictions du modèle sont exactes, la perte est faible. Si elles sont inexactes, la perte est importante.
L'objectif fondamental du machine learning est d'entraîner les modèles à produire des prédictions fiables. Les fonctions de perte nous permettent de définir cet objectif de manière mathématique et de l'atteindre. Pendant l'entraînement, les modèles « apprennent » à améliorer leurs prédictions en ajustant leurs paramètres de façon à réduire les pertes. Un modèle de machine learning est considéré comme suffisamment entraîné lorsque la perte est minimisée en dessous d'un seuil prédéterminé.
Dans une configuration de modèles typique, un modèle fait des prédictions sur un lot d'échantillons de points de données tirés du jeu de données d'entraînement, et une fonction de perte mesure l'erreur moyenne pour chaque exemple. Cette information est ensuite utilisée pour optimiser les paramètres du modèle.
Les fonctions de perte sont spécifiques à l'apprentissage supervisé, dont les tâches supposent l'existence d'une réponse correcte : la vérité terrain. Les algorithmes d'apprentissage non supervisé, tels que le clustering ou l'association, ne s'appuient pas sur des réponses « justes » ou « fausses », car ils cherchent uniquement à découvrir des motifs intrinsèques dans des données non étiquetées.
L'apprentissage supervisé nécessite des jeux de données étiquetés, dans lesquels des annotations manuelles fournissent la vérité terrain pour chaque exemple d'entraînement. Par exemple, les modèles de segmentation d'images nécessitent des échantillons d'entraînement où chaque pixel est annoté selon sa classe correcte. Dans le cadre de l'apprentissage auto-supervisé, qui masque ou transforme des parties d'échantillons non étiquetés et charge les modèles de les reconstruire, l'échantillon original lui-même sert de vérité terrain.
Les fonctions de perte ne sont pas de simples mesures d'évaluation. Leur objectif n'est pas uniquement de mesurer le succès d'un modèle, mais également de servir d'entrée à un algorithme qui optimise les paramètres du modèle afin de minimiser la perte.
Les algorithmes d'optimisation tels que la descente de gradient utilisent généralement le gradient de la fonction de perte. Le gradient est la dérivée d'une fonction avec plusieurs variables. Essentiellement, une dérivée décrit la vitesse et l'ampleur du changement de la sortie d'une fonction en tout point. Il est donc crucial que les fonctions de perte soient différentiables, c'est-à-dire qu'elles aient une dérivée en chaque point.
Les modèles de machine learning apprennent à faire des prédictions précises en ajustant certains paramètres du modèle. Par exemple, un algorithme simple de régression linéaire modélise les données avec la fonction y = wx+b, où y représente la sortie du modèle, x l’entrée, w un poids et b un biais. Le modèle apprend en ajustant les termes de poids et de biais jusqu’à ce que la fonction de perte soit suffisamment réduite.
En utilisant le gradient de la fonction de perte, les algorithmes d'optimisation déterminent la direction dans laquelle ajuster les paramètres du modèle pour réduire la perte.
Les modèles d'apprentissage profond emploient de vastes réseaux neuronaux artificiels, composés de couches de neurones interconnectés, chacun possédant sa propre fonction d'activation non linéaire, plutôt que de s'appuyer sur une seule fonction. Pour différencier l'ensemble du réseau, il est nécessaire de calculer les dérivées partielles de centaines, de milliers, voire de millions de variables et de fonctions d'activation distinctes les unes par rapport aux autres.
Pour ce faire, les réseaux neuronaux utilisent la rétropropagation afin de trouver le gradient de la fonction de perte après un passage avant qui se termine par une prédiction sur un point de données tiré du jeu de données d’entraînement. Forme abrégée de propagation de l’erreur en sens inverse, la rétropropagation désigne le processus par lequel l’erreur se propage du résultat vers les couches d’entrée du modèle. En remontant le réseau de la couche de sortie à la couche d’entrée, la rétropropagation utilise la règle de la chaîne pour calculer la contribution de chaque poids et biais à la perte globale.
Le gradient résultant des dérivées partielles à travers tout le réseau peut ensuite être utilisé par les algorithmes de descente de gradient pour ajuster les poids du réseau de manière itérative, jusqu'à ce que la perte soit suffisamment minimisée.
Bien que les modèles soient entraînés et validés en faisant des prédictions sur un jeu de données d'entraînement, obtenir de bons résultats sur des exemples d'entraînement n'est pas l'objectif ultime. Le véritable objectif du machine learning est de former des modèles qui se généralisent bien à de nouveaux exemples.
S'appuyer uniquement sur la minimisation d'une fonction de perte unique est appelé « minimisation empirique du risque ». Bien qu'elle puisse sembler attrayante par sa simplicité, elle présente le risque qu'un modèle surapprenne les données d'entraînement et se généralise mal aux nouveaux ensembles de données. Pour réduire ce risque, de nombreux algorithmes et architectures introduisent des termes de régularisation qui modifient la fonction de perte principale.
Par exemple, l'erreur absolue moyenne (MAE) – appelée régularisation L1 dans ce contexte – peut être utilisée pour encourager la parcimonie en pénalisant le nombre de neurones activés dans un réseau neuronal ou l'ampleur de leur activation.
Il existe une grande variété de fonctions de perte, chacune adaptée à des objectifs, des types de données et des priorités spécifiques. Les fonctions de perte les plus couramment utilisées se divisent principalement en deux catégories : les fonctions de perte de régression et les fonctions de perte de classification.
Les fonctions de perte de régression mesurent les erreurs de prédiction impliquant des valeurs continues. Bien qu’elles soient couramment utilisées pour des modèles estimant des concepts quantifiables comme le prix, l’âge, la taille ou le temps, les fonctions de perte de régression ont des applications variées. Par exemple, elles peuvent être utilisées pour optimiser un modèle d’image dont la tâche consiste à estimer la valeur de la couleur de chaque pixel.
Les fonctions de perte de classification mesurent les erreurs dans les prédictions impliquant des valeurs discrètes, telles que la catégorie à laquelle appartient un point de données ou si un e-mail est un spam ou non. Ces fonctions peuvent être subdivisées en deux types : celles adaptées à la classification binaire et celles adaptées à la classification multi-classes.
Le choix d'une fonction de perte parmi ces deux grandes catégories dépend de la nature du cas d'utilisation. Certains algorithmes de machine learning nécessitent une fonction de perte spécifique adaptée à leur structure mathématique, mais pour la plupart des architectures de modèles, plusieurs options sont théoriquement disponibles.
Différentes fonctions de perte mettent l'accent sur différents types d'erreurs. Par exemple, certaines pénalisent sévèrement les valeurs aberrantes tandis que d'autres gèrent les petites variations. Certaines fonctions offrent une plus grande précision, mais nécessitent des calculs plus complexes, ce qui demande davantage de temps et de ressources informatiques.
En fin de compte, le choix d'une fonction de perte doit refléter la tâche d'apprentissage spécifique, la nature des données analysées par le modèle, les types d'inexactitudes les plus coûteux et les ressources informatiques disponibles.
Les problèmes de régression, tels que la régression linéaire ou la régression polynomiale, produisent des valeurs continues en déterminant la relation entre une ou plusieurs variables indépendantes (x) et une variable dépendante (y) : pour x, prédire la valeur de y. La perte de régression doit donc être sensible non seulement au fait qu'une prédiction est incorrecte, mais aussi au degré de divergence par rapport à la vérité terrain.
La fonction de perte de l’erreur quadratique moyenne, également appelée perte L2 ou perte quadratique, est généralement la valeur par défaut pour la plupart des algorithmes de régression. Comme son nom l’indique, la MSE est calculée comme la moyenne des différences au carré entre la valeur prédite et la valeur réelle sur l’ensemble des exemples d’entraînement. La formule de calcul de la MSE sur n points de données s’écrit 1n∑i=1n(yi-yi^)2, où y est la valeur réelle et ŷ la valeur prédite.
Le fait de mettre l'erreur au carré signifie que la valeur résultante est toujours positive : ainsi, la MSE évalue uniquement l'ampleur de l'erreur et non sa direction. La mise au carré de l'erreur donne également un poids disproportionné aux erreurs importantes, ce qui pénalise fortement les valeurs aberrantes et incite le modèle à les réduire. La MSE est donc appropriée lorsque les sorties cibles sont supposées suivre une distribution normale (gaussienne).
La MSE est toujours différentiable, ce qui la rend pratique pour optimiser les modèles de régression via la descente de gradient.
Pour les problèmes de régression où les résultats cibles couvrent une très large gamme de valeurs potentielles, comme dans les cas de croissance exponentielle, une forte pénalisation des erreurs importantes peut être contre-productive. L’erreur logarithmique quadratique moyenne (MSLE) compense ce problème en calculant la moyenne des carrés du logarithme naturel des différences entre les valeurs prédites et les valeurs moyennes. Il convient toutefois de noter que la MSLE pénalise davantage les prédictions trop faibles que les prédictions trop élevées.
La formule de la MSLE est la suivante : 1n∑i=1n(loge(1+yi)-loge(1+yi^))2
L’erreur quadratique moyenne racine (RMSE) est la racine carrée de la MSE, ce qui la rapproche de la formule de l’écart-type. Plus précisément, la RMSE est calculée comme suit :
.
La RMSE reflète largement les qualités de la MSE en termes de sensibilité aux valeurs aberrantes, mais elle est plus facile à interpréter car elle exprime la perte dans les mêmes unités que la valeur de sortie elle-même.Cependant, cet avantage est quelque peu atténué par le fait que le calcul de la RMSE nécessite une étape supplémentaire par rapport à la MSE, ce qui augmente les coûts de calcul.
L'erreur absolue moyenne (MAE), ou perte L1, mesure la différence absolue moyenne entre la valeur prédite et la valeur réelle. Comme la MSE, la MAE est toujours positive et ne fait pas de distinction entre les estimations trop élevées ou trop basses. Elle est calculée comme la somme des valeurs absolues de toutes les erreurs, divisée par la taille de l'échantillon. :
Comme elle ne met pas au carré chaque valeur de perte, la MAE est plus robuste aux valeurs aberrantes que la MSE. La MAE est donc idéale lorsque les données peuvent contenir des valeurs extrêmes qui ne devraient pas avoir un impact trop important sur le modèle. La perte L1 pénalise également davantage les petites erreurs que la perte L2.
Cependant, la fonction de perte MAE n'est pas différentiable dans les cas où la sortie prédite correspond à la sortie réelle. Par conséquent, la MAE nécessite davantage d'étapes de contournement lors de l'optimisation.
La perte de Huber, également appelée perte L1 lisse, vise à équilibrer les forces de la MAE et de la MSE. Elle intègre un hyperparamètre réglable, δ, qui sert de point de transition : pour les valeurs de perte inférieures ou égales à δ, la perte de Huber est quadratique (comme la MSE) ; pour les valeurs de perte supérieures à δ, la perte de Huber devient linéaire (comme la MAE).
La perte de Huber offre ainsi une fonction entièrement différentiable, combinant la robustesse de la MAE face aux valeurs aberrantes et la facilité d'optimisation de la MSE par descente de gradient. Le passage du comportement quadratique au comportement linéaire à δ permet également une optimisation moins sujette aux problèmes tels que l'évanouissement ou l'explosion des gradients, par rapport à la MSE.
Cependant, ces avantages sont compensés par la nécessité de définir soigneusement δ, ce qui ajoute de la complexité au développement du modèle. La perte de Huber est particulièrement appropriée lorsque ni la MSE ni la MAE ne peuvent donner de résultats satisfaisants, par exemple lorsqu'un modèle doit être robuste face aux valeurs aberrantes tout en pénalisant sévèrement les valeurs extrêmes qui dépassent un certain seuil.
Les problèmes de classification, et les fonctions de perte utilisées pour optimiser les modèles qui les résolvent, sont divisés en classification binaire – par exemple, « spam » ou « non spam », « approuver » ou « rejeter » – ou en classification multiclasse.
Les problèmes de classification multiclasse peuvent être abordés de deux manières. La première consiste à calculer la probabilité relative qu'un point de données appartienne à chaque catégorie potentielle, puis à sélectionner la catégorie à laquelle est attribuée la probabilité la plus élevée. Cette approche est généralement employée par les réseaux neuronaux, qui utilisent une fonction d'activation softmax pour les neurones de la couche de sortie. L'autre approche consiste à diviser le problème en une série de problèmes de classification binaire.
Dans la plupart des cas, la perte de classification est calculée en termes d’entropie. L’entropie, en termes simples, est une mesure de l’incertitude dans un système. Pour un exemple intuitif, comparons le lancer d’une pièce de monnaie avec le lancer d’un dé : le premier a une entropie plus faible, car il y a moins de résultats possibles dans le lancer d’une pièce (2) que dans celui d’un dé (6).
Dans l’apprentissage supervisé, les prédictions du modèle sont comparées aux classifications de la vérité terrain fournies par les étiquettes des données. Ces étiquettes de vérité terrain sont certaines et ont donc une faible entropie, voire aucune. Ainsi, on peut mesurer la perte en termes de différence entre la certitude que nous aurions en utilisant les étiquettes de vérité terrain et la certitude des étiquettes prédites par le modèle.
La formule de la perte d’entropie croisée (CEL) est dérivée de celle de la divergence Kullback-Leibler (KL divergence), qui mesure la différence entre deux distributions de probabilité. Finalement, minimiser la perte revient à minimiser la différence entre la distribution de probabilité de la vérité terrain attribuée à chaque étiquette potentielle et celle des étiquettes prédites par le modèle.
La perte d’entropie croisée binaire, également appelée perte logarithmique, est utilisée pour la classification binaire. Les algorithmes de classification binaire produisent généralement une valeur de vraisemblance comprise entre 0 et 1. Par exemple, dans un modèle de détection de spam par e-mail, les entrées d’e-mails qui produisent des résultats proches de 1 sont étiquetées comme « spam ». Les entrées dont les résultats sont proches de 0 sont classées comme « non spam ». Une sortie de 0,5 indiquerait une incertitude maximale, donc une entropie élevée.
Bien que l’algorithme produise des valeurs comprises entre 0 et 1, les valeurs de vérité terrain pour les prédictions correctes sont exactement « 0 » ou « 1 ». Minimiser la perte d’entropie croisée binaire implique donc de pénaliser non seulement les prédictions incorrectes, mais aussi celles qui manquent de certitude. Cela incite le modèle à apprendre des paramètres qui produisent des prédictions à la fois correctes et confiantes. De plus, en utilisant les logarithmes des valeurs de vraisemblance prédites, l’algorithme pénalise plus sévèrement les prédictions qui sont erronées avec certitude.
Pour maintenir la convention selon laquelle des valeurs de perte plus faibles signifient moins d’erreurs, le résultat est multiplié par -1. La perte logarithmique pour un seul exemple i est calculée ainsi : –(yi·log(p(yi))+(1-yi)·log(1-p(yi))), où yi est la vraie probabilité (0 ou 1) et p(yi) est la probabilité prédite. La perte moyenne sur un ensemble de n exemples d’entraînement est donc calculée comme suit : –1n∑i=1nyi·log(p(yi))+(1-yi)·log(1-p(yi)).
La perte d’entropie croisée catégorielle (CCEL) applique ce même principe à la classification multiclasse. Un modèle de classification multiclasse produit généralement une valeur pour chaque classe potentielle, représentant la probabilité qu’une entrée appartienne à chaque catégorie respective. En d’autres termes, le modèle produit des prédictions sous forme de distribution de probabilité.
Dans l'apprentissage profond, les classificateurs de réseaux neuronaux utilisent généralement une fonction d'activation softmax pour les neurones de la couche de sortie. Chaque neurone de sortie a une valeur comprise entre 0 et 1, et la somme de toutes ces valeurs atteint 1.
Par exemple, pour un point de données avec une seule catégorie correcte, les valeurs de vérité terrain comprennent « 1 » pour la vraie classe et « 0 » pour toutes les classes incorrectes. Minimiser la CCEL implique d'augmenter la valeur de sortie pour la classe correcte et de diminuer les valeurs de sortie pour les classes incorrectes, ce qui rapproche la distribution de probabilité de celle de la vérité terrain. Pour chaque exemple, la perte logarithmique doit être calculée pour chaque classification potentielle prédite par le modèle.
La perte charnière est une fonction de perte alternative pour les problèmes de classification binaire, particulièrement bien adaptée à l'optimisation des modèles de machines à vecteurs de support (SVM). Plus précisément, c'est une fonction de perte efficace pour optimiser une limite de décision séparant deux classes, permettant ensuite de classer les points selon le côté de la limite où ils se situent.
Dans les algorithmes utilisant la perte charnière, la vérité terrain pour chaque étiquette binaire est mappée sur {-1, 1} plutôt que sur {0,1}. La fonction de perte charnière ℓ est définie ℓ(𝑦)=max(0,1−𝑡⋅𝑦), où t est l'étiquette réelle et y est la sortie du classificateur. Le résultat de cette équation est toujours non négatif : si 1−𝑡⋅𝑦 est négatif (ce qui n'est possible que si t et y ont le même signe, indiquant que le modèle a prédit la bonne classe), la perte est définie comme 0.
Cela offre diverses possibilités et incitations :
Lorsque les prédictions du modèle sont correctes et confiantes (c’est-à-dire lorsque y est du bon signe et|y| ≥ 1), la valeur 1–t⋅𝑦 sera négative, donc ℓ = 0.
Lorsque les prédictions du modèle sont correctes, mais pas confiantes (c’est-à-dire lorsque y est du bon signe mais |y| < 1), la valeur de ℓ sera positive, comprise entre 0 et 1. Cela décourage les prédictions peu confiantes.
Lorsque les prédictions du modèle sont incorrectes (c'est-à-dire lorsque y est du mauvais signe), la valeur de ℓ sera supérieure à 1 et augmentera linéairement avec la valeur de |y|, ce qui dissuade fortement les prédictions incorrectes. Cela décourage fortement les prédictions incorrectes.
Certaines architectures de modèles, notamment celles utilisées dans l’apprentissage profond, emploient des fonctions de perte spécialisées. Bien que ces fonctions d’objectif soient uniques en termes de contexte et de logique, elles sont souvent (mais pas toujours) une application spécialisée d’une fonction de perte courante à un objectif d’entraînement spécifique.
Par exemple :
Les autoencodeurs sont des modèles non supervisés qui apprennent à coder efficacement une représentation compressée des données d'entrée en les faisant passer par un « goulot d'étranglement », puis en utilisant cette représentation pour reconstruire l'entrée d'origine. Les autoencodeurs apprennent en minimisant la perte de reconstruction : la différence entre l'entrée originale et celle reconstruite, généralement calculée via la MSE. Les autoencodeurs variationnels intègrent la divergence KL comme terme de régularisation.
Les modèles de détection d'objets minimisent deux types de pertes : la régression par boîte de délimitation et la perte d'entropie croisée. La première utilise la MSE, la MAE ou une perte spécialisée telle que l'indicateur IoU (intersection over union) pour comparer les coordonnées de la boîte de délimitation prédite à celles de la vérité terrain. La seconde mesure la classification de l'objet lui-même.
L'apprentissage contrastif, une forme d'apprentissage auto-supervisé, entraîne un modèle à produire des encastrements de vecteurs similaires pour des points de données similaires. Il vise à réduire la perte contrastive ou des variantes spécialisées telles que la perte de triplet.
Nous avons interrogé 2 000 entreprises à propos de leurs initiatives d’IA pour découvrir ce qui fonctionne, ce qui ne fonctionne pas et comment progresser.
IBM Granite est notre famille de modèles d’IA ouverts, performants et fiables, conçus pour les entreprises et optimisés pour dimensionner vos applications d’IA. Explorez les options de langage, de code, de séries temporelles et de garde-fous.
Accédez à notre catalogue complet de plus de 100 cours en ligne en souscrivant aujourd’hui un abonnement individuel ou multiutilisateur afin d’élargir vos compétences dans certains de nos produits à un prix avantageux.
Dirigé par des leaders d’opinion IBM, le programme a pour but d’aider les chefs d’entreprise à acquérir les connaissances nécessaires qui leur permettront d’orienter leurs investissements IA vers les opportunités les plus prometteuses.
IBM web domains
ibm.com, ibm.org, ibm-zcouncil.com, insights-on-business.com, jazz.net, mobilebusinessinsights.com, promontory.com, proveit.com, ptech.org, s81c.com, securityintelligence.com, skillsbuild.org, softlayer.com, storagecommunity.org, think-exchange.com, thoughtsoncloud.com, alphaevents.webcasts.com, ibm-cloud.github.io, ibmbigdatahub.com, bluemix.net, mybluemix.net, ibm.net, ibmcloud.com, galasa.dev, blueworkslive.com, swiss-quantum.ch, blueworkslive.com, cloudant.com, ibm.ie, ibm.fr, ibm.com.br, ibm.co, ibm.ca, community.watsonanalytics.com, datapower.com, skills.yourlearning.ibm.com, bluewolf.com, carbondesignsystem.com