Fonctions de perte dans les réseaux de neurones

La fonction d'activation est passée en revue dans l'article " Fonctions d'activation communes dans les réseaux de neurones ". La figure suivante est un sous-ensemble de la fonction d'activation——

e51bb1b4675819c671ec5f424bf2b51c.png

Une autre fonction importante dans le domaine des réseaux de neurones est la fonction de perte. Alors, qu'est-ce que la fonction de perte ?

La fonction de perte est une fonction qui mappe des événements aléatoires ou leurs variables aléatoires associées à des nombres réels non négatifs pour représenter le "risque" ou la "perte" de l'événement aléatoire, et est utilisée pour mesurer le degré d'écart entre la valeur prédite et la valeur réelle. Dans l'apprentissage automatique, une fonction de perte fait partie d'une fonction de coût, qui est un type de fonction objectif. Dans les applications, les fonctions de perte sont souvent associées à des problèmes d'optimisation en tant que critères d'apprentissage, c'est-à-dire la résolution et l'évaluation de modèles en minimisant la fonction de perte.

c167cb59927fb0ae14807750c460b182.jpeg

Voici un bref aperçu de certaines fonctions de perte courantes et de leurs cas d'utilisation concis. Pour faciliter la compréhension, les fonctions de perte sont divisées en deux catégories : les fonctions de perte orientées classification et les fonctions de perte orientées régression. Afin de faciliter la comparaison des différentes fonctions de perte, elle est souvent exprimée sous la forme d'une fonction univariée, qui est y−f(x) dans les problèmes de régression et yf(x) dans les problèmes de classification.

Fonctions de perte axées sur la classification

Pour les problèmes de classification binaire, y∈{−1,+1}, la fonction de perte est souvent exprimée sous une forme monotone décroissante par rapport à yf(x). yf(x) est appelée marge, et la minimisation de la fonction de perte peut également être considérée comme un processus de maximisation de la marge.Toute fonction de perte de classification qualifiée devrait imposer une pénalité plus importante aux échantillons avec marge<0.

Fonction de perte de perte d'entropie croisée

L'entropie en physique représente le degré de désordre dans un système thermodynamique. Afin de résoudre le problème de la mesure quantitative de l'information, Shannon a proposé le concept « d'entropie de l'information » en 1948, en utilisant une fonction logarithmique pour représenter la mesure de l'incertitude. Plus l'entropie est élevée, plus d'informations peuvent être transmises et plus l'entropie est faible, moins d'informations peuvent être transmises.L'entropie peut être directement comprise comme la quantité d'informations.

L'entropie croisée (entropie croisée, CE) décrit la distance entre deux distributions de probabilité et convient mieux aux problèmes de classification, car l'entropie croisée exprime la probabilité de prédire qu'un échantillon d'entrée appartient à une certaine classe.

La fonction de perte d'entropie croisée, ou perte logarithmique négative, mesure les performances d'un modèle de classification dont la sortie est une valeur de probabilité comprise entre 0 et 1, et est souvent utilisée dans les problèmes binaires et multi-classification. La perte d'entropie croisée augmente à mesure que les valeurs de probabilité prédites s'éloignent des étiquettes réelles. Un modèle parfait n'aurait aucune perte car les valeurs prédites correspondraient aux valeurs réelles.

Pour la classification binaire, la formule de perte d'entropie croisée est la suivante :

dbc00483d21edcc96768c5f315011196.jpeg

Dans les tâches de multi-classification, la fonction d'activation softmax + la fonction de perte d'entropie croisée sont souvent utilisées, car l'entropie croisée décrit la différence entre deux distributions de probabilité, mais la sortie du réseau de neurones est un vecteur, pas sous la forme d'une distribution de probabilité . Par conséquent, la fonction d'activation softmax est nécessaire pour "normaliser" un vecteur sous la forme d'une distribution de probabilité, puis utiliser la fonction de perte d'entropie croisée pour calculer la perte.

Pour la multi-classification, la formule de perte d'entropie croisée est la suivante :

da32bc3e97cb27a12557ac0efd33501d.png

