1 points par GN⁺ 2024-05-13 | 1 commentaires | Partager sur WhatsApp
  • Dans les cartes de caractéristiques des ViT, les tokens à norme élevée apparaissent surtout dans des zones d’arrière-plan peu informatives, et s’interprètent comme un phénomène où des tokens de patch sont réutilisés comme espace de stockage pour les calculs internes
  • La solution consiste à ajouter à la séquence d’entrée des tokens de registre distincts des patchs d’image, afin de séparer le rôle de calcul interne dans des tokens dédiés
  • Dans les ViT entraînés en supervisé comme en auto-supervisé, les artefacts diminuent et les cartes de caractéristiques ainsi que les attention maps deviennent plus lisses, ce qui est favorable aux tâches visuelles downstream
  • Des améliorations ont été rapportées pour l’object discovery et la dense prediction, mais avec OpenCLIP, les performances d’object localization reculent légèrement ; la formulation selon laquelle l’amélioration vaut pour « tous les modèles » a donc été corrigée
  • L’ajout de 4 à 16 tokens de registre entraîne 2 à 6 % de calcul supplémentaire, et augmenter le nombre de tokens n’améliore pas toujours les performances sur les tâches denses

Artefacts observés dans les cartes de caractéristiques des ViT

  • Les Vision Transformers sont de puissants outils pour l’apprentissage de représentations visuelles, mais des artefacts ont été constatés dans les cartes de caractéristiques de ViT entraînés en supervisé et en auto-supervisé
  • Ces artefacts sont observés pendant l’inférence sous forme de tokens à norme élevée
    • Ils surviennent principalement dans des zones d’arrière-plan de l’image contenant peu d’information
    • Le réseau semble réutiliser ces tokens pour ses calculs internes
  • Ces tokens proviennent de patchs d’arrière-plan similaires aux patchs voisins ; ils sont considérés comme contenant peu d’information locale de patch, mais davantage d’information globale sur l’image
  • Dans DINOv2 et d’autres ViT, la baisse de résolution spatiale et de précision des attention maps peut affecter les performances des tâches downstream d’object discovery et de localization

Méthode des tokens de registre

  • La solution proposée consiste à ajouter à la séquence d’entrée du Vision Transformer des tokens de registre distincts des patchs d’image
  • Les registres sont décrits comme des tokens séparés des tokens de patch d’image, à la manière du CLS token, mais qui ne sont pas directement utilisés dans le calcul de la loss
  • L’objectif est de faire prendre en charge ce rôle par des tokens dédiés, afin que les tokens de patch existants ne soient pas utilisés comme « espace de stockage » pour les calculs internes
  • Cette méthode est liée aux Memory Transformers existants, mais l’approche consistant à analyser les artefacts de caractéristiques puis à ajouter de nouveaux tokens pour les corriger est spécifique à l’analyse de cet article

Évolution des cartes de caractéristiques et des tâches downstream

  • L’ajout de registres est présenté comme supprimant ces artefacts dans les modèles entraînés en supervisé comme en auto-supervisé
  • Les cartes de caractéristiques et les attention maps deviennent plus lisses, ce qui favorise le downstream visual processing
  • La méthode est résumée comme atteignant un nouvel état de l’art sur les tâches de dense visual prediction pour les modèles visuels auto-supervisés
  • Elle permet également d’utiliser des méthodes d’object discovery avec des modèles plus grands
  • Dans DINOv2 et DeiT-III, les performances d’object discovery augmentent, tandis que les performances sur les tâches au niveau image sont globalement préservées

Exceptions selon les modèles et analyses complémentaires

  • Avec OpenCLIP, l’ajout de registres n’a pas amélioré les résultats d’object localization, et les chiffres du tableau montrent une légère baisse des performances
    • Les auteurs reconnaissent dans leur réponse que l’affirmation selon laquelle « les performances d’object discovery s’améliorent sur tous les modèles » n’est pas étayée par les chiffres
    • Ce point a été corrigé dans la Section 3.3
  • Pour OpenCLIP, une diminution de la norme apparaît dans la Figure 7, mais elle ne se traduit pas par une amélioration de l’object localization dans le Table 3 ; cette incohérence est discutée
    • Dans l’évaluation LOST, le meilleur embedding parmi les keys, queries et values est sélectionné pour chaque modèle
    • Dans CLIP, les values donnaient les meilleurs résultats, et les artefacts sont visibles dans les keys ou les queries, mais pas dans les values, ce qui est cohérent avec le Table 3 et l’analyse qualitative
  • Dans MAE, les mêmes « outlier patches » ne semblent pas apparaître
    • Cela pourrait s’expliquer par le fait que MAE est entraîné uniquement avec une loss locale, ce qui limite ou supprime le besoin de rassembler de l’information globale
    • La précision de classification ImageNet en linear probing de MAE-ViT-Large est de 75 %, plus faible que celle d’autres méthodes SSL

Performances, coût et limites

  • Les registres constituent une méthode simple, mais augmentent le volume de calcul en raison des tokens supplémentaires
    • Une hausse de 2 à 6 % du calcul est rapportée lors de l’ajout de 4 à 16 tokens de registre
  • Augmenter le nombre de registres ne conduit pas toujours à une amélioration des tâches denses
    • Le passage de 0 à 1 registre supprime les artefacts et améliore la segmentation ainsi que la depth prediction
    • Après 1 registre, l’ajout de registres supplémentaires ne fait pas beaucoup progresser les performances de segmentation et de depth prediction, car la feature map est déjà propre
    • Les performances de classification avaient tendance à s’améliorer davantage avec plus de registres, mais il n’existe pas encore d’intuition claire pour expliquer ce phénomène
  • Sur le dataset NYU depth, le passage de 8 à 16 registres entraîne une légère hausse du RMSE
    • L’augmentation de la longueur de séquence a pu modifier les hyperparamètres optimaux
    • L’écart de 0,03 RMSE entre 8 et 16 registres est faible par rapport à l’écart de 0,1 RMSE entre 0 et 1 registre, et pourrait donc simplement relever du bruit

