Une enquête sur les techniques de modélisation multimodale

Introduction

L'apprentissage multimodal fait référence au processus d'apprentissage de représentations à partir de différentes modalités d'entrée, telles que des données d'image, du texte ou de la parole. Grâce aux percées méthodologiques dans les domaines du traitement du langage naturel (TAL) et de la vision par ordinateur (CV), les modèles multimodaux ont reçu une attention croissante en raison de la façon dont ils peuvent améliorer la prédiction et mieux simuler l'apprentissage humain. Cet article se concentre sur les images et le texte en tant que données d'entrée. Le contenu de cet article est divisé en les parties suivantes :

  • Image2Texte
  • Texte2Image
  • Images prenant en charge les modèles de langage
  • Texte prenant en charge les modèles de vision
  • Comment combiner les deux modèles pour une formation de modèle auto-supervisée

Partie 1 : Image2Texte

Réaliser un sous-titrage significatif pour des images complexes à l'aide de l'ensemble de données COCO et d'une architecture basée sur Transformer. S'il n'est pas difficile pour un humain de regarder une image et de la décrire ou d'analyser une scène et de décrire son contexte, c'est un défi pour un ordinateur. En 2014, Microsoft COCO a fait progresser le développement de la technologie de reconnaissance d'objets en approfondissant le problème de la compréhension des scènes et a résolu trois problèmes fondamentaux de la compréhension des scènes : la détection d'objets, la segmentation et le sous-titrage. Cet article se concentre sur les images en tant que modalité d'entrée et présente l'architecture basée sur Transformer "M2", qui utilise la technologie Meshed-Memory Transformer, améliore l'encodage des images et implémente les étapes du langage de génération d'images. Les avantages de cette architecture sont encore démontrés en comparant les performances de M2 ​​et d'autres modèles à pleine attention sur l'ensemble de données MS COCO.

Partie 2 : Text2Image

Cette section décrit une méthode pour combiner la saisie de texte afin de générer une représentation visuelle. Les progrès récents sont en grande partie dus aux percées récentes dans le domaine de la PNL, qui ont rendu possible l'apprentissage des représentations contextuelles du texte. Une architecture de type transformateur est utilisée pour coder l'entrée dans des vecteurs d'intégration, qui fournissent des conseils pour le processus de génération d'image. Cette section explore les développements dans ce domaine par ordre chronologique et se penche sur les jalons récents. Cela inclut des concepts tels que les réseaux antagonistes génératifs (GAN), les auto-encodeurs variationnels (VAE), avec quantification vectorielle (VQ-VAE), les modèles de diffusion et autorégressifs, offrant aux lecteurs une meilleure compréhension des racines de la recherche actuelle et de ses futures directions possibles.

Partie III : Images supportant la langue

本小节探讨了将视觉元素整合到纯文本语言模型中的方法。
虽然分布式语义模型,如Word2Vec和BERT,认为通过分析单词或句子在文本语料库中的分布来理解其含义和用法,但这一假设受到了质疑,因为理解单词和句子的含义需要在其他感知维度中得到支持。为了改进纯语言模型,人们开发了各种模型,旨在通过添加其他感知维度,如视觉,来提升性能。本节着重介绍将视觉元素整合到纯语言模型中的方法,这需要将视觉表示与语言模型结合。解决这个问题的方案有两种:一种是分别学习文本和视觉元素,然后将它们“组合”在一起;另一种是同时学习文本和视觉特征。

第四部分:Images supporting Language

本部分介绍了一种利用自然语言作为CV模型附加监督的方法。相较于仅由手动标记的数据监督的模型,这些模型更加强大,因为训练数据中包含更多可用的信号。CLIP模型是该领域一个显著的例子,其使用WebImageText数据集,其中包含从互联网上抓取的4亿个文本图像对。CLIP使用了类变压器架构来联合预训练文本编码器和图像编码器。通过对比目标的方式,训练模型来预测哪个自然语言文本与特定批次中的哪个图像相关。该模型的训练方式比为图像生成文字更有效,并表现出灵活性,
可以用于光学字符识别、地理位置检测和动作识别等多个任务。CLIP模型的性能可以与特定于任务的监督模型竞争,从而为弥合“鲁棒性差距”迈出了重要的一步,即机器学习模型无法满足其以前在新数据集上的性能。

第五部分:models for both modalities

本节讨论了将文本和图像输入合并到单个自监督学习框架中的两种模式的模型。

L'avantage de ce cadre est qu'il peut éviter la limitation de l'étiquetage humain et améliorer la généralisation du modèle dans différentes modalités. Cette section présente séparément trois modèles différents : data2vec, VilBert et Flamingo. Parmi eux, data2vec utilise une architecture de transformateur pour prédire la représentation potentielle des données d'entrée, VilBert peut gérer des tâches intermodales et Flamingo est un modèle d'apprentissage moderne à quelques coups avec une génération de texte puissante et la capacité de gérer des tâches ouvertes. Les trois modèles ont des forces et des portées différentes. Notamment, un cadre polyvalent générique peut aider à améliorer la robustesse tout en simplifiant les portfolios des apprenants. De plus, le codage efficace des entrées de différentes modalités via des architectures perceptuelles et l'exploitation de la communication entre les modèles de prétraitement et de congélation permettent une formation efficace de modèles de plus en plus volumineux.

Si vous êtes intéressé par le contenu multimodal, veuillez m'envoyer un message privé, je partagerai le fichier de l'article original avec vous, ou téléchargez ma ressource "Multimodal Deep Learning"

1. Image2Texte

Cette partie présente principalement comment convertir des images en texte : pour réaliser la génération de texte à travers des images, ce qui nécessite que le modèle ait la capacité de comprendre la sémantique des images et la capacité de générer des phrases exactes et précises.

1.1 Préparation du jeu de données d'images

L'ensemble de données d'images Microsoft COCO est un ensemble de données à grande échelle et richement annoté visant à améliorer la compréhension de la scène dans la recherche en vision par ordinateur.
Il se concentre sur trois problèmes principaux : détecter les vues sans icônes, détecter les relations sémantiques entre les objets et déterminer la localisation précise des objets. L'ensemble de données contient 91 catégories d'objets communs avec un total de 328 000 images et 2 500 000 étiquettes d'instance. Le processus d'acquisition et d'annotation d'images de MS COCO est divisé en deux étapes : la collecte de données et l'annotation d'images. Les chercheurs ont collecté plusieurs catégories à partir de différents ensembles de données existants, tels que PASCAL VOC et d'autres sources, et les co-auteurs ont noté ces catégories sur une échelle de 1 à 5 en fonction de leur situation commune, de leur applicabilité pratique et des différences par rapport aux autres catégories de notation. Toutes les images incluses peuvent être classées en trois types : images d'objets emblématiques, images de scènes emblématiques et images non emblématiques.

La conception de pipelines d'annotations de haute qualité et rentables est une tâche difficile en raison de l'échelle de l'ensemble de données et du coût élevé du processus d'annotation. La figure ci-dessous montre que le pipeline d'annotations de MS COCO est divisé en trois tâches principales :

  1. balise de catégorie
  2. Ciblage des instances
  3. segmentation des instances

insérez la description de l'image ici
Comme le montre la figure ci-dessus, la catégorie d'objet dans chaque image est déterminée dans la première étape. En raison du grand nombre d'ensembles de données et de catégories, ils utilisent une approche hiérarchique au lieu d'une classification binaire pour chaque catégorie. Les 91 catégories sont regroupées en 11 supercatégories.

L'annotateur vérifie ensuite si chaque instance appartient à l'une des supercatégories données. Les travailleurs étiquettent simplement une instance de chaque supercatégorie avec l'icône de la catégorie (Lin et al., 2014c). Pour chaque image, huit travailleurs sont invités à l'étiqueter. Cette approche en couches permet de réduire le temps d'étiquetage. Cependant, la première phase a tout de même nécessité 20 000 heures de travail.

À l'étape suivante, toutes les instances de la catégorie d'objet dans l'image sont étiquetées et chaque travailleur étiquette au plus 10 instances de la catégorie donnée dans chaque image. Au cours des étapes d'emplacement d'instance et de segmentation d'instance, le thread de travail actuel peut voir les emplacements des instances trouvées par le thread de travail à l'étape précédente. Chaque image a été réétiquetée par 8 travailleurs pour un total de 10 000 heures de travail.

Dans l'étape de segmentation finale, chaque instance d'objet est segmentée, et la segmentation des autres instances et la spécification de l'instance d'objet par le travailleur à l'étape précédente sont à nouveau présentées au travailleur. La segmentation de 2,5 millions d'instances d'objets est une tâche très chronophage, nécessitant plus de 22 heures de travail pour 1000 segments. Pour minimiser les coûts et améliorer la qualité de la segmentation, tous les travailleurs doivent effectuer la tâche de formation pour chaque catégorie d'objet. Pour garantir une meilleure qualité, une étape de validation explicite est également effectuée sur chaque instance segmentée.

1.2 Modèle de génération d'image en texte

Les tâches de génération d'image en texte impliquent la description du contenu visuel d'une image en langage naturel, ce qui nécessite des algorithmes pour comprendre et modéliser la relation entre les éléments visuels et textuels afin de générer une séquence de mots de sortie.

Le modèle de texte généré par image basé sur Transformer et BERT peut être considéré comme une technologie « parlant d'image », et son objectif principal est de générer une description en langage naturel correspondante basée sur une image donnée. Ces modèles utilisent généralement un réseau neuronal convolutif (CNN) comme encodeur d'image et un transformateur ou BERT comme générateur de texte.