Fonction de perte de perte focale

La fonction de perte focale est de résoudre le problème de déséquilibre extrême entre les échantillons positifs et négatifs dans la détection de cible en une étape.C'est une fonction de perte pour la détection de cible dense. C'est l'un des choix les plus courants lors de la formation de réseaux de neurones profonds pour les problèmes de détection et de classification d'objets.

49320821574d37bcfa8928256b8761d5.jpeg

La fonction de perte focale est basée sur l'entropie croisée binaire. Grâce à un facteur d'échelle dynamique, le poids des échantillons faciles à distinguer peut être dynamiquement réduit pendant l'entraînement, de sorte que le centre de gravité peut être rapidement concentré sur ceux difficiles à distinguer. -distinguer les échantillons. Ces échantillons peuvent être des échantillons positifs ou des échantillons négatifs, mais ce sont tous des échantillons utiles pour la formation du réseau.

387c7d1074817d760bd940f671f34633.png

La fonction de perte focale calcule une perte d'entropie croisée mise à l'échelle dynamiquement, où le facteur d'échelle décroît jusqu'à zéro, à mesure que la confiance de la classe correcte augmente.

Fonction de perte polyloss

La fonction de perte d'entropie croisée et la fonction de perte de perte focale sont les choix les plus couramment utilisés dans la formation des problèmes de classification des réseaux neuronaux profonds. En général, cependant, une bonne fonction de perte peut prendre une forme plus flexible et doit être adaptée à différentes tâches et ensembles de données.

La fonction de perte peut être considérée comme une combinaison linéaire de fonctions polynomiales, et la fonction est approximée par le développement de Taylor. Sous expansion polynomiale, la perte focale est le déplacement horizontal des coefficients polynomiaux par rapport à la perte d'entropie croisée. Si les coefficients polynomiaux sont modifiés verticalement, la formule de calcul de Polyloss est obtenue :

a370a1ce9a80c970b8040ae0c3ec228e.png

La polyperte est une forme généralisée de la fonction de perte de perte d'entropie croisée.

Fonction de perte de charnière

La fonction Hinge loss loss est généralement adaptée aux scénarios de classification binaire et peut être utilisée pour résoudre le problème de maximisation des intervalles. Elle est souvent utilisée dans le célèbre algorithme SVM.

La fonction de perte de charnière est une fonction convexe qui est bonne pour la classification "marge maximale", de sorte que de nombreux optimiseurs convexes couramment utilisés dans l'apprentissage automatique peuvent en tirer parti.

3a63e51c9af256a5e239807c89508515.png

La fonction de perte charnière prend la différence ou la distance par rapport à la limite de classification dans le calcul des coûts. Même si les nouvelles observations sont correctement classées, elles sont pénalisées par une perte linéairement croissante si l'écart entre les bornes de décision n'est pas assez grand.

Fonction de perte de perte généralisée de bout en bout

La fonction de perte généralisée de bout en bout (GE2E en abrégé) est une fonction de perte généralisée de bout en bout pour la vérification du locuteur.

La vérification du locuteur fait référence à la tâche de vérifier si une voix d'entrée appartient à un locuteur spécifique. Il existe ici deux concepts : l'énoncé d'inscription et l'énoncé de vérification. Le premier peut être compris comme une "empreinte vocale" réservée, tandis que le second est utilisé pour la vérification. voix. Il est en outre subdivisé en deux tâches : la vérification du locuteur dépendant du texte (TD-SV) et la vérification indépendante du texte (TI-SV). TD-SV a certaines restrictions sur le contenu de la voix utilisée pour la vérification. Un exemple courant est Siri. À ce moment, une phrase fixe "Hey, siri" doit être prononcée. En revanche, TI-SV n'impose aucune restriction sur le contenu de la parole.

GE2E rend la formation du modèle de vérification du locuteur plus efficace que la fonction de perte de perte de bout en bout basée sur tuple (TE2E), et présente les avantages d'une convergence rapide et d'une mise en œuvre simple.

4be50e5f5f653be71b31269e80598885.png

