Visual Program Distillation with Template-Based Augmentation
作者: Michal Shlapentokh-Rothman, Yu-Xiong Wang, Derek Hoiem
分类: cs.CV, cs.CL
发布日期: 2024-12-11 (更新: 2025-11-04)
备注: EMNLP Camera Ready
💡 一句话要点
提出基于模板增强的视觉程序蒸馏方法,降低视觉任务代码生成成本。
🎯 匹配领域: 支柱二:RL算法与架构 (RL & Architecture) 支柱九:具身大模型 (Embodied Foundation Models)
关键词: 视觉程序生成 程序蒸馏 模板增强 合成数据 视觉问答 低成本学习 语言模型
📋 核心要点
- 现有视觉程序生成方法依赖大量人工标注数据,成本高昂,且推理效率较低,难以适应特定领域。
- 该论文提出一种基于模板的合成数据增强方法,将程序解耦为模板和参数,降低了对人工标注数据的依赖。
- 实验表明,该方法可以使用少量问答数据,使小型语言模型生成高质量的专用视觉程序,并显著提升推理速度。
📝 摘要(中文)
由于高昂的标注和推理成本,将视觉程序或提示大型语言模型(LLMs)应用于视觉问答(VQA)等视觉任务,并为特定任务或领域生成可执行代码仍然具有挑战性。我们提出了一种低成本的视觉程序蒸馏方法,该方法适用于参数最多为10亿的模型,并且不需要人工生成的程序标注。我们通过基于将程序解耦为更高级别的技能(称为模板)及其相应参数的合成数据增强来实现这一点。实验结果表明,通过相对少量的问答数据,小型语言模型可以生成高质量的专用视觉程序,并具有更快的推理速度。
🔬 方法详解
问题定义:论文旨在解决视觉任务中,利用大型语言模型生成可执行代码时,对大量人工标注程序数据的依赖问题。现有方法标注成本高,且模型推理效率较低,难以在特定领域应用。
核心思路:核心思路是通过合成数据增强来减少对人工标注数据的需求。具体而言,将复杂的视觉程序分解为更高级别的、可复用的技能单元,即“模板”,以及与这些模板相关的参数。通过组合不同的模板和参数,可以生成大量的合成训练数据。
技术框架:该方法主要包含以下几个阶段:1) 模板定义:预定义一系列高级别的视觉技能模板,例如目标检测、属性识别等。2) 参数生成:为每个模板生成相应的参数,例如目标类别、属性值等。3) 数据合成:根据模板和参数,生成合成的问答数据,包括问题、答案和对应的视觉程序。4) 模型训练:使用合成数据训练小型语言模型,使其能够生成高质量的视觉程序。
关键创新:关键创新在于利用模板将视觉程序解耦为技能和参数,从而可以通过合成数据增强来训练模型,而无需大量人工标注的程序数据。这与传统的依赖人工标注数据的方法有本质区别。
关键设计:论文中,模板的设计至关重要,需要覆盖目标任务所需的各种视觉技能。参数的生成也需要精心设计,以保证合成数据的多样性和质量。此外,损失函数的设计也需要考虑如何鼓励模型生成正确的视觉程序。
🖼️ 关键图片
📊 实验亮点
实验结果表明,该方法可以使用相对少量的问答数据,使小型语言模型生成高质量的专用视觉程序。与需要大量人工标注数据的方法相比,该方法显著降低了标注成本,并提高了推理速度。具体性能数据和对比基线在论文中给出,表明该方法具有显著的优势。
🎯 应用场景
该研究成果可应用于各种视觉任务,例如视觉问答、图像编辑、机器人导航等。通过降低视觉程序生成的成本,可以促进这些技术在特定领域和实际场景中的应用,例如智能家居、自动驾驶、工业自动化等。未来,该方法可以进一步扩展到更复杂的视觉任务和领域。
📄 摘要(原文)
Adapting visual programming or prompting large language models (LLMs) to generate executable code for visual tasks like visual question answering (VQA) for specialized tasks or domains remains challenging due to high annotation and inference costs. We propose a low-cost visual program distillation method that can be used for models with at most 1 billion parameters and requires no human-generated program annotations. We achieve this through synthetic data augmentation based on decoupling programs into higher-level skills, called templates, and their corresponding arguments. Experimental results show that, with a relatively small amount of question/answer data, small language models can generate high-quality specialized visual programs with the added benefit of much faster inference