Le modèle de texte de génération d'image basé sur un transformateur peut être mis en œuvre en procédant comme suit :

  1. Extraction de caractéristiques d'image : saisissez l'image dans le réseau de neurones convolutionnels (CNN) et extrayez le vecteur de caractéristiques de l'image.
  2. Modélisation de séquence : saisissez le vecteur caractéristique de l'image dans le transformateur en tant qu'entrée de l'encodeur. En même temps, la séquence de vecteurs de mots d'un morceau de texte est utilisée comme entrée du décodeur.
  3. Modélisation du langage : grâce au mécanisme d'auto-attention et au réseau de neurones à anticipation dans le décodeur, la modélisation du langage est effectuée sur le texte pour générer des descriptions en langage naturel liées aux images.
  4. Prédiction : selon la séquence de vecteurs de mots générée par le décodeur, la distribution de probabilité de chaque mot à la position actuelle est calculée par la fonction softmax et le mot suivant est prédit à partir de celle-ci.

Dans ce processus, la méthode anthropomorphique peut nous aider à mieux comprendre la logique de pensée de l'algorithme :

Nous pouvons considérer les images comme les informations visuelles vues par les yeux d'une personne, tandis que le texte est la description linguistique de ces informations dans l'esprit de la personne. Dans le modèle de texte de génération d'images, CNN agit comme l'œil humain, convertissant l'image en une forme vectorielle. Le modèle de transformateur joue le rôle du cerveau humain, combinant des vecteurs de caractéristiques d'image avec du texte pour générer des descriptions en langage naturel. Par conséquent, nous pouvons considérer ce modèle comme un processus anthropomorphique, combinant des images avec du texte pour simuler le processus de pensée du cerveau humain.

1.2.1 Modèle M2 (Maillage—Transformateur Mémoire)

Pour réaliser la tâche multimodale image-texte, une nouvelle approche entièrement attentionnelle est proposée en 2020 pour les modèles image-texte. Appelé modèle M2, il vise à améliorer la conception des encodeurs d'images et des décodeurs de langage.

Par rapport au précédent modèle textuel de génération d'images, le modèle M2 (Meshed-Memory Transformer) présente deux innovations :

  • Mécanisme de mémoire de type grille : Le modèle M2 interagit chaque mot avec d'autres mots en introduisant un mécanisme de mémoire de type grille. Ce type d'interaction comprend non seulement l'interaction entre les mots adjacents, mais aussi l'interaction entre les mots distants. Cette méthode d'interaction en forme de grille peut mieux capturer la relation entre les mots, améliorant ainsi l'effet du texte généré par l'image.
  • Mécanisme de raisonnement parallèle : Le modèle M2 accélère la vitesse de génération de texte grâce à un mécanisme de raisonnement parallèle. Le modèle interagit et met en parallèle plusieurs décodeurs, réduit les temps d'attente inutiles et améliore l'efficacité de la génération de texte. Ces deux innovations sont proposées en réponse aux défauts du modèle précédent, qui permet de mieux traiter les problèmes de dépendance à longue distance et d'efficacité de calcul, et d'améliorer les performances du modèle de texte généré par l'image.

Compréhension conceptuelle du mécanisme de mémoire de grille

让我们来用一个拟人的例子来解释这个概念。假设你正在学习一门新的语言,你要记住一些单词,比如“苹果”、“橙子”、“香蕉”等。你可以把这些单词存储在你的脑海中,但是你不可能记得每一个单词在你学习这门语言的所有上下文中的使用情况。所以,你需要一个记忆机制来帮助你更好地处理这些信息。
现在,假设你学会了一些短语,比如“我想要一些…”、“这是一个…”、“这是我的…”等等。这些短语可以帮助你更好地描述你所见到的事物。但是,如果你只记住了这些短语,而没有记住它们与特定单词之间的关系,那么你可能无法正确地使用它们。

这就是网格格式记忆机制的作用。它可以帮助Transformer模型记住序列数据中的长期依赖关系,例如在图像生成文本任务中,可以帮助模型记住之前看到的图像内容,以便更好地生成对应的文本描述。具体来说,网格格式记忆机制将原始的序列数据转化为一个网格状的数据结构,其中每个元素都与其他元素相连。这种连接方式可以帮助模型更好地捕捉数据中的长期依赖关系。

M2架构如下图所示
insérez la description de l'image ici

对比一下经典的transformer架构,就可以发现m2模型的不同层级的解码器和编码器也是互连的

insérez la description de l'image ici

insérez la description de l'image ici

上图显示了M2 Transformer的详细架构。它可以分为编码器(左)模块和解码器(右)模块,两个模块都有多个层。给定输入图像区域X,图像通过注意力和前馈层传递。

每个编码层都会将具有先验知识的图像区域之间的关系进行编码,每个编码层的输出将被解码层读取,逐字为图像生成文本。

图像X的特征向量提取还是通过注意力机制来计算的,注意力机制可以定义为如下形式:
A t t e n t i o n ( Q , K , V ) = s o f t m a x ( Q K T d ) V Attention(Q,K,V)=softmax(\frac{QK^T}{\sqrt d})V A t e n t i o n ( Q ,K ,V )=donc f t max ( _d Q KT) V

Si vous ne comprenez pas le principe de ce mécanisme, vous pouvez vous référer à mon blog : From Transformer to ViT : Analysis and Implementation of Multimodal Encoder Algorithm Principles

Le principe de fonctionnement de l'architecture du modèle est analysé ci-dessous, et l'architecture du modèle est divisée en un décodeur et un encodeur, tout comme le transformateur.

Encodeur à mémoire augmentée

L'encodeur à mémoire augmentée du modèle M2 est la partie encodeur du modèle. Sa fonction principale est d'encoder l'image d'entrée X en une série de vecteurs de caractéristiques pour les décodeurs suivants.

L'encodeur à mémoire augmentée a des conceptions innovantes pour mieux utiliser les connaissances préalables lors de l'encodage des images. L'architecture de l'encodeur à mémoire augmentée est très similaire à l'encodeur du transformateur standard, qui est composé de plusieurs couches d'encodeur empilées. Chaque couche d'encodeur se compose de deux sous-couches : une couche d'auto-attention multi-têtes et une couche d'anticipation entièrement connectée. L'entrée de chaque couche d'encodeur est la sortie de la couche précédente, de sorte que la sortie de la dernière couche est la sortie de l'ensemble de l'encodeur.

L'innovation de Memory-Augmented Encoder est l'introduction d'un nouveau mécanisme appelé Memory-Augmented Attention. Ce mécanisme peut aider le modèle à mieux utiliser les connaissances antérieures, améliorant ainsi la qualité d'encodage des images. L'attention augmentée par la mémoire est principalement réalisée en étendant les clés et les valeurs, afin que le modèle puisse apprendre des connaissances antérieures.

Les connaissances préalables font ici référence aux informations préalables sur l'image fournies lors de la formation du modèle, telles que la relation spatiale entre différentes régions de l'image, les caractéristiques visuelles telles que la couleur et la texture.

Plus précisément, l'implémentation de Memory-Augmented Attention consiste à : ajouter une matrice supplémentaire pour la clé et la valeur, notée M k M_kMket M v M_vMv, cette matrice ne dépend pas du contenu spécifique de l'image, mais est obtenue par apprentissage. M k M_kMket M v M_vMvLes valeurs initiales de peuvent être arbitraires, mais elles sont constamment mises à jour pendant la formation pour mieux s'adapter à l'image d'entrée. Dans la couche d'auto-attention, le modèle utilisera M k M_kMket M v M_vMvLes poids d'attention sont calculés par une projection linéaire avec l'image d'entrée X pour mieux modéliser la relation entre les différentes régions de l'image. De cette manière, l'attention augmentée par la mémoire peut combiner les connaissances préalables dans l'image d'entrée avec le mécanisme d'attention pour améliorer la qualité d'encodage de l'image.

Formule de mise en œuvre :

Tout d'abord, notez l'image d'entrée comme XXX et Matrice mémoireMMM effectue une transformation linéaire pour obtenir les matrices de requête, de clé et de valeur correspondantesQ , K , V , M k , M v Q,K,V,M_k,M_vQ ,K ,V ,Mk,Mv

Q = XW q Q=XW_qQ=X Lq
K = XW k + M k W km K=XW_k+M_kW_{km}K=X Lk+MkOkilomètres
V = XW v + M v W vm V=XW_v+M_vW_{vm}V=X Lv+MvOv m

Parmi eux, W q W_qOqW k W_kOkW v W_vOvW km W_{km}Okilomètres W vm W_{vm}Ov mest une matrice de poids apprenable, M k M_kMk, M v M_vMvest MMM est la matrice obtenue par transformation linéaire.

Ensuite, calculez la similarité entre la requête et la clé pour obtenir le poids d'attention AAA

A = softmax ( QKT dk ) A=softmax(\frac{QK^T}{\sqrt d_k})UN=donc f t max ( _d kQ KT)

Parmi eux, dk d_kdkest la dimension de la clé. Enfin, multipliez le poids de l'attention et la matrice de valeurs pour obtenir la matrice de sortie OOO

O = AVO=NONO=Un V

Parmi eux, OOLa dimension de O etXXX est le même.

Une fois la sortie obtenue, elle est entrée dans la couche d'anticipation et régularisée. La
formule de calcul de la couche d'anticipation est la suivante :

FFN ( x ) = max ( 0 , x W 1 + b 1 ) W 2 + b 2 ​ FFN(x)=max(0,xW_1+b_1)W_2+b_2​FFN ( x )=max ( 0 , _x L1+b1) W2+b2​x
^ = A dd N orm ( FFN ( x ) ) \hat x=AddNorm(FFN(x))X^=Ajouter N ou m ( FFN ( x ) )