GE2E fera en sorte que le réseau se concentre sur les données qui ne sont pas facilement distinguables lors de la mise à jour des paramètres et ne nécessitent pas de sélection d'exemples avant la formation. De plus, GE2E Loss ne nécessite pas de sélection d'exemple au stade initial.

Fonction de perte de perte de marge angulaire additive

La perte de marge angulaire additive (AAM) est principalement utilisée dans la reconnaissance faciale, mais elle a également été appliquée dans d'autres domaines tels que la reconnaissance vocale.

L'un des principaux défis de l'apprentissage des caractéristiques pour la reconnaissance faciale à grande échelle à l'aide d'un réseau de neurones à convolution profonde (DCNN) est de savoir comment concevoir une fonction de perte appropriée pour améliorer la capacité de reconnaissance. La perte de centre pénalise la distance entre les entités profondes et leurs centres de classe correspondants dans l'espace euclidien pour obtenir une compacité intra-classe. On suppose que la matrice de cartographie linéaire dans la dernière couche entièrement connectée peut être utilisée pour représenter les centres de classe dans l'espace angulaire, et l'angle entre les caractéristiques profondes et leurs poids correspondants est pénalisé de manière multiplicative. Une direction de recherche populaire consiste à incorporer des marges réservées dans des fonctions de perte établies pour maximiser la séparabilité des faces.

AAM Loss (ArcFace) obtient des caractéristiques hautement discriminantes avec une interprétation géométrique claire (surpassant les autres fonctions de perte) en raison de la correspondance précise avec les distances géodésiques sur les hypersphères. ArcFace surpasse constamment l'état de l'art et peut être facilement mis en œuvre avec une surcharge de calcul négligeable.

bb64403cab7240bc6974485e1be115e7.png

Plus précisément, l'arc cos(θ+m) proposé maximise directement la frontière de décision dans l'espace d'angle (arc) en fonction des poids et des caractéristiques normalisés L2.

Fonction de perte Triplet Loss

Triplet Loss était à l'origine utilisé pour apprendre la reconnaissance faciale de la même personne dans différentes poses et sous différents angles. Triplet Loss est une fonction de perte pour les algorithmes d'apprentissage automatique dans laquelle une entrée de référence (appelée ancre) est comparée à une entrée correspondante (appelée valeur positive) et à une entrée non correspondante (appelée valeur négative).

Considérez la tâche de former un réseau de neurones pour reconnaître les visages (comme entrer dans une zone de haute sécurité). Un classificateur formé doit être recyclé chaque fois qu'une nouvelle personne est ajoutée à la base de données de visages. Ceci peut être évité en faisant du problème un problème d'apprentissage de similarité plutôt qu'un problème de classification. Ici, le réseau est formé (à l'aide d'une perte de contraste) pour produire une distance qui est petite si l'image appartient à une personne connue et grande si l'image appartient à une personne inconnue. Cependant, si nous voulons produire l'image la plus proche d'une image donnée, nous voulons connaître un classement, pas seulement une similarité. Dans ce cas, la triple perte est utilisée.

d6d5639eba42ae5872c911bdc39a188d.png

Où d représente la fonction de distance, qui fait généralement référence au calcul de la distance euclidienne sous Embedding. De toute évidence, Triplet-Loss espère rendre la distance entre a et p aussi petite que possible, tandis que la distance entre a et n est aussi grande que possible.

Un choix important pour l'utilisation de la perte de triplet dans la formation est que nous devons sélectionner des échantillons négatifs, ce que l'on appelle la sélection d'échantillons négatifs ou la collecte de triplets. La stratégie choisie peut avoir un impact significatif sur l'efficacité de la formation et les résultats de performance finale. Une stratégie évidente est la suivante : les triplets simples doivent être échantillonnés autant que possible, car leur perte est de 0, ce qui n'aide pas à l'optimisation.

Fonction de perte InfoNCE Loss

La fonction de perte InfoNCE Loss est une fonction de perte basée sur le contraste, qui est issue de la fonction de perte NCE Loss.

