L'avènement de modèles fondamentaux a inauguré une nouvelle ère de modèles agnostiques et cognitifs qui ont adopté apprentissage auto-supervisé plutôt qu’un apprentissage supervisé. Cela a changé le processus de développement des modèles. Les modèles sont passés d’une approche spécifique à une tâche à une approche générale. L'adoption initiale de modèles fondamentaux a attiré beaucoup d'attention autour du traitement du langage naturel (NLP) en raison des grands modèles de langage (LLM) par rapport à leurs homologues de vision par ordinateur (CV). Cependant, jusqu'aux modèles DINOv2, les modèles fondamentaux de vision par ordinateur (CV) existants n'étaient pas suffisamment sophistiqués pour être prêts à l'emploi et indépendants des tâches, comme les LLM.
Cet article examine en profondeur les techniques et la conception sous-jacentes de DINOv2.
Qu’est-ce que DINov2 ?
DINov2 (auto-DIstillation with NO labels) est un modèle d'apprentissage auto-supervisé qui utilise une nouvelle technique d'auto-distillation pour développer des modèles fondamentaux de vision par ordinateur. Son épine dorsale polyvalente résulte de la formation d'un vaste ensemble d'images bien organisées sur une architecture réseau alimentée par un modèle Visual Transformer (ViT).
DINOv2 peut apprendre des fonctionnalités visuelles polyvalentes, adaptables et de haute qualité, lui permettant d'effectuer diverses tâches de CV, telles que la classification, l'estimation de la profondeur, la segmentation sémantique, la récupération d'instances, etc., sans affiner des tâches spécifiques. Cette capacité visuelle lui permet de surpasser l’apprentissage semi-supervisé de pointe existant (SSL) et l'apprentissage faiblement supervisé (WSL) des modèles.
Explication de DINov2
DINOv2 met en œuvre une approche d'apprentissage auto-supervisé contrairement aux précédentes méthodes de formation intuitives sur les modalités texte et image pour des fonctionnalités plus riches. La raison en est que le texte est une distraction car toutes les instances complexes de caractéristiques de l'image ne sont pas définies dans les exemples d'images de formation.
Comme tout modèle que vous entraînez, les données sont un élément essentiel de la formation ; les intégrations sont cruciales pour doter DINOv2 de la capacité innée de mieux généraliser. Ils peuvent donc apprendre de nouvelles choses sans disposer de données étiquetées.
Pipeline de données DinoV2
Les chercheurs de Meta AI ont mis en place un pipeline de données automatique qui rassemble les données d'entraînement DINOv2, appelé LVD-142M. Il dispose d’une structure auto-supervisée pour collecter, nettoyer et traiter les images. Les principaux composants de traitement du pipeline de données comprennent les étapes de source de données, de déduplication et de récupération. Les étapes de déduplication et de récupération du pipeline sont des calculs de recherche de similarité. Ils ont mis en œuvre ces calculs avec Faiss.
La source de données
La source de données du pipeline est une base de données contenant des images non organisées et organisées. Les images non conservées ont été collectées par exploration Web à la recherche de balises d'image, constituées de données brutes. Après filtrage et post-traitement, les images non conservées représentaient 1,2 milliard d’images uniques. L'ensemble de données organisé comprend des images de ImageNet-22k, la séparation du train de ImageNet-1k, Points de repère Google, et plusieurs ensembles de données à granularité fine.
Déduplication
Les images passent par un processus de déduplication pour supprimer les intégrations d'images identiques ou quasi-dupliquées afin de réduire la redondance et d'augmenter la diversité au sein de l'ensemble de données. Ce processus utilise ce qu'on appelle un pipeline de détection de copie. La première étape du processus consiste à exécuter les images via un encodeur de fonctionnalités. Dans ce cas, un réseau ViT-H/16 auto-supervisé. Il calcule leurs intégrations d'images respectives, qui sont plus faciles à gérer car ce sont des vecteurs de dimensions inférieures des images. Le pipeline compare les intégrations des images non organisées en utilisant les k voisins les plus proches. Chaque cluster réserve uniquement les intégrations d'images représentatives et supprime le reste. Ce filtrage réduit les images non conservées à un total de 744 millions d'images après déduplication.
Récupération
Le pipeline crée un ensemble de données final et organisé pour la pré-formation au stade de la récupération. Le processus de récupération trouve des images dans l'ensemble de données non organisé qui sont similaires aux images de l'ensemble de données organisé. Il utilise la similarité basée sur des échantillons et des clusters pour effectuer cette recherche de récupération. Ils utilisent tous deux la similarité cosinus pour mesurer les similitudes des échantillons intégrés en fonction de leur distance.
Pour la recherche basée sur des échantillons, ils échantillonnent un nombre (K) d'images non organisées les plus proches d'une image organisée donnée, y compris celles situées au-dessus d'un seuil de similarité, puis rejettent le reste. Ils utilisent 4 et 32 pour la valeur de k. Dans la récupération basée sur les clusters, il regroupe les données non conservées en différents clusters et, à partir de chaque cluster, échantillonne 10 000 images et supprime le reste.
Après avoir effectué ces étapes, à la fin du processus de récupération, l'ensemble de données résultant contenait 142 millions d'images organisées que les chercheurs ont nommées LVD-142M.
Architecture réseau DINov2
Le modèle DINOv2 utilise une méthode discriminante et auto-supervisée avec une série d'améliorations par rapport au modèle initial. DINOSAURE modèle. Son architecture réseau combine DINO et iBOT pertes avec le centrage de SwAV. Les chercheurs ont introduit un sac d’astuces sur ce réseau connecté visant à accélérer et à stabiliser la formation à grande échelle. Il permet également l'apprentissage de fonctionnalités sur l'image au niveau de l'image et du patch. DINO et iBOT sont tous deux des modèles à auto-distillation qui utilisent une architecture élève-enseignant. Cependant, leurs objectifs diffèrent. DINO fournit un objectif au niveau de l'image puisqu'il utilise les fonctionnalités de l'image pour la formation, tandis qu'iBOT fournit un objectif au niveau du correctif puisqu'il utilise les fonctionnalités des correctifs des images pour la formation.
Dans DINOv2, les chercheurs ont exécuté une analyse en composantes principales (ACP) calcul sur les patchs du réseau iBOT. Cette PCA ajoute un autre niveau pour l'extraction de fonctionnalités. Il en résulte une représentation segmentée des caractéristiques de l’image dans différentes couleurs, créant une compréhension implicite de caractéristiques distinctes. Les images de la même classe généreront toujours le même segment de couleur sur les mêmes caractéristiques.
Le calcul supplémentaire permet à DINOv2 d'apprendre des fonctionnalités gelées transférables capables de gérer des informations complexes au niveau des pixels sans supervision du texte ou de la légende.
En plus de l'objectif par patch, ils dénouent les poids de tête entre les deux objectifs et augmentent la résolution des images d'entraînement à 518 x 518 vers la fin du pré-entraînement. Ils utilisent également des lots de plus grande taille, Régularisation KoLeo, Normalisation L2, et normalisation softmax pour les paramètres d'entraînement, ce qui donne intrinsèquement de meilleurs résultats et un gradient plus stable dans une direction.
Toutes ces techniques supplémentaires ont permis à DINOv2 d'être deux fois plus rapide et de nécessiter trois fois moins de mémoire que des modèles auto-supervisés discriminants similaires. ViT-S/14 distillé, ViT-B/14 distillé et ViT-L/14 distillé sont les versions distillées plus petites du DINOv2 pré-entraîné.
Que pouvez-vous faire avec DINov2 ?
DINOv2 est un modèle polyvalent capable de gérer diverses tâches de vision par ordinateur, telles que la classification d'images, la détection d'objets, la segmentation d'images, l'estimation de la profondeur et la récupération d'images. Il est encore en développement, mais il pourrait potentiellement révolutionner le domaine de la vision par ordinateur. Certaines applications pratiques de DINOv2 incluent :
- Une voiture autonome pourrait utiliser DINOv2 pour trouver des obstacles et estimer leur profondeur. Le conducteur pourrait utiliser ces données pour naviguer dans la voiture en toute sécurité.
- Les sociétés de médias sociaux peuvent utiliser Dinov2 pour reconnaître le contenu violent ou offensant dans les images, puis filtrer de manière transparente le contenu inapproprié de leurs sites.
Inconvénients de DINov2
Bien que DINOv2 ait des capacités phénoménales, il comporte également des pièges. Ironiquement, ces pièges sont dus à ses impressionnantes performances sans réglage fin, à sa capacité hors domaine et à la conception de son modèle de base.
Lorsqu'il est présenté avec des données qui s'écartent considérablement de sa distribution de formation, DINOv2 peut encore avoir du mal malgré ses remarquables performances hors domaine. Cela met en évidence la nécessité d'améliorer continuellement la généralisabilité du modèle grâce à une évaluation et un raffinement continus.
En conséquence, DINOv2 nécessitera parfois encore des améliorations de performances pour pouvoir accomplir avec succès des tâches inconnues. Il doit être recyclé à l’aide de données d’entraînement diversifiées et de haute qualité plutôt que peaufiné avec seulement une petite quantité de données pour augmenter son intelligence visuelle et mieux fonctionner dans divers scénarios. Ce processus prend du temps, coûte cher en termes de calcul et peut également nécessiter des données ou une expertise supplémentaires.
Conclusion
DINOv2 est actuellement le modèle de vision autodidacte le plus avancé. Son potentiel de changement dans le domaine de la vision par ordinateur ne fera que s’étendre à mesure de son évolution. C’est une période passionnante pour travailler dans le domaine de la vision par ordinateur, car il s’agit de l’une des nouvelles technologies les plus prometteuses dans le domaine.