《i-Code: An Integrative and Composable Multimodal Learning Framework》中文校对版

文章汉化系列目录



摘要

 人类智能是多模态的;我们整合视觉、语言和声音信号来维持整体的世界观。然而,大多数当前的预训练方法仅限于一种或两种模态。我们提出了 i-Code,一种自监督预训练框架,用户可以灵活地将视觉、语音和语言等模态结合成统一的通用向量表示。在这个框架中,来自每种模态的数据首先由预训练的单模态编码器处理。编码器的输出随后通过一个多模态融合网络进行整合,该网络使用新颖的注意力机制和其他架构创新来有效地组合来自不同模态的信息。整个系统通过端到端预训练,并引入了新的目标,包括掩码模态单元建模和跨模态对比学习。与之前仅使用视频进行预训练的研究不同,i-Code 框架在训练和推理过程中可以动态处理单模态、双模态和三模态数据,灵活地将不同的模态组合投射到单一表示空间。实验结果表明,i-Code 在五项视频理解任务和 GLUE 自然语言处理基准上优于当前最先进技术,提升高达 11%,展示了整合性多模态预训练的强大潜力。

1 引言

 真正类似人类的智能包含了来自多种信号和感官的整合信息(Schank & Abelson, 1975)。这意味着智能系统应当是整合性的,能够结合所有可用的模态信号(Lake et al., 2017)。在许多实际数据环境中,这些模态对应视觉(V)、语言(L)和语音/音频(S)。尽管在理解单一模态(Devlin et al., 2019; Liu et al., 2021a; Hsu et al., 2021; Chen et al., 2021)或双模态(Su et al., 2019; Lu et al., 2019; Li et al., 2019; Radford et al., 2021; Jia et al., 2021; Yuan et al., 2021)模型的进展显著,但扩展至能够同时解读视觉(V)、语言(L)和语音(S)的三模态系统却是一项复杂任务。

 三模态预训练的一大难点在于需要大量三模态数据(如带字幕的视频),然而这种数据的量通常远小于可用的单模态或双模态数据。例如,截至本文撰写时,最大的注释视频数据集包含 1.8 亿个片段(Zellers et al., 2021),而最大的图像-字幕数据集则包含 9 亿对(Yuan et al., 2021)。

 为解决这一问题,我们提出了两种解决方案。首先,除了三模态视频,我们还利用了大规模的双模态数据,如带字幕的图像(V+L)、带转录的语音(S+L)和视频旁白(V+S)。这极大地扩展了模型可以接触到的数据的规模和多样性,同时涵盖了所有三种目标模态。其次,我们没有从头构建一个独立模型,而是提出了一种融合架构,能够直接采用来自当前最先进的单模态编码器的上下文输出。

 为此,我们提出了 i-Code,其中 i 代表整合性多模态学习。在 i-Code 中,我们设计了一个有效的融合模块,将单模态编码器的输出进行整合,并执行跨模态理解以获得最终预测。为设计最佳的融合架构,我们在 transformer 架构中的自注意力机制上进行了多种变体实验,包括跨模态合并注意力分数的机制。然后,i-Code 在双模态和三模态数据上进行预训练,使用了一系列自监督目标,包括:

  1. 掩码单元建模:将所有输入信号转换为离散标记,目标是预测每个模态的掩码单元的正确标记;
  2. 对比学习:输入两个模态,模型预测给定信号是否来自训练数据中的同一三元组(或对)。

 我们在多个多模态基准上对 i-Code 进行了全面评估,实验结果证明了该多模态预训练框架的有效性。微调后的 i-Code 在六个多模态数据集和 GLUE 自然语言处理基准上超过了当前最先进的算法,精度提升高达 11%。

