摘要

本工作中,我们追求一个多模态预训练的统一范式,以打破复杂任务/特定模态定制的结构。我们提出OFA,一个支持任务全面性的任务不可知和模态不可知的框架,OFA在一个简单的序列到序列的学习框架中,统一了一组不同的跨模态和单模态任务,包括图像生成、视觉接地、图像字幕、图像分类、语言建模等。OFA在预训练和微调阶段都遵循基于指令的学习,对下游任务不需要额外的任务特定层。与最近依赖于超大的跨模态数据集的最先进的视觉和语言模型相比,OFA仅在2000万公开可用的图像-文本对上进行了预训练。尽管OFA操作简单,训练数据相对较小,但它在一系列跨模态任务中实现了新的sota,同时在单模态任务上获得了高度竞争的性能。我们的进一步分析表明,OFA也可以有效地转移到看不见的任务和看不见的领域。

一、介绍

在人工智能领域,建立一个能够处理与人类一样多的任务和模态的全能模型是一个很有吸引力的目标。实现这一目标的可能很大程度上取决于是否大量模态、任务和训练制度被少量形式来表示,这些形式可以由单一的模型或系统统一和管理。在少/零样本学习的机制中,具有提示/指令微调的语言模型被证明是强大的零/少样本学习者。

为支持开放式问题的泛化性,同时保持多任务性能和易用性,我们提出一个万能的模型具有以下三个属性:1)任务不可知(TA):统一的任务表示,以支持不同类型的任务,包括分类、生成、自监督借口任务等,且对预训练或微调都是不可知的;2)模态不可知(MA):在所有任务之间共享统一的输入和输出表示,以处理不同的模态;3)任务全面性(TC):有足够的任务多样性来促进健壮的泛化能力。

然而,当前的语言和多模态预训练模型很容易在以上的属性部分失败,由于它们的设计:1. 用于微调的额外可学习组件,如特定任务的头、适配器、软提示。这使得模型结构特定于任务,并在预训练和微调之间存在差异。这样的设计也不适合以零样本的方式支持看不见的任务。2. 特定于任务的公式,对于目前的大多方法、预训练、微调和零样本任务通常在任务制定和训练目标上有所不同,这违背了TA,扩大任务规模以实现TC是一种负担。3. 将模态表示与下游任务纠缠起来,视觉语言模型通常将检测的对象作为图像输出特征的一部分,虽然在一些闭域数据集上显示了更好的下游任务性能,但它依赖于一个额外的对象检测器,该检测器通常在开域数据集上失败。

因此,我们探索了一个多模态预训练的全模型,并提出了OFA,希望是面向所有,实现了统一架构、任务和模态的目标,并支持以上的三个属性。我们通过手工设计的指令,在一个统一的序列到序列摘要中制定预训练和微调任务,以实现任务不可知性。采用Transformer作为模态不可知的计算引擎,其约束是没有可学习的任务特定或模态特定的组件添加到下游任务。它可以在跨所有任务的全局共享的多模态词汇表中表示来自不同模态的信息。我们通过对各种单模态和跨模态任务进行预训练来支持任务全面性。

总结:1)我们提出OFA,一种任务不可知、模态不可知且支持任务全面性的框架。OFA是第一次尝试统一以下视觉和语言、仅视觉和仅语言的任务,包括理解和生成,如文本到图像生成、视觉接地、视觉问答、图像标注、图像分类、语言建模等,通过一种具有一个统一的基于指令的任务表示的简单的序列到序列学习框架;2)OFA在2000万个图像-文本对的公开数据集上预训练,而最近的模型依赖于更大规模的配对数据。OFA在一系列视觉和语言下游任务上实现了最好的表现,包括图像标注、视觉问答、视觉暗示、参考表达式理解等;3)OFA作为一种多模态预训练模型,在语言和视觉方面使用SOTA预训练模型在单模态任务上取得了类似的性能,如用于自然语言理解的RoBERTa、ELECTRA和DeBERTa,用于自然语言生成的UniLM、Pegasus和ProphetNet,和用于图像分类的MoCo-v3、BEiT和MAE;4)我们验证了OFA在零样本学习中取得了竞争性能,此外,它还可通过新的任务指令转移到看不见的任务中,并适应不需要微调的域外信息。

二、相关工作

语言预训练和视觉预训练    自然语言预训练已经彻底改变了整个自然语言处理研究界,代表性的是BERT和GPT。很多研究通过改进预训练任务和设计更复杂的模型架构来推进预训练。之后推广了计算机视觉中的自监督学习(SSL),最近,在语言预训练中的镜像掩码语言建模(MLM)和具有ViT架构的生成式预训练进一步提高了下游性能。

