多模态概述
多模态学习可以聚合多源数据的信息,使得模型学习到的表示更加完备。潜表示空间的质量决定了多模态模型的效果,数据量达到一定规模,模态种类越完整,多模态模型的效果越好。
多模态
一、多模态应用
以最热门的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还是比较昂贵的, 目前应用似乎并不广泛。
二、多模态概述
2.1 多模态的优势
-
- 多模态学习可以聚合多源数据的信息,使得模型学习到的表示更加完备。
-
- 潜表示空间的质量决定了多模态模型的效果,数据量达到一定规模,模态种类越完整,多模态模型的效果越好。
2.2 多模态总体架构
视觉-语言预训练模型(Visual-Language-Model, VLM)通常有五大结构:文本编码(Text-Encode)结构、图像编码(Image-Encode)结构、多模融合(Multi-Modal-Fusion)结构、解码(Decode, 可选)结构、以及预训练任务(PreTrain-Task)。
- Text-Encode: NLP领域的预训练模型以及很成熟了,BERT、RoBERTa、ELECTRA、ALBERT、DeBERTa、MacBERT、UNILM等经典预训练语言模型结构,其中RoBERTa最稳定。
- Image-Encode: CV领域的预训练模型也渐入佳境,主要包括OD-based Region Features、CNN-based Grid Features、ViT-based Patch Features三种方法。OD-based使用OCR技术提取识别的region表示作为输入。CNN-based使用ResNet等经典CNN模型提取信息并将特征平铺成序列作为输入。Patch-based则是使用分块patch embedding的方法提取提取特征作为输入。其中Swin效果很好。
- Multi-Modal-Fusion: 融合Text和Image信息的方式主要有两种,Merge-Attention与Co-Attention。Merge-Attention是在Embedding处融合,例如Text-Embed + Image-Embed;而Co-Attention是在Transformer中的Attention进行融合(cross-attention),例如Text的Query, Image的Key和Value。
- Decode(可选): 一般的多模态模型结构仅为Encode,当然也有Encode-Decode的,例如LayoutLM。
- PreTrain-Task: 多模态模型的预训练目标也很关键,经典的有MLM(Mask-Language-Model, 遮挡Token)、MIM(Mask-Image-Model, 遮挡Region或者Patch)、ITM(Image-Text-Matching, 图文匹配)。其他的还有ITCL(Image-Text-Contrastive-Learning, 图文对比学习)、WRA(Word-Region-Aligment, 块对齐Word和Region)、VQA(Visual-Question-Answer, 视觉问答).
概括的说,根据多模融合(Multi-Modal-Fusion)结构的不同,VLM预训练模型可以分为单流模型和双流模型。依据图像编码(Image-Encode)结构的不同,VLM预训练模型可以分为OD-based、Grid-based、Patch-based、CLIP系列等。
三、经典模型
3.1 基于目标检测(Object-Detect-based Region Features)
3.1.1 VisualBERT
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)。
3.1.2 VL-BERT
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回归与分类)。
3.1.3 LXMERT
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分类)。
3.2 基于CNN网格特征(CNN-based Grid Features)
3.2.1 Pixel-BERT
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回归与分类)。
特点:
-
- Pixel-BERT的像素、文本语义对齐语义,不同于之前的基于Region图像特征,解决了特定任务的视觉表征限制,同时减轻标注边界框的耗费。
-
- Pixel-BERT模型的方法效果远远低于OB-based的方法。
3.3 基于块嵌入(Patch-Embedding)
3.3.1 ViLT
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, 图文子集对齐)。
特点:
-
- ViLT引入Patch-Embedding, 使得双流模型的图像侧特征提取效率提高。
-
- ViLT引入的Path-Embedding只是线性变化, 在下游任务效果好于Grid-based方法, 但是明显不如OB-based的方法。
3.3.2 ALBEF
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, 图文对比训练)。
特点:
-
- 图文对比学习,掩码语言建模,图文匹配任务都是追求互信息最大话方式的一种视角,将基于三种预训练任务进行了统一建模。
-
- 动量蒸馏, Momentum Distillation (MoD), 类似Mean-Teacher。
3.4 基于CLIP(Contrastive Language-Image Pre-Training)
3.4.1 CLIP
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负采样。
特点:
- CLIP为CV研究者打开了一片非常非常广阔的天地,跨过了奇点,真的把自然语言级别的抽象概念带到计算机视觉里了。
- 在zero-shot、text生成image、工业化应用方面效果很好。
参考文献
- Survey: Multimodal Machine Learning: A Survey and Taxonomy
- VisualBERT: VisualBERT: A Simple and Performant Baseline for Vision and Language
- VL-BERT: VL-BERT: Pretraining of Generic Visual-Linguistic Representations
- LXMERT: LXMERT: Learning Cross-Modality Encoder Representations from Transformers
- UNITER: UNITER: UNiversal Image-TExt Representation Learning
- Pixel-BERT: Pixel-BERT: Aligning Image Pixels with Text by Deep Multi-Modal Transformers
- ViLT: ViLT: Vision-and-Language Transformer Without Convolution or Region Supervision
- ALBEF: Align before Fuse: Vision and Language Representation Learning with Momentum Distillation
- CLIP: Learning Transferable Visual Models From Natural Language Supervision
更多推荐
所有评论(0)