VisionThink: Smart and Efficient Vision Language Model via Reinforcement Learning

📄 arXiv: 2507.13348v1 📥 PDF

作者: Senqiao Yang, Junyi Li, Xin Lai, Bei Yu, Hengshuang Zhao, Jiaya Jia

分类: cs.CV, cs.AI, cs.CL, cs.LG

发布日期: 2025-07-17

备注: Code and models are available at https://github.com/dvlab-research/VisionThink

🔗 代码/项目: GITHUB


💡 一句话要点

提出VisionThink,通过强化学习动态调整视觉token数量,提升视觉语言模型效率。

🎯 匹配领域: 支柱二:RL算法与架构 (RL & Architecture)

关键词: 视觉语言模型 强化学习 视觉token压缩 动态分辨率调整 LLM-as-Judge

📋 核心要点

  1. 现有VLM通过增加视觉token数量来提升性能,但实际场景中并非所有任务都需要如此多的token。
  2. VisionThink通过强化学习动态调整图像分辨率,模型自主决定是否需要更高分辨率图像以解决问题。
  3. 实验表明,VisionThink在OCR任务上表现出色,同时在简单VQA任务中显著减少了视觉token的使用。

📝 摘要(中文)

本文提出了一种新的视觉token压缩范式VisionThink,旨在通过强化学习动态处理不同分辨率的图像样本,从而提升视觉语言模型(VLM)的效率。VisionThink从低分辨率图像开始,智能地判断其是否足以解决问题。如果需要更高分辨率的图像,模型会输出一个特殊token来请求。与现有采用固定剪枝比例或阈值的Efficient VLM方法不同,VisionThink能够根据具体情况自主决定是否压缩token。实验表明,该方法在OCR相关任务上表现出强大的细粒度视觉理解能力,同时在更简单的任务上节省了大量的视觉token。我们采用强化学习,并提出了LLM-as-Judge策略,成功地将强化学习应用于通用VQA任务。此外,我们精心设计了奖励函数和惩罚机制,以实现稳定合理的图像大小调整调用率。大量实验证明了我们方法的优越性、效率和有效性。

🔬 方法详解

问题定义:现有视觉语言模型(VLM)为了提升性能,通常会增加视觉token的数量,但这种做法在计算资源上开销巨大。实际应用中,许多任务并不需要如此多的视觉token。现有高效VLM方法通常采用固定的剪枝比例或阈值来压缩token,无法根据不同任务的难易程度进行自适应调整,导致在一些需要精细视觉信息的任务上性能下降。

核心思路:VisionThink的核心思路是让模型能够根据输入图像的内容和任务的难度,动态地决定是否需要更高分辨率的图像。模型首先处理低分辨率图像,如果认为当前分辨率足够解决问题,则直接输出答案;否则,模型会发出请求,使用更高分辨率的图像进行处理。这种自适应的方法可以在保证性能的同时,减少不必要的计算开销。

技术框架:VisionThink的整体框架包含以下几个主要模块:1) 视觉编码器:用于提取输入图像的视觉特征。2) 决策模块:基于当前视觉特征和任务描述,决定是否需要更高分辨率的图像。3) 图像调整模块:根据决策模块的输出,调整图像的分辨率。4) 语言模型:将视觉特征和任务描述结合起来,生成最终的答案。整个流程通过强化学习进行训练,目标是最大化模型的准确率,同时最小化视觉token的使用量。

关键创新:VisionThink最重要的创新点在于其动态调整图像分辨率的能力。与现有方法相比,VisionThink能够根据具体情况自主决定是否压缩token,从而在保证性能的同时,显著减少计算开销。此外,论文还提出了LLM-as-Judge策略,利用大型语言模型作为奖励函数,指导强化学习过程,解决了在通用VQA任务中难以设计有效奖励函数的问题。

关键设计:在强化学习的奖励函数设计上,论文考虑了准确率和token使用量两个因素。具体来说,如果模型给出了正确的答案,则会获得正向奖励;如果模型使用了过多的视觉token,则会受到惩罚。此外,为了鼓励模型探索不同的策略,论文还引入了熵正则化项。在网络结构方面,决策模块通常采用一个小型神经网络,输入是视觉特征和任务描述,输出是是否需要更高分辨率图像的概率。

🖼️ 关键图片

fig_0
fig_1
fig_2

📊 实验亮点

实验结果表明,VisionThink在多个VQA数据集上取得了显著的性能提升。例如,在OCR-VQA数据集上,VisionThink在保持甚至略微提升准确率的同时,减少了约50%的视觉token使用量。与现有SOTA方法相比,VisionThink在效率和准确率之间取得了更好的平衡。此外,消融实验验证了LLM-as-Judge策略和奖励函数设计的有效性。

🎯 应用场景

VisionThink具有广泛的应用前景,例如在移动设备上运行视觉语言模型,可以在保证用户体验的同时,显著降低功耗。此外,该方法还可以应用于自动驾驶、机器人等领域,帮助这些系统更高效地处理视觉信息,并做出更准确的决策。未来,VisionThink有望成为一种通用的视觉token压缩方法,推动视觉语言模型在更多实际场景中的应用。

📄 摘要(原文)

Recent advancements in vision-language models (VLMs) have improved performance by increasing the number of visual tokens, which are often significantly longer than text tokens. However, we observe that most real-world scenarios do not require such an extensive number of visual tokens. While the performance drops significantly in a small subset of OCR-related tasks, models still perform accurately in most other general VQA tasks with only 1/4 resolution. Therefore, we propose to dynamically process distinct samples with different resolutions, and present a new paradigm for visual token compression, namely, VisionThink. It starts with a downsampled image and smartly decides whether it is sufficient for problem solving. Otherwise, the model could output a special token to request the higher-resolution image. Compared to existing Efficient VLM methods that compress tokens using fixed pruning ratios or thresholds, VisionThink autonomously decides whether to compress tokens case by case. As a result, it demonstrates strong fine-grained visual understanding capability on OCR-related tasks, and meanwhile saves substantial visual tokens on simpler tasks. We adopt reinforcement learning and propose the LLM-as-Judge strategy to successfully apply RL to general VQA tasks. Moreover, we carefully design a reward function and penalty mechanism to achieve a stable and reasonable image resize call ratio. Extensive experiments demonstrate the superiority, efficiency, and effectiveness of our method. Our code is available at https://github.com/dvlab-research/VisionThink.