Traducteur | Zhu Xianzhong
Chonglou
Actuellement, L'intelligence artificielle multimodale est devenue un street talk sujets de discussion brûlants. Avec la récente version de GPT-4, nous voyons d’innombrables nouvelles applications possibles et technologies futures qui étaient inimaginables il y a à peine six mois. En fait, les modèles de langage visuel sont généralement utiles pour de nombreuses tâches différentes. Par exemple, vous pouvez utiliser CLIP (Contrastive Language-Image Pre-training, c'est-à-dire "Contrastive Language-Image Pre-training", lien : https://www.php.cn/link /b02d46e8a3d8d9fd6028f3f2c2495864 Classification d'images sans prise de vue sur des ensembles de données invisibles En général, d'excellentes performances peuvent être obtenues sans aucune formation
Pendant ce temps, les modèles de langage visuel ne sont pas parfaits. Dans cet article, nous allons explorer les limites de ces modèles, en soulignant où et pourquoi ils peuvent échouer. En fait, cet article est une référence à notre expérience récente . publier une description courte/de haut niveau de l'article prévu qui sera publié sous forme de ICLR 2023 Oralarticle Si vous souhaitez le consulter Pour. le code source complet de cet article, cliquez simplement sur le lien https://www.php.cn/link/afb992000fcf79ef7a53fffde9c8e044 IntroductionQu'est-ce qu'un modèle de langage visuel ?
. Les modèles de langage ont révolutionné le domaine en exploitant la synergie entre les données visuelles et linguistiques pour effectuer diverses tâches. Alors que de nombreux modèles de langage visuel ont été introduits dans la littérature existante, CLIP(Contrast Language-Image Pre-training. ) reste le modèle le plus connu et le plus utilisé En intégrant des images et des légendes dans le même espace vectoriel, le modèle CLIP permet de Raisonner selon des modèles, permettant aux utilisateurs d'effectuer des tâches telles que comme la classification d'images sans prise de vue et la récupération texte-image. Et le modèle CLIP utilise des méthodes d'apprentissage contrastées pour apprendre les intégrations d'images et de légendes. apprenez à associer des images à leurs
légendescorrespondantes en minimisant la distance entre les images dans un espace vectoriel partagé. L'ordre obtenu par le modèle CLIP et d'autres modèles basés sur le contraste démontrent que cette approche est très efficace . La perte de contraste est utilisée pour comparer les paires image et
caption par lots, et le modèle est optimisé pour maximiser la similarité image-texte entre les paires d'intégrations et réduire la similarité entre les autres paires image-texte dans. le lotLa figure ci-dessous montre
un exemple d'étapes de mise en lots et de formation possibles,où :
Le carré bleu est le couple image-texte dont nous souhaitons optimiser la similarité
#🎜🎜 #)Après la formation, vous devriez être capable de générer un texte dans lequel vous pouvez associer l'image et #🎜 🎜#title Un espace vectoriel significatif à encoder Une fois que vous avez intégré le contenu pour chaque image et chaque texte, vous pouvez effectuer des tâches telles que voir quelles images correspondent le mieux au titre (par exemple rechercher ). dans l'album photo des vacances d'été 2017). "chiens sur la plage" (狗 sur la plage
) ) , ou trouvez quelle étiquette de texte ressemble le plus à des images personnalisées (par exemple, vous avez un tas d'images de vos chiens et chats et vous souhaitez pouvoir identifier lesquels sont lesquels. Les modèles de langage visuel tels que #CLIP sont devenus puissants). des outils pour résoudre des tâches complexes d'intelligence artificielle en intégrant des informations visuelles et linguistiques. Leur capacité à intégrer ces deux types de données dans un espace vectoriel partagé a conduit à une précision sans précédent dans un large éventail d'applications et à des performances exceptionnelles. 🎜#Les modèles de langage visuel peuvent-ils comprendre le langage ? Le travail consiste exactement à à essayer de prendre certaines mesures Pour répondre à cette question de savoir si les modèles profonds peuvent ou non. Il y a actuellement un débat important sur la mesure dans laquelle le langage peut être compris. Ici, notre objectif est d'étudier les modèles de langage visuel et leurs capacités de synthèse. comprendre les composants de test ; ce nouveau benchmark s'appelle ARO ( Attribution, Relations,
and Order# 🎜🎜#: #🎜🎜 #attributes). Ensuite, nous explorons pourquoi la perte contrastive peut être limitée dans ce cas. Enfin, nous proposons une approche simple mais prometteuse. à cette solution.
Nouveau benchmark : ARO (Attributs, Relations et Ordre) J'aime CLIP (et Salesforce Comment un modèle comme le BLIP récemment lancé réussit-il à comprendre le langage ?
Nous avons rassemblé un ensemble de compositions basées sur des attributs title (par exemple "la porte rouge et l'homme debout"(红门和standing人)) et un groupe basé sur les relations Synthèse de title (par exemple "le cheval mange l'herbe"(马在吃草) ) ) et les images correspondantes. Ensuite, nous générons un faux titre qui remplace par , comme #🎜🎜 #"l'herbe mange le cheval"(草是吃马) . Les modèles peuvent-ils trouver le bon titre ? Nous avons également exploré l'effet du mélange des mots : le modèle préfère-t-il le title au mélange title#🎜🎜 # ? Nous fournissons
attributs, relations et ordre (ARO ) )BenchmarkLes quatre jeux de données créés sont présentés ci-dessous (veuillez noter que la commandeparts Contient deux ensembles de données) :
Différents ensembles de données que nous avons créés # 🎜🎜#Comprend
Relation, Attribution et Ordre. Pour chaque ensemble de données, nous montrons un exemple d'image et un titre différent. Parmi eux, Un seul titre est correct, et le modèle doit identifier ce comme le bon titre. Attribut
Testez votre compréhension des attributsLe modèle BLIP ne comprend pas la différence entre "l'herbe mange de l'herbe" et "le cheval mange de l'herbe" ( où contient des éléments de l'ensemble de données visuel du génome , photo fournie par l'auteur )
Maintenant , prenons un regard sur EXPERIMENT RESULTS : Peu de modèles peuvent aller au-delà de la compréhension des relations dans une large mesure. possibilités (par exemple, eating — eating ). Cependant, CLIP modèle est en property#🎜🎜 # L'avantage de et la relation est légèrement supérieur à ce possibilité#🎜 🎜 #. Cela indique en fait qu'il y a un problème avec le modèle de langage visuel. Différents modèles dans Attributs# Performance sur des benchmarks 🎜🎜#
, relationnels et séquentiels (Flick30k).qui utilise
CLIP, BLIP et autres modèles SoTA One L'un des principaux résultats de ce travail est que l'apprentissage des langues peut nécessiter plus que la perte contrastive standard . Pourquoi c'est ? Commençons par le début : les modèles de langage visuel sont souvent évalués dans des tâches de récupération : prenez un titre et trouvez ce qu'il correspond à l'image. Si vous regardez les ensembles de données utilisés pour évaluer ces modèles (par exemple MSCOCO, Flickr30K), vous verrez qu'ils contiennent souvent des images décrites par titres , qui #🎜 🎜#Titre
Nécessite une compréhension de la composition (par exemple, "le chat orange est sur la table rouge":#🎜🎜 # chat orange sur table rouge). Donc, si title est complexe, pourquoi le modèle ne peut-il pas apprendre à comprendre la composition ? [Description
] est effectuée sur ces ensembles de données La récupération ne nécessite pas nécessairement une compréhension de la composition. Nous avons essayé de mieux comprendre le problème et testé le modèle lors de la récupération lors de la modification de l'ordre des mots dans la performance du titre. Pouvons-nous trouver la bonne image avec le titre "les livres que sont les gens qui regardent" ? Si la réponse est oui; Notre modèle de test est chargé de la récupération à l'aide de titres brouillés. Même si on brouille les légendes, le modèle peut retrouver correctement l'image correspondante (et vice versa). Cela suggère que la tâche de récupération est peut-être trop simple , Image fournie par l'auteur. Nous avons testé différents processus de shuffle, et les résultats sont positifs : même si différentes techniques de shuffle sont utilisées, les performances de récupération ne sont fondamentalement pas affectées. Répétons-le : les modèles de langage visuel permettent une récupération haute performance sur ces ensembles de données, même lorsque les informations d'instruction sont inaccessibles. Ces modèles peuvent se comporter comme une pile de mots , où l'ordre n'a pas d'importance : si le modèle n'a pas besoin de comprendre l'ordre des mots pour bien fonctionner en récupération, alors que mesurons-nous réellement en récupération ? Maintenant que nous savons qu'il y a un problème, nous voudrons peut-être chercher une solution. Le moyen le plus simple est de faire comprendre au modèle CLIP que "le chat est sur la table" et "la table est sur le chat" sont différents. En fait, l'une des façons que nous avons suggérées est d'améliorer la formation CLIP en ajoutant un négatif dur spécialement conçu pour résoudre ce problème. Il s'agit d'une solution très simple et efficace : elle nécessite de très petites modifications de la perte CLIP d'origine sans affecter les performances globales (vous pouvez lire quelques mises en garde dans l'article). Nous appelons cette version de CLIP NegCLIP. modèle (Nous avons ajouté des négatifs durs d'images et de texte, images fournies par l'auteur) de placer une image d'un chat noir sur la phrase « un chat noir assis sur un bureau » Près, mais loinphrase « un bureau noir assis sur un chat" (un bureau noir assis sur un chat). Remarque, Ce dernier est généré automatiquement à l'aide de balises POS. L'effet de ce correctif est qu'il améliore réellement les performances du benchmark ARO sans nuire aux performances de récupération ou aux performances des tâches en aval telles que la récupération et la classification. Voir le graphique ci-dessous pour les résultats sur différents benchmarks (voir cet article correspondant pour plus de détails).
NegCLIPmodel versus CLIPmodel sur différents benchmarks. Parmi eux, le benchmark bleu est le benchmark que nous avons introduit, et le benchmark vert vient du réseaudocumentation(photo fournie par l'auteur) Vous peut voir cela ici et c'est une énorme amélioration par rapport au benchmark ARO, et il y a aussi des améliorations edge ou des performances similaires sur d'autres tâches en aval. Mert (auteur principal du article) dans la création d'une petite bibliothèque pour tester des modèles de langage visuel fait. Vous pouvez utiliser son code pour reproduire nos résultats ou expérimenter de nouveaux modèles. Cela ne prend que quelques lignes de P : De plus, nous avons implémenté NegCLIP Modèle (Il s'agit en fait d'une copie mise à jour d'OpenCLIP), son adresse complète de téléchargement de code est https://github.com/vinid/neg_clip. En bref, le modèle de langage visuelpeut actuellement faire beaucoup de choses. Ensuite, Nous avons hâte de voir ce que les futurs modèles comme GPT4 pourront faire ! Zhu Xianzhong, rédacteur en chef de la communauté 51CTO, blogueur expert 51CTO, conférencier, professeur d'informatique dans une université de Weifang et vétéran de l'industrie de la programmation indépendante. Titre original : Votre modèle vision-langage pourrait être un sac de mots, auteur : Federico BianchiQue faire ?
Mise en œuvre de la programmation
import clip
from dataset_zoo import VG_Relation, VG_Attribution
model, image_preprocess = clip.load("ViT-B/32", device="cuda")
root_dir="/path/to/aro/datasets"
#把 download设置为True将把数据集下载到路径`root_dir`——如果不存在的话
#对于VG-R和VG-A,这将是1GB大小的压缩zip文件——它是GQA的一个子集
vgr_dataset = VG_Relation(image_preprocess=preprocess,
download=True, root_dir=root_dir)
vga_dataset = VG_Attribution(image_preprocess=preprocess,
download=True, root_dir=root_dir)
#可以对数据集作任何处理。数据集中的每一项具有类似如下的形式:
# item = {"image_options": [image], "caption_options": [false_caption, true_caption]}
Conclusion
Présentation du traducteur
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!