在人工智能的世界里,多模态学习不断地展现出其重要性。这个领域的迅速发展不仅促进了不同类型数据之间的深度融合,还为机器理解世界提供了更加丰富和细腻的视角。随着科技的不断演进,人工智能模型已经开始渐渐具备处理和理解从文本、图像,到声音乃至视频等多种类型数据的能力。 —— AI Dreams, APlayBoy Teams!
博客首发地址:一文搞懂多模态:BeiT-3之前的14个多模态+4个周边原理解读 - 知乎
在这篇博客中,我们将共同回顾2022年之前出现的一系列具有里程碑意义的大型多模态模型。从BERT到BeiT-3,每个模型都在多模态学习的发展历程中扮演了不可或缺的角色,它们的每一次迭代都是技术发展的重要一步。
我们首先通过表格形式概述涉及到模型的一些基本信息,然后用一幅关系图片来初步认识这些模型之间的关系及其演进轨迹,这样将为我们在深入探讨这些模型的细节之前,构建一个清晰的理解框架。
在文章的后续部分,我们将详细探究每个模型的基本信息、框架、核心特点以及一些简单的应用,揭示它们如何独立地推动多模态学习领域的发展。无论你是一名深耕AI领域的研究者,还是对最新技术动态保持着浓厚兴趣的读者,这场深入浅出的串讲都将为你敞开通往多模态学习世界的大门。
模型列表
以下是一些主要的多模态模型,包括它们的简称、组织、发布时间、依赖技术和简介。
简称 | 组织 | 时间 | 依赖 | 简介 |
---|---|---|---|---|
Bert | 2018 | Transformer架构 | 文本无监督模型 | |
UNITER | Baidu | 2019 | Bert | 视觉端使用检测框做多模态学习 |
OSCAR | Microsoft | 2020 | Bert | 视觉端使用检测框做多模态学习 |
ViT | 2020 | Bert | 有监督视觉模型 | |
Beit | Microsoft | 2021 | Bert和ViT | 利用dVAE把连续的特征变成离散的token, 对mask掉的token做预测 |
MAE | 2021 | ViT | 带掩码的视觉自编码模型 | |
CLIP | OpenAI | 2021 | Bert和ViT | 文本和图像做对比学习 |
ViLT | NAVER AI Lab | 2021 | OSCAR和UNITER | 把目标检测从视觉端拿掉,增加模态融合的权重 |
ALBeF | Salesforce | 2021 | ViLT和CLIP | 多模态融合之前对齐模态特征 |
VLMo | Microsoft | 2021 | ViLT和ALBeF | 提出混合模态专家结构,不同模态权重共享,分阶段训练 |
SimVLM | 2021 | ViT | 原始结构中直接包含encoder、decoder、单模态、多模态 | |
BeiTV2 | Microsoft | 2022 | Beit | 优化了Beit中视觉标志的生成结构 |
VL-BeiT | Microsoft | 2022 | Bert和Beit | 单模态和多模态结构共享,对数据进行masked预测 |
FLIP | Meta | 2022 | MAE | 带掩码图像和文本的对比学习 |
CoCa | 2022 | SimVLM和ALBeF | 文本端只用decode训练,提升训练效率 | |
BLIP | 2022 | ALBeF和VLMo | 通过decoder生成字幕,字幕器和过滤器引清晰数据,文本decoder、encoder共享权重 | |
BeiT-3 | Microsoft | 2022 | VLMo、VL-BeiT和BeitV2 | 所有技术的大一统 |
关系图
相关工作简
Transformer架构
Transformer 架构是自然语言处理(NLP)和机器学习领域的一项里程碑创新。自从 Google 在 2017 年的论文《Attention Is All You Need》中首次介绍以来,Transformer 已成为现在各种模型的核心,如 BERT、GPT 系列,以及接下来提到的所有工作。
Transformer 架构
完全基于“注意力机制”(attention mechanism),摒弃了以往依赖循环神经网络(RNN)和卷积神经网络(CNN)的设计,并基于之前的Attention工作实现。它的主要优势在于能够并行处理序列数据,从而显著提升效率,并能更好地处理长距离依赖问题。
Transformer 架构的强大表现力和高效率使其成为了自然语言处理(如机器翻译、文本摘要、问答系统)和近年来多模态学习(如图像文字融合、语音处理)等领域的首选模型。
关键组件
- 注意力机制(Attention Mechanism):自注意力(Self-Attention):允许模型在处理序列的每个元素时,同时考虑序列中的所有其他元素,从而捕获序列内部的复杂关系。多头注意力(Multi-Head Attention):通过并行地运行多个自注意力层,Transformer 能够在不同的位置捕捉序列的不同方面,增强模型的表达能力。
- 位置编码(Positional Encoding): 由于 Transformer 不使用循环层,因此需要另一种机制来理解序列中元素的顺序。位置编码通过添加一些关于元素位置的信息到输入嵌入中,使模型能够利用序列的顺序。
- 编码器(Encoder):由多个相同的层组成,每层都有多头注意力机制和简单的前馈神经网络。
- 解码器(Decoder):同样由多个层组成,但除了包含与编码器中相同的层外,还额外添加了一个多头注意力层来关注编码器的输出。
- 前馈神经网络(Feed-Forward Neural Networks): 在每个编码器和解码器层中,都包含一个简单的前馈神经网络,用于进一步处理数据。
- 规范化层(Normalization Layers): 每个多头注意力和前馈神经网络操作后都跟随一个规范化层,用于稳定训练过程。
工作原理
- 编码过程:输入序列被输入到编码器,每个编码器层通过自注意力机制学习输入数据的内部结构,并通过前馈网络进一步处理信息。
- 解码过程:解码器接收编码器的输出,并通过自注意力机制学习输出序列的内部结构。额外的注意力层使解码器能够关注到输入序列的相关部分。
- 输出生成:最后,解码器输出经过一个线性层和 softmax 层,以生成最终的输出序列。
Bert
BERT(Bidirectional Encoder Representations from Transformers)是一种在自然语言处理(NLP)领域的预训练模型。由 Google 在 2018 年推出,BERT 的核心创新是它的双向 Transformer 架构,它在处理文本任务时能够考虑到整个句子的上下文信息。
BERT 不仅在纯文本领域表现卓越,也在多模态学习中显示了其强大的潜力和灵活性。它通过提供高质量的文本表示,为多模态任务中的语言成分提供了坚实的基础,从而在诸如图像-文本融合、跨模态理解等领域取得了显著成果。
BERT 架构
BERT 主要由 Transformer 的编码器组成。与标准的 Transformer 不同,BERT 只使用编码器部分,并在这个基础上进行预训练和微调,以适应不同的下游任务。
关键特点
- 双向上下文理解:传统的语言模型通常只能从左到右或从右到左考虑上下文。BERT 的独特之处在于它同时从两个方向学习上下文,这意味着每个词语都是在整个句子的上下文中进行理解和编码的。
- 预训练(Pre-training):BERT 首先在大规模文本数据上进行预训练,学习语言的基本规律。这个阶段主要包括两种任务:掩码语言建模(Masked Language Modeling, MLM