Skip to main content

Comprendre ce qui fonctionne réellement(et pourquoi) dans le Deep Metric Learning

Created on February 10|Last edited on February 2
Ceci est une traduction d'un article en anglais qui peut être trouvé ici.



Aperçu

Le Deep Metric Learning (DML, Apprentissage profond de métriques) vise à fournir des perspectives sur la meilleure manière d’enseigner aux modèles qui encodent la notion de similarité (d’images). De manière plus générale, la mise en place d’un DML consiste à entraîner un réseau neuronal profond qui prend une image et en renvoie une représentation vectorielle dense - c’est différent, par exemple, de la classification, où le réseau renvoie des représentations catégoriques ! Dans un scénario idéal, les distances entre ces représentations seront ensuite directement reliées à des similarités « sémantiques » dans l’espace de données original.

Un exemple : J’ai trois images dont deux contiennent l’image de la même voiture, mais sous un angle de vue différent, et la dernière montre une voiture différente. Un bon modèle DML fournit ensuite des représentations (les plongements, embeddings) pour chaque image, de sorte que la distance entre les représentations des deux premières images soit plus petite que la distance entre n’importe laquelle de ces deux images et la troisième.

Il existe de nombreuses applications pour ce genre de modèle, en particulier pour des tâches de similarités d’images, qui se réduisent en applications d’extraction d’images : avec une requête d’une image et une grande base de données d’autres images, montre-moi quelles sont les images de ma base de données qui sont sémantiquement similaires à ma requête. Des applications d’extraction de ce type sont importantes pour les recommandations de produits, la réidentification faciale ou dans le domaine médical, par exemple pour regrouper des variations d’un type de cellule spécifique. À titre d’exemple, Yang et al ont utilisé des approches basées sur les similitudes pour agréger des images similaires de cellules sous un microscope, ce qui rend plus facile pour les docteurs de diagnostiquer des maladies (Yang et al).

image.png Image de https://github.com/easonyang1996/DML_HistoImgRetrieval

les éléments cruciaux suivants dans notre étude :

1.Nous avons quantifié les facteurs de variation dans les pipelines de recherches DML selon l’impact qu’ils avaient sur les résultats finaux rapportés. Par exemple, ils peuvent inclure l’utilisation de différentes architectures réseaux, de différentes tailles de lots, de l’augmentation variable de données ou de la régularisation de poids. Nous sommes également les premiers à étudier l’influence de la sélection d’un mini-lot sur les performances d’entraînement – une question qui n’a jamais vraiment été soulevée. Nous avons montré que tous ces facteurs, s’ils sont correctement ajustés, peuvent booster les performances indépendamment de la méthode proposée. Bien que ce soit bon à savoir si l’on souhaite avoir des modèles au top de leurs performances, cela compromet la justessedes comparaisons. Ce qui nous a amenés à proposer, en nous basant sur ces variations, une configuration d’entraînement standard qui permet d’avoir une comparaison équitable entre les différentes méthodes.

  1. Nous avons évalué des modèles issus de 15 publications traitant des ressources de référence et des méthodes prétendument à la pointe de la technologie, en utilisant notre configuration standardisée et équitable. Nous avons découvert qu’avec une comparaison équitable, la plupart des méthodes publiées ces dernières années ont des performances très similaires, ce qui remet en question la réalité effective des avancées de la recherche sur le DML.
  2. Bien que similaires, certaines méthodes surpassent cependant d’autres méthodes. Pour comprendre pourquoi, nous nous sommes penchés sur un ensemble de mesures d’espace de plongement pour voir quelles propriétés les meilleures méthodes de performance optimisaient (implicitement). Nous avons découvert que les mesures communément utilisées dans la littérature pour expliquer l’amélioration des performances comparativement aux autres approches, n’étaient pas capables d’expliquer la différence de performance sur l’ensemble de tests lorsqu’elles étaient évaluées par rapport à l’ensemble élargi des objectifs que nous avons étudiés. Pour remédier à ce problème, nous avons mis en place deux autres mesures d’espace de plongement qui étaient plus étroitement liées aux performances de test. En nous basant sur ces principes, nous proposons une régularisation pour optimiser implicitement les propriétés d’espace de plongement bénéfiques à la généralisation, qui peut être appliquée additionnellement à la plupart des méthodes de DML pour booster les performances de généralisation.

4.Pour finir, afin de faciliter la recherche pour les novices dans ce domaine, nous fournissons une introduction aux méthodes, aux mesures et aux approches clefs de DML dans l’annexe, ainsi qu’un référentiel de code qui contient une implémentation pour tout ce qui est appliqué dans cette publication.