2 相关工作

 联合学习视觉和语言表征是多模态研究中的一个活跃领域。一类模型采用双塔结构,即两个模态分别有独立的编码器(Radford et al., 2021; Jia et al., 2021; Yuan et al., 2021; Chung et al., 2020)。在这种架构中,多模态融合通过添加到单模态编码器上的投影层实现。这类模型通常在图像-字幕或语音-文本数据上使用对比学习损失函数进行预训练,表现出出色的跨模态检索、零样本和小样本预测性能。另一类研究通过共享编码器实现跨模态交互(Dosovitskiy et al., 2020; Lu et al., 2019; Su et al., 2019; Li et al., 2019)。例如,在 VL-BERT (Su et al., 2019) 中,图像检测特征和语言标记嵌入被一起输入到 Transformer 编码器中,预训练任务是根据检测特征和语言上下文预测被掩码的标记。视频-语言学习也是一个活跃的研究领域(Arnab et al., 2021; Zellers et al., 2021; Tang et al., 2021; Miech et al., 2019),这些模型在视频帧和自动语音识别(ASR)转录文本上进行训练。

 最近,越来越多的研究集中于视频数据的多模态组成部分的建模,如文本转录、视觉帧和音频波形(Zellers et al., 2022; Akbari et al., 2021; Alayrac et al., 2020)。例如,VATT (Akbari et al., 2021) 在视频原始输入数据(3D RGB 体素、波形和标记嵌入)的投影之上构建 Transformer 编码器,并未使用单模态编码器。在 i-Code 中,我们展示了利用当前最先进的单模态编码器来进行多模态学习可以有效提升多模态模型的性能。i-Code 框架还将预训练数据从视频扩展到双模态数据集。

3 大规模多模态预训练数据

 为了促进有效的多模态学习,我们收集了大规模的多模态数据用于预训练。我们收集了两种类型的数据:三模态视频数据集和双模态数据集。视频是一种包含所有三种模态的大规模数据资源,并且在公共流媒体平台上广泛可用。我们选择了最近发布的视频数据集 YT-Temporal-180M(Zellers et al., 2021),因为它在视频语料库主题的多样性、高质量过滤和选择以及大规模数量上都有显著优势。我们从 YT-Temporal-180M 数据集中收集了 1.8 亿个视频片段,使用提供的视频 ID 和时间戳。平均每个片段为 7.8 秒。对于每个片段,我们均匀地采样 8 帧视频作为视觉输入。对于语音,音频的原始波形被提取,并进一步处理以供下游语音编码器使用。每个片段还附有一份文本脚本,该脚本已从原始自动语音识别(ASR)转录中仔细去噪。然而,帧与转录文本之间的错位是视频数据中的一个常见问题(Tang et al., 2021; Miech et al., 2019):旁白文本可能与视觉帧无关或时间上错位。为了解决这个问题,我们通过 Azure Cognitive Services 的字幕 API 为每个片段的高分辨率中帧生成字幕,以增强视频数据集。如何利用字幕的更多细节,请参见 4.2.2 节。

 由于高质量的三模态视频数据集在规模上有限,我们还利用双模态数据集进行预训练,这些数据集在视觉-语言表征学习(Radford et al., 2021; Jia et al., 2021; Yuan et al., 2021)、零样本跨模态生成(Ramesh et al., 2021)、自动语音识别(ASR)和文本到语音(TTS)等应用中得到了广泛使用(Huang et al., 2019)。i-Code 在预训练过程中使用了以下双模态数据集:

  • 视觉-语言:我们使用了来自 Florence 计算机视觉基础模型预训练数据的 7280 万图像-字幕对(Yuan et al., 2021)。数据是通过程序化的数据策划管道从互联网上收集的,之后经过筛选和后处理(Yuan et al., 2021)。

  • 语言-语音:我们使用了内部的 75k 小时转录英文语音数据。这个数据集包含 6320 万转录-语音对,涵盖了多种场景,包括 Cortana、远场语音和呼叫中心。

  • 视觉-语音:对于视觉和语音配对的数据集,我们使用了 Spoken Moments in Time(SMiT),这是一个视频旁白数据集。SMiT 包含 50 万条口述字幕,每条字幕描述了一个短视频中的各种不同事件(Monfort et al., 2021)。据我们所知,这是首次使用配对数据集来训练视觉-语言-语音模型。

在实验部分,我们比较了使用配对数据集和视频数据集预训练的模型性能。我们发现,将两种类型的数据集结合使用可以进一步提升模型的性能。

4 i-Code 多模态框架

本节介绍 i-Code 的整体模型架构以及我们如何在前述的大规模多模态数据集上以自监督方式对 i-Code 进行预训练。

4.1 模型架构

i-Code 由四个模块组成。前三个模块是单模态编码器(分别对应视觉、语言和语音),最后一个模块是模态融合网络。每种模态的原始输入被送入相应的单模态编码器,所有编码后的输入再经过一个线性投影层,并在模态融合网络中整合。由于这种架构设计,i-Code 能够处理多种输入类型:单模态输入、任意两种模态的组合,以及三种模态同时输入。