多模态预训练    研究人员已经应用了掩码策略和编码-解码器架构来使模型适应于生成任务。此外,补丁投影帮助Transformer在下游任务中实现了SOTA性能。之后,将Transformer与VQVAE或VQGAN结合,以生成高分辨率的高质量图像,然而,前面提到的方法在处理单一类型的数据方面会受到限制,如仅处理跨模态数据或其能力有限。此外,预训练和微调行为之间的差异限制了开放式数据的可移植性。

统一框架    在NLP中,最近研究将包含自然语言理解和生成的不同任务统一到文本到文本转移或语言建模中。根据这一想法,[56]和[57]演示了基于文本生成的多模态预训练模型。[7]和[58]提出了一个简单的框架,它可以以统一的字节序列表示来处理来自多个模态的信息。[59]和[60]通过设计不同的任务特定层来统一不同模式的任务。[61]探索了使用一个基于检索的统一范式。然而,这些多模态预训练模型在下游任务中存在性能下降,如VQA、图像字幕等,而且它们没有图像生成能力。

三、OFA

OFA是一个统一的Seq2Seq框架,用于统一I/O和架构、任务和模态,整体架构如图2.

3.1 I/O和架构

I/O    多模态预训练最常见的做法是对图像-文本对语料库上的Transformer模型进行预训练。这需要数据预处理或特定于模态的适配器,以实现视觉和语言信息的联合训练。与复杂、耗资源和耗时的对象特征提取相比,我们的目标是简单并直接使用ResNet模块卷积xv∈RH×W×C到P隐藏大小的补丁特征,遵循[62]和[22]。在语言信息的处理方面,我们遵循GPT[24]和BART[31]的实践,将字节对编码(BPE)[63]应用于给定的文本序列,将其转换为子词序列,然后将其嵌入到特征中。

为了在没有特定于任务的输出模式的情况下处理不同的模态,必须在一个统一的空间中表示各种模态的数据。一种可能的解决方案是离散文本、图像和对象,并在统一的词汇表中用标记来表示它们。图像量化[53,54]的最新进展已经证明了文本到图像合成[50,18,51,19]的有效性,因此我们将这种策略用于目标侧图像表示。稀疏编码可以有效地减少图像表示的序列长度。例如,分辨率为256×256的图像被表示为长度为16×16的代码序列。每个离散的代码都与相应的补丁[36]密切相关。

除了表示图像外,在图像中表示对象也很重要,因为有一系列与区域相关的任务。根据[64],我们将对象表示为一系列离散的标记。更具体地说,对于每个对象,我们提取它的标签和边界框。边界框的连续拐角坐标(左上角和右下角)被均匀地离散为整数,作为位置标记hx1、y1、x2、y2i。至于对象标签,它们是本质上的单词,因此可以用BPE标记来表示。

最后,我们对所有的语言和视觉标记使用一个统一的词汇表,包括子词、图像代码和位置标记。

架构    采用编-解码器框架作为所有预训练、微调和零样本任务的统一架构。具体来说,编码器和解码器都是Transformer层的堆叠。变压器编码器层由自注意和前馈网络(FFN)组成,而变压器解码器层由自注意、FFN和交叉注意组成,用于建立解码器和编码器输出表示之间的连接。为了稳定训练和加速收敛,我们在自我注意中添加了头部缩放,一个后注意层归一化(LN)[65],并在FFN[66]的第一层之后添加了一个LN。对于位置信息,我们分别对文本和图像使用两个绝对位置嵌入。我们没有简单地添加位置嵌入,而是将位置相关性与标记嵌入和补丁嵌入[67]解耦。此外,我们还对文本[30]使用一维相对位置偏差,对图像[22,62]使用二维相对位置偏差。

3.2 任务和模态

设计一个统一的架构,以提供不同模态和下游任务的架构兼容性,以便有机会泛化到同一模型中的不可见任务,然后,在一个同一的范式里表示关于不同模态的可能的下游任务。因此,预训练任务的设计的一个基本要点是考虑多任务和多模态。

为了统一任务和模态,我们设计了一个统一的序列到序列的学习范式,用于对不同模态的所有任务进行预训练、微调和推理。跨模态和单模态理解和生成的预训练任务和下游任务都是由Seq2Seq生成。可以对多模态和单模态数据进行多任务预训练,使模型具有全面的能力。具体地,我们为所有任务共享相同的模式,而为区分制定了手工设计的指令。

对于跨模态表示学习,我们设计了五个任务,包括视觉接地(VG)、接地标注(GC)、图像-文本匹配(ITM)、图像标注(IC)和视觉问答(VQA)。对于VQA,我们将图像和问题作为输入发送,并要求模型学习生成正确的答案。

