HyperAI

Perte De Triplets 

La perte de triplet est une fonction de perte pour l'apprentissage en profondeur, qui fait référence à la minimisation de la distance entre le point d'ancrage et l'échantillon positif avec la même identité, et à la minimisation de la distance entre le point d'ancrage et l'échantillon négatif avec des identités différentes.

Le terme « triplet » fait référence à trois points de données :Point d'ancrage,PonctualitéetPoint négatif. L'ancre est le point de données central où l'intégration doit être apprise, les points positifs sont des points de données similaires à l'ancre (par exemple des images du même individu) et les points négatifs sont des points de données complètement différents de l'ancre. Différent des ancres (par exemple, des images d’individus sans lien de parenté).

Mathématiquement, la perte de triplet peut être exprimée comme :

  • f() représente la fonction responsable de la génération de l'incorporation.
  • a = image d'ancrage
  • p signifie image positive
  • n représente une image négative
  • Ɑ représente l'hyperparamètre de marge, qui définit la limite inférieure de l'intervalle entre les distances d'intégration positives et négatives.

Le cœur de la fonction de perte de triplet réside dans la marge α, qui est un hyperparamètre qui définit la différence minimale requise entre les distances au carré des ancrages d'ancrage positifs et négatifs. En imposant cette marge, la fonction de perte encourage une distribution idéale entre les distances positives et négatives, créant un environnement propice à l’apprentissage de représentations significatives. Ces distances positives et négatives sont calculées à l’aide d’une métrique de distance (généralement la distance euclidienne). 

La perte de triplet est basée sur l’objectif fondamental d’apprendre à intégrer les relations intrinsèques entre les points de données saillants. Cela diffère des fonctions de perte traditionnelles, qui sont principalement conçues pour des tâches telles que la classification ou la prédiction de valeur. Dans des scénarios tels que la reconnaissance faciale, où les différences subtiles dans les traits du visage sont cruciales, les intégrations (ou codages) qui peuvent distinguer les individus d'une manière qui n'est pas facilement réalisable avec des pixels bruts sont inestimables.

La perte de triplets apparaît comme une solution à ce défi. En encourageant le réseau neuronal à apprendre des intégrations basées sur le contexte d’exemples positifs et négatifs par rapport aux instances d’ancrage, nous ouvrons la porte à l’obtention de caractéristiques discriminantes qui capturent intrinsèquement l’essence des relations de données.

Stratégie de triple sélection

Choisir le bon triplet est crucial pour l’efficacité de la perte de triplet. En pratique, la sélection aléatoire de triplets peut conduire à une convergence lente ou à des solutions sous-optimales. Par conséquent, plusieurs stratégies sont adoptées pour sélectionner efficacement les triplets informatifs :

  • Extraction de triplets en ligne :Au lieu d'utiliser tous les triplets possibles, l'extraction de triplets en ligne sélectionne les triplets en fonction de la valeur de perte. Seuls les triplets les plus difficiles, c'est-à-dire ceux dont les valeurs de perte sont proches de zéro, sont utilisés pour le calcul du gradient. Cette approche accélère la convergence et concentre le processus d’apprentissage sur des exemples difficiles.
  • Minage négatif dur :Les échantillons négatifs sélectionnés pour le triplet devraient être plus difficiles à distinguer des ancres que les échantillons positifs. L'exploitation minière négative dure consiste à sélectionner les exemples négatifs qui violent le plus la marge, garantissant ainsi que le réseau apprend plus efficacement à partir d'instances difficiles.
  • Excavation négative semi-dure :Vise à trouver un équilibre entre les négatifs choisis au hasard et les négatifs durs. Un négatif semi-dur est un négatif qui est plus éloigné du point d'ancrage qu'un positif mais qui a toujours une valeur de perte positive. Ils fournissent un terrain d’entente qui aide le réseau à mieux généraliser sans converger vers une solution simple.

Variante de perte de triplet

La formule de base de Triplet Loss a subi plusieurs modifications et améliorations pour améliorer son efficacité :

  • Perte de triplet dur par lot :Au lieu de sélectionner l’exemple négatif le plus difficile pour chaque paire positive d’ancrage, cette méthode prend en compte les exemples négatifs les plus difficiles dans un lot d’exemples d’entraînement. Cela prend en compte les variations intra-lot et peut améliorer l’efficacité du calcul.
  • Perte de contraste :La perte de triplets peut être considérée comme une extension de la perte contrastive, où au lieu de triplets, des paires d'exemples positifs ancrés et négatifs ancrés sont considérées.
  • Quadruple perte :Cette extension consiste à ajouter un deuxième exemple positif au triplet, soulignant davantage la relation entre l'ancre et l'exemple positif.
  • Pertes basées sur des données de procuration :Les méthodes basées sur les agents impliquent l’apprentissage d’un ensemble de vecteurs d’agents qui représentent différentes catégories. Ces proxys agissent comme des points de repère dans l’espace d’intégration, ce qui facilite la formation de triplets et l’apprentissage de représentations significatives.

Application de la perte de triplet

La perte de triplet a des applications dans divers domaines, en particulier lorsque l'apprentissage d'intégrations significatives est crucial :

  • Reconnaissance faciale : L’une des premières applications de la perte de triplet a été trouvée dans le domaine de la vision par ordinateur, en particulier la reconnaissance faciale. En apprenant des intégrations qui minimisent la variance intra-personne et maximisent la variance inter-personne, Triplet Loss aide à créer des intégrations de visage robustes et discriminantes.
  • Récupération d'images : La perte de triplet peut être utilisée pour créer des systèmes de recherche d'images basés sur le contenu. Les images sont codées sous forme d'incorporations, et la récupération d'images similaires devient un problème de recherche d'incorporations proches de l'incorporation de l'image de requête.
  • Réidentification de la personne :Dans des scénarios tels que la vidéosurveillance, la perte de triplet peut être utilisée pour développer des modèles capables de reconnaître la même personne dans différentes vues de caméra, même sous des éclairages et des poses différents.
  • Recherche d'informations :Dans le traitement du langage naturel, la perte de triplets peut être adaptée pour apprendre les intégrations de documents texte, permettant ainsi une recherche et un clustering basés sur la similarité.

Références

【1】https://encord.com/glossary/triplet-loss-definition/