计算机视觉的GPT时刻,来了!
最近,来自UC伯克利的计算机视觉「三巨头」联手推出了第一个无自然语言的纯视觉大模型(Large Vision Models),并且第一次证明了纯视觉模型本身也是可扩展的(scalability)。
除此之外,研究人员还利用超过420B token的数据集让模型可以通过上下文学习来理解并执行下游任务,并且统一了图片/视频、有监督/无监督、合成/真实、2D/3D/4D等几乎所有的数据形式。
论文地址:https://arxiv.org/abs/2312.00785
值得一提的是,让LVM做非语言类智商测试(Raven's Progressive Matrices )中常见的非语言推理问题,它时常能做出正确的推断。
对此,研究人员惊喜地表示,这或许意味着LVM也展现出了「AGI的火花」!
纯视觉模型的逆袭
现在,随着大语言模型的爆发,不管是学术界还是业界,都开始尝试使用「文本」来扩大视觉模型的规模。
包括GPT4-V在内的SOTA模型,都是把视觉和文字组合在一起训练的。
以「苹果」为例,这种方法在训练时不仅会给模型看「苹果的照片」,而且还会配上文字「这是一个苹果」。
然而,在面对更加复杂的图片时,就很容易忽略其中大量的信息。
比如「蒙娜丽莎」应该怎么去描述?或者摆满各种物品的厨房的照片,也很难清晰地被描述出来。
对此,来自UC伯克利和约翰斯·霍普金斯大学的研究人员,提出了一种全新的「视觉序列」建模方法,可以在不使用任何语言数据的情况下,训练大规模视觉模型(Large Vision Model)。
这种名为「视觉序列」的通用格式,可以在其中表征原始图像和视频,以及语义分割、深度重建等带标注的数据源,且不需要超出像素之外的任何元知识。
一旦将如此广泛的视觉数据(包含4200亿个token)表征为序列,就可以进行模型的训练,让下一个token预测的交叉熵损失最小化。
由此得到的LVM模型,不仅可以实现有效地扩展,完成各种各样的视觉任务,甚至还能更进一步地涌现出比如数数、推理、做智力测试等能力。
左:Alexei A Efros;中:Trevor Darrell;右:Jitendra Malik
简单来说就是,大规模视觉模型只需看图训练,就能理解和处理复杂的视觉信息,完全不用依赖语言数据。
纯视觉模型的扩展难题
此前,使用预训练模型的价值 (例如ImageNet预训练的 AlexNet) ,早在2015年就已经在R-CNN中得到了证明。
从此, 它从此成为计算机视觉的标准实践。
而自监督预训练,作为一种大大增加可用于预训练的数据量的方法被提出。
不幸的是,这种方法并不是很成功,可能是因为当时基于CNN的架构没有足够的能力来吸收数据。
随着Transformer的推出,其容量变得高得多,因此研究人员重新审视了自监督预训练,并发现了基于Transformer的掩码图像重建方法,例如BEiT, MAE,SimMIM,它们要比基于CNN的同类方法表现好得多 。
然而,尽管如此,目前预训练的纯视觉模型在扩展到真正大的数据集(例如LAION) 时,还是遇到了困难。
如何构建「大视觉模型」
那构建一个大规模视觉模型(Large Vision Model,LVM),需要哪些要素呢?
动物世界告诉我们,视觉能力并不依赖于语言。而许多实验表明,非人类灵长类动物的视觉世界,和人类的极为相似。
因此,本文走在了LLaVA这种视觉-语言模型不同的方向:仅依靠像素,我们能走多远?
研究人员试图在LVM中,模仿LLM的两个关键特性:(1)在大数据环境下的扩展能力,和(2)通过提示(上下文学习)灵活地指定任务。
为了实现这一目标,需要明确三个主要组件:
数据:研究人员希望,能够充分利用视觉数据显著的多样性。
首先是原始的未经标注的图像和视频。接下来,研究人员计划利用过去几十年中产生的各种带标注的视觉数据资源,如语义分割、深度重建、关键点、3D物体的多个视图等。
为此,他们定义了一种名为「视觉序列」的通用格式,来表示这些不同的标注,而不需要任何超出像素本身的元知识。训练数据集总共包含1.64亿张图像/帧。
架构:研究人员使用了一个具有30亿参数的大型Transformer架构,这个架构在被表征为token序列的视觉数据上进行训练。
通过学习到的tokenizer,将每个图像映射到一个包含256个向量量化token的字符串。
损失函数:研究人员从自然语言处理领域获取了灵感,其中掩码token模型已经演变为顺序自回归预测。
一旦能够将图像/视频/带标注的图像都表征为序列,就可以训练模型来最小化预测下一个token的交叉熵损失。
通过这种极简的设计,研究人员有了一些新颖的发现——
- 随着模型尺寸和数据大小的增加,模型会表现出适当的扩展行为。
- 通过在测试时设计合适的视觉提示,可以解决多种视觉任务。
- 大量无监督数据,对于各种标准视觉任务性能的提升非常明显。
- 模型在处理超出分布外数据和执行新颖任务时,表现出了一般的视觉推理能力,但还需要进一步的调查研究。
数据
数据!数据!数据!没有粘土我就做不了砖头!
——夏洛克·福尔摩斯
任何大型预训练模型的关键,就必须接受大量数据的训练。
对于语言模型来说,获得非常多样化的大数据集,是很容易的事。
比如,流行的 CommonCrawl存储库,就包含扫描了整个网络的2500亿个网页,极其多样化,并且包括语言翻译、问题回答等「自然演示」。
然而在计算机视觉领域,想要拥有同样规模和多样性的数据源,还差得很远。
因此,研究人员的工作核心贡献之一,就是构建这样一个统一视觉数据集(UVDv1)。
为此,研究人员利用了许多不同的视觉数据源:(1)未标注的图像,(2)具有视觉标注的图像,(3)未标注的视频,(4)具有视觉标注的视频,(5)3D合成物体。
其中,未标注的图像占了总数据的80%以上,组成了大部分的视觉世界,也提供了所需的多样性,然而代价就是,数据源质量较低。
带标注的图像分布会更受限制,但通常质量更高。
而视频数据则受到更多限制(一般是以人类为中心的活动),但它们却是时态数据的宝贵来源。
3D合成对象的渲染多样性最低,但可以提供有关3D结构行为的宝贵提示。
而最重要的是,UVDv1是一个纯粹的视觉数据集,不包含文本之类的非视觉元数据。
总之,UVDv1包含16.4亿张图像。
与LLM的另一个重要区别是,语言数据对所有数据都有一个自然的、统一的一维结构——文本流。
然而不幸的是,视觉数据的情况却并非如此,不同的来源都有不同的结构。
因此在这项工作中,研究人员提出视觉序列,作为视觉数据的统一单元,这就使得他们能够从不同的集合源,训练可扩展的模型。
视觉序列只是包含一个或多个图像的序列,后面跟随着一个句尾 (EOS) token。
图1可以显示出,各种数据源是如何划分为视觉序列的。
计算机视觉GPT时刻!UC伯克利三巨头祭出首个纯CV大模型,推理惊现AGI火花-51CTO.COM