对于单模态表示的学习,我们分别设计两个视觉任务和一个语言任务。模型通过图像填充和对象检测进行预训练,用于视觉表示学习。计算机视觉生成式自监督学习的最新进展表明,掩码图像建模是一种有效的预训练任务。实践中,我们将图像的中间部分掩码作为输入,模型基于损坏的输入和指定的指令“图像的中间部分是什么?”学习为图像的中间部分生成稀疏代码。此外,我们还在[44]之后的预训练中添加了目标检测。该模型学习了基于输入图像和文本“图像中的对象是什么?”作为指令生成人类注释的对象表示,如对象位置和标签的序列。这两个任务都加强了在像素级别和对象级别上的表示学习。在语言表示学习方面,我们按照[31]的实践,对具有文本填充的纯文本数据的统一模型进行了预训练。

通过这种方式,我们将多个模态和多个任务统一到一个单一的模型和预训练范式中。OFA与这些任务和数据共同预训练,因此,它可以执行在自然语言、视觉、和跨模态等方面的不同任务。

3.3 预训练数据集

通过结合视觉和语言数据(即图像-文本对)、视觉数据(即原始图像数据、对象标记的数据)、和语言数据(纯文本)。对于复制,我们只使用公开可用的数据集。我们仔细过滤预训练数据,并排除出现在下游任务的验证和测试集中的图像,以避免数据泄漏。

3.4 训练和推理

我们用交叉熵损失对模型进行优化,给定一个输入x,一个指令s和一个输出y,我们通过最小化L=−P|y|i=1 logPθ(||y<i,x,s)训练OFA。对于推理,我们应用解码策略,如波束搜索,以提高生成的质量。然而,这个范式在分类任务中存在几个问题:1. 对整个词汇表优化是不必要的和效率低下的;2. 在推理期间,模型可能会封闭的标签集中产生无效的标签。为解决这些问题,我们引入了一个基于前缀树的搜索策略。实验结果表明,基于Trie的搜索可以提高OFA对分类任务的性能。

3.5 缩放模型

为研究不同模型大小的OFA在下游任务中的表现,我们开发了5个版本的OFA模型,从33M扩展到940M参数。如表1.

为了研究较小的OFA能够仍能达到满意的性能,我们开发了Medium和Tiny模型,它们的大小只有Base的一半左右,不到20%。

四、实验

4.1 在跨模态任务中的结果

我们在不同的跨模态下游任务上评估我们的模型,包括跨模态理解和生成。具体地,我们在多模态理解数据集上实现了实验,包括VQA v2等。

表2显示了OFA和基线模型在VQA和SNLI-VE上的性能,OFA在这两个任务中都取得了最好的性能,在VQAtest-std集上为82.0。对于较小的尺寸,OFALarge可以超过最近的SOTA,如VLMo和SimVLM,且OFABase可以在这两个任务中击败上述两种模型之前的SOTAs。这表明OFA可以在跨模态理解任务上取得优越的性能,而扩展OFA可以带来显著的改进,反映了大规模预训练模型的强大潜力。

4.4 在多任务预训练上的消融

由于统一的架构,OFA已经对多项任务进行了预训练,因此被赋予全面的能力。然而,每个任务的影响还未被发现。我们验证了它们对多个下游任务的影响,包括图像标注、VQA、图像分类和文本到图像的生成。

结果表明,检测、视觉接地和接地字母有助于模型掌握视觉和语言之间的细粒度对齐。

五、总结

本工作提出OFA,一个支持任务全面性的任务不可知和模态不可知的框架。OFA实现了结构、任务和模态上的统一,因此能够进行多模态和单模态的理解和生成,而无需在额外的层或任务中进行规范。我们的实验表明,OFA在一系列任务中创建了新的SOTA,包括图像标注、VQA、视觉隐含和参考表达式理解。OFA还展示了和单模态理解和生成任务中语言/视觉SOTA模型相比的性能,如GLUE、抽象摘要和图像分类。我们进一步分析了其在零样本学习和领域与任务转移中的能力,并验证了预训练任务的有效性。

在将来,我们将继续探索在这项工作中发现的问题。此外,我们还努力找出一个合理的解决方案,来建立一个本质上可推广到复杂的现实世界的全方位模型。

