Skip to main content
QUICK REVIEW

[论文解读] ViperGPT: Visual Inference via Python Execution for Reasoning

Dídac Surís, Sachit Menon|arXiv (Cornell University)|Mar 14, 2023
Multimodal Machine Learning Applications被引用 12
一句话总结

ViperGPT 使用一个代码生成模型将视觉-语言模块组合成 Python 程序,这些程序被执行以回答视觉查询,在零-shot 上在定位、VQA 和视频推理方面表现出色,无需针对特定任务的训练。

ABSTRACT

Answering visual queries is a complex task that requires both visual processing and reasoning. End-to-end models, the dominant approach for this task, do not explicitly differentiate between the two, limiting interpretability and generalization. Learning modular programs presents a promising alternative, but has proven challenging due to the difficulty of learning both the programs and modules simultaneously. We introduce ViperGPT, a framework that leverages code-generation models to compose vision-and-language models into subroutines to produce a result for any query. ViperGPT utilizes a provided API to access the available modules, and composes them by generating Python code that is later executed. This simple approach requires no further training, and achieves state-of-the-art results across various complex visual tasks.

研究动机与目标

  • 为复杂视觉查询提供一个模块化、可解释的端到端视觉模型替代方案的动机。
  • 提出一个框架,利用代码生成模型通过 API 合成调用模块化视觉/语言工具的 Python 程序。
  • 在视觉定位、VQA 和视频推理方面展示零-shot 的、最先进的性能,且无需任务特定的训练。
  • 提供一个可重用的 Python 库,以加速视觉任务的程序合成并促进模块化视觉推理的研究。

提出的方法

  • 定义一个基于预训练模型的模块化视觉与知识组件 API(例如 find、exists、compute_depth、best_text_match)。
  • 使用大型语言模型(Codex)从文本查询生成将这些模块组合成程序的 Python 代码。
  • 用标准 Python 解释器执行生成的 Python 程序以获得最终答案,从而使可解释性具有清晰的中间值。
  • 提供 API 规范和文档字符串以指导代码生成,同时使模块实现与 LLM 上下文窗口保持抽象分离。
  • 启用多处理和批处理执行,以在 GPU 上高效处理多个程序。

实验结果

研究问题

  • RQ1利用LLM的零-shot程序合成能否有效地将视觉-语言模块组合起来,以回答复杂查询而无需任务特定训练?
  • RQ2在解决视觉推理任务时,生成程序产生的中间步骤有多可解释且忠实?
  • RQ3模块化感知与外部知识组件对定位、VQA 和视频推理等任务中的性能有何影响?
  • RQ4基于 Python 的执行框架是否能扩展到视频数据并支持时序/因果推理而无需专门的解释器?

主要发现

  • 在视觉定位、图像问答、外部知识问答以及视频时序/因果推理方面实现出色的零-shot 性能。
  • 由于答案由模块化组件产生的显式中间值构成,因此获得可解释的逐步执行。
  • 该框架通过将感知模块(如 GLIP、X-VLM、MiDaS)与 Python 级逻辑和外部知识查询(如 GPT-3)结合来处理多样化任务,从而受益。
  • 该方法支持开放世界查询且无需任务特定训练,改进取决于底层模块和编码结构。
  • 通过对有序帧进行逐步感知和推理来实现视频推理,尽管感知模块主要用于图像,但仍获得竞争性结果。

更好的研究,从现在开始

从论文设计到论文写作,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。