摘要:推理视觉语言模型(VLMs)在复杂的多模态任务上表现出了良好的性能。 然而,它们仍然面临着重大挑战:它们对推理错误高度敏感,需要大量带注释的数据或精确的验证器,并且难以在特定领域之外进行泛化。 为了解决这些局限性,我们探索了自我纠正作为一种增强推理VLMs的策略。 我们首先对推理VLM的自我纠正能力进行了深入分析,并确定了关键的差距。 基于我们的发现,我们引入了Sherlock,一个自我纠正和自我改进的训练框架。Sherlock引入了一个轨迹级自我纠正目标,一种基于视觉扰动的偏好数据构建方法,以及一个用于偏好调整的动态贝塔。 一旦模型仅使用20k随机抽样的标注数据获得了自我校正能力,它就可以在没有外部监督的情况下继续自我改进。 Sherlock基于Llama3.2-Vision-11B模型构建,在八个基准测试中取得了显著成果,直接生成的平均准确率为64.1,自我校正后的准确率为65.4。 它的性能优于LLaVA-CoT(63.2)、Mulberry(63.9)和LlamaV-o1(63.4),同时使用不到20%的注释数据。Huggingface链接:Paper page,论文链接:2505.22651
研究背景和目的
研究背景
近年来,视觉语言模型(Vision-Language Models, VLMs)在复杂的多模态任务中展现出了令人瞩目的性能。这些模型通过结合视觉和语言信息,能够处理涉及图像和文本理解的多种任务,如视觉问答(Visual Question Answering, VQA)、图像描述生成(Image Captioning)等。然而,尽管VLMs在某些领域取得了显著进展,但它们仍然面临诸多挑战:
- 对推理错误的敏感性:VLMs在处理长链推理任务时,一旦在某个推理步骤中出现错误,该错误往往会传播到后续步骤,导致最终答案错误。
- 数据需求量大:为了获得一致的改进,VLMs通常需要大量高质量的标注数据或易于验证的答案。这种需求不仅增加了数据收集的成本,还限制了模型在资源有限环境下的应用。
- 泛化能力有限:VLMs在特定领域或任务上表现良好,但在更广泛的领域或任务上泛化能力较差。这主要是因为它们依赖于特定领域的数据进行训练,难以适应未见过的场景。
为了解决这些问题,研究者们开始探索如何通过自我纠正(Self-Correction)来增强VLMs的推理能力。自我纠正允许模型在生成输出后对其进行审查和修正,从而提高输出的准确性和可靠性。
研究目的
本研究旨在通过引入自我纠正机制,增强VLMs的推理能力,并减少对大量标注数据和精确验证器的依赖。具体而言,研究目的包括:
- 分析VLMs的自我纠正能力:通过深入分析现有VLMs在自我纠正方面的表现,识别其存在的关键差距和不足。
- 提出Sherlock自我纠正框架:基于分析结果,设计并实现一个名为Sherlock的自我纠正和自我改进训练框架。该框架旨在通过轨迹级自我纠正目标、基于视觉扰动的偏好数据构建方法和动态贝塔(beta)调整,提升VLMs的推理能力。
- 验证Sherlock的有效性:在多个基准测试上验证Sherlock框架的有效性,评估其在减少标注数据需求、提高推理准确性和泛化能力方面的表现。
研究方法
1. 自我纠正能力分析
为了了解现有VLMs在自我纠正方面的表现,研究首先对基于监督微调(SFT)的LLaVA-CoT模型和基于强化学习(RL)的VL-Rethinker模型进行了深入分析。通过控制实验,测试了这些模型在步进式自我纠正(Step-wise Self-correction)和响应式自我纠正(Response-wise Self-correction)方面的能力。
- 步进式自我纠正:在推理过程中,模型在某个中间步骤出现错误时,尝试自我纠正该步骤以继续后续推理。
- 响应式自我纠正:模型在生成完整响应后,根据外部批评或自我纠正提示,尝试修正响应中的错误。
2. Sherlock自我纠正框架设计
基于自我纠正能力分析的结果,研究提出了Sherlock自我纠正和自我改进训练框架。Sherlock框架包括三个阶段:
- 阶段一:SFT冷启动
- 使用少量标注数据(10k个示例)对基础VLM进行SFT训练,使其具备基本的推理能力。
- 引入自我纠正目标,通过成对训练(Pairwise Training)使模型同时学习推理和自我纠正能力。
- 阶段二:离线偏好训练
- 构建轨迹级偏好数据集,通过随机截断推理步骤并注入视觉噪声,生成低质量的推理轨迹作为负样本。
- 使用动态贝塔调整偏好训练中的学习信号,以适应不同样本对之间的质量差距。
- 通过偏好优化(Preference Optimization)训练模型,使其能够区分高质量和低质量的推理轨迹,并倾向于生成高质量的轨迹。
- 阶段三:在线迭代自我改进
- 在没有标注数据的情况下,利用模型自身生成的响应构建偏好数据集。
- 通过多轮自我纠正和偏好学习,持续提升模型的推理和自我纠正能力。
3. 实验设置与评估
- 数据集:使用LLaVA-CoT数据集作为训练和评估的基础数据集,该数据集包含大量多模态推理任务示例。
- 评估指标:在八个基准测试上评估模型的性能,包括MMBench-V1.1、MMVet、MME、MMStar、MathVista、AI2D、MMMU和HallusionBench。评估指标包括直接生成的准确率和自我纠正后的准确率。
- 对比方法:与LLaVA-CoT、Mulberry和LlamaV-o1等先进方法进行对比,评估Sherlock在减少标注数据需求、提高推理准确性和泛化能力方面的表现。
研究结果
1. 自我纠正能力分析结果
- 步进式自我纠正:现有VLMs在步进式自我纠正方面表现不佳,即使出现反思信号,也往往无法成功纠正推理以得出正确答案。
- 响应式自我纠正:无论是使用自我纠正提示还是外部批评,现有VLMs在响应式自我纠正方面均未能有效提高推理准确性。
2. Sherlock框架性能
- 推理准确性提升:在仅使用20k标注数据的情况下,Sherlock模型在多个基准测试上取得了显著的性能提升。直接生成的平均准确率为64.1,自我纠正后的准确率为65.4,优于使用更多标注数据的LLaVA-CoT、Mulberry和LlamaV-o1等先进方法。
- 泛化能力增强:Sherlock模型在未见过的测试集上表现良好,显示出较强的泛化能力。这主要得益于其自我纠正机制,使模型能够在推理过程中不断修正错误,提高输出的可靠性。
- 标注数据需求减少:与先进方法相比,Sherlock在取得相似或更好性能的同时,使用了更少的标注数据(不到20%)。这大大降低了数据收集的成本,提高了模型在资源有限环境下的应用潜力。
3. 消融实验结果
- 自我纠正与推理能力的关系:消融实验表明,自我纠正和推理能力并非独立存在,而是相互促进的。学习自我纠正能力可以促进模型的直接推理能力,反之亦然。
- 轨迹级自我纠正目标的有效性:与全响应纠正相比,轨迹级自我纠正目标能够更有效地利用偏好数据,提高模型的自我纠正能力。这主要是因为轨迹级纠正能够避免对正确前缀步骤的不必要更新,从而保持模型的稳定性。
- 动态贝塔的作用:动态贝塔设计能够根据样本对之间的质量差距自适应地调整学习信号,有助于更稳定的训练和更强的模型性能。这表明动态贝塔在偏好训练中起着关键作用,能够提高模型对不同质量样本的区分能力。
研究局限
尽管Sherlock框架在增强VLMs推理能力方面取得了显著进展,但本研究仍存在以下局限:
- 数据集依赖性:尽管Sherlock在多个基准测试上表现良好,但其性能仍可能受到训练数据集的影响。不同数据集之间的差异可能导致模型在不同任务上的表现有所不同。
- 计算资源需求:虽然Sherlock在减少标注数据需求方面取得了成功,但其训练过程仍需要大量的计算资源。特别是在在线迭代自我改进阶段,模型需要多次自我纠正和偏好学习,这增加了训练的时间和计算成本。
- 自我纠正机制的复杂性:Sherlock框架中的自我纠正机制涉及多个复杂组件,如轨迹级自我纠正目标、基于视觉扰动的偏好数据构建方法和动态贝塔调整。这些组件的设计和实现需要深入的理解和精细的调整,增加了框架的复杂性和实现难度。
未来研究方向
基于本研究的结果和局限,未来的研究可以从以下几个方面展开:
- 探索更高效的数据利用方法:研究如何更有效地利用少量标注数据来训练VLMs,例如通过数据增强、迁移学习或半监督学习等方法,减少对大量标注数据的依赖。
- 优化计算资源需求:研究如何降低Sherlock框架的计算资源需求,例如通过模型压缩、量化或分布式训练等方法,提高训练效率,使更多研究者能够利用该框架进行VLMs的研究。
- 简化自我纠正机制:研究如何简化Sherlock框架中的自我纠正机制,使其更易于实现和应用。例如,可以探索更简单的轨迹级自我纠正目标或更有效的动态贝塔调整策略。
- 拓展应用场景:将Sherlock框架应用于更多领域和任务,如自然语言处理、图像生成和强化学习等,以验证其通用性和可扩展性。同时,探索如何将自我纠正机制与其他技术(如迁移学习、元学习和多模态学习)相结合,以进一步提升VLMs的性能。
- 深入理解自我纠正机制:研究自我纠正机制的工作原理和影响因素,以更好地设计和优化自我纠正框架。例如,可以探索不同类型错误对自我纠正能力的影响,以及如何通过模型架构改进或训练策略调整来提高自我纠正效果。