1. 创新点
现有的视觉基础模型如CLIP(Radford et al.,2021)、Align(Jia et al.,2021)和Wu Dao 2.0(Wud)主要关注于将图像和文本表示映射到跨模式共享表示,而我们引入了新的计算机视觉基础模型Florence,可以从:
- to expand the representations from coarse (scene) to fine (object)
- from static (images) to dynamic (videos)
- from RGB to multiple modalities (caption, depth)
- 可以将粗略(场景)扩展到(精细)对象
- 可以从静态(图像)扩展到动态(视频)
- 从RGB扩展多多模态(标题、深度)
2. 结论
佛罗伦萨成功地将其扩展到空间、时间和模态上的不同任务,具有很大的可移植性,并在广泛的视觉基准上取得了新的SOTA结果
3. 实现方法
佛罗伦萨的整体架构由数据管理、模型预训练、任务适应和基础训练架构组成,如下图所示:
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. 并且在图像编码器和语言编码器的基础上增加了两个线性投影层,以匹配图像和语言特征的尺寸。
- 任务适配:对于空间使用动态头部适配器,对于时间维度使用了CoSwin适配器,对于模态维度使用METER适配器。
基于CoSwin-H的图像编码器的层次结构,可以得到多种尺度的features金字塔,特征金字塔尺度能够级联、缩小或放大。动态头部适配器的思想就是在张量的正交维度上(H,W,C)部署三种注意力,分别是水平方向、空间方向、通道方向。
METER适配器主要为了实现扩展细粒度的语言表示,其实现思想就是使用预先训练的RoBERTs作为语言编码器,使用CoSwin作为图像编码器,之后使用共同注意力块学习上下文表示。 共同注意力块由自我注意力块、交叉注意力块和前馈网络组成。
视频识别适配器(VideoCoSwinAdapter)相较于CoSwin适配器,只做了较小的改变。
- 将图像标记化层转化为视频标记化层,即把CoSwin的2D卷积层替换成3D卷积层
- videoCoSwinAdapter采用 3D卷积的patch merging operator
- 在CoSwin的自我注意力层中,用3D局部移位窗口替代2D移位窗口
- 采用动态窗口大小策略,在最初使用较小的移位窗口,在最后使用较大的移位窗口
- 训练基础架构:为了减少计算量和内存消耗,作者集成了各种关键技术,如ZeRO、激活检查点、混合精度训练、梯度缓存等技术
- ZeRO采用)跨GPU划分优化器状态、梯度和参数
- 激活检查点:在反向传递期间重新运行正向传播
- 混合精度:不同数值精度训练各种操作
- 梯度缓存: 将大批量精度替换成较小子批量进行训练 最后上一张论文中给出的Florence模型在各个数据集上的表现:
未经同意禁止转载.......