NCE est une méthode basée sur l'échantillonnage qui convertit les problèmes de multi-classification en problèmes de classification binaire. En prenant le modèle de langage comme exemple, l'utilisation de NCE peut convertir le problème de multi-classification consistant à prédire un certain mot du vocabulaire en un problème de classification binaire consistant à distinguer le mot cible des mots parasites. Une classe est l'échantillon de données de catégorie de données, et le l'autre classe est l'échantillon bruyant de la catégorie Bruit, en apprenant la différence entre les échantillons de données et les échantillons de bruit, en comparant des échantillons de données avec des échantillons de bruit, c'est-à-dire "bruit contrasté (bruit contrastif)", afin de découvrir certaines caractéristiques dans les données.

La perte d'informations NCE est une variante simple de NCE. Il pense que si vous ne considérez le problème que comme une catégorie à deux, avec uniquement des échantillons de données et des échantillons de bruit, il peut ne pas être convivial pour l'apprentissage du modèle, car de nombreux échantillons de bruit peuvent ne pas être une classe du tout. , il est donc plus raisonnable de le considérer comme un problème de multi-classification.

816405a3bdbc56fc5fd2dfee68f05460.png

InfoNCE, qui signifie Noise Contrastive Estimation, est une fonction de perte contrastive pour l'apprentissage auto-supervisé qui utilise la perte d'entropie croisée catégorique pour identifier les échantillons positifs dans un ensemble d'échantillons bruyants non corrélés. InfoNCE Loss consiste à diviser N échantillons en K catégories, plutôt que la classification binaire de NCE Loss ou la classification complète de la fonction de perte d'entropie croisée.

Fonction de perte de dés

La fonction de perte de Dice est dérivée du coefficient de Sørensen-Dice, une méthode statistique développée dans les années 1940 pour mesurer la similarité entre deux échantillons. Une valeur plus élevée du coefficient Dice signifie que les deux échantillons sont plus similaires.

Dice Loss est souvent utilisé dans les problèmes de segmentation sémantique. Pour le problème de segmentation à deux catégories, l'étiquette de segmentation réelle n'a que deux valeurs de 0 et 1. Pour le problème de segmentation multi-catégories, Dice Loss est dérivé de l'optimisation directe du score F1, qui est une abstraction élevée du score F1.

En 2016, Milletari et al l'ont présenté à la communauté de la vision par ordinateur pour la segmentation d'images médicales 3D. Afin d'éviter que le terme du dénominateur ne soit égal à 0, nous ajouterons généralement un petit nombre comme coefficient de lissage au numérateur et au dénominateur, également appelé terme de lissage de Laplace. Dice Loss a les caractéristiques principales suivantes :

  • Il est bénéfique à la situation où les échantillons positifs et négatifs sont déséquilibrés, en se concentrant sur l'exploitation des prospects ;

  • Pendant le processus d'entraînement, l'oscillation est susceptible de se produire lorsqu'il y a de nombreuses petites cibles ;

  • Dans les cas extrêmes, une saturation du gradient se produit.

99c761fc668c8400c4256fadeb75d684.png

Du point de vue de la théorie des ensembles, DSC est une mesure du chevauchement entre deux ensembles. Par exemple, si deux ensembles A et B se chevauchent complètement, la valeur maximale du coefficient de dé est 1. Sinon, le coefficient Dice commence à diminuer et la valeur minimale du coefficient Dice est 0 si les deux ensembles ne se chevauchent pas du tout.

9cb63f07ac69b19005dd9245123bc4f3.jpeg

Par conséquent, la plage de DSC est comprise entre 0 et 1, plus elle est grande, mieux c'est. Par conséquent, nous pouvons utiliser 1-DSC comme perte de dés pour maximiser le chevauchement entre les deux ensembles.

Marge Classement Perte Fonction de perte

Comme son nom l'indique, la fonction de perte Margin Ranking Loss est principalement utilisée pour les problèmes de classement et est également utilisée dans les réseaux de confrontation. Margin Ranking Loss calcule la perte de l'entrée X1, X2 et du tenseur d'étiquette y contenant 1 ou -1. Lorsque y a une valeur de 1, la première entrée sera supposée être la plus grande valeur et sera classée plus haut que la deuxième entrée. De même, si y = -1, la deuxième entrée sera triée plus haut.

