以最热门的Visual-Language这类模型为例(即Image-Language), 排在前面的任务依次是图文检索(Iamge-Text Retrieval)、文本生成图像(Image Generation from Text)、图片描述(Image Captioning)、
视觉问答(Visual Question Answering)、文本加图像翻译(Multi-Model Machine Translate)、视觉语言导航(Vision and Language Narigation)、多模态对话(MultiModel Dialog)。
其中应用最广泛的要数图文检索,毕竟是搜索任务嘛,各大云厂商也有把这个功能做成一个通用服务。其次学术上最热的无疑要数文本生成图像了,最近大火的模型有CLIP、DALL-E等,依赖搜索引擎,也取得了不错的进展。
其他的例如图片描述、视觉问答、文本图像翻译、视觉语言导航和多模态对话等,感觉还是不太成熟,或者说是应用场景受限。
从实际应用来看, 某种意义上说, 多模态multi-model还是比较昂贵的, 目前应用似乎并不广泛。

视觉-语言预训练模型(Visual-Language-Model, VLM)通常有五大结构:文本编码(Text-Encode)结构、图像编码(Image-Encode)结构、多模融合(Multi-Modal-Fusion)结构、解码(Decode, 可选)结构、以及预训练任务(PreTrain-Task)。
概括的说,根据多模融合(Multi-Modal-Fusion)结构的不同,VLM预训练模型可以分为单流模型和双流模型。依据图像编码(Image-Encode)结构的不同,VLM预训练模型可以分为OD-based、Grid-based、Patch-based、CLIP系列等。


VisualBERT是早期多模态的经典之作,单流模型,一种模仿BERT的、结构简单,即text-embedding与image-embedding拼接起来输入Transformer,在VQA、VCR、NLVR数据集上取得了不错的效果。
VisualBERT流程主要是:1.单流嵌入层(文本和图像拼接起来作为输入, 类似BERT的text-embedding, Faster-RCNN抽取region特征) -> 2.编码层(Encode层为Transformer) -> 3.预训练任务目标为MLM(Masked Language Model)、SIP(Sentence-Image Prediction, 文本-图像匹配, 类似NSP)。

VL-BERT是早期引入视觉语言学的工作,单流模型,重点是引入了Visual Feature Embedding模块,即除了OD-based Region Features,还有一个整张图片的Embedding。在视觉常识推理、视觉问答和指称表达理解取得了不错的效果。
VL-BERT流程主要是:1.单流嵌入层(文本和图像拼接起来作为输入, 其中image-embedding有Faster-RCNN抽取的region、以及全图mask掉region后进行FC操作) -> 2.编码层(Encode层为Transformer) -> 3.预训练任务目标为MLM(Masked Language Model)、MRIC(Masked RoI Classification, ROI回归与分类)。

LXMERT是早期的双流多模态模型,重点是text-encode和image-encode分别采用了不同的编码器,紧接着融合cross-modality-encode,在VQA、VCR、NLVR数据集上实现了新的stoa,NLVR数据集上指标更是提高了22%。
LXMERT流程主要是:1.双流编码层(文本编码为Transformer(word+idx), 图像编码为Transformer(roi+pos)) -> 2.融合Multi-Modal-Fusion(两个Encode, Cross-Att + Self-Att + FFN, 即图像到文本/文本到图像) -> 3.预训练任务目标为MLM(Masked Language Model)、MRIC(Masked RoI Classification, ROI分类)。

Pixel-BERT不同于以往的image-embedding采用目标检测方式的模型,它将图像像素与文本对齐,双流模型,在视觉问答、图文检索、视觉推理方面取得了不错的效果。
Pixel-BERT流程主要是:1.双流嵌入层(两个编码器, Text-Encode采用BERT-CLS-SEP形式拼接物体item; Image-Encode采用ResNet编码后随机采样100像素) -> 2.编码层(Encode层为Transformer, text和image拼接) -> 3.预训练任务目标为MLM(Masked Language Model)、ITM(Image-Text-Matching, 图文匹配)、MRIC(Masked RoI Classification, ROI回归与分类)。
特点:

ViLT着重于平衡Text-Embed、Image-Embed这两个Embedding,在图像侧采用了ViT中的patch-embedding方法提取图像信息,提升了图像侧的特征提取效率。
ViLT流程主要是:1.双流嵌入层(两个编码器, Text-Encode采用Word-Piece-Embedding; Image-Encode采用Linear Projection of Flatten Patchs) -> 2.编码层(Encode层为Transformer, text和image拼接) -> 3.预训练任务目标为MLM(Masked Language Model, Whole-Word全词遮挡语言模型)、ITM(Image-Text-Matching, 图文匹配)、WPA(Word-Patch-Alignment, 图文子集对齐)。

特点:

ALBEF通过引入对比损失,通过跨模态注意将图像和文本表示在融合前对齐(ALBEF),实现更扎实的视觉和文本表示学习,同时对图像标注、分辨率要求不高。
ALBEF流程主要是:1.双流编码层(两个编码器, Text-Encode采用Bert(6-Layer); Image-Encode采用ViT-B/16, 分别编码后即计算Image-Text Contrastive Loss) -> 2.编码层(Encode层为Transformer-6-Layer, text和image拼接) -> 3.预训练任务目标为MLM(Masked Language Model, Whole-Word全词遮挡语言模型)、ITM(Image-Text-Matching, 图文匹配)、ITC(Image-Text Contrastive Learning, 图文对比训练)。
特点:

CLIP(对比图文多模态预训练模型)是近年来多模态方面的热点,其采用大量搜索引擎的图文数据进行对比学习预训练,在zero-shot上性能甚至可以匹敌众多数据集上的监督SOTA,可以说引领了data-based先河。
CLIP流程主要是:1.数据收集(搜索引擎搜索图-文对400M,batch-size批尺寸32768) -> 2.编码层(Text-Encode为Transformer, Image-Encode为改进ResNet/ViT) -> 3.双塔结构, 图文特征融合为 图片特征矩阵 x 文本特征矩阵, 损失函数为0-1交叉熵, 负样本为in-batch负采样。
特点: