ConvLLaVA: Hierarchical Backbones as Visual Encoder for Large Multimodal Models

发表时间:24 May 2024 论文链接:https://arxiv.org/pdf/2405.15738 作者单位:Department of Automation, Tsinghua University

Motivation高分辨率大型多模态模型 (LMM) 遇到了过度视觉标记和二次视觉复杂性的挑战。当前的高分辨率 LMM 仍然生成了过多的视觉标记。然而,视觉token的冗余是关键问题,因为它会导致更多的计算。

解决方法:为了缓解这个问题,我们提出了 ConvLLAVA,它使用 ConvNeXt,一个分层主干,作为 LMM 的视觉编码器来替换 Vision Transformer (ViT)。在层次化骨干网络中,特征在各个阶段逐步被压缩。与 ViT 仅进行14倍压缩相比,它们将视觉特征压缩了32倍。因此,在相同分辨率下,它们生成的视觉标记数量不到 ViT 的四分之一,大大减轻了LLM(大语言模型)的计算负担。此外,层次化视觉编码器通常设计为线性空间复杂度,有效地解决了过多视觉标记和二次视觉复杂度的问题。 作者选择了 ConvNeXt ,因为这个网络有现成的对比学习预训练好的权重(CLIP)。 ConvLLAVA 将高分辨率图像压缩为信息丰富的视觉特征,有效地防止了过度视觉标记的生成。为了提高 ConvLLAVA 的能力,我们提出了两个关键的优化:

  • 由于低分辨率预训练的 ConvNeXt 在直接应用于高分辨率时表现不佳,因此我们对其进行更新以bridge the gap(主流的方法一般都会冻结 vision encoder,但本文作者经过实验发现,更新 ConvNeXt 的参数能获得更好的效果,显著提升其在高分辨率任务中的性能)。

  • 此外,由于ConvNeXt的原始压缩比不足以获得更高的分辨率输入,我们训练了一个连续的阶段(五个阶段)来进一步压缩视觉标记,从而减少冗余。这些优化使 ConvLLAVA 支持 1536×1536 分辨率的输入,仅生成 576 个视觉标记,能够处理任意纵横比的图像。 为什么是五阶段?原始的ConvNeXt是四阶段。 如果直接使用 ConvNeXt 来替换 ViT 的话也不太可行,因为 ConvNeXt 是在低分辨率数据上训练的,所以作者在训练模型的过程中会将ConvNeXt 的权重放开参与训练,而且比 ViT 取得了更好的效果。这个结论也证明即使在将视觉标记压缩到相同数量时,较高分辨率模型的特征仍然包含更多细粒度的信息。但是将分辨率提升到1024以上会导致生成过多的视觉标记。为了解决这个问题,作者为 ConvNeXt 增加一个阶段来进一步压缩视觉信息,以增强分层骨干网络的固有信息压缩能力。视觉输入将被压缩64倍,而不是32倍,以进一步减少冗余。因此,当处理1536分辨率输入时,ConvLLaVA 仅生成 576 个视觉标记,这相当于ViT在处理 336 分辨率输入时生成的视觉标记数量。 所以,ConvLLaVA 的视觉编码器是一个五阶段的 ConvNeXt(作者将整体五阶段 ConvNeXt 称为 ConvNeXt†)。

实现方式We utilize the LAION-2B pretrained ConvNeXt-L model as our visual encoder. In the three training stages, the resolution is scaled up to a fixed value.

训练阶段。我们采用三阶段训练协议来训练 ConvLLAVA,如图 1 (c) 所示。训练过程分为三个阶段:

  1. Projector Initialization. 我们训练 the fifth stage of the ConvNeXt model and the vision-language projector。我们利用包括ShareGPT4V-PT、ShareGPT4V和ALLAVA字幕在内的字幕数据,总共大约2M个示例

  2. Vision-Language Pretraining. 我们采用包括ShareGPT4V-PT、ShareGPT4V、ALLAVA和VFLAN的190k开源子集的标题数据,总计2.9M数据

  3. Visual Instruction Tuning. 我们使用 665k LLAVA 指令数据集 [30] 微调模型。在每个阶段,我们使用 AdamW 优化器训练模型 1 个 epoch。还应用了余弦学习率计划。

实验Comparisons with different resolution multi-modality models. Results on referring expression comprehension tasks.

结论

  1. 主流的方法一般都会冻结 vision encoder,但本文作者经过实验发现,更新 ConvNeXt 的参数能获得更好的效果

  2. 与剪裁等其他方法相比,ConvLLaVA避免了图像结构的破坏,进一步降低了计算复杂度和提升了效率。

  3. 当 visual token 数量相同时,具有更高分辨率的模型在 SEEDBench 和 DocVQA 上的表现更好

  4. 在等效分辨率下,视觉标记数量的重要性在不同基准测试中有所不同。

讨论:

  • Architectures and data: ConvNeXt四个阶段(3,3,27,3)中的层数是为4级模型设计的,对于我们的5级模型可能不是最佳的。因此,一个潜在的未来方向可能涉及设计五阶段线性空间复杂度、分层高分辨率视觉编码器。

  • Linear spatial complexity and information compression: 我们将线性空间复杂度和信息压缩过程确定为LMM未来视觉编码器的两个关键属性。这些属性分别保证了视觉编码器和LLM的效率。

  • Trade-off between compression and retrieval for high-resolution understanding: 在高分辨率图像理解的背景下,压缩视觉信息保持了计算效率,但过度压缩可能会导致信息丢失。相反,保留大量的视觉标记避免了信息丢失,但牺牲了效率,挑战了llm的检索能力。用于高分辨率理解的视觉信息压缩和检索能力之间出现了权衡。

  • 5
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
HIVT(Hierarchical Vector Transformer for Multi-Agent Motion Prediction)是一种用于多智能体运动预测的分层向量变换器。该模型使用了向量变换器(Vector Transformer)的层级架构,用于对多智能体的运动轨迹进行预测。 HIVT模型旨在解决多智能体之间相互影响和合作的问题。在多智能体系统中,智能体之间的运动和行为往往会相互影响,因此准确预测智能体的运动轨迹变得非常重要。传统的方法往往难以捕捉到智能体之间的复杂相互作用和外部环境的影响,而HIVT模型通过分层向量变换器的架构,可以更好地捕捉到多智能体系统中的相互作用。 HIVT模型首先使用一个全局的向量变换器来处理整个多智能体系统的运动轨迹,以捕捉全局的趋势和相互作用。然后,对于每个智能体,模型使用一个局部的向量变换器来预测其个体的运动轨迹,以考虑个体特定的动态特征和周围智能体的影响。 通过分层向量变换器的架构,HIVT模型能够更好地处理多智能体系统中的动态变化和相互作用,提高了运动轨迹预测的准确性。同时,该模型还可以应用于多个领域,如智能交通、无人机团队协作等。 总而言之,HIVT模型是一种基于分层向量变换器的多智能体运动预测方法,通过捕捉多智能体系统中的相互作用和全局趋势,提高了运动轨迹预测的准确性和适用性。该模型在多个领域具有广泛的应用前景。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ming__chen

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值