Screenshot 2020-12-01 at 18.44.08.png (En vert, les variantes régularisées d’objectifs existants, et en orange, les performances de ces objectifs sous notre entraînement équitable et nos paramètres d’évaluation. Comme vous pouvez le voir, il y a un grand plateau de performance, qui ne peut être rompu que par l’application de la régularisation que nous proposons.

Liens rapides



1. Comprendre comment on peut « tricher » en Deep Metric Learning

Note: Les figures de cette section résultent de l’évaluation du jeu de données CARS196. Pour les autres évaluations, consultez la publication ; les compréhensions acquises sont transférables..

Pour comprendre comment les performances rapportées dépendent du pipeline d’entraînement utilisé, nous avons commencé par évaluer comment différents facteurs de variation communs peuvent contribuer à l’amélioration des performances, comme le choix de l’architecture principale, la dimensionnalité des espaces de plongement, les protocoles d’augmentation et la taille des lots :

Full_Ablations_Cars.png

Ce graphique visualise les changements relatifs de performance, et comme on peut le voir, à travers différentes méthodes, les performances changent de manière notable par le simple fait d’ajuster ces facteurs. Ceci peut être utilisé, sciemment ou non, pour améliorer les performances de méthodes qui, soumises à une comparaison équitable, seraient beaucoup moins concluantes.

Par ailleurs, nous avons pris en compte un facteur souvent laissé de côté, qu’on appelle la construction de mini-lots. Puisque la plupart des méthodes de DML utilisent un substitut de classement (ranking surrogate) plutôt que des tuples échantillonnés à partir du mini-lot, il nous paraissait logique d’observer comment la distribution des échantillons au sein de ce type de lot pouvait influer sur les performances :

cars_meta_sampler.png

Pour résumer, on note un bénéfice notable à l’amélioration de la diversité des classes (et donc, des échantillons négatifs) plutôt qu’à la diversité des échantillons dans des classes uniques ; et c’est souvent un élément qui n’est pas relevé dans la littérature.

Quantifier ces facteurs permet ainsi de fournir un pipeline d’entraînement cohérent qui puisse garantir une comparaison équitable dans la section suivante.



2. Examiner les performances des méthodes publiées sous une comparaison équitable

Pour évaluer les différences réelles entre les modèles de DML en termes de performance, nous avons entraîné aussi bien des méthodes à la pointe de la technologie que des méthodes de base établies, avec un pipeline d’entraînement comparable.

Afin qu’ils puissent être librement reproduits et approfondis, nous avons rendu publics ces essais, qui contiennent des informations sur les performances mesurées à travers toutes les mesures d’évaluationpertinentes de DML ainsi que les valeurs et la progression des mesures d’espace de plongement qui nous intéressent, telles qu’elles sont utilisées dans les sections suivantes : 




Run set
333


Puisque nous nous intéressons principalement à la performance optimale moyenne, les résultats sont également résumés dans un tableau pour toutes les méthodes et toutes les évaluations :

Perf_table.png

Comme vous pouvez le voir, la majorité des améliorations sont capturées au niveau des écarts-types, ce qui entre en conflit avec la plupart des méthodes qui affirment obtenir des performances à la pointe la technologie, et souvent, avec une marge assez importante !



3. Comprendre à quoi devraient ressembler les espaces de plongement pour des performances de généralisation maximales

Cela étant, bien qu’il existe une saturation notable au niveau des performances, on peut tout de même constater quelques différences au niveau des performances de généralisation zero-shot (sans données de références)des méthodes. Les questions que nous nous sommes posées sont donc : pourquoi certaines méthodes sont-elles plus performantes que d’autres, et comment appréhendent-elles et structurent-elles leur espace de représentation pour induire de meilleures performances de généralisation ?

Pour comprendre cela, nous avons étudié deux mesures communément utilisées pour expliquer les changements au niveau des performances : les distances intra-classes et inter-classes.

La distance intra-classe πintra\pi_\text{intra} mesure la proximité des clusters de la même classe dans l’espace de plongement, tandis que la distance inter-classe πinter\pi_\text{inter} mesure la distance projetée entre les différents clusters de classe. Ces deux mesures étaient (sont) communément utilisées pour justifier des changements de performances.La distance intra-classe πintra mesure la proximité des clusters d’échantillons de la même classe dans l’espace de plongement, tandis que la distance inter-classe πinter ​ mesure la distance projetée entre les clusters de différentes classes. Ces deux mesures étaient (sont) communément utilisées pour justifier des changements de performance.

Mais comme nous pouvons le voir en étudiant la corrélation entre les mesures de tests et ces mesures sur les données d’entrainement (en utilisant nos essais W&B introduits dans la Section 2, un script à télécharger, l’évaluation et la visualisation de ces essais sont rendues possibles dans le répertoire Github officiel), il n’y a pas de lien solide entre les changements de ces mesures et les performances de test en aval au point zéro.

emb_metrics_croped.png

Ainsi, nous proposons deux nouvelles mesures qui pourraient fournir une meilleure compréhension : la densité d’espace de plongement πratio\pi_\text{ratio} (Embedding space density), qui est simplement le ratio de la distance intra-classe et de la distance inter-classe, et mesure comment l’uniformité et la densité des données d’entraînement sont intégrées dans l’espace de plongement disponible, et la dégradation de spectre ρ(Φ)\rho(\Phi) (Spectral decay), qui calcule la distribution d’une valeur singulière de l’espace de plongement appris via une Décomposition en Valeurs Singulières (Singular Value Decomposition, SVD) et la compare à une distribution uniforme, avec comme but le fait de mesurer combien d’éléments différents sont utilisés pour résoudre l’objectif d’entraînement.

Dans les deux cas, nous avons trouvé un lien bien plus important avec les performances de généralisation, ce qui coïncide avec les travaux ultérieurs de Wang et al.., qui mettent en lumière des bénéfices similaires de l’uniformité d’espace de plongement pour la généralisation dans l’apprentissage auto-supervisé des représentations. La décomposition spectrale semble notamment être l’indicateur le plus fiable pour les performances de généralisation dans de nouvelles classes. Intuitivement, on pourrait attribuer ceci au fait qu’une plus grande diversité d’éléments peut augmenter les chances d’avoir des descripteurs pour les nouvelles données et les nouvelles classes au cours d’un test.



4. Améliorez la généralisation de votre méthode de DML avec cette astuce facile !

Pour finir, nous avons essayé d’intégrer les connaissances que nous avons acquises pour améliorer les performances des méthodes de DML en visant implicitement à améliorer et à la décompositionspectrale ρ(Φ)\rho(\Phi) et la densité πratio\pi_\text{ratio} ​.

Pour ce faire, nous avons introduit un terme de régularisation dans un objectif de DML quelconque, basé sur une classification appelée rhorho-régularisation, qui est très simple à implémenter : il suffit simplement d’échanger un échantillon négatif Xni dans votre tuple d’entraînement (xa,xp,xn1,...,xnN)(x_a, x_p, x_{n_1}, ..., x_{n_N}) (avec un échantillon d’ancre Xa et un échantillon positif Xp de la même classe) avec n’importe quel échantillon positif, pour éviter que les classes ne s’intègrent pas trop à proximité l’une de l’autre, mais aussi pour introduire les éléments intra-classes qui, bien qu’ils ne soient pas forcément importants pour résoudre la tâche d’entraînement, peuvent être utiles lors des tests : comprendre comment séparer des échantillons au sein-même d’une classe, par exemple une marque de voiture, peut introduire des éléments qui permettront de distinguer les différentes voitures entre elles lors du test.

Nous avons ainsi pu voir qu’effectivement, une telle rho-régularisation introduit des éléments qui peuvent être bénéfiques lors des tests, bien qu’ils ne soient pas forcément importants pour résoudre la tâche d’entraînement.

Pour commencer, prenons un exemple simplifié :

toy_example.png

Ici, les données d’entraînement consistent en des groupes de points (marqués par couleur) le long d’une diagonale, et l’objectif de la classification consiste à entraîner un petit réseau pour fournir une projection stéréographique dans laquelle ils seront encore séparés (deuxième image). Bien que cela puisse être réalisé facilement, les points de test nouvellement introduits, alignés verticalement et horizontalement dans le petit réseau, sont difficilement séparables – même si les données du test fournissent un contexte sur un alignement vertical et horizontal !

C’est là que la ρ\rho-régularisation trouve son utilité, puisqu’apprendre à séparer des échantillons au sein d’une classe introduit plus explicitement l’idée de séparation « verticale » et « horizontale » (avant-dernière image). Pensez-y – pour que le réseau résolve cette tâche spécifique simplifiée, il lui faut simplement apprendre à séparer les échantillons d’entraînement horizontalement ou verticalement. Et les réseaux adorent les raccourcis ! Cependant, il est plus que raisonnable que lors du test, davantage de classes horizontales ou verticales se forment. Et, comme prévu, nous voyons une augmentation au niveau de la décomposition spectrale (une distribution de décomposition spectrale « plus plane »).

Enfin, lorsqu’on applique cela à des évaluations réelles, nous voyons une grande amélioration des performances, en particulier sur les jeux de données ayant plus d’échantillons par classe, comme le CUB200-2011 et le CARS196, qui surpassent nettement les performances de toutes les méthodes à la pointe de la technologie, avec une comparaison équitable. results_a66.png



5. Conclusion

Pour mieux comprendre la situation actuelle du Deep Metric Learning, nous avons réalisé une étude à grande échelle sur les méthodes existantes avec une comparaison équitable, en évaluant simultanément un ensemble élargi de performances et des mesures d’espace de plongement. Nous avons découvert que la plupart des méthodes de DML ont des performances très similaires, bien que chacune d’entre elles se targue d’une performance à la pointe de la technologie dans leurs publications respectives. En outre, nous avons été capables d’attribuer les différences qui existent réellement à des changements effectués via deux nouvelles mesures d’espace de plongement.

Une telle étude a demandé des milliers d’essais d’entraînement, chacun enregistrant jusqu’à 40 mesures différentes – sans W&B pour agréger les essais issus de serveurs différents et fournir un moyen facile de les résumer et de les partager, ces travaux auraient pris beaucoup plus de temps, notam


Iterate on AI agents and models faster. Try Weights & Biases today.