Parmi eux, xxx représente le vecteur de caractéristiques d'entrée,W 1 W_1O1et b 1 b_1b1est le paramètre de la première couche d'anticipation (il peut également être considéré comme un ensemble de poids et d'éléments de biais), W 2 W_2O2et b 2 b_2b2est le paramètre de la deuxième couche d'anticipation, max ( 0 , ⋅ ) max(0,\cdot)max ( 0 , _) représente la fonction d'activation ReLU

Comme il y a n couches de codage, il affichera n x ^ \hat xX^X ^ = ( X 1 , X 2 , . . . , X n ) \hat X=(X_1,X_2,...,X_n)X^=X1,X2,... ,Xn)

Décodeur maillé

insérez la description de l'image ici
Meshed Decoder est une partie importante du modèle m2, qui utilise la sortie x ^ \hat x de toutes les couches de l'encodeur précédentX^ et le vecteur de mot précédemment généréYYY , génère des légendes pour les images via un mécanisme d'attention croisée. Plus précisément, le décodeur maillé se compose de deux composants principaux, à savoir une couche d'attention croisée et une couche réseau à rétroaction de position.

Couche d'attention croisée : elle est utilisée pour fusionner le vecteur de mots généré précédemment et la sortie de toutes les couches d'encodeur via l'attention croisée pour générer un nouveau vecteur. Parmi eux, l'opération d'attention croisée fonctionne en interrogeant les vecteurs du décodeur, tandis que les mots-clés et les valeurs proviennent de l'encodeur. Plus précisément, la formule de l'opération d'attention croisée est la suivante :

C ( X je , Y ) = Attention ( W q Y , W k X je , W v X je ) C(X_i,Y)=Attention(W_qY,W_kX_i,W_vX_i)C ( Xje,Y )=A t e n t i o n ( WqOui ,OkXje,OvXje)

Parmi eux, X i X_iXjeIndique le deuxième ii de l'encodeurSortie de la couche i ,YYY représente le vecteur de mot qui a été généré devant le décodeur,W q W_qOqW k W_kOkW v W_vOvsont des poids apprenables.

Pour exprimer la contribution de chaque couche d'encodeur et l'importance relative entre elles, une matrice de poids de même taille que le résultat d'attention croisée est introduite iije . Cette matrice peut être calculée par la formule suivante :

je = σ ( W je [ Oui , C ( X je , Oui ) ] + bi ) je=\sigma(W_i[Y,C(X_i,Y)]+b_i)je=s ( Wje[ O ,C ( Xje,Y )]+bje)

Parmi eux, σ \sigmaσ est la fonction d'activation sigmoïde,W i W_iOjeBi b_i japonaisbjesont des poids et des préjugés apprenables. Couche réseau d'anticipation de position : pour chaque mot généré, Meshed Decoder comprend également une couche réseau d'anticipation de position, qui l'encode via deux transformations linéaires et une fonction d'activation. Plus précisément, sa formule est la suivante :

F ( X ) = R e LU ( W 1 X + b 1 ) W 2 + b 2 F(X) = ReLU(W_{1}X+b_{1})W_{2}+b_{2}F ( X )=R e LU ( W1X+b1) W2+b2

Parmi eux, W 1 W_1O1W 2 W_2O2et b 1 b_1b1b 2 b_2b2sont des poids et des préjugés apprenables. La sortie de la couche Meshed Decoder peut être exprimée comme suit :

Z = Add Norm ( M mesh ( X , Add Norm ( S mask ( Y ) ) ) ) Z=AddNorm(Mesh(X,AddNorm(Smask(Y))))Z=Ajouter N ou m ( M maillage ( X , _ _ _A dd N or m ( S ma s k ( Y ))))
Y ~ = A dd N orm ( F ( Z ) ) \widetilde{Y}=AddNorm(F(Z))Oui =Ajouter N ou m ( F ( Z ) )

Parmi eux, le masque S SmaskS ma s k représente un masque qui garantit que les vecteurs-mots résultants n'interagissent qu'avec les vecteurs-mots précédents, plutôt que de regarder en arrière. Ajouter une norme Ajouter une normeAjouter N ou m signifie ajouter une connexion résiduelle et une opération de normalisation dans chaque couche

Afin de mieux comprendre le modèle, on peut imaginer Meshed-Memory Transformer comme une personne, il comporte deux parties : un cerveau chargé de voir les images et une bouche chargée de parler.

Tout d'abord, lorsque la personne voit une image, son cerveau encode chaque région de l'image dans un vecteur, qui est transmis à une partie du cerveau appelée l'encodeur à mémoire augmentée. Cette partie organise ces vecteurs sous une forme plus manipulable et les stocke en mémoire. Ensuite, lorsque la personne voudra dire quelque chose à propos de l'image, sa bouche fonctionnera. Il y a une partie appelée Meshed Decoder dans sa bouche, dont le travail consiste à générer progressivement des mots décrivant cette image en fonction des mots et des codes de zone d'image qui ont été générés auparavant. Au cours de ce processus, la bouche prêtera constamment attention aux mots et aux codes de région d'image qui ont été générés auparavant, et ajustera dynamiquement le poids d'attention pour générer le prochain mot le plus approprié.

2. text2Image

Le domaine des modèles d'images génératives de texte intermodaux s'est considérablement développé ces dernières années. L'
intention principale de ce chapitre est de présenter au lecteur une perspective sur la façon dont le domaine s'est développé chronologiquement. Saisir les concepts les plus importants, en commençant par l'introduction des GAN, en passant par les premiers modèles inter-domaines, et en terminant par des réalisations à l'état de l'art (à partir de septembre 2022),

2.1 Réseau antagoniste génératif (GAN)

