Visual Sketchpad: Sketching as a Visual Chain of Thought for Multimodal Language Models
作者: Yushi Hu, Weijia Shi, Xingyu Fu, Dan Roth, Mari Ostendorf, Luke Zettlemoyer, Noah A Smith, Ranjay Krishna
分类: cs.CV, cs.CL
发布日期: 2024-06-13 (更新: 2024-11-11)
备注: Accepted to NeurIPS 2024. Project and codes url: https://visualsketchpad.github.io/
🔗 代码/项目: PROJECT_PAGE
💡 一句话要点
提出Visual Sketchpad,赋予多模态语言模型视觉草稿本,提升复杂推理能力
🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)
关键词: 多模态语言模型 视觉推理 草图辅助 思维链 视觉草稿本 GPT-4o 视觉专家模型
📋 核心要点
- 现有方法在多模态语言模型中缺乏类似人类草图辅助推理的能力,限制了其在复杂视觉和数学问题上的表现。
- Sketchpad框架赋予多模态LM一个视觉草稿本,允许其通过绘制线条、框等进行视觉推理,模拟人类的草图辅助思考过程。
- 实验表明,Sketchpad在数学和视觉任务上均显著提升了性能,GPT-4o结合Sketchpad在多个benchmark上取得了SOTA结果。
📝 摘要(中文)
本文提出了一种名为Sketchpad的框架,旨在赋予多模态语言模型(LMs)一个视觉草稿本和绘图工具,以辅助其进行推理。与现有方法仅使用文本作为中间推理步骤不同,Sketchpad允许LM根据其绘制的视觉人工制品进行规划和推理。不同于以往使用文本到图像模型让LM绘图的工作,Sketchpad使LM能够使用线条、框、标记等进行绘制,这更接近人类的草图绘制方式,并更好地促进推理。Sketchpad还可以在草图绘制过程中使用专业的视觉模型(例如,使用对象检测模型绘制边界框,使用分割模型绘制掩码),以进一步增强视觉感知和推理能力。在包括几何、函数、图表和国际象棋在内的各种数学任务以及复杂的视觉推理任务上进行了实验。Sketchpad在所有任务上都显著提高了性能,在数学任务上的平均增益为12.7%,在视觉任务上的平均增益为8.6%。配备Sketchpad的GPT-4o在所有任务上都创造了新的state-of-the-art,包括V*Bench(80.3%),BLINK空间推理(83.9%)和视觉对应(80.8%)。
🔬 方法详解
问题定义:现有的大型多模态语言模型在处理需要复杂推理的任务时,例如几何问题、函数图分析、空间推理等,往往依赖于纯文本的思维链(Chain-of-Thought)方法。这种方法忽略了人类在解决这些问题时经常使用的草图辅助手段。因此,如何赋予多模态模型视觉草图能力,使其能够像人类一样利用视觉信息进行推理,是本文要解决的核心问题。现有方法的痛点在于无法有效地利用视觉信息进行中间推理,导致性能受限。
核心思路:本文的核心思路是为多模态语言模型提供一个可交互的“视觉草稿本”(Visual Sketchpad),模型可以通过一系列绘图工具(例如线条、矩形、标记等)在草稿本上进行绘制,并将绘制的视觉信息作为中间推理步骤。这种方式模拟了人类在解决复杂问题时使用草图辅助思考的过程,从而增强模型的推理能力。
技术框架:Sketchpad框架主要包含以下几个模块:1) 多模态语言模型:作为核心推理引擎,负责规划绘图步骤和利用视觉信息进行推理。2) 视觉草稿本:一个可交互的画布,模型可以在上面绘制各种图形元素。3) 绘图工具:提供一系列绘图操作,例如绘制线条、矩形、标记等。4) 视觉专家模型:可选模块,用于增强视觉感知,例如目标检测模型可以用于绘制边界框,分割模型可以用于绘制掩码。整个流程如下:模型首先接收输入问题,然后规划绘图步骤,利用绘图工具在视觉草稿本上进行绘制,并将绘制的视觉信息与原始输入结合,进行下一步推理,最终输出答案。
关键创新:本文最重要的技术创新点在于将视觉草图作为多模态语言模型的中间推理步骤。与以往使用文本到图像模型生成图像的方法不同,Sketchpad允许模型直接控制绘图过程,绘制更具结构化和语义信息的视觉元素,从而更好地辅助推理。此外,Sketchpad还支持集成视觉专家模型,进一步增强视觉感知能力。
关键设计:Sketchpad的关键设计包括:1) 绘图工具的选择:选择了一系列基本的绘图工具,例如线条、矩形、标记等,这些工具足以表达各种视觉信息。2) 绘图步骤的规划:模型需要学习如何规划绘图步骤,例如先绘制哪些元素,后绘制哪些元素,以有效地辅助推理。3) 视觉信息的编码:需要将绘制的视觉信息编码成模型可以理解的形式,例如可以使用卷积神经网络提取视觉特征,然后与文本特征进行融合。
🖼️ 关键图片
📊 实验亮点
实验结果表明,Sketchpad框架在各种数学和视觉推理任务上均取得了显著的性能提升。在数学任务上,Sketchpad的平均增益为12.7%,在视觉任务上的平均增益为8.6%。配备Sketchpad的GPT-4o在所有任务上都创造了新的state-of-the-art,包括V*Bench(80.3%),BLINK空间推理(83.9%)和视觉对应(80.8%)。这些结果表明,Sketchpad框架能够有效地提升多模态语言模型的推理能力。
🎯 应用场景
Sketchpad框架具有广泛的应用前景,可以应用于需要复杂视觉推理的领域,例如机器人导航、智能设计、教育辅导等。例如,在机器人导航中,机器人可以利用Sketchpad绘制地图,并根据地图进行路径规划。在教育辅导中,Sketchpad可以帮助学生绘制几何图形,并辅助其解决几何问题。该研究的实际价值在于提升了多模态语言模型在复杂推理任务上的性能,未来有望推动人工智能在更多领域的应用。
📄 摘要(原文)
Humans draw to facilitate reasoning: we draw auxiliary lines when solving geometry problems; we mark and circle when reasoning on maps; we use sketches to amplify our ideas and relieve our limited-capacity working memory. However, such actions are missing in current multimodal language models (LMs). Current chain-of-thought and tool-use paradigms only use text as intermediate reasoning steps. In this work, we introduce Sketchpad, a framework that gives multimodal LMs a visual sketchpad and tools to draw on the sketchpad. The LM conducts planning and reasoning according to the visual artifacts it has drawn. Different from prior work, which uses text-to-image models to enable LMs to draw, Sketchpad enables LMs to draw with lines, boxes, marks, etc., which is closer to human sketching and better facilitates reasoning. Sketchpad can also use specialist vision models during the sketching process (e.g., draw bounding boxes with object detection models, draw masks with segmentation models), to further enhance visual perception and reasoning. We experiment with a wide range of math tasks (including geometry, functions, graphs, and chess) and complex visual reasoning tasks. Sketchpad substantially improves performance on all tasks over strong base models with no sketching, yielding an average gain of 12.7% on math tasks, and 8.6% on vision tasks. GPT-4o with Sketchpad sets a new state of the art on all tasks, including V*Bench (80.3%), BLINK spatial reasoning (83.9%), and visual correspondence (80.8%). All codes and data are in https://visualsketchpad.github.io/.