DeepEyes: Incentivizing "Thinking with Images" via Reinforcement Learning

1. 引述

OpenAI 的 O3 大模型是能够对图片动态思考的,也就是边思考边看图。

什么意思呢?

传统的 O1 大模型是对图静态思考,也就是先看完一张图之后再套思维链。

而 O3 是在看图的过程中就对图进行思考,在思考过程中,会有 Tool_Call 的过程。比如模型思考说:“这部分场景东西多,我放大看看”,随后后端就把这部分给裁剪出来,专门只看这部分。

O3 大模型没有开源,毕竟是商业模型。但这不妨碍其他研究团队模拟 O3 的工作,比如这次论文笔记的这篇工作。

2. Tool Call

上图是论文的一个示例,展示他们是如何把 Tool Call 加入到思维链中,从而形成对图的动态思考的。不过论文在附录中说了,他们调用的唯一的工具就是 <image_zoom_in_tool> 也就是对图像中的指定区域进行放大。

之前的一篇自动驾驶的结合了 Tool Call 的论文,调用的工具不仅仅只有图像放大,还有目标检测等等。这给我的启发就是把 Tool Call 结合到自己的任务中。

【论文笔记】【强化微调】AgentThink:思维链推理 + 工具调用-CSDN博客

3. 强化微调

上述是模型的一个整体训练思路。首先让 LLM 对图结合 Tool Call 进行动态推理,然后把推理结果结合 GT 送进强化学习去微调。

强化微调使用的算法是 GRPO,设置的奖励有三个:

  • 准确性奖励:答案是否正确
  • 格式奖励:输出格式是否规范
  • 工具调用奖励:只有在回答正确时,使用工具才给予奖励(防止模型为了使用工具而使用工具)

写成公式如下:

R(\tau) = R_{\text{acc}}(\tau) + R_{\text{format}}(\tau) + \mathbb{I}_{\{ R_{\text{acc}}(\tau) > 0 \}} \times R_{\text{tool}}(\tau),

论文对于这个任务中的状态(强化学习的那个状态)设置为:文本和图像的交错排列。

在动态思考过程中,先是会输入文本和图像,然后 Tool Call 裁剪一部分,然后继续生成文本,循环往复。那么此时的状态就定义为所有的文本的裁剪的图片。

Logo

中国智能体开发者社区,聚焦智能体与大模型开发,提供前沿资讯、实用工具链、开源项目及行业案例。通过技术沙龙、开发者大赛等活动,促进经验交流与协作,助力开发者快速构建创新智能应用。

更多推荐