Acceptation OpenReview et points débattus dans les reviews

  • La décision OpenReview est Accept (oral)
  • La méta-review indique que les quatre reviewers ont tous attribué la note de 8, et que la contribution technique de l’article est reconnue
  • Les reviewers ont exprimé des préoccupations concernant les incohérences de performance, la relation entre le biais des datasets et les modèles SSL, le choix des paramètres d’optimisation, ainsi que l’effet du gradient clipping
  • Au cours de la phase de rebuttal, les auteurs ont ajouté des expériences supplémentaires et des analyses en appendix
  • Les discussions ultérieures ont renforcé l’analyse des mécanismes internes, notamment pour déterminer si les registres reprennent le comportement des outliers, si les image tokens redeviennent plus locaux, et comment évolue la norme du CLS token

1 commentaires

 
GN⁺ 2024-05-13
Commentaires Hacker News
  • Selon l’article, un register est un jeton supplémentaire entraînable ajouté à la séquence d’entrée pendant l’entraînement d’un modèle Vision Transformer
    Il est ajouté après la couche d’embedding des patchs comme une valeur entraînable, à la manière du jeton [CLS], et à la fin du Vision Transformer, les jetons register sont supprimés tandis que seuls le jeton [CLS] et les jetons de patch sont utilisés comme représentation de l’image
    Ce jeton offre au modèle un espace pour stocker, traiter et interroger des informations globales pendant la propagation avant, évitant ainsi de devoir détourner les jetons de patch pour cet usage
    Résultat, les artefacts visibles dans les feature maps du Vision Transformer entraîné et les jetons aberrants à norme élevée disparaissent, les feature maps deviennent plus lisses, et les performances en dense prediction ainsi qu’en découverte d’objets non supervisée s’améliorent
    Le coût en inférence n’augmente que de 2 %, mais cela améliore nettement les performances du ViT, ce qui ressemble à un résultat élégant proche du repas gratuit

    • Cette tendance où l’on ajoute des jetons un peu partout et où tout fonctionne comme par magie paraît assez suspecte, et dès qu’on y mêle des probabilités, les gens côté mathématiques discrètes auront sans doute du mal à laisser passer ça
      Les expressions régulières probabilistes sont déjà une chose, mais là on est à un tout autre niveau de débauche mathématique
      Cela dit, c’est vraiment étonnant que ça fonctionne ainsi
    • Il y a aussi eu des tentatives d’ajouter plusieurs jetons [CLS] à BERT, mais les résultats étaient moins impressionnants : https://arxiv.org/pdf/2210.05043
    • Je me demande s’il y a ici quelque chose dont les Transformer de texte classiques peuvent s’inspirer
      Cela ressemble à un attention sink ou à un pause token
    • Pour utiliser ce type de jeton, il faudrait d’abord reconvertir la sortie de la couche finale en jetons, puis les ré-embedder au passage suivant
      Je me demande si quelqu’un a étudié une approche où la sortie brute d’un passage est transmise telle quelle comme entrée du suivant
  • Ça semble lié : "Let's Think Dot by Dot: Hidden Computation in Transformer Language Models" https://arxiv.org/abs/2404.15758
    Cet article estime qu’il n’est pas clair si l’amélioration des performances chain-of-thought dans les modèles de langage vient d’une décomposition des tâches à la manière humaine, ou simplement de la quantité de calcul supplémentaire apportée par des jetons en plus
    Il montre qu’un Transformer peut résoudre des tâches algorithmiques difficiles qu’il ne savait pas résoudre lorsqu’il devait répondre sans jetons intermédiaires, même avec de simples jetons de remplissage dénués de sens, par exemple ......, mais que l’apprentissage de l’usage de tels jetons de remplissage nécessite une supervision concrète et dense
    Cela amène à se demander si l’ajout de jetons spéciaux de calcul/register pourrait aussi être bénéfique pour les LLM textuels
    Discussion supplémentaire : https://news.ycombinator.com/item?id=40182695, https://www.reddit.com/r/LocalLLaMA/comments/1cf2w5a/transfo...

  • Ces dernières années, j’ai testé des dizaines, peut-être plus d’une centaine, d’articles et d’idées en vision et en perception multimodale, et c’était l’un des rares cas où tout fonctionnait bien
    Par exemple, ce modèle est entraîné avec 4 jetons register et une perte de type Matryoshka, et produit de très petits embeddings de 64 dimensions qui peuvent être utiles à ceux qui cherchent une alternative à CLIP : https://huggingface.co/unum-cloud/uform3-image-text-english-...

  • Je l’ai vu à l’ICLR, c’était l’un des meilleurs articles de l’année, et cela sautait aussi aux yeux lors de la session poster
    Félicitations aux auteurs

  • J’utilise DinoV2 depuis plusieurs mois, et j’ai aussi testé un modèle avec 4 jetons register en plus de [CLS] et des jetons de patch
    Comme plusieurs jetons d’embedding issus de l’ancien modèle sans register faisaient déjà partie de la solution, le jeton [CLS] n’était pas aligné entre le modèle à 0 register et celui à 4 register, donc je n’ai pas adopté le nouveau modèle avec register
    J’aimerais qu’il y ait un moyen d’aligner [CLS] et les jetons de patch entre les deux modèles

  • On dirait un attention sink pour les modèles de vision