我们没有从零开始训练每个单模态编码器,而是将框架设计为模块化:可以替换任意预训练模型来充当单模态编码器的角色。这为融合网络提供了高质量的上下文表示,从而实现更有效的多模态理解。我们选择了各模态的最先进模型:

语言编码器:我们使用了最新发布的 DeBERTa V3 base(He et al., 2020)作为语言编码器。这个预训练的语言模型拥有 1.83 亿个参数,采用了解耦注意力机制,在 GLUE 和 SuperGLUE NLP 基准上取得了创纪录的性能。

视觉编码器:我们采用 CoSwin Transformer(Yuan et al., 2021)作为视觉编码器。为了使 i-Code 能够处理图像和帧序列(视频),我们按照 Liu et al. (2021b) 的方法,从预训练的 CoSwin Transformer(Yuan et al., 2021)中实例化了一个视频 CoSwin Transformer。该视频 CoSwin Transformer 具有 9100 万个参数。

语音编码器:最近,在学习语音表示的多种网络架构方面取得了显著进展(Schneider et al., 2019; Baevski et al., 2020; Hsu et al., 2021; Chen et al., 2021)。为利用这些最先进的语音表示学习技术,我们使用了一个预训练的 WavLM-large 模型(Chen et al., 2021)作为语音编码器,具有 3.15 亿个参数。WavLM 包含一个时间卷积编码器,用于特征化输入语音波形,接着是一个 transformer 编码器。

值得注意的是,i-Code 框架是整合性和可组合的,因此除了上述三个编码器,还可以使用其他单模态编码器。例如,我们尝试了另一种语音编码器 HuBERT,结果包含在附录 A.4 中。

多模态融合模块。每个单模态编码器提取的特征通过一个1层的前馈网络投影到融合网络的隐藏维度。投影后的特征被输入到模态融合网络中,以生成整合的多模态表示。由于位置信息已在单模态编码器中引入,融合模块中不再使用位置嵌入。融合网络的主体是一个 Transformer 编码器,每一层都进行跨模态注意力、前向投影和层归一化。为了更有效的跨模态理解,我们探索了传统注意力机制的两种变体:合并注意力和协同注意力,如图1所示。

在这里插入图片描述

图 1:左图展示了 i-Code 的整体模型架构。右图展示了融合网络层中的注意力和前馈操作,包括 (a) 合并注意力和 (b) 协同注意力。为简洁起见,我们仅绘制了语言模态的残差连接。

合并注意力。在此模式下,不同的模态共享相同的注意力参数。为了帮助融合模块区分不同模态,一个与每种模态唯一对应的标识嵌入会被添加到投影特征上(在所有时间和空间维度上)。不同模态的投影特征被连接在一起(视觉输入的时间和空间维度被展平),然后输入到融合网络中,每一层都与经典 Transformer 编码器层相同(Vaswani et al., 2017)。

协同注意力。在此模式下,每个 Transformer 层首先在每个独立模态的特征间进行自注意力,并使用模态特定的注意力参数。例如,设语言、视觉和语音模态的上一层 Transformer 输出为 X L X_L XL X V X_V XV X S X_S XS。现在,我们可以表示一个专注于语言模态的单一注意力头如下:
X self L = Self-Attention-Language ( Q L , K L , V L ) X_{\text{self}}^L = \text{Self-Attention-Language}(Q_L, K_L, V_L) XselfL=Self-Attention-Language(QL,KL,VL)
其中查询 Q L = X L W Q L Q_L = X_L W_Q^L QL=XLWQL,键 K L = X L W K L K_L = X_L W_K^L KL=XLWKL,值 V L = X L W V L V_L = X_L W_V^L VL=XLWVL W Q L W_Q^L WQL W K L W_K^L WKL W V L W_V^L WVL 是模态特定的注意力矩阵。自注意力子层之后是一个跨模态注意力:
X cross L = Cross-Attention-Language ( Q cross L , K cross L , V cross L ) X_{\text{cross}}^L = \text{Cross-Attention-Language}(Q_{\text{cross}}^L, K_{\text{cross}}^L, V_{\text{cross}}^L) XcrossL=Cross-Attention-Language(QcrossL,KcrossL,VcrossL)
其中 Q cross L = X self L W Q L c Q_{\text{cross}}^L = X_{\text{self}}^L W_Q^{Lc} QcrossL=</

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值