L'émergence des réseaux antagonistes génératifs (GAN) est une étape importante dans le développement des modèles génératifs. Le GAN a été proposé par Goodfellow et al., 2014, qui proposent une nouvelle architecture et un nouveau schéma d'entraînement, qui correspond à un jeu min-max à deux joueurs entre le générateur et le discriminateur (d'où le mot "adversaire"). Les GAN peuvent être considérés comme un premier démarreur dans le domaine des modèles texte-image, et les modèles de type GAN obtiennent des résultats de pointe depuis longtemps, c'est pourquoi leurs concepts de base sont présentés dans ce chapitre.

2.1.1 Image de génération de texte GAN de base

Dans les GAN de base, un modèle générateur (G) et un modèle discriminateur (D) sont optimisés ensemble dans un jeu min-max, où G vise à générer un échantillon si réaliste que D ne peut pas distinguer s'il provient d'une image réelle ou générée distribuée . D, d'autre part, est formé pour distinguer les deux. À l'origine, les perceptrons multicouches ont été proposés comme architecture modèle pour D et G, bien que théoriquement n'importe quelle fonction différentiable puisse être utilisée. Plus formellement, notons pz la distribution a priori définie par le vecteur de bruit d'entrée z. Le générateur G(z) représente alors la fonction qui mappe cette entrée aléatoire bruitée sur l'image générée x. Le discriminateur D(x) produit une probabilité que x provienne des données réelles plutôt que de la distribution du générateur pg p_gpg. Dans ce cadre, D devrait maximiser la probabilité de deviner correctement les étiquettes de données vraies et fausses. G est formé pour minimiser log ( 1 − D ( G ( z ) ) ) log(1-D(G(z)))journal ( 1 _ _D ( G ( z )))

Cette représentation correspond à la fonction valeur suivante (solution optimale) :
min G min DV ( D , G ) = E x ∼ pdata ( x ) [ log ( D ( x ) ) ] + E z ∼ pz ( z ) [ log ( 1 − D ( G ( z ) ) ) ] min_Gmin_D V(D,G)= E_{x \sim p_{ { data}(x)}}[log(D(x))] + E_{z \sim p_ {z(z)}}[log(1-D(G(z)))]mi nGmi nV ( D ,G )=Ex pd une t une ( x )[ l o g ( D ( x ))]+Ez pz ( z )[ journal ( 1 _ _D ( G ( z )))]

Pour des informations détaillées sur le GAN, veuillez vous référer à mon blog : Modèle génératif - Notes de Li Hongyi

2.1.2 incorporation de texte

Dans le processus de génération d'images à partir de texte, il est nécessaire de représenter le texte comme un vecteur pouvant être traité par un ordinateur, c'est-à-dire un vecteur d'incorporation de texte. Ce vecteur est souvent vu comme une représentation abstraite du sens du texte. Une méthode courante consiste à utiliser une combinaison de réseau neuronal convolutif (CNN) et de réseau neuronal récurrent (RNN) pour mapper le texte dans un vecteur de longueur fixe, à savoir le vecteur d'incorporation de texte.

具体来说,先使用CNN将字符级别的文本输入转换成高维特征向量,然后再通过RNN将高维特征向量压缩成固定长度的text-embedding向量。其中,CNN部分可以看作是对于字符的特征提取过程,RNN部分则可以看作是对于整个文本的语义信息提取过程。因此,通过text-embedding向量,计算机可以更好地理解文本的语义信息,从而进一步实现文本到图像的生成过程。计算text-embedding向量的公式可以表示为:

h t = R N N ( C N N ( x t ) ) h_t=RNN(CNN(x_t)) ht=RNN(CNN(xt))

其中, x t x_t xt表示第 t t t个字符的特征向量, C N N CNN CNN表示CNN模型, R N N RNN RNN表示RNN模型, h t h_t ht表示文本在第 t t t个位置处的text-embedding向量。整个文本的text-embedding向量可以表示为整个文本各个位置的text-embedding向量的平均值或者加权平均值。

使用GoogLeNet作为图像编码器,结合字符级CNN和RNN的文本编码器,以最小化编码图像和文本表示之间的距离为目标的模型。

Dans GAN-CLS, GAN est formé de manière conditionnelle en fonction du texte intégré. Afin de résoudre le problème que le discriminateur ne peut pas distinguer si l'image correspond au texte ou non, le modèle propose une méthode d'apprentissage, qui introduit trois observations dans l'apprentissage : image réelle et texte correct, image réelle et texte erroné, et image générée et texte correct. De plus, pour aider à régulariser le processus de formation, le modèle propose également le concept de GAN-INT, qui utilise des incorporations de texte générées par l'homme pour l'interpolation pendant la formation. En fin de compte, le modèle utilisant l'approche GAN-INT-CLS atteint les meilleures performances sur les ensembles de données d'oiseaux et de fleurs, peut transférer avec succès le style et l'arrière-plan, et présente également des capacités de tir zéro intéressantes. GAN-CLS formé sur MS-COCO démontre son potentiel dans plusieurs domaines, même si les résultats ne sont pas toujours cohérents.

2.1.3 Développement futur du GAN

Orientation future :

  • Améliorer la résolution d'image et la qualité de construction
  • Génération multimodale (par exemple, génération simultanée d'images et de descriptions textuelles)
  • Meilleur contrôle sur le processus de génération (par exemple, spécification de poses ou d'arrière-plans pour des objets spécifiques)
  • Améliorer l'efficacité et la stabilité de l'entraînement

StackGAN :

StackGAN est un modèle GAN avec un générateur à plusieurs étages qui génère progressivement des images avec une résolution plus élevée. Le modèle utilise la normalisation conditionnelle par lots pour intégrer des caractéristiques textuelles dans le générateur à chaque étape, permettant ainsi de contrôler les descriptions textuelles.

À l'attention de GAN :

AttnGAN utilise un mécanisme d'attention qui permet au générateur de se concentrer sur des régions importantes dans les descriptions textuelles. Le modèle utilise également plusieurs couches d'intégrations pour mieux capturer les informations sémantiques dans les descriptions textuelles.

DM-GAN :

DM-GAN adopte une nouvelle structure de générateur appelée "Modules déformables", qui peut ajuster de manière adaptative la forme et la taille de chaque module pour générer des images plus diversifiées et réalistes.

DF-GAN :

DF-GAN adopte une structure appelée "Disentangled Feature", qui décompose les caractéristiques de l'image en sous-fonctionnalités et génère chaque sous-fonctionnalité séparément, afin d'obtenir un meilleur contrôle et une meilleure interprétabilité.

2.2 De-E 1

Dall-E d'OpenAI a sans aucun doute poussé le champ du texte à l'image à un autre niveau. Pour la première fois, un modèle démontre d'excellentes capacités de tir zéro comparables aux modèles précédents spécifiques à un domaine. Pour y parvenir, il faut des tailles d'ensembles de données et des procédures de formation sans précédent. Pour cela, 250 millions de couples texte-image ont été collectés, permettant d'entraîner une version du modèle à 12 milliards de paramètres. Malheureusement, Dall-E n'est pas public, suivant la tendance récente des modèles à source fermée. Au contraire, il a lancé la tendance, qui a été suivie par GLIDE, Dall-E 2, Imagen, Parti et d'autres modèles. Cependant, le fonctionnement interne de Dall-E est décrit dans Ramesh et al (2021b), et cette section tente d'expliquer ses parties les plus importantes.

Avant cela, il est essentiel de comprendre certains concepts fondamentaux qui existent depuis un certain temps dans le domaine des modèles génératifs, à savoir les auto-encodeurs variationnels (VAE).

2.2.1 PIEDS

L'autoencodeur variationnel (VAE) est un modèle génératif qui vise à encoder des données de grande dimension en vecteurs de faible dimension dans un espace latent et à générer de nouveaux échantillons de données à partir de ceux-ci. Différent de l'autoencodeur traditionnel (Autoencoder), VAE réalise l'encodage et la génération des données en apprenant la distribution de probabilité de distribution des données . Dans ce procédé, le VAE intègre également un encodeur et un décodeur.

Pour plus de détails sur le modèle spécifique, veuillez vous référer à mon blog : Autoencoder in Deep Learning

2.3 GLISSEMENT

GLIDE a été introduit par Nichol et al (2021b), qui a ouvert l'ère des modèles de diffusion à grande échelle. Le concept de diffusion est utilisé depuis un certain temps dans le domaine de l'apprentissage profond. Cependant, les auteurs de GLIDE vont encore plus loin en le combinant avec un guidage textuel afin d'orienter le processus d'apprentissage dans le sens du sens du texte. Il a été démontré que cette approche puissante donne d'excellents résultats, toujours compétitifs avec les modèles de pointe actuels au moment de la rédaction.

2.3.1 Modèle de diffusion

Avant de comprendre le fonctionnement interne de GLIDE, il est nécessaire d'introduire le concept de base qui l'anime, la diffusion. L'idée de diffusion vient de la physique. En bref, cela correspond à la diffusion de particules dans un autre fluide (comme un fluide dans un autre fluide). Habituellement, il est unidirectionnel, c'est-à-dire qu'il ne peut pas être inversé. Cependant, comme le montrent Sohl-Dickstein et al. (2015), et plus tard amélioré par Ho et al. (2020a), si le processus de diffusion des données est modélisé comme une chaîne de Markov avec un bruit gaussien, en ajoutant du bruit gaussien en continu, vous pouvez apprendre comment l'inverser.

Pour plus de détails, veuillez vous référer à l'un de mes blogs : Diffusion Model Algorithm

3. Images prenant en charge les modèles de langage

3.1 Mots dans des contextes non symboliques

Supposons que vous êtes seul dans un pays étranger, que vous ne parlez pas la langue locale et que votre seule ressource est un dictionnaire de la langue locale. Vous voyez un mot écrit sur un panneau, mais vous ne pouvez pas comprendre ce que cela signifie. Que pouvez-vous faire Une idée est d'ouvrir le dictionnaire et de rechercher le mot.

Mais le problème est que le mot est défini en termes d'autres mots dans la langue locale. (semblable au dialecte)

Le Fly Museum dans le Sichuan, les habitants savent que c'est un endroit pour manger, mais ceux qui ne le savent pas pensent que c'est un endroit pour élever des mouches

Alors, dans un deuxième temps, vous recherchez ces nouveaux mots, et continuez ainsi jusqu'à "infiniment et au-delà" (pour citer Buzz l'Éclair).

Mais même si vous recherchez chaque mot dans le dictionnaire, vous ne pouvez toujours pas comprendre le sens du mot écrit sur le panneau.

Mais si sur ce panneau, à côté du mot inconnu, quelque chose d'autre est affiché, comme une fourchette et un couteau, vous pourriez deviner que le mot signifie quelque chose lié à la nourriture, comme un restaurant. Et cela se fait sans savoir exactement ce que signifient les mots.

Cet exemple a inspiré les travaux de Stevan Harnad qui, au début des années 90, a posé le problème dit symbolique (Harnad (1990)).

Cette question indique qu'il est impossible de comprendre le sens (sémantique) d'un mot simplement en regardant d'autres mots, puisque les mots sont essentiellement des symboles sans signification. Le sens des mots ne peut être compris que s'ils sont placés dans un espace perceptif au-delà du langage écrit, c'est-à-dire dans des représentations non symboliques telles que les images. Les modèles sémantiques distribués (DSM) se sont considérablement développés au cours de la dernière décennie, en particulier après la révolution Word2vec (Mikolov et al. (2013b)). Cette classe de modèles suppose que les significations des mots et des phrases peuvent être déduites de leur "distribution" dans un corpus de texte (l'hypothèse distributionnelle proposée par Harris et al. (1954)). Mais le problème des fondements symboliques mentionné ci-dessus montre que les DSM ne ressemblent pas à la façon dont les humains apprennent les mots, c'est-à-dire dans un contexte perceptif multimodal. Par conséquent, afin d'intégrer davantage de modalités (telles que les modalités visuelles) dans les modèles de langage pur, des modèles ont été développés, en supposant que l'ancrage des mots et des phrases dans d'autres contextes perceptifs devrait permettre une meilleure compréhension de leur sémantique, et les résultats Oui, cela fonctionne mieux sur les tâches de langage pur.

Cet exemple montre qu'il reflète les connaissances d'apprentissage humain, et la combinaison de plus d'images et de textes doit être plus facile à comprendre que le texte seul. Le cerveau humain apprend des connaissances et préfère les images comme support de connaissances. C'est l'une des raisons pour lesquelles les modèles multimodaux

3.2 Embeddings de mots (Word-Embeddings)

Le point de départ des modèles multimodaux de langage est toujours un modèle de langage pur, c'est-à-dire un modèle qui n'utilise que des entrées textuelles pour générer des plongements de mots, qui sont des mots représentés sous la forme de vecteurs numériques. Dans cette sous-section, les modèles de langage pur les plus largement utilisés dans la littérature sont les trois suivants :

  • Skipgram (Word2vec, Mikolov et al. (2013b)) : étant donné un mot cible, il faut maximiser la probabilité de mots adjacents (entourants) dans une fenêtre prédéfinie. La formation peut être effectuée via un softmax hiérarchique ou via un échantillonnage négatif, ce qui implique de maximiser la probabilité de mots qui sont de réels voisins et de minimiser la probabilité de mots qui ne sont pas de réels voisins (« échantillons négatifs »).
  • GloVe (Pennington et al. (2014)) : basé sur la cooccurrence de mots dans un corpus, vise à minimiser la différence entre le produit scalaire de deux vecteurs d'incorporation de mots et le logarithme du nombre de cooccurrences.
  • BERT (Devlin et al. (2018c)) : utilise deux tâches de pré-formation pour obtenir des incorporations de mots :

– Masked Language Modelling(MLM):给定一个带有[MASK]标记的句子,目标是预测这些标记。
– Next Sentence Prediction(NSP):给定两个句子A和B,目标是预测B是否跟随A。

最后需要补充两点。首先,Skipgram和GloVe生成的嵌入是“无上下文的”:它们不考虑单词出现的上下文。相反,BERT旨在表示给定单词出现的上下文(句子):因此,我们可以根据上下文得到相同单词的不同嵌入。其次,这些模型的输入是标记:通过标记器(可以针对不同的模型不同),将文本分割成“块”,称为标记(它们不一定是单个单词)。

3.3 顺序多模式嵌入(Sequential Multimodal Embeddings)

本节讨论将语言和视觉特征表示与特定单词相关联,如何将它们融合。一种直观的想法是将文本和视觉模态连接起来。假设 V t e x t V_{text} Vtext是一个单词的文本表示, V i m g V_{img} Vimg是它的视觉表示,则某个单词的融合表示F可能采取以下简化形式:

F = γ ( V t e x t ) ⨁ ( 1 − γ ) V i m g F=\gamma(V_{text})\bigoplus (1−\gamma)V_{img} F=γ(Vtext)(1γ)Vimg

其中 γ \gamma γ est un paramètre de réglage qui contrôle les contributions relatives des deux modalités à la représentation fusionnée finale. Bruni et al (2014) ont proposé ce modèle, où le sens du mot cible est représenté sous forme de vecteurs sémantiques, et tous les vecteurs sont collectés dans une matrice sémantique basée sur le texte ; où l'incorporation de texte est basée sur des mots dans un la fenêtre prédéfinie (transformée) est calculée par le nombre de cooccurrences. Le point de départ pour obtenir une représentation basée sur l'image d'un mot cible est un ensemble de données d'images étiquetées.

Kiela et Bottou (2014) ont proposé une méthode de sélection automatique de caractéristiques basée sur un réseau de neurones : en utilisant les sept premières couches d'un réseau de neurones convolutifs formés à partir de la base de données ImageNet pour extraire les caractéristiques visuelles. Utilisez le modèle Skipgram proposé par Mikolov et al (2013b) pour extraire les caractéristiques du texte puis les assembler. Par rapport à la méthode Sequential Multimodal Embeddings, cette méthode ne nécessite pas d'extraction manuelle de caractéristiques et est plus efficace. Le schéma de structure du modèle est illustré dans la figure suivante :
insérez la description de l'image ici

3.4 Espace de base

Les modèles susmentionnés supposent implicitement une correspondance un à un entre le texte et les images : seuls les mots associés à des images spécifiques peuvent extraire des représentations visuelles.

Cela a des limites, en partie parce que :

  • D'une part, comment décrire les mots pour lesquels aucune image n'est disponible dans l'ensemble d'apprentissage ? Est-il possible d'imaginer des représentations purement visuelles à partir d'informations linguistiques ?
  • Par contre, peut-on trouver une représentation visuelle pour chaque mot ? Cela peut être vrai pour les mots concrets, mais pour les mots abstraits, il n'est pas toujours possible de trouver une représentation visuelle appropriée, ou en d'autres termes, de nombreux mots ne sont pas visuellement concrets.

À cette fin, les chercheurs ont posé la question : Pouvons-nous mapper du texte et des éléments visuels dans un espace sous-jacent et concevoir des modèles qui se généralisent aux images et aux mots au-delà de l'ensemble de formation ?

La réponse est oui! L'algorithme multimodal Skip-gram proposé par Lazaridou et al (2015) est une méthode pour intégrer du texte et des éléments visuels dans le même espace de base, qui peut modéliser conjointement des informations textuelles et d'image, améliorant ainsi les performances du modèle.

3.4.1 Principe de l'algorithme

  1. Premièrement, pour chaque mot du texte ttt et caractéristiques d'imagevvv , à travers deux couches d'encastrement différentesE t E_tEtsomme E v E_vEvEffectuez un traitement d'intégration pour obtenir leur vecteur d'intégration ht h_thtet hv h_vhv. Le modèle Skip-gram est utilisé ici pour apprendre le vecteur d'intégration en prédisant les mots dans le contexte.
  2. Ensuite, pour fusionner les informations de texte et d'image dans le même espace de base, Lazaridou et al utilisent une couche d'intégration commune EEE. _ La matrice de poidsWWW est conçu comme une matrice diagonale pour équilibrer les éléments de texte et d'image dans un espace d'intégration commun.
  3. Enfin, le modèle est formé en minimisant la distance entre les éléments de texte et d'image dans l'espace d'intégration commun. La méthode d'échantillonnage négatif est utilisée ici, c'est-à-dire de construire des échantillons négatifs en échantillonnant aléatoirement certains mots qui ne sont pas dans le contexte, afin d'améliorer la robustesse du modèle. Sa fonction de perte cible est la suivante :

1 T ∑ t = 1 T ( L ling ( wt ) + L vision ( wt ) ) \frac{1}{T}\sum_{t=1}^T(\mathcal{L}_{ling}(w_t) +\mathcal{L}_{vision}(w_t))J1t = 1T( Ll en g( wt)+Lv je s je o n( wt))

L ling \mathcal{L}_{ling}Ll en gEst la fonction de perte de Skip-gram, L vision \mathcal{L}_{vision}Lv je s je o nest la fonction de perte visuelle

L vision \mathcal{L}_{vision}Lv je s je o nest la fonction de perte visuelle utilisée pour apprendre la relation entre les représentations multimodales des mots et les vecteurs visuels correspondants. La formule est la suivante :
L vision ( wt ) = − ∑ w 0 − P n ( w ) max ( 0 , − cos ( zwt , vwt ) + cos ( zwt , vw 0 ) ) \mathcal{L}_{vision }(w_t )=-\sum_{w_0 - P_n(w)}max(0,-cos(z_{w_t},v_{w_t})+cos(z_{w_t},v_{w_0}))Lv je s je o n( wt)=w0Pn( w )max ( 0 , _cos ( zwt,vwt)+cos ( zwt,vw0))

Parmi eux, wt w_twtIndique le mot cible, w 0 w_0w0Indique à partir de la distribution de probabilité P n ( w ) P_n(w)PnExemples de mots négatifs sélectionnés au hasard dans ( w ) , vwt v_{w_t}vwtReprésente le vecteur visuel correspondant du mot cible, zwt z_{w_t}zwtreprésente une représentation multimodale du mot cible. Pendant l'entraînement, si un mot n'a pas d'image correspondante, la fonction de perte visuelle L vision \mathcal{L}{vision}L vi s i o n sera mis à zéro . En apprenant la matrice de correspondance intermodaleM u , v M_{u,v}Mtu , v, qui peut mapper une entrée de texte sur une représentation visuelle. Lorsque la matrice de mappage intermodal est estimée, son vecteur d'image correspondant peut être généré pour les nouveaux mots qui n'ont pas d'images pertinentes dans l'ensemble d'apprentissage, réalisant ainsi la fonction d'imaginer de nouveaux mots. Cette approche intègre du texte et des éléments visuels dans le même espace de base, générant des espaces de base qui améliorent la qualité des représentations de mots.

3,5 transformateurs

L'article "Attention is all you need" publié par Vaswani et al en 2017 proposait une nouvelle architecture - Transformer, qui n'utilise que le mécanisme d'attention pour réaliser des tâches de traduction automatique.
Qu'en est-il des transformateurs qui sont devenus si populaires en PNL (et au-delà) au cours des quatre dernières années par rapport aux réseaux de neurones récurrents (RNN) et aux réseaux de mémoire à court terme (LSTM) ? Il y a trois caractéristiques principales :

  • mécanisme d'auto-attention
  • traitement d'entrée parallèle
  • intégration de position

3.5.1 Vokénisation

Il est souvent difficile pour un enfant de décrire le sens d'un mot. Un enfant peut ne pas être capable de décrire ce qu'est un lion, mais si on lui donne des images de différents animaux, il peut facilement pointer du doigt une image d'un lion. Par conséquent, l'orientation visuelle peut être utilisée comme une forme supervisée de langage naturel. Est-il alors possible de construire une forme de supervision visuelle dans un modèle de langage pur qui imite l'orientation visuelle souvent employée par les enfants ? C'est exactement ce que tentent de résoudre Tan et Bansal (2020) : comment associer chaque représentation textuelle (token) à une représentation visuelle (Voken).

Pour plus de détails, veuillez vous référer à mon blog : Vokenization

3.6 Imaginaire des images

Wikipédia définit l'imagination comme "la génération ou la simulation de nouveaux objets, sensations et idées dans l'esprit sans aucune entrée sensorielle directe".

Les humains associent non seulement des mots à des images réelles, mais utilisent également la capacité d'imaginer des mots/concepts : l'imagination peut aider le cerveau humain à résoudre des problèmes avec une supervision limitée ou des points d'échantillonnage en améliorant sa capacité de généralisation. Jusqu'à présent, nous avons discuté des modèles de langage pris en charge par des informations visuelles telles que des images réelles extraites d'ensembles de données de sous-titrage d'images. Mais avec les progrès récents dans le domaine des modèles d'images génératives, il vaut la peine d'étudier si ces modèles génératifs peuvent aider les modèles de langage pur à produire de meilleures représentations de mots. En particulier, nous aborderons le framework iACE (Imagination-Augmented Cross-Modal Encoder) proposé par Lu et al. : l'idée est d'utiliser simplement des modèles génératifs pour obtenir des représentations visuelles d'entrées textuelles, puis d'utiliser ces représentations imaginées comme "imagination -supervisé" pour épurer le modèle de langage. Le cadre comporte deux éléments principaux :

  • Imaginez un générateur G : étant donné une entrée de texte xxx , utilisez VQGAN (Esser et al. (2021)) pour rendrexx"l'imagination" de x iii , et utilisez CLIP (Radford et al. (2021a)) pour afficher l'image résultanteiii avec saisie de textexxAlignement de x . Ce framework de génération s'appelle VQGAN+CLIP
  • Codeur intermodal E c E_cEc : encoder d'abord l'entrée textuelle et l'imagerie rendue à l'aide d'un encodeur de langage et d'un encodeur de vision,

Puis minimiser la distance entre les deux codes, la formule est la suivante :
d ( X , Y ) = ∑ i = 1 l ( xi − yi ) 2 = 2 ( 1 − XTY ) d(X,Y)=\sqrt { \sum_{i=1}^l (x_i-y_i)^2} =2(1−X^TY)( X ,Y )=je = 1je( xjeyje)2 =2 ( 1XT Y)
Par cette opération algébrique simple, on peut voir que minimiser la distance euclidienne entre X et Y équivaut à maximiserXTYX^TYXT Y, qui est le produit scalaire. Cela prouve l'équivalence entre la maximisation du produit interne et la recherche du plus proche voisin.

L'organigramme de l'algorithme est le suivant :
insérez la description de l'image ici

4. Texte prenant en charge les modèles de vision

4.1 Présentation

La leçon la plus importante de 70 ans de recherche sur l'intelligence artificielle est que la manière la plus efficace d'y parvenir est d'utiliser des méthodes générales de calcul, et les avantages sont clairs.

La plupart des recherches sur l'intelligence artificielle sont une tâche spécifique et le modèle ne se généralisera pas pour de nouveaux ensembles de données. Cependant, au fil du temps, la disponibilité des ressources informatiques a considérablement augmenté, permettant de tirer parti de l'informatique. Une chose importante à retenir de cette « amère leçon » est la puissance des méthodes générales qui peuvent évoluer avec les ressources informatiques disponibles, même si les ressources informatiques disponibles deviennent très importantes. L'idée est un peu comme une maquette générique

Modèles de vision textuels, principalement en appliquant les découvertes récentes du traitement du langage naturel (TAL) à la vision par ordinateur (CV).

  • D'une part, les concepts architecturaux qui ont d'abord été populaires en PNL ont été utilisés par le domaine du CV (par exemple, l'apprentissage auto-supervisé ou les transformateurs visuels ; Dosovitskiy et al., 2020b).
  • D'autre part, ces nouveaux modèles NLP puissants, dont la plupart sont des transformateurs (Vaswani et al., 2017b), servent de blocs de construction d'encodage de texte pour prendre en charge en interne des modèles plus grands.

Dans ce chapitre, nous présentons les récents modèles de CV liés CLIP (Radford et al., 2021a), ALIGN (Jia et al., 2021b) et Florence (Yuan et al., 2021) et discutons de leurs concepts de base. Les bonnes performances confirment le potentiel d'amélioration du CV et d'augmentation de l'échelle avec l'aide de la PNL, comme le suggère l'impressionnant GPT-3 (Brown et al., 2020).

Le problème central qui a toujours existé dans le domaine de la vision par ordinateur est que le modèle manque de robustesse et ne peut pas bien s'adapter aux changements dans la distribution des données. Une solution est une approche basée sur l'échelle qui tente d'augmenter la taille de l'échantillon autant que possible et de générer des ensembles de données à grande échelle en utilisant le grand nombre de paires d'images et de textes déjà disponibles sur Internet. Cependant, cette approche est également confrontée à certains défis, tels que le bruit des données et les préjugés sociaux.

Cet article présente des modèles tels que CLIP, ALIGN et Florence, qui ont obtenu d'excellentes performances sur des ensembles de données à grande échelle. Contrairement aux approches visant à affiner les structures de modèles et à former des algorithmes, les chercheurs de ces modèles tentent de résoudre les problèmes à grande échelle et évitent d'injecter des connaissances d'experts dans les modèles. De cette manière, les modèles peuvent mieux se généraliser à de nouveaux ensembles de données, ce qui est un objectif poursuivi par le domaine de la vision par ordinateur.L'échelle de données de ces modèles est la suivante :

  • 400 millions (CLIP; Radford et al., 2021a)
  • 900 million (Florence; Yuan et al., 2021)
  • 1,8 milliard (ALIGN ; Jia et al., 2021b)

4.2 Apprentissage contrastif

Voici une méthode d'entraînement d'images et de texte, appelée apprentissage contrastif. Cette méthode aligne les représentations vectorielles des images et du texte en formant des réseaux de codage pour les images et le texte séparément. Le processus d'alignement est réalisé en minimisant la fonction de perte contrastive, la formule est la suivante :

V img , txt 1 = − 1 N ∑ je = 1 N logeh ( viimg , vitxt ) / τ ∑ j = 1 N 1 [ je ≠ j ] eh ( viimg , vjtxt ) / τ V_{img, txt}^1= -\frac{1}{N}\sum_{i=1}^Nlog\frac{e^{h(v_i^{img},v_i^{txt})}/ \tau}{\sum_{j=1 }^N1_{[i\neq j]}e^{h(v_i^{img},v_j^{txt})/ \tau}}Vje suis g , t x t1=N1je = 1Nl o gj = 1N1[ je= j ]eh ( vjeje suis g, vjt x t) / teh ( vjeje suis g, vjet x t) /t

Parmi eux, viimg v_{i}^{img}vjeje suis gvitxt v_{i}^{txt}vjet x tsont respectivement des représentations vectorielles de l'image et du texte, h ( viimg , vitxt ) h\left(v_{i}^{img}, v_{i}^{txt}\right)h( vjeje suis g,vjet x t) représente leur similarité,τ \tauτ est un paramètre de température,1 [ i ≠ j ] \mathbf{1}_{\left[i \neq j\right]}1[ je= j ]est une fonction indicatrice, ce qui signifie que lorsque i ≠ ji\neq jje=C'est 1 quand j , sinon c'est 0.

L'objectif de la fonction de perte contrastive est de rapprocher la même image et son texte de description dans l'espace de représentation vectorielle, tandis que différentes images et textes sont plus éloignés dans l'espace de représentation vectorielle. Cette méthode peut être entraînée avec une supervision en langage naturel, en utilisant les informations de cooccurrence d'une image et de son texte de description.

La méthode d'encodage de l'image et du texte d'apprentissage comparatif est illustrée dans la figure ci-dessous. Après l'encodage des données, la matrice de similarité de l'image et du texte est calculée.

Son but est d'augmenter la valeur de score de N groupes de paires d'images réelles et de texte (la partie de la zone bleue sur la figure), et N 2 − NN ^ 2 − NN2N Les autres combinaisons possibles obtiennent un score inférieur.
insérez la description de l'image ici
Quelle est la différence entre l'apprentissage contrastif et les modèles prédictifs traditionnels :

La différence entre l'apprentissage contrastif et l'apprentissage prédictif traditionnel est que l'espace pour mesurer le bien et le mal est différent. En apprentissage prédictif traditionnel, c'est généralement dans l'espace de sortie (par exemple, pour des tâches de colorisation d'image, il s'agit de comparer la couleur prédite et la couleur réelle) que l'on mesure la qualité de la prédiction. L'apprentissage contrastif est mesuré dans l'espace de représentation. Les méthodes d'apprentissage contrastif peuvent être plus performantes que les méthodes de prédiction traditionnelles car pour les pertes de prédiction courantes (telles que la perte L2), elles pénalisent généralement chaque dimension de sortie prédite indépendamment, tandis que pour les métriques d'apprentissage contrastif, cela implique de prendre des métriques dans un espace de représentation entrelacé.

Le but de l'utilisation de l'apprentissage contrastif comme modèle de formation n'est pas une considération théorique, mais pour améliorer l'efficacité de l'utilisation des données.
Comme le montre la figure ci-dessous, Radford et al (2021a) ont décidé d'utiliser un modèle de langage basé sur Transformer pour prédire la légende exacte d'une image afin de trouver un modèle pré-formé approprié (voir la sous-section 3.4.2.3 pour plus de détails). Les résultats montrent que la méthode est trois fois plus lente en termes d'efficacité des données qu'une ligne de base plus simple qui prédit les encodages de texte par sac de mots. De plus, l'objectif d'apprentissage contrastif converti en CLIP améliore l'efficacité des données d'un facteur quatre. Cependant, le passage à l'apprentissage contrastif introduit certaines limites. Sa rigueur nécessite certaines étapes supplémentaires et renonce à la grande flexibilité du modèle génératif. En particulier, cela signifie que les modèles contrastifs de type CLIP sont limités dans les options disponibles et ne peuvent pas générer librement de texte ou d'images. Pour étendre les capacités de ces modèles, des blocs de construction de réseau supplémentaires sont nécessaires.
insérez la description de l'image ici

4.2.1 Modèles de base et tir zéro

Le modèle de base fait référence à un modèle à grande échelle pouvant s'adapter à diverses tâches en aval, et il est apparu pour la première fois dans le domaine du traitement du langage naturel. BERT est un exemple précoce. Ces modèles sont souvent inachevés et la véritable gamme de leurs capacités ne peut pas être clairement décrite, car les capacités souhaitées des réseaux de neurones ne sont pas explicitement conçues, mais sont progressivement développées au cours de la mise en œuvre et de l'utilisation dans les tâches en aval.

Cela signifie que ces modèles peuvent être appliqués de nombreuses manières inattendues, et il peut y avoir des manières non découvertes. Le modèle de base est construit sur le concept d'apprentissage par transfert, qui consiste à pré-entraîner sur une tâche source réalisable, puis à l'appliquer à la tâche en aval souhaitée. Dans le contexte de ce chapitre, cela signifie une pré-formation sur les données à l'échelle du Web et l'évaluation des performances sur une variété d'ensembles de données de classification courants. Zero-shot fait référence à l'évaluation des performances sans réentraînement sur un nouvel ensemble de données cible. L'avantage évident des zéro-coups est que l'évaluation des performances est plus objective, puisque des processus comme le surajustement à la distribution générative des données ne faussent pas les résultats.

Ce chapitre montre comment le modèle de comparaison effectue un transfert instantané, comme illustré dans la figure ci-dessous. Dans le cas de la classification d'images, toutes les classes disponibles sont codées par un modèle de langage. Le sous-réseau CV calcule ensuite l'encodage des images à classer et renvoie tous les scores de similarité par paire. La paire avec le meilleur score peut être utilisée comme résultat de décision. La récupération d'image fait l'inverse : après un codage initial de toutes les images, l'image la plus similaire à l'information textuelle en langage naturel encodée dans l'espace de représentation peut être renvoyée.

insérez la description de l'image ici

4.2.2 Architecture du modèle

L'encodeur de texte de CLIP (Contrastive Language-Image Pre-training) est un transformateur amélioré pour le traitement des informations textuelles. Les encodeurs d'images utilisent plusieurs sous-réseaux, notamment :

  • ResNets(如ResNet-50、ResNet-101) Vision
  • Transformateurs(如ViT-B/32、ViT-B/16、ViT-L/14)

Le sous-réseau le plus performant est ViT-L/14, tandis que le plus grand modèle RN50x64 a été formé pendant 18 jours sur 592 GPU V100, et ViT-L/14 a été formé pendant 12 jours avec seulement 256 GPU. L'utilisation du parallélisme élevé de Transformer semble bien fonctionner. Dans l'introduction à l'apprentissage zéro coup, une étape de traitement de texte a été sautée.

Cela améliore la précision du zéro coup du modèle sur ImageNet de 1,3 point de pourcentage. Lorsque le modèle a été combiné à l'aide de 80 indices contextuels différents, la précision d'ImageNet a encore été améliorée de 3,5 points de pourcentage, pour un total de près de 5 points de pourcentage. L'amélioration moyenne des performances sur 36 ensembles de données est de 5 points de pourcentage. De même, des concepts visuels tels que "image", "macro", "dessin" ou encore "chien" peuvent être directement transmis au modèle.

La figure ci-dessous montre les performances de CLIP et ResNet101 sous différentes distributions de données. On peut en déduire que l'approche étudiée dans l'article de Radford et al (2021a) est une étape importante vers la réduction de l'écart de robustesse mentionné précédemment. Au fur et à mesure que l'ensemble de données change, les performances de ResNet101 se dégradent, tandis que la précision de CLIP est encore relativement élevée. Il est important de noter, cependant, que des tiers indépendants ne peuvent pas enquêter seuls sur ces conclusions, car OpenAI n'autorise pas l'accès public à leurs données d'entraînement. Par exemple, il faut s'appuyer sur les conclusions de leur analyse de chevauchement pour exclure les futures données de test pour lesquelles CLIP n'a pas constaté de biais lors de la formation.
insérez la description de l'image ici

4.3 ALIGNER

L'approche de Jia et al est similaire à CLIP, réitérant la nécessité d'ensembles de données visuelles à grande échelle, mais soulignant que le processus de collecte de données de CLIP implique toujours une certaine quantité de filtrage des données. Ils proposent d'obtenir plus d'observations supplémentaires en réduisant le tamisage, en compensant l'augmentation de la quantité de bruit, en créant un ensemble de données d'apprentissage de 1,8 milliard de paires image-texte.
Le modèle correspondant est nommé ALIGN, acronyme de "A Large-scale ImaGe and Noisy-text embedding", dont l'acronyme implique une fonction de perte contrastive qui aligne les encodages vectoriels dans un espace de représentation.

4.3.1 Structure du modèle

Le modèle ALIGN adopte une structure à double encodeur, l'un pour les images et l'autre pour le texte. Pendant la formation, le modèle apprend à encoder des images et du texte en vecteurs afin qu'ils puissent être comparés dans l'espace vectoriel. Pour s'assurer que les représentations vectorielles entre les images et le texte sont similaires, le modèle est entraîné à l'aide d'une méthode appelée perte contrastive. Une fois formé, ce modèle peut être utilisé pour effectuer de nombreuses tâches, telles que la récupération d'images et de textes, ou pour générer de nouvelles correspondances d'images et de textes. En encodant des images et des textes dans des vecteurs, le modèle ALIGN peut les placer dans le même espace vectoriel, ce qui facilite la comparaison entre eux.

Par exemple, vous pouvez demander au modèle de rechercher des images associées au mot "éléphant" ou lui faire générer des images correspondant à "voiture bleue". Dans ce cas, le modèle peut faire le travail en calculant la similarité entre les vecteurs.
insérez la description de l'image ici

4.4 Florence

Yuan等人的方法在原则上与其他方法并没有太大区别,但他们更关注于创建一个真正的基础模型。为了实现这一目标,他们提出了一种可能的视觉应用。如下图所示,他们希望进入细粒度目标检测、动态动作识别和真正的多模态任务等领域。由于他们的野心很大,他们将他们的模型命名为Florence,以“文艺复兴的诞生地”命名(Yuan等人,2021)。

insérez la description de l'image ici

4.4.1 模型结构

作为预训练核心的两个编码器,他们使用了用于图像的分层Vision Transformer(CoSwin Transformer)和类似于CLIP的文本Transformer。他们的893 million个参数也是从头开始共同训练的,并且使用了9亿个图像-文本对。对齐发生在所谓的图像-标签-描述空间中,通过特殊版本的对比损失函数进行编码,该函数将所有具有相同标签的图像-文本对视为正实例。下图展示它的模型结构
insérez la description de l'image ici

5. Models for both modalities(有两种模式的模型)

数据是每一个数据科学问题的核心

多模态机器学习模型的前景及其面临的挑战,其中数据是关键问题之一。获取足够的数据是困难的,因为标记大量数据的成本过高,而将不同类型的数据转换为可用的模型输入也是一个挑战。单模态机器学习模型的选择较多,但跟踪和转移领域之间的模型是有挑战的。整合不同领域的模型到一个统一框架是多模态机器学习的一个重要前景。

在接下来的内容中,我们将在视觉语言模型的背景下,探讨多模态机器学习的挑战和前景。视觉语言模型是可以处理语言和图像作为输入数据的模型。

具体而言,在视觉语言模型方面,已经有许多研究进行。其中,Data2vec、VilBert和Flamingo是三种不同的多模态机器学习模型。

  • Data2vec是一种无监督模型,可以处理不同的模态数据,但无法处理它们之间的交互关系。
  • VilBert是一种早期的视觉语言模型,可以通过创新的交叉注意力概念处理图像和文本之间的交互关系。
  • Flamingo是一种最近出现的少样本视觉语言模型,通过使用大型语言模型实现了大量的表达能力。

Actuellement, les principales directions de recherche se situent dans les domaines de la réponse visuelle aux questions (VQA) et du sous-titrage visuel (VC). En outre, il existe des domaines tels que Visual Commonsense Reasoning (VCR), Visual Linguistic Navigation (VLN) et Multimodal Affective Computing (MAC). Parmi eux, VCR est l'une des directions importantes pour étendre VQA à un plus large éventail de scénarios et rendre le modèle plus facile à expliquer. VLN a de nombreuses applications pratiques en robotique, en particulier dans l'interaction homme-robot.
insérez la description de l'image ici

5.1 Data2vec

Data2Vec est un modèle d'apprentissage en profondeur multimodal qui peut être utilisé pour traiter différentes données d'entrée telles que du texte, des images ou de la parole. Développé par des scientifiques de données chez Meta (anciennement Facebook), ce modèle vise à résoudre certains des problèmes des modèles existants et souligne l'importance des programmes de formation sophistiqués.

insérez la description de l'image ici

Le modèle Data2Vec utilise une relation enseignant-élève auto-supervisée, réduisant ainsi le besoin d'annotation humaine. Le modèle n'est pas un modèle général, ni un modèle général qui utilise exactement le même algorithme pour chaque modalité. Cependant, la structure globale du modèle de Data2Vec est la même quelles que soient les données d'entrée de texte, de parole ou d'image, et seules les stratégies d'encodage, de normalisation et de masquage spécifiques sont spécifiques à la modalité .

Ainsi, Data2Vec est une manière plus générale de traiter différentes modalités, et sur des jeux de données typiques, cela fonctionne très bien. Les principaux composants du modèle Data2Vec sont le modèle enseignant et le modèle étudiant. La seule différence entre eux est que les pondérations du modèle de l'enseignant sont la moyenne décroissante de façon exponentielle des pondérations du modèle de l'élève .

Le but du modèle d'enseignant est de créer un objectif de formation pour le modèle d'étudiant, et la structure du modèle est illustrée dans la figure ci-dessous :
insérez la description de l'image ici
Tout d'abord, une modalité est sélectionnée et l'entrée est codée selon le schéma de codage spécifique de la modalité. De cette façon, l'objectif de formation est entièrement contextualisé en utilisant l'auto-attention sur l'ensemble des données d'entrée. L'objectif d'entraînement est basé sur les K premières couches du modèle de l'enseignant, les couches en bleu. Plus précisément, si yt y_tytIndique l'objectif d'entraînement au temps t, atla^l_tuntjeIndique le onzièmeLa sortie de l bloque, alors :
yt = 1 K ∑ l = L − K + 1 L a ^ tl y_t = \frac{1}{K}\sum_{l=L-K+1}^L \hat a_t ^lyt=K1l = L - K + 1Lun^tje
Autrement dit, l'objectif de formation est la moyenne des sorties des K couches supérieures du réseau d'enseignants après application de la normalisation. Comparé à d'autres modèles, le modèle Data2Vec n'est pas formé à travers les modalités, et la fonction de perte spécifique pour l'objectif de régression est une perte L1 lisse.

Data2vec est un modèle multimodal dont le but est d'apprendre une représentation latente d'un apprenant. Cette représentation latente peut être transformée entre différentes modalités (telles que l'image, le texte, l'audio, etc.) pour jouer un meilleur rôle dans différentes tâches. Le modèle utilise une fonction de perte L1 lisse, comme suit :

L ( yt , ft ( X ) ) = { ( yt - ft ( X ) ) 2 β , si ∣ ∣ ( yt - ft ( X ) ) ∣ ∣ ≤ β ∣ ( yt - ft ( X ) ) ∣ - β 2 , sinon L(y_t,f_t(x))= \begin{cases} \frac{(y_t-f_t(x))^2}{\beta},\quad if ||(y_t-f_t(x))| |\leq \beta\\ |(y_t-f_t(x))|-\frac{\beta}{2}, \quad sinon \end{cases}L(yt,Ft( x ))={ b( ytft( x ) )2,je F ∣∣ ( ytFt( x )) ∣∣b( ytFt( x )) 2b,autre sage _ _ _ _ _

Data2vec多模态模型它具有连续性和对异常值的敏感性,并且使用了一个标准的transformer架构。对于不同的模态输入,Data2vec采用了不同的处理策略。对于图像,该模型采用了Vision Transformer(ViT)策略,将图像分割为多个小块,然后将每个小块线性变换成一个序列,并为其添加可学习的位置编码。这些序列输入到ViT模型中进行上下文化处理。这个过程中,模型使用了multi-head attention模块来加强注意力,将keys、queries和values进行投影,使用softmax函数计算出scaled dot-product-attention,从而生成更加有效的注意力图。同时,Data2vec在图像上使用了类似BERT预训练中的BEiT模型的遮蔽策略,增加了图像的数据增强操作,最后使用softmax函数对最后一个transformer block中的所有小块进行平均池化,并将其输入到softmax函数中进行分类。

insérez la description de l'image ici
具体vit模型详细,可以参考我的这篇博客:从Transformer到ViT:多模态编码器算法原理解析与实现

5.2 VilBert

ViBert是一种多模态模型,旨在同时处理图像和语言输入,并在两种模态之间进行信息交换。该模型扩展了经典的BERT架构,使其能够处理视觉和语言数据。与处理单一模态的BERT不同,ViBert采用了并行流的处理方式,分别将图像和语言输入馈送到两个BERT风格的Transformer模型中。这种并行流的设计使得ViBert能够更好地满足不同模态的需求,同时使用共同的co-attention机制,使两种模态之间可以交换信息。

Le flux de traitement de ViBert est illustré dans la figure ci-dessous :
insérez la description de l'image ici
comme indiqué dans la figure ci-dessus, dans le flux de langage, l'entrée est codée à l'aide d'un vocabulaire plus des marques de classification spéciales (cls), des marques de segmentation (sep) et des marques de masque (mask) . Pour le flux visuel, le modèle Faster R-CNN est utilisé pour extraire les caractéristiques régionales de l'image, puis la position spatiale est codée dans la caractéristique via un vecteur à 5 dimensions, qui est mappé et ajouté avec le codage positionnel. De cette manière, chaque région d'une séquence d'images peut être codée, tandis que le marqueur d'image représente l'image entière.

Le modèle ViBert est conçu à travers un flux parallèle afin que le modèle puisse ajuster sa complexité pour chaque modalité individuellement. Par rapport à la discrétisation de l'espace visuel puis à l'utilisation des tokens discrétisés comme des tokens textuels, cette méthode permet de mieux préserver la flexibilité entre les modalités, tout en évitant l'impact sur le modèle de langage dû au traitement des informations d'image. Après la pré-formation, ViBert peut être affiné pour s'adapter aux besoins de tâches spécifiques.

Le cœur de ViBert est le mécanisme de co-attention, qui permet au modèle d'échanger des informations entre les images et le langage pour mieux gérer les données multimodales. Dans le cadre de la méthode de traitement des flux parallèles, ViBert peut mieux répondre aux besoins des différentes modalités, et en même temps utiliser un mécanisme de co-attention commun pour échanger des informations entre les deux modalités.

Le flux de traitement du mécanisme de co-attention est illustré dans la figure ci-dessous :
insérez la description de l'image ici
dans le cadre de ce mécanisme, le modèle peut traiter le langage et l'image en même temps, et apprendre à fusionner les deux entrées pour mieux comprendre et traiter les informations multimodales.
Plus précisément, la couche de co-attention calcule les matrices de requête, de clé et de valeur, puis alimente la clé et la valeur de chaque modalité dans un bloc d'attention à plusieurs têtes d'une autre modalité. Cette communication se produit uniquement dans une partie spécifique du modèle, étiquetée "co-trm". Dans le modèle ViBert, l'entrée de langage subit un prétraitement approfondi avant la première couche de co-attention, contrairement à l'entrée d'image.

Voici quelques formules :
Pour une entrée multimodale, le modèle ViBert utilise la formule suivante pour calculer la matrice de co-attention :

H t = UNE t V t H_{t}=A_{t}V_{t}Ht=UNtVt
H v = UNE v V v H_{v}=A_{v}V_{v}Hv=UNvVv

Parmi eux, H t H_{t}Htet H v H_{v}Hvsont les matrices d'états cachés calculées à partir des entrées de texte et d'image, respectivement, A t A_{t}UNtsomme A v A_{v}UNvest donnée par la matrice de requête QQQ et matrice cléKKLa matrice d'attention calculée par K , V t V_{t}VtSomme V v V_{v}Vvest la matrice des valeurs calculées à partir des entrées de texte et d'image, respectivement.

Grâce au mécanisme de co-attention, le modèle ViBert peut ajuster l'attention visuelle en fonction de l'entrée de la langue et ajuster l'attention de la langue en fonction de l'entrée de l'image. Ce mécanisme est similaire à la façon dont les humains prêtent attention lors du traitement des informations multimodales et peuvent mieux comprendre et traiter les informations multimodales. Dans le même temps, les chercheurs ont également découvert que pour les tâches VQA, les noms sont les parties les plus influentes du discours, et les mots Wh dans le prétraitement (tels que "qui" et "où") peuvent affecter la carte d'attention à grain fin du couche finale, tandis que l'utilisation de propositions de régions basées sur des objets pour traiter des images peut conduire à des cartes d'attention à grain fin insuffisantes.

5.3 Flamant rose

Tout d'abord, le modèle Flamingo est un modèle de réseau de neurones pour le traitement multimodal du langage naturel, qui peut traiter des données d'entrée de plusieurs modalités telles que des images, des textes et des voix. Son objectif principal est d'effectuer des tâches dans des scénarios multimodaux, telles que la génération de description d'image, la réponse visuelle aux questions, etc.

Le modèle Flamingo se compose principalement de deux parties : un encodeur visuel et un encodeur de langage. L'encodeur visuel est responsable de la conversion de l'image d'entrée en une représentation vectorielle, et l'encodeur de langage est responsable de la conversion du texte en langage naturel d'entrée en une représentation vectorielle.

Ces deux parties traitent l'entrée séparément et fusionnent finalement à travers le perceptron multicouche pour obtenir le résultat de sortie final. Dans le modèle Flamingo, l'encodeur visuel utilise un réseau neuronal convolutif (CNN) pour extraire les caractéristiques des images. L'encodeur de langage, quant à lui, utilise un réseau neuronal récurrent (RNN) pour traiter les séquences de texte. Les deux encodeurs mappent les données d'entrée dans un espace vectoriel pour les opérations de fusion ultérieures.

La principale innovation du modèle Flamingo est qu'il propose un générateur intermodal basé sur un entraînement contradictoire pour fusionner les caractéristiques visuelles et les caractéristiques langagières. Plus précisément, le générateur intermodal mappe les caractéristiques visuelles et les caractéristiques linguistiques dans le même espace vectoriel, puis utilise une formation contradictoire pour optimiser ce processus de mappage. De cette manière, les informations sémantiques entre différentes modalités peuvent être mieux fusionnées, améliorant ainsi les performances du modèle. Voici la formule du modèle Flamingo :

V = fv ( je ) V=f_v(je)V=Fv( je )
ht = fl ( poids , ht - 1 ) h_t =f_l(w_t,h_{t-1})ht=Fje( wt,ht 1)
vt = fa ( V , ht ) v_t=f_a(V,h_t)vt=Fun( V ,ht)
ht ∗ = fs ( vt , ht ) h_t^*=f_s(v_t,h_t)ht=Fs( vt,ht)
pt = softmax ( W pht ∗ + bp ) p_t=softmax(W_ph_t^*+b_p)pt=donc f t ma x ( Wpht+bp)

Parmi eux, III représente l'image d'entrée,wt w_twtReprésente le ttth tt dans la séquence de texte en langage naturel d'entréet mots,VVV représente le vecteur caractéristique de l'image,ht h_thtIndique le premier tt dans la séquence de texteVecteur sémantique de t mots,vt v_tvtreprésente le vecteur généré par le générateur intermodal, ht ∗ h^*_thtReprésente le vecteur de fusion de l'encodeur de langage et de l'encodeur de vision, pt p_tptIndique que le modèle prédit le ttDistribution de probabilité sur t mots

Cette formule peut être comprise de cette manière : le modèle convertit d'abord l'image d'entrée en un vecteur de caractéristiques VV via un encodeur visuelV , la séquence de texte d'entrée via l'encodeur de langue

Je suppose que tu aimes

Origine blog.csdn.net/weixin_42010722/article/details/129927776
conseillé
Classement