论文精读:《佛罗伦萨:一种新的计算机视觉基础模型》

1,207 阅读4分钟

image.png


1. 创新点

现有的视觉基础模型如CLIP(Radford et al.,2021)、Align(Jia et al.,2021)和Wu Dao 2.0(Wud)主要关注于将图像和文本表示映射到跨模式共享表示,而我们引入了新的计算机视觉基础模型Florence,可以从:

  1. to expand the representations from coarse (scene) to fine (object)
  2. from static (images) to dynamic (videos)
  3. from RGB to multiple modalities (caption, depth)
  1. 可以将粗略(场景)扩展到(精细)对象
  2. 可以从静态(图像)扩展到动态(视频)
  3. 从RGB扩展多多模态(标题、深度)

2. 结论

佛罗伦萨成功地将其扩展到空间、时间和模态上的不同任务,具有很大的可移植性,并在广泛的视觉基准上取得了新的SOTA结果

3. 实现方法

佛罗伦萨的整体架构由数据管理模型预训练任务适应基础训练架构组成,如下图所示: image.png

1.数据管理:建立了9亿对image-text pair的数据集(FLD-900M),并通过uniCL进行修正。 FLD-900M数据集的最终形式包括900M图像和900M自由格式文本(从一个单词、短语到句子)、970万个唯一查询和总共7.5B个令牌。 因为一个图片可能有多个描述,而默认情况下,一张图片只有一个文本与之对应,而这个对被认定为为正类,其他为负,即:
图片image1,描述为text1,(image1:text1)被定义为正类,而其他的如(image1,text2)、(image11,text3)...被定为为负类。 但是现实生活中一张图片可能会有多个描述,如image:狗,text1:一只狗,text2:一只可爱的狗狗。所以uniCL就是为了消除这种情况的。使得(image1,text1)为正类,(image1,text2)也为正类。 2.模型预训练:基于transformer的预训练模型,其使用双塔结构:一个12层的transformer作为语言编码器(类似于CLIP),一个分层视觉transformer(ViT)作为图像编码器,即CoSwin Transformer(待补充...) 采用12层transformer作为语言编码器。用一个视觉transformer作为图像编码器,成为CoSwin transformer,即将卷积嵌入层替换Swin transformer中的patch embedding和patch merging modules. 并且在图像编码器和语言编码器的基础上增加了两个线性投影层,以匹配图像和语言特征的尺寸。

  1. 任务适配:对于空间使用动态头部适配器,对于时间维度使用了CoSwin适配器,对于模态维度使用METER适配器。

image.png 基于CoSwin-H的图像编码器的层次结构,可以得到多种尺度的features金字塔,特征金字塔尺度能够级联、缩小或放大。动态头部适配器的思想就是在张量的正交维度上(H,W,C)部署三种注意力,分别是水平方向、空间方向、通道方向。
METER适配器主要为了实现扩展细粒度的语言表示,其实现思想就是使用预先训练的RoBERTs作为语言编码器,使用CoSwin作为图像编码器,之后使用共同注意力块学习上下文表示。 共同注意力块由自我注意力块、交叉注意力块和前馈网络组成。
视频识别适配器(VideoCoSwinAdapter)相较于CoSwin适配器,只做了较小的改变。

  1. 将图像标记化层转化为视频标记化层,即把CoSwin的2D卷积层替换成3D卷积层
  2. videoCoSwinAdapter采用 3D卷积的patch merging operator
  3. 在CoSwin的自我注意力层中,用3D局部移位窗口替代2D移位窗口
  4. 采用动态窗口大小策略,在最初使用较小的移位窗口,在最后使用较大的移位窗口
  1. 训练基础架构:为了减少计算量和内存消耗,作者集成了各种关键技术,如ZeRO、激活检查点、混合精度训练、梯度缓存等技术
  • ZeRO采用)跨GPU划分优化器状态、梯度和参数
  • 激活检查点:在反向传递期间重新运行正向传播
  • 混合精度:不同数值精度训练各种操作
  • 梯度缓存: 将大批量精度替换成较小子批量进行训练 最后上一张论文中给出的Florence模型在各个数据集上的表现:

image.png 未经同意禁止转载.......