VGA:以图像为中心的微调减少 GUI 理解幻觉
论文:VGA: Vision GUI Assistant - Minimizing Hallucinations through Image-Centric Fine-Tuning
作者:Ziyang Meng, Yu Dai, Zezheng Gong, Shaoxiong Guo, Minglong Tang, Tongquan Wei
机构:East China Normal University
发布时间:2024年6月(EMNLP 2024)
链接:arXiv
分类标签:
GUI 理解幻觉缓解Referent Method两阶段微调数据集
一句话总结
针对 LVLM 在 GUI 理解中过度依赖预训练知识而忽视图像内容导致的幻觉问题,提出Referent Method(在数据集中显式嵌入坐标、颜色、形状等视觉指代信息)和FAC 两阶段微调(Foundation 阶段固定格式让模型聚焦图像、Advanced 阶段对齐人类意图),基于 Rico 数据集构建 63.8k GUI VQA 数据,VGA-7b 在 GUI 理解 benchmark 上以 90.83 分超越 GPT-4V (81.82) 和 GPT-4o (80.75)。
一、问题与动机
1.1 LVLM 在 GUI 理解中的幻觉
GUI(Graphical User Interface)具有结构化布局、丰富的图文内容和用户交互逻辑,对 LVLM 构成独特挑战。现有 LVLM 直接用于 GUI 理解时存在严重的幻觉问题:模型过度依赖预训练文本知识中学到的响应模式,而忽略了实际图像中的视觉内容。
| 问题 | 表现 | 示例 |
|---|---|---|
| 响应模式依赖 | 模型基于文本模式生成答案而非阅读图像 | 用户问"How can I like this video",LLaVA 回答"Look for a thumbs-up or heart icon, usually at the bottom"(泛化模式),VGA 回答"Click the heart-shaped icon on the right side, just below the person's image"(图像具体) |
| 位置关系误解 | 未理解 GUI 元素间的空间布局语义 | 心形图标下的数字表示点赞数,但模型可能误解其含义 |
| 文本触发幻觉 | 问题中的关键词触发不存在元素的生成 | 问"How can I login"时模型建议点击不存在的"Login"按钮 |
1.2 从代码到视觉的 GUI 理解范式转变
| 方法类型 | 代表 | 优势 | 不足 |
|---|---|---|---|
| 代码驱动 | 代码分析、View Hierarchy 解析 | 结构精确 | 无法捕获视觉设计意图和用户体验 |
| 传统视觉 | 模板匹配、OCR | 能看到界面 | 仅识别组件,无法理解语义和交互 |
| LVLM 视觉 | LLaVA、GPT-4V | 融合视觉理解与语言推理 | 幻觉问题严重 |
VGA 选择 LVLM 路线,通过数据构建和训练方法两个维度解决幻觉问题。
二、GUI VQA 数据集构建
2.1 数据源:Rico 数据集
Rico 是大规模移动端 GUI 数据集,包含 66k 独立 GUI 截图、3M 元素(27 类)、9.3k 应用。每个 GUI 包含截图和增强版 Android View Hierarchy(元素属性和关系)。
Rico 无法直接用于 LVLM 训练,因为其文本数据格式与 VQA 数据不兼容。
2.2 数据质量维度
高质量 GUI VQA 数据集需覆盖四个维度:
| 维度 | 含义 | 重要性 |
|---|---|---|
| Interaction | 用户与 GUI 元素的交互方式 | 理解 GUI 功能 |
| Positional | 元素在界面中的精确位置 | 位置关系蕴含元素间语义连接 |
| Visual Detail | 形状、颜色等视觉属性 | 区分不同元素、聚焦设计属性 |
| Overall Function | 界面整体功能描述 | 预测设计意图和使用模式 |
2.3 数据生成流程
数据预处理:
- 移除
visible-to-user=false的元素 - 将
bounds归一化到范围 - 对
clickable=true的元素计算click_coordinate(bounds 中点)
双模型生成策略:
| 生成模型 | 输入 | 输出特点 | 数据量 |
|---|---|---|---|
| GPT-4 (text-only) | 预处理后的 View Hierarchy 文本 | 精确的位置坐标和交互信息 | 22.3k 指令 + 16.4k 对话 |
| GPT-4o (vision) | GUI 截图图像 | 相对位置、形状、颜色等视觉属性 | 8k 指令 + 25k 对话 |
2.4 Referent Method:减少幻觉的数据设计
GUI 设计中布局、形状、颜色用于区分元素和引导交互。通过在数据集中显式嵌入这些指代信息(referents),强化模型在生成回答时对图像内容的依赖:
| 指代类型 | 描述 | 示例 |
|---|---|---|
| Shape | 元素形状 | "a rectangular button with rounded corners" |
| Color | 元素颜色 | "a blue button with white text" |
| Position | 精确坐标或边界 | <x,y> 或 <x1,y1,x2,y2> |
| Relative Position | 与其他元素的相对位置 | "below the text input field" |
确保大多数涉及 GUI 元素的回答至少包含一种指代信息。
2.5 数据集组成
| 指令数据 | 生成模型 | 数量 | 对话数据 | 生成模型 | 数量 |
|---|---|---|---|---|---|
| description_inst | GPT-4 | 3k | Conv_simple | GPT-4 | 5.4k |
| bound_inst | GPT-4 | 4.3k | Conv_complex | GPT-4 | 11k |
| function_inst | GPT-4 | 2k | Conv_4o_long | GPT-4o | 10k |
| testing_inst | GPT-4 | 5k | Conv_4o_short | GPT-4o | 10k |
| function_inst_4o | GPT-4o | 8k | conv_4o_miss | GPT-4o | 5k |
| 总指令数据 | 22.3k | 总对话数据 | 41.4k | ||
| 总计 | 63.8k |
三、FAC 两阶段微调方法
3.1 动机
现有 LVLM 微调方法将问题 token 和图像 token 平等对待,忽视了 LVLM 需要优先利用图像信息的需求。这导致模型即使理解了任务,也可能仅基于问题文本生成回答,产生幻觉。
3.2 Foundation Stage:对齐图像内容
使用 Foundation 任务数据集(22.3k 指令跟随数据),其关键设计是固定指令和回答格式,仅图像内容和回答信息动态变化。这迫使模型在生成时更多关注图像内容。
三类 Foundation 任务:
| 任务 | 目标 | 输出 |
|---|---|---|
| Simple Description | 基础布局描述 | 界面组件的功能和位置 |
| Bounds & Location | 精确位置信息 | 元素边界和坐标描述 |
| Overall Function | 整体功能理解 | 基于全局功能推断各元素的具体用途 |
3.3 Advanced Comprehension Stage:对齐人类意图
使用 Advanced 任务数据集(41.4k 对话数据),引入多轮对话和复杂问题,每个样本的问答格式灵活多变,与人类意图对齐。
| 数据类型 | 信息来源 | 指代特点 |
|---|---|---|
| GPT-4 生成 | View Hierarchy 文本 | 精确坐标和交互信息 |
| GPT-4o 生成 | GUI 截图图像 | 相对位置、形状、颜色 |
3.4 Task Progression and Reinforcement
在 Advanced 阶段内部,采用由简到复杂的任务编排:先呈现相关的简单任务强化基础知识,再给出需要深度分析和综合的复杂任务。这构建了任务间和回答内的逻辑链,强化模型的推理能力。
3.5 训练超参数
| 阶段 | 数据量 | 训练模块 | 学习率 | Batch Size | 设备 | 时间 |
|---|---|---|---|---|---|---|
| Foundation | 22.3k | Connector & LLM | 2e-6 | 16 | 1×A100 80G | 16h |
| Advanced | 41.4k | Connector & LLM | 2e-6 | 32 | 1×A100 80G | 16h |
基座模型:llava-v1.6-mistral-7b
四、实验结果
4.1 GUI 理解 Benchmark
基于 Rico 数据集(排除训练数据)采样 22 张图像,构建 44 个需要真正理解 GUI 才能正确回答的问题,使用 ChatGPT 评估(参考 LLaVA-bench 评估方式),进行三次独立评估取平均。
| 模型 | 第一次 | 第二次 | 第三次 | 平均 |
|---|---|---|---|---|
| GPT-4o | 80.68 | 80.45 | 81.14 | 80.75 |
| GPT-4V | 81.82 | 81.14 | 82.50 | 81.82 |
| MiniCPM-llama3-V-2.5 | 63.86 | 64.09 | 64.32 | 64.09 |
| llava-v1.6-mistral-7b | 53.41 | 53.18 | 53.86 | 53.48 |
| idefics2-8b | 39.77 | 43.86 | 41.81 | 41.82 |
| VGA-7b-v1* (336×336) | 59.00 | 59.75 | 57.75 | 58.50 |
| VGA-7b-v1 | 90.68 | 90.68 | 91.17 | 90.83 |
关键发现:
- VGA 相对基座 llava-v1.6-mistral-7b 提升 70%(53.48 → 90.83)
- 超越 GPT-4V 11%(81.82 → 90.83)、超越 GPT-4o 12.5%(80.75 → 90.83)
- 低分辨率版 VGA-7b-v1* (336×336) 仅用 1/4 image token 仍超过基座模型 5 分
4.2 幻觉分析
VGA 的回答展现出对图像内容的精确理解:
| 场景 | 其他模型的幻觉回答 | VGA 的回答 |
|---|---|---|
| "How can I like this video?" | "Look for a thumbs-up icon, usually at the bottom" | "Click the heart-shaped icon on the right side, just below the person's image" |
| "How can I login?" | "Look for the Login button, usually at the top right" | "This page doesn't appear to have a login function" |
| "How can I score?" | "Click the one that says 'horrible'" | "Click the 'dicatado' button in the middle left" |
核心差异:VGA 提供基于图像的具体位置、颜色、形状信息,而其他模型依赖通用知识模式。
4.3 FAC 方法分析
Foundation 阶段的作用(Figure 2):
- 经过 Foundation 阶段预训练的模型在 Advanced 阶段训练时 loss 收敛更低、波动更小
- Foundation 阶段的收敛程度直接影响 Advanced 阶段的最终表现
混合 vs 分阶段训练(Figure 3):
- 将 Foundation 和 Advanced 数据混合训练会导致收敛不稳定
- 分阶段训练优于混合训练,验证了两阶段设计的必要性
4.4 超参数分析
Foundation 阶段学习率:
- 2e-6 比 2e-5 收敛更低更稳定,波动显著减少
- 小学习率帮助模型更精确地建立图像-回答映射
Advanced 阶段 Batch Size:
- BS=32 比 BS=16 收敛更稳定、波动更小
- 大 batch 帮助模型捕捉用户意图的细微差异,防止意图跟随过拟合
4.5 消融实验
| 模型 | GUI 元素识别 | 位置准确性 | 意图理解 |
|---|---|---|---|
| llava-v1.6-mistral-7b (基座) | 较弱 | 较差 | 一般 |
| VGA-7b-stage2 (仅 Advanced) | 较好(含 Referent 风格) | 位置不够精确 | 较好 |
| VGA-7b-v1 (FAC 完整) | 最好 | 最精确 | 最好 |
- Foundation 阶段不损害意图跟随能力——两个模型的 loss 趋势高度一致
- Foundation 阶段使模型更关注图像信息,带来更低的 loss 值
4.6 注意力分析
对比 VGA-7b-v1 和基座 llava-v1.6-mistral-7b 的图像 token 注意力:
- VGA 在生成回答时对图像 token 的注意力值显著更高
- 验证了 FAC 方法确实增强了模型从图像中提取信息的能力
五、局限性与未来方向
- 数据噪声:数据集包含一定噪声,未来需要清洗以提升质量
- 基座模型受限:受限于 LLaMA 商用许可,使用的是 llava-v1.6-mistral-7b,更强的基座可能带来更大提升
- GUI 设计风格过时:基于 Rico 的 GUI 截图设计风格较老,需要整合现代流行应用的界面
- Benchmark 规模小:仅 22 张图像 44 个问题,评估的统计显著性有待加强
六、个人思考
6.1 与项目内其他幻觉缓解工作的对比
| 方法 | 干预阶段 | 核心思路 | 是否需要训练 | 域特异性 |
|---|---|---|---|---|
| VGA | 训练时(数据+方法) | Referent 数据 + 两阶段微调 | 是 | GUI 领域 |
| REVERIE | 训练时(数据) | 正负 rationale 反思学习 | 是 | 通用 |
| CSR | 训练时(迭代 DPO) | CLIP 校准自奖励 | 是 | 通用 |
| SENTINEL | 训练时(C-DPO) | 句子级偏好早期干预 | 是 | 通用 |
| OPERA | 解码时 | 注意力聚合模式惩罚 | 否 | 通用 |
| ICD | 解码时 | 指令对比解码 | 否 | 通用 |
VGA 与 REVERIE 有相似之处——都通过数据设计来提供更丰富的监督信号。REVERIE 用正负 rationale 教模型"为什么对/错",VGA 用 Referent Method 教模型"在哪里、长什么样"。但 VGA 是 GUI 领域专用的,而 REVERIE 是通用方法。
6.2 Referent Method 的洞察
Referent Method 的核心洞察是:如果训练数据中的回答必须引用图像中的具体视觉属性(位置、颜色、形状),模型就不得不学会从图像中提取这些信息,从而减少对文本模式的依赖。这本质上是一种数据级的 grounding 约束。
有趣的是,这种方法与 HALC 中的 FOV grounding 和 MemVR 中的视觉回溯思路一脉相承——都在强迫模型"看图说话",只是干预的层次不同(数据 vs 解码 vs 中间层)。
6.3 两阶段训练的合理性
FAC 的两阶段设计反映了一个直觉:先学会看图,再学会说话。Foundation 阶段通过固定格式消除了问题文本的干扰,让梯度信号主要来自图像内容差异;Advanced 阶段在此基础上引入灵活的对话格式。这类似于课程学习(curriculum learning)的思路。
混合训练不如分阶段训练的现象也说明:当"看图"和"说话"的训练信号混在一起时,模型倾向于走文本捷径,正如 REVERIE 中发现的"仅加 QA 数据反而降低性能"一样。
6.4 局限性讨论
这篇工作有两个显著局限:
- Benchmark 太小:22 张图像 44 个问题的评估集规模非常有限,统计可靠性存疑。后续工作 ScreenQA、ScreenSpot 等提供了更大规模的 GUI 理解评测
- 领域泛化性:专为 GUI 设计的数据和方法能否迁移到其他需要精细视觉 grounding 的领域(如医学图像、遥感图像)值得探究
参考
- LLaVA(Liu et al., NeurIPS 2024):视觉指令微调——VGA 的基座模型
- REVERIE(Zhang et al., ECCV 2024):反思式指令微调——同为训练时幻觉缓解,通过 rationale 提供推理监督
- Rico(Deka et al., UIST 2017):大规模移动端 GUI 数据集——VGA 数据集的基础
- ShareGPT4V(Chen et al., 2023):高质量多模态数据生成——启发了 VGA 的 GPT-4o 数据生成策略
- OPERA(Huang et al., CVPR 2024):注意力惩罚解码缓解幻觉——解码阶段的互补方法