39f07e7b1dc9fc2d285ca23bc6e31570.png

Margin Ranking Loss calcule un critère pour prédire la distance relative entre les entrées. Cela diffère des autres fonctions de perte, telles que MSE ou entropie croisée, qui apprennent à faire des prédictions directement à partir d'un ensemble donné d'entrées.

Fonction de perte de perte contrastive

Compte tenu de l'exigence de réduction de dimensionnalité de l'apprentissage des mappages invariants, la perte contrastive est une fonction de perte alternative à l'entropie croisée, qui permet une utilisation plus efficace des informations d'étiquette.

Dans le réseau siamois, la fonction de perte utilisée est la perte contrastive. Cette fonction de perte peut traiter efficacement la relation entre les données appariées dans le réseau de neurones siamois. Il ne doit pas nécessairement s'agir de deux réseaux sous forme, mais peut également être un réseau et deux Out.

a7f5911e9c94bc2f04004bf91a63a100.jpeg

Dans l'espace d'intégration, des grappes de points de la même classe sont rassemblées tandis que des grappes d'échantillons de classes différentes sont repoussées. Contrastive utilise la sortie du réseau comme échantillon positif, calcule la distance du réseau à la même instance et la compare à la distance du réseau à l'instance négative. La perte contrastive calcule la distance entre les exemples positifs (exemples de la même classe) et les exemples négatifs (exemples de classes différentes). Par conséquent, si des exemples positifs sont encodés (dans cet espace d'incorporation) dans des exemples similaires, et que des exemples négatifs sont encodés en outre dans des représentations différentes, on peut s'attendre à ce que la perte soit faible.

Fonction de perte de classement négatif multiple

Le cœur du champ de représentation de la phrase est en fait un exemple négatif prescrit implicite, par exemple, seules les phrases d'ancrage et un exemple positif, et les autres phrases du même lot sont des exemples négatifs, ou spécifiez un ensemble de phrases d'ancrage, des exemples positifs, des phrases négatives difficiles exemples Par exemple, les autres déclarations du même lot sont toutes des exemples négatifs, etc. La fonction de perte utilisée est principalement la perte de classement négative multiple, et l'expression mathématique est :

8cb328b8f87bb49180cc08908e6294d0.png

Cette fonction de perte fonctionne bien pour entraîner les intégrations à utiliser des paires positives (par exemple, requête, relevant_doc) dans un cadre de récupération, car elle échantillonnera de manière aléatoire chaque lot de n-1 documents négatifs. Les performances s'améliorent généralement avec des tailles de lots plus importantes.

Dans le problème d'intégration de phrases efficace, le modèle entraîné avec la fonction de perte de classement négatif multiple présente certains avantages.

Fonction de perte orientée vers la régression

Dans le problème de régression, y et f(x) sont des nombres réels ∈ R, donc le résidu y−f(x) est utilisé pour mesurer le degré d'incohérence entre les deux. Plus le résidu est grand (valeur absolue), plus la fonction de perte est grande et plus l'effet du modèle appris est mauvais (le problème de régularisation n'est pas pris en compte ici).

dc98e3653afb787338a21d7c511ab944.png

MAE ou L1 Perte fonction de perte

Comme son nom l'indique, l'erreur moyenne moyenne (MAE) prend la somme moyenne des différences absolues entre la valeur réelle et la valeur prédite, également connue sous le nom de "fonction de perte L1". Il mesure la taille moyenne de l'erreur sur un ensemble de prévisions, quelle que soit la direction de l'erreur. Si la direction est également considérée, elle sera appelée Mean Bias Error (MBE), qui est la somme des résidus ou des erreurs, et sa plage de perte est également de 0 à ∞.

6c8cca5b2080bb5b499717f1e24bf7e5.png

En raison de la présence de valeurs aberrantes (valeurs très différentes du reste des données), les problèmes de régression peuvent avoir des variables qui ne sont pas strictement de nature gaussienne. Dans ce cas, l'erreur absolue moyenne serait un choix idéal car elle ne tient pas compte de la direction des valeurs aberrantes (valeurs positives ou négatives excessivement élevées).

La fonction de perte L1 est utilisée pour minimiser l'erreur, en prenant l'erreur absolue comme distance. L1 n'est pas affecté par les valeurs aberrantes, donc si l'ensemble de données contient des valeurs aberrantes, L1 est préférable. De plus, sa vitesse de convergence est rapide et il peut donner des poids de pénalité appropriés au gradient au lieu d'un "traitement égal", de sorte que la direction de la mise à jour du gradient peut être plus précise.

MSE ou L2 Perte fonction de perte

L'erreur quadratique moyenne (Mean Squared Error, MSE) est la moyenne de la différence quadratique entre la valeur réelle et la valeur prédite. Il s'agit de la fonction de perte de régression la plus couramment utilisée, également connue sous le nom de "fonction de perte L2". MSE est la somme des distances au carré entre la variable cible et la valeur prédite.

c0b38bab587b0d796bb29a294a142b98.png

La fonction de perte L2 est utilisée pour minimiser l'erreur et est également une fonction de perte de priorité plus élevée que L1. Cependant, L2 ne fonctionnera pas bien lorsqu'il y a des valeurs aberrantes dans l'ensemble de données, car la différence au carré entraînera des erreurs plus importantes.

En bref, l'utilisation de L2 est plus facile à résoudre, mais l'utilisation de L1 est plus robuste aux valeurs aberrantes.

Fonction de perte Huber Loss

La perte de Huber est une fonction de perte qui combine MSE et MAE et tire les avantages des deux. Elle est également appelée Smooth Mean Absolute Error Loss (Smooth L1 loss). Huber Loss est également une fonction de perte utilisée dans la régression qui est moins sensible aux valeurs aberrantes dans les données que la perte au carré de l'erreur. Il est insensible aux valeurs aberrantes et extrêmement petit et différentiable, ce qui confère à la fonction de perte de bonnes propriétés.

Lorsque l'erreur est faible, utilisez la partie MSE de Huber Loss, et lorsque l'erreur est importante, utilisez la partie MAE de Huber Loss. Un nouvel hyperparamètre δ est introduit, qui indique à la fonction de perte où passer de MSE à MAE. Un terme δ est introduit dans la fonction de perte pour lisser la transition de MSE à MAE. La fonction de perte Huber décrit la perte produite par le processus d'estimation. Le segment de perte F Huber définit la fonction de perte :

99f0f42fee97b99ad83b0fdbecda3f19.png

Cette fonction est quadratique, avec des valeurs égales et des parties différentes de la pente en deux points ‖ a ‖ = δ La variable a fait généralement référence au résidu, la différence entre les valeurs observées et prédites A = yf (x ) donc le premier peut être étendu à:

90f74b767f81de686d029ea1cbfb5059.png

En bref, Huber Loss améliore la robustesse des valeurs aberrantes de MSE et réduit la sensibilité aux valeurs aberrantes. Lorsque l'erreur est importante, l'utilisation de MAE peut réduire l'influence des valeurs aberrantes et rendre la formation plus robuste. Sa vitesse de déclin se situe entre MAE et MSE, ce qui compense le lent déclin de MAE en perte, et est plus proche de MSE.

résumé

Dans les réseaux neuronaux, la fonction de perte est une mesure de la différence entre la sortie prédite du réseau neuronal et la sortie réelle, en calculant la distance entre la sortie actuelle et la sortie attendue. C'est une façon d'évaluer la façon dont les données sont modélisées, fournit une mesure de la performance du réseau neuronal et est utilisée comme cible pour l'optimisation pendant la formation. Plus la fonction de perte est petite, meilleure est la robustesse du modèle, et c'est la fonction de perte qui guide l'apprentissage du modèle.

[Documents de référence et lectures connexes]

Je suppose que tu aimes

Origine blog.csdn.net/wireless_com/article/details/131278169
conseillé
Classement