多模态视频理解模型新标杆!微软黄学东团队发布 i-Code( 二 )


2大规模多模态预训练数据【多模态视频理解模型新标杆!微软黄学东团队发布 i-Code】视频中包含了视觉、语言、语音三种模态的数据 。 我们选用了最近发布的视频数据集YT-Temporal-180M , 使用给定的视频编号和时间戳收集了其中的1.8亿个视频片段 , 每个片段的平均长度为7.8秒 。 对于每个片段 , 我们平均采样8帧作为视觉输入 , 提取到的原始音频波形会被下游的语音编码器进一步处理 。 每个片段还带有一个文本脚本 , 改脚本是对原始ASR转录仔细去噪之后得到的 。
然而 , 视频数据中存在帧和转录文本之间对齐不准的问题 。 为此 , 我们使用Azure认知服务的API为每个视频片段的高分辨率中间帧生成字幕 , 以增强视频数据集 。
由于高质量的三模态视频的规模有限 , 我们还使用了双模态数据集进行预训练 , 这已被广泛应用于视觉语言表示学习等应用、零样本跨模态生成、自动语音识别(ASR)和文本转语音(TTS)等应用 。 这也是成对数据的数据集首次被用于训练「视觉-语言-语音」模型 。 i-Code在预训练期间使用了以下双模态数据集:
(1)视觉-语言:使用来自Florence计算机视觉基础模型的预训练数据中的7,280万对「图像-描述文本」对 。
(2)语言-语音:使用内部的75小时的英语语音转录数据 。 该数据集包含6,320万对「转录-语音」对 , 涉及Cortana、远场语音和呼叫中心等多样化的场景 。
(3)视觉-语音:使用了视频叙事数据集SMiT , 该数据及包含500,000段语音描述文本 , 每段文本描述了短视频中一系列不同的事件 。
3i-Code多模态预训练框架模型架构
i-Code由四个模块组成 。 前三个模块是分别用于视觉、语言、语音的单模态编码器 。 最后一个模块是模态融合网络 。 首先 , 我们将每个模态的原始输入输入到对应的单模态编码器中 。 然后 , 我们通过线性投影层处理所有编码后的输入 , 通过模态融合网络集成它们 。 i-Code可以处理各种输入:单模态输入 , 两种模态的任意组合 , 全部三种模态一起输入 。
我们并非从头开始训练每个单模态编码器 , 而是设计了一个模块化的框架:可以使用任何预训练的模型替换单模态编码器 。 这为融合网络提供了高质量的上下文表征 , 从而进行更有效的多模态理解 。 我们采用了各种模态的最先进的编码器:
(1)语言编码器:采用DeBERTaV3base , 该预训练模型包含1.83亿参数 , 用到了解耦注意力机制 。
(2)视觉编码器:采用CoSwinTransformer 。 为了使i-Code可以处理图像和视频帧序列 , 我们利用预训练的CoSwinTransformer实例化了一个视频CoSwinTransformer , 该模型包含9,100万参数 。
(3)语音编码器:采用预训练的WavLM-large模型 , 该模型包含3.15亿参数 , 使用了时域卷积编码器提取输入语音波形 , 并进一步使用transformer编码 。 值得注意的是 , 我们还可以使用其它的单模态编码器来组成i-Code架构 。
多模态视频理解模型新标杆!微软黄学东团队发布 i-Code
文章图片
图1:(左)i-Code模型架构(右)融合网络中的注意力和前馈网络操作 。
模态融合模块
每个单模态编码器提取的特征会通过单层前馈网络投影 , 其维度等于融合网络的隐藏维度 。 我们将投影的特征输入给模态融合网络 , 生成集成的多模态表征 。 由于单模态编码器已经包含了位置信息 , 我们在融合模块中不使用位置嵌入 。 融合网络的主干是一个Transformer编码器 , 其中每一层都会执行跨模态注意力、前馈投影和层归一化 。 如图1所示 , 为了促进更有效的跨模态理解 , 我们探索了传统注意力机制的两种变体:融合注意力和协同注意力 。