人脑可以整合分别模态的信息,并同时处理各项使命来感知世界。相比之下,当前机器学习研究者多是为分别的使命开发分别的模型和算法,并在特定于使命的数据上举行训练。然而,这种特定于使命的方法会大大增加为新使命开发模型的边际成本,无法满足快速增长的应用场景的需求。
本文的研究者们希望提出一种通用感知架构,通过在多模态大规模数据上举行预训练得到良好的表征,并对分别卑鄙使命运用同一套预训练参数;在应用于卑鄙使命时,模型无需额外数据,或仅需少量的数据即可达到良好的效果。研究者们的核心想法是将分别模态的数据编码到对立的表示空间中,并将分别使命对立为相同的形式。这种对立的设计鼓励了分别模态和使命在表示学习中的协作,并且可以更好地将预训练中学到的知识迁移到卑鄙使命中。由于使命形式的对立,该模型甚至可以对预训练阶段没有见过的新使命举行 zero-shot 推理。
基于此想法,来自商汤、西安交通大学等机构的研究者们提出了 Uni-Perceiver 。
论文地址:https://arxiv.org/pdf/2112.01522.pdf
图 1 对比了 Uni-Perceiver 和现有的为特定使命设计和训练的模型。Uni-Perceiver 以对立的模型处理各种模态和使命,在各种单模态使命以及多模态使命上举行了预训练。在卑鄙使命上,由于对分别使命运用了对立的建模,模型显示了没有见过的新使命的 zero-shot 推理能力,不经任何额外训练也能达到合理的功能。此外,通过运用 1% 的卑鄙使命数据举行 prompt tuning,模型功能可以提升到接近 SOTA 的水平。运用 100% 的指标数据对预训练模型举行微调时,Uni-Perceiver 在几乎所有使命上都达到了与 SOTA 方法相当或更好的结果。
图 1 现有的特定于使命的感知模型和 Uni-Perceiver 的比较
方法
1. 对立的通用感知模型
Uni-Perceiver 的对立模型架构如图 2 所示。模型首先将文本、图象、视频分别模态的数据运用对应的 tokenizer 转换为具有同一特征维度的 token 序列,并将分别模态的信息拼接起来,运用一个对立的 Transformer 编码器提取特征。
对于分别的感知使命,Uni-Perceiver 运用相同的模型和共享的一套参数举行建模。相比于传统 backbone + prediction head 的范式,Uni-Perceiver 不包括对每个使命单独设计的 head,而是将分别的使命建模为对立的形式。具体而言,对于每个使命,可以定义其输入荟萃和候选指标荟萃。对于给定的输入,使命被定义为寻找x在候选指标荟萃中最相似的指标,即
其中,p ( x , y ) 表示输入和候选指标的联合概率分布。Uni-Perceiver 运用特征的余弦相似度建模联合概率分布,即
其中,表示 Transformer 编码器,表示一个可学习的温度系数。
Uni-Perceiver 适用于任意由图象 / 视频 / 文本组成输入和候选指标荟萃的使命。例如,分类使命中的指标荟萃可以是一组类别名(如 dog)、一组类别描述(如 a kind of fish living in deep sea),甚至可以是一组手写的类别编号的图象。除此之外,作者在文中提到,这篇论文专注于文本、图象和视频模态,但 Uni-Perceiver 也可拓展到更多模态上。
图 2 对立模型架构
2. 多模态预训练
为了学习多模态的通用 representation,Uni-Perceiver 运用一系列单模态或跨模态使命举行了预训练。值得一提的是,在图象和视频分类使命中,作者将类别名称视作文本内容,这为连接起图象、视频和文本多个模态的 representation 提供了一定的监督。
图 3 展示了分别预训练使命的 input 和 target 的序列格式。图中,上标I、V、T分别代表来自图象、视频和文本模态的 token。
图 3 预训练使命格式
3. 应用于卑鄙使命:Zero-shot, Prompt Tuning 和 Fine-tuning
相比于额外增加 prediction head 并 finetune 的方式,Uni-Perceiver 可将预训练模型更高效地迁移到卑鄙使命上。本文中,作者考虑三种分别场景:零样本(Zero-shot),少样本(Few-shot)和全量数据,并对三种情况分别介绍。
在新使命上的 Zero-shot 推理:Uni-Perceiver 可以对预训练阶段没有见过的全新使命举行零样本推理,在不经过任何额外训练和调整的情况下取得合理的效果。
Prompt Tuning:在卑鄙使命数据量有限的场景下,通过 Prompt Tuning,Uni-Perceiver 可以在仅调整小部分模型参数的情况下取得接近全数据 SOTA 的结果。
Fine-tuning:当卑鄙使命数据量足够时,Uni-Perceiver 的预训练模型可以通过 fine-tuning 取得超过 SOTA 或与 SOTA 不相上下的结果。
实验
Uni-Perceiver 在表 1 所示的大规模单模态和多模态数据集上举行了训练。实验中,作者运用与 BERT-base 相同配置的 Transformer 编码器。在每次迭代中,每个 GPU 独立采样使命和数据集,并在梯度反向传播之后同步分别 GPU 之间的梯度。该模型在 128 个 Tesla V100 GPU 上以分布式方式举行了 50 万次迭代的预训练。
表 1 预训练数据集
研究者接下来在多项使命上对预训练模型举行了评估,包括预训练中出现过的使命(Image Classification, Image-Text Retrieval, Image Caption)以及与预训练分别的使命(Video Caption, Video-Text Retrieval, VQA)。表 2 – 表 8 展示了这些结果。实验表明,和具有相似模型尺寸的 task-specific SOTA 方法相比:
在不经任何调整的情况下,Uni-Perceiver 即可以达到合理的精度。值得注意的是,对于预训练中不存在的使命,由于 task-specific head 的限制,现有的其他工作无法执行这种类型的 zero-shot 推理。
通过 1% 的数据对少量模型参数举行 Prompt Tuning,Uni-Perceiver 即可以接近 SOTA 的效果。
进一步全数据 Fine-tune 可以使模型在某些使命上超过 SOTA 结果,并在其他使命上取得与 SOTA 相媲美的精度。
表 2 Image Classification 功能
表 3 Image-Text Retrieval 功能
表 4 Image Caption 功能
表 5 新使命 – Video Caption 功能
表 6 新使命 – Video-Text Retrieval 功能
表 7 新使命 – VQA 功能
表 8 新使命 – GLUE 功能