2022:OFA: Unifying Architectures, Tasks, and Modalities through A Simple S2s Learning Framework相关推荐

  1. Raki的读paper小记:OFA: UNIFYING ARCHITECTURES, TASKS, AND MODALITIES THROUGH A SIMPLE Seq2Seq FRAMEWORK

    Abstract&Introduction&Related Work 研究任务 多模式预训练的统一范式 包括图像生成.visual-grounding(visual grounding ...

  2. 顶会论文笔记:联邦学习——ATPFL: Automatic Trajectory Prediction Model Design under Federated Learning Framework

    ATPFL: Automatic Trajectory Prediction Model Design under Federated Learning Framework 文章目录 ATPFL: A ...

  3. <<计算机视觉NeurIPS>>2022:GLIPv2: Unifying Localization and VL Understanding

    收录情况: NeurIPS-2022 论文链接: https://arxiv.org/abs/2206.05836 代码链接: https://github.com/microsoft/GLIP 文章 ...

  4. 信息学奥赛一本通 2022:【例4.7】最小n值

    [题目链接] ybt 2022:[例4.7]最小n值 [题目考点] 1. while循环 2. 求和 [解题思路] 设表示和的变量s,每次加一个数字1i\frac{1}{i}i1​ 判断此时s是否还小 ...

  5. 信息学奥赛一本通(2022:【例4.7】最小n值)

    2022:[例4.7]最小n值 时间限制: 1000 ms         内存限制: 65536 KB 提交数: 1392     通过数: 690 [题目描述] 编一程序求满足不等式1+12+13 ...

  6. 【宇麦科技】盘点2022:企业网络安全的七大成功要素

    根据最新发布的2022年度网络安全盘点报告,面对快速发展的威胁形势,企业网络安全团队为了提高网络安全弹性可谓"八仙过海",不同行业.规模的企业投资了大量安全工具.方案和框架,但其中 ...

  7. Docker与微服务实战2022:基础篇

    Docker与微服务实战2022:高级篇 目录 一.简介 二.安装docker 三.操作命令 3.1.帮助命令 3.2.镜像命令 3.3.容器命令 四.镜像分层 五.本地镜像推送到阿里云 1.阿里云镜 ...

  8. 《网络安全2022:守望高质量》报告之数据安全热点事件与趋势解读

    近日,绿盟科技发布<网络安全2022:守望高质量>报告,报告集合了绿盟科技在区域威胁.漏洞态势.恶意软件.数据安全.物联网安全.工业互联网安全和5G安全等方向的网络安全观察.其中,数据安全 ...

  9. 会议交流 | DataFunSummit 2022:图机器学习在线峰会

    深度学习模型是当今人工智能研究的核心.众所周知,对欧几里得数据(例如图像)和序列数据(例如文本)具有颠覆性学习能力的深度学习技术不能直接适用于图结构数据.这种差距推动了图深度学习研究的浪潮,在学术界不 ...

最新文章

  1. 【Linux】Linux简单操作之文件管理
  2. 《智源社区周刊:预训练模型》第3期:智源x清华开源万亿AI模型基石FastMoE、英国机构发起世界最大图灵测试...
  3. 如何完全卸载VMware
  4. iOS开发UINavigation系列四——导航控制器UINavigationController
  5. boost::callable_traits的remove_member_const_t的测试程序
  6. MySQL基础之DML语句
  7. 【pyqt5学习】——containers相关控件(tab widget、scroll area、stack widget、tool box、MDI area、dock widget)
  8. ubuntu+anaconda+tensorflow 及相关问题
  9. 调用未绑定的父类方法和使用supper 函数 之间的选择.
  10. 我们应该如何保护用户的密码
  11. TKDragView_TKCalendarView:页面curl的动画日历
  12. 八、IO优化(3)稀疏列
  13. 学习笔记 第六周 第一篇
  14. Hyper-v中安装centos网卡故障
  15. 认知升级,洞察人性,构建壁垒:AI创业如何跨越鸿沟?
  16. 清除数据库日志操作_SQL SERVER
  17. 织梦留言板模板 .php,织梦DEDECMS留言板功能制作及调用标签
  18. windows 无法停止ics_Windows10系统不能启动ICS服务致无法连接WiFi热点的三种解决方法...
  19. React生成二维码并将canvas转换成img格式
  20. 地铁 java_“地铁系统”简易代码

热门文章

  1. 合工大苍穹战队视觉组培训Day8——视觉,目标识别
  2. 租房心经--教你如何租房子
  3. Android中Fragment的分屏显示处理横竖屏显示
  4. 第四十六章 SQL函数 DAY
  5. 【Python】Pyside6简易版教程
  6. c语言坦克大战程序设计,C语言坦克大战源码分析
  7. ANSI C标准库和POSIX库
  8. Python+Vue计算机毕业设计餐饮管理系统qpa33(源码+程序+LW+部署)
  9. 安装docker-ce报错
  10. 18岁开始学习编程是否来得及?