当前位置: 首页 > news >正文

GRPO强化学习缓解多模态大模型OCR任务的幻觉思路及数据生成思路

多模态大模型在“看不清”文字时瞎编答案,称为“OCR幻觉”,如下图,主要有几点:(1)预训练阶段缺乏相关数据:关键信息提取(KIE)数据以及退化视觉场景的清晰标注显著不足,限制了模型处理复杂视觉输入的能力。指令微调阶段忽视退化场景:现有研究通常假设 OCR 任务输入为非退化图像,导致模型缺乏处理真实世界退化文档(如模糊、遮挡、低对比度)所需的推理能力。

 Qwen2.5-VL-7B(左)与 GPT-4o(右)在解读退化文本图像中的表现。Qwen2.5-VL-7B模型可能出现幻觉,识别出图像中不存在的数值,而 GPT-4o 模型则因部分文本遮挡而难以识别退化。

下面来看看一个思路。供参考。

数据集

KIE-HVQA数据集中三类数据的可视化展示。[Q] 代表问题,[G] 表示真实值,[P] 则是由 Qwen2.5-VL 模型在 zero-shot 提示下生成的预测。这些数据呈现出不同程度的退化,如模糊或损坏,影响了模型的预测准确率。

数据生成方法

数据生成pipline

主要思路如下:

数据生成方法分三步走,目的是构造一个专门用于训练模型“看清模糊文字、不乱编答案”的冷启动数据集,核心逻辑是:用现有模型生成“人类式思考”的链式推理(CoT)数据,再与图像配对,形成多模态训练样本。流程如下:

Step 1:图像→文本描述(借助GPT-4o)

输入一张退化文档图像(如模糊的发票)+ 问题(如“这张发票的总金额是多少?”),用GPT-4o将图像内容转为纯文本描述(包括文字内容、退化情况、空间位置等)。 目的是把多模态信息“翻译”成语言模型能理解的文本。

  • 例如:GPT-4o会描述“图像中‘总金额’一栏的数字‘100’被污渍遮挡,仅能看到‘1’和‘00’的轮廓”。
Step 2:文本→链式推理(借助DeepSeek-R1)

输入Step 1中生成的纯文本描述 + 问题,用推理模型DeepSeek-R1生成人类式的思考链(CoT),模拟人如何一步步判断,让模型学会“看不清时不硬猜”,而是用逻辑推理标记不确定部分。

  • 示例CoT
    “观察到‘总金额’栏的数字有污渍遮挡,但‘1’的竖线清晰,‘00’的轮廓部分可见,结合上下文‘人民币符号¥’,推断金额为‘100元’,但需标记‘00’为不确定区域。”
Step 3:合成多模态数据

输入原始图像(带退化)和Step 2生成的CoT文本(含推理和不确定标记),输出一个完整的多模态训练样本(图像+问题+CoT答案)。

数据增强

  • 对图像随机添加退化(模糊、遮挡、低对比度)。
  • 用OCR模型(如Qwen2.5-VL-72B)验证退化后的字符是否仍可见,确保标注准确。

最终效果生成的数据集覆盖身份证、发票、处方等场景。每个样本都附带:

  • 像素级退化标注(哪些字符被遮挡)
  • OCR可靠性得分(模型对字符可见性的置信度)
  • CoT推理链(如何从不确定信息中得出结论)

方法

基于GRPO强化学习+多目标奖励函数的框架,解决OCR幻觉问题。

奖励函数设计

带OCR奖励的强化学习:设计基于规则的三级奖励函数,强制模型根据视觉可见性输出答案,避免幻觉。

奖励函数设计

将字符按可见性分为三类,不同处理策略:

  1. 清晰字符(如“B, a, u”):必须准确识别,奖励高。
  2. 部分遮挡字符(如“e”被污渍盖住30%):需标记为异常(如“e[部分可见]”),保留但提示不确定。
  3. 完全不可见字符(如“t, i”被完全遮挡):必须输出空格,避免幻觉。

了单词“Beautiful”中每个字母的退化标准。字母“B, a, u, f, u, l”清晰可见;字母“e”部分被遮挡;字母“t, i”则完全不可见

奖励计算流程

对模型预测和真实值计算编辑距离,生成三个指标:

  • clear_metric:清晰字符的准确率
  • not_clear_metric:模糊/遮挡字符的处理合理性
  • final_metric:最终答案与真实值的匹配度

复合奖励

其中c₁, c₂, c₃为权重,确保模型优先视觉忠实度,而非盲目追求字符准确率。

训练阶段

冷启动SFT:用前文生成的CoT数据微调Qwen2.5-VL-7B,学习“退化场景下的推理范式”。

GRPO强化学习

  • 输入退化图像(如模糊处方),模型生成多个候选答案。
  • 奖励函数评估每个答案是否**“不幻觉”**(如遮挡区域是否输出空格)。
  • 通过GRPO优化策略,使模型逐渐学会**“无法识别时拒绝回答”**。

实验性能

参考文献:Seeing is Believing? Mitigating OCR Hallucinations in
Multimodal Large Language Models,https://arxiv.org/pdf/2506.20168v1

http://www.dtcms.com/a/301280.html

相关文章:

  • 【Oracle】Oracle分区表“排雷“指南:当ORA-14400错误找上门时如何优雅应对
  • 【数据结构与算法】数据结构初阶:详解排序(二)——交换排序中的快速排序
  • 【Web安全】深入浅出理解“SQL注入-伪静态注入”及空格限制绕过技巧
  • linux 板卡实现vxi11服务
  • Qwen3安装使用教程:引领推理型大模型新时代
  • 【硬件-笔试面试题】硬件/电子工程师,笔试面试题-35,(知识点:三极管知识点,电路电压计算题,三极管电压计算,PNP三极管)
  • linux 部署 flink 1.15.1 并提交作业
  • 数据上新|最新省、地级市农业新质生产力2002-2025
  • Linux vimgrep 详解
  • 深度学习篇---优化器
  • 上位机知识篇---Tailwind CSS
  • Linux内核设计与实现 - 第15章 进程地址空间
  • python-列表推导式,迭代器和生成器,上下文管理器
  • Unity3D 平台宏定义
  • 双指针算法技巧
  • CCF-GESP 等级考试 2025年6月认证C++七级真题解析
  • PyQt5图形和特效(Qss的UI美化)
  • zabbix-agent静默安装
  • MinIO 用户管理与权限控制详解
  • LINUX727 磁盘管理回顾1;配置文件回顾
  • 数据类型处理流讲解
  • 《中国棒球》cba外援规则·棒球1号位
  • Java排序中(a).compareTo(b)与Integer.compare(a, b)区别
  • Java学习-------外观模式
  • incus套件在 主力 Linux Distros 上的安装配置与基本使用
  • 【NLP实践】三、LLM搭建中文知识库:提供RestfulAPI服务
  • LeetCode第349题_两个数组的交集
  • python 阿里云 安装 dashscope的简介、安装
  • c语言结构体字节对齐
  • github上传本地项目过程记录