Fonction de coût par triplet
![](http://upload.wikimedia.org/wikipedia/commons/thumb/f/f2/The-Triplet-loss-in-cosine-similarity.png/220px-The-Triplet-loss-in-cosine-similarity.png)
La fonction de coût par triplet (ou Triplet loss en anglais) est une fonction objectif pour les algorithmes d'apprentissage automatique où une entrée (appelée ancre) est comparée à une entrée positive (vérité) et une entrée négative (fausse). La distance entre les données de base (ancre) et l'entrée positive (vérité) est minimisée, tandis que la distance entre l'entrée de ligne de base (ancre) et l'entrée négative (falsifiée) est maximisée[1],[2]. Une première formulation équivalente à la fonction de coût par triplet a été introduite (sans l'idée d'utiliser des ancres) pour l'apprentissage métrique à partir de comparaisons relatives par M. Schultze et T. Joachims en 2003[3].
En imposant l'ordre des distances, les modèles de perte de triplets implique qu'une paire d'échantillons avec les mêmes étiquettes a une valorisation plus petite en distance que des paires avec des étiquettes différentes. Il est souvent utilisé pour l'apprentissage de la similitude dans le but d'apprendre les incorporations, telles que l'apprentissage du classement, les plongement de mots, les vecteurs de pensée et l'apprentissage métrique[4].
Envisager la tâche de former un réseau de neurones à reconnaître les visages (par exemple pour l'admission dans une zone de haute sécurité). Un classificateur formé pour classer une instance devrait être recyclé chaque fois qu'une nouvelle personne est ajoutée à la base de données de visages. Cela peut être évité en posant le problème comme un problème d'apprentissage de similarité au lieu d'un problème de classification. Dans notre cas, le réseau est entraîné (en utilisant 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 les images les plus proches d'une image donnée, nous aimerions apprendre un classement et pas seulement une similitude. Une fonction de coût par de triplet est utilisée dans ce cas.
La fonction de perte peut être écrite à l'aide d'une fonction de distance euclidienne
- où est notre entrée d'ancrage, que l'on veut tester, est une entrée positive de la même classe que , est une entrée négative d'une classe différente de , est une marge entre les paires positives et négatives, et est une intégration.
Cela peut ensuite être utilisé dans une fonction de coût, c'est-à-dire la somme de toutes les pertes, qui peut ensuite être utilisée pour minimiser le problème d'optimisation posé
Les indices sont pour des vecteurs d'entrée individuels donnés sous forme de triplet. Le triplet est formé en prenant en compte une entrée d'ancrage, une entrée positive qui décrit la même entité que l'entité d'ancrage et une entrée négative qui ne décrit pas la même entité que l'entité d'ancrage. Ces entrées sont ensuite exécutées sur le réseau et les sorties sont utilisées dans la fonction de perte.
Comparaison et extensions
[modifier | modifier le code]Dans les tâches de vision par ordinateur telles que la ré-identification, une croyance dominante a été que la perte de triplet est inférieure à l'utilisation de pertes de substitution (c'est-à-dire des pertes de classification typiques) suivies d'étapes d'apprentissage métriques séparées. Alexander Hermans, Lucas Beyer et Bastian Leibe ont montré que pour les modèles entraînés à partir de zéro, ainsi que pour les modèles pré-entraînés, une version spéciale de la perte de triplets faisant un apprentissage métrique profond de bout en bout surpasse la plupart des autres méthodes publiées en 2017[5].
De plus, la perte de triplets a été étendue pour maintenir simultanément une série d'ordres de distance en optimisant un degré de pertinence continu avec une chaîne (c'est-à-dire une échelle) d'inégalités de distance. Cela conduit à la perte d'échelle, qui a été démontrée pour offrir des améliorations de performance de l'intégration visuelle-sémantique dans l'apprentissage du classement des tâches[6].
Voir également
[modifier | modifier le code]Notes et références
[modifier | modifier le code]- Chechik, Sharma, Shalit et Bengio, « Large Scale Online Learning of Image Similarity Through Ranking », Journal of Machine Learning Research, vol. 11, , p. 1109–1135 (lire en ligne)
- F. Schroff, D. Kalenichenko et J. Philbin, FaceNet: A unified embedding for face recognition and clustering, , 815–823 p. (ISBN 978-1-4673-6964-0, DOI 10.1109/CVPR.2015.7298682, arXiv 1503.03832)
- Schultz et Joachims, « Learning a distance metric from relative comparisons », Advances in Neural Information Processing Systems, vol. 16, , p. 41–48 (lire en ligne)
- (en) Nir Ailon et Elad Hoffer, « Deep metric learning using Triplet network », International Workshop on Similarity-Based Pattern Recognition (conférence), , p. 84-92 (Bibcode 2014arXiv1412.6622H, arXiv 1412.6622)
- (en) Auteur inconnu, « In Defense of the Triplet Loss for Person Re-Identification », .
- Zhou, Niu, Wang et Gao, « Ladder Loss for Coherent Visual-Semantic Embedding », Proceedings of the AAAI Conference on Artificial Intelligence, vol. 34, no 7, , p. 13050–13057 (ISSN 2374-3468, DOI 10.1609/aaai.v34i07.7006, lire en ligne
)