首页 > 其他分享 >https://www.zhihu.com/pin/1814343061205024769

https://www.zhihu.com/pin/1814343061205024769

时间:2024-09-05 11:05:34浏览次数:12  
标签:www 1814343061205024769 pin Docmatix 模型 答案 VQA DocVQA 评估

在开发 Docmatix 时,我们发现经其微调的 Florence-2 在 DocVQA 任务上表现出色,但在基准测试中得分仍比较低。为了提高基准测试得分,我们必须在 DocVQA 数据集上进一步对模型进行微调,以学习该基准测试的语法风格。有意思的是,人类评估者认为经额外微调后,模型的表现似乎反而不如仅在 Docmatix 上微调那么好,因此我们最后决定仅将额外微调后的模型用于消融实验,而公开发布的还是仅在 Docmatix 上微调的模型。

尽管模型生成的答案在语义上与参考答案一致 (如图 1 所示),但基准测试的得分却较低。这就引出了一个问题: 我们应该微调模型以改进在既有指标上的表现,还是应该开发与人类感知更相符的新指标?

VQA 评估

图 1: Docmatix 数据集微调模型零样本生成的答案与参考答案之间的 t-SNE 图

背景

社区最近很关注分布外 (out-of-distribution,OOD) 评估,即利用诸如零样本之类的方法将模型的能力迁移至未见过的 VQA 任务抑或是对一个 VQA 数据集进行微调并在另一个 VQA 数据集上进行评估。这一转变与用于微调视觉语言模型 (VLM) 的合成数据集 (例如 Docmatix、SciGraphQA、SimVQA) 的日渐兴起紧密相关。

一直以来,VQA 准确度一直是评估模型性能的主要指标,其方法是计算模型预测答案与人工标注的一组参考答案之间的精确字符串匹配率。因为传统的 VQA 评估遵循独立同分布 (independent and identically distributed,IID) 范式,其训练数据和测试数据分布相似,而传统的模型训练是遵循此假设的,所以此时该指标的效果很好,详情请参阅 此处

但在 OOD 场景下,由于格式、专业度以及表达等方面的差异,生成的答案尽管正确,但可能与参考答案不尽匹配。图 1 完美地展示了这种情况,图中我们将零样本生成的文本描述与合成数据集中的参考文本描述进行了比较。指令生成的数据集与人工标注的数据集之间的差异尤甚。目前已有一些 方法 试图将生成的答案格式对齐至参考答案格式,但这只是治标之策,并未改变评估指标有缺陷的根本症结。虽然也可以采用人工评估的方式,结果会比较可靠,但其成本高昂且不可扩展,所以当务之急还是设计与人类判断更相符的新指标。

方法

Docmatix 是当前最大的 DocVQA 合成数据集,它是基于精选文档数据集 PDFA 生成的。它比之前市面上的数据集大 100 倍。其对标的是人工标注数据集 DocVQA,DocVQA 目前被普遍用作文档理解类 VQA 模型的评估基准。本文中,我们使用的是 Docmatix 的子集,它包含大约 200 个测试样本,你可于此处下载 Docmatix-zero-shot-exp

Image 1 Image 2

图 2: 来自 Docmatix 和 DocVQA 测试集的问答对示例。注: 此处未显示相应的图像。

尽管 Docmatix 和 DocVQA 中问答对的内容相似,但它们的风格却有着显著差异。此时,CIDER、ANLS 以及 BLEU 等传统指标对于零样本评估而言可能过于严格。鉴于从 t-SNE 中观察到的嵌入的相似性 (图 1),我们决定使用一个不同于以往的新评估指标: LAVE (LLM-Assisted VQA Evaluation,LLM 辅助 VQA 评估),以期更好地评估模型在未见但语义相似的数据集上的泛化能力。

Image 1 Image 2 Image 3

图 3: Docmatix 和 DocVQA 数据集中的问题、答案以及图像特征的 t-SNE 图

评估时,我们选择 MPLUGDocOwl1.5 作为基线模型。该模型在原始 DocVQA 数据集的测试子集上 ANLS 得分为 84%。然后,我们在 Docmatix 的一个子集 (含 200 张图像) 上运行零样本生成。我们使用 Llama-2-Chat-7b 对答案进行评分。

关于 LAVE

我们遵循 本篇论文 中的步骤,将 VQA 评估设计为一个基于 LLM 上下文学习的答案评分任务。我们将分数设在 1 到 3 之间并考虑了问题不明晰或答案不完整的情况。LLM 的提示词包含任务描述、几个输入/输出演示以及待测样本的输入。

我们撰写了任务描述并在其后加上了指令 “在评分之前给出理由” 以要求 LLM 给出评分理由。每个演示都包含一个问题、一组参考答案、候选答案、答案得分及其理由。在提示中,我们还要求 “仅提供一个评分” 以避免因逐句分析带来的多个评分。

task_description = """You are given a question, a set of gold-standard reference answers written by
experts, and a candidate answer. Please rate the accuracy of the candidate answer for the question
considering the reference answers. Use a scale of 1-3, with 1 indicating an incorrect or irrelevant
answer, 2 indicating an ambiguous or incomplete answer, and 3 indicating a correct answer.
Give the rationale before rating. Provide only one rating.
THIS IS VERY IMPORTANT:
A binary question should only be answered with 'yes' or 'no',
otherwise the candidate answer is incorrect."""

demonstrations = [
    {
        "question": "What's the weather like?",
        "reference_answer": ["sunny", "clear", "bright", "sunny", "sunny"],
        "generated_answer": "cloudy"
    }
]

评分函数

给定 LLM 为测试样本生成的提示,我们从最后一个字符 (为 1、2 或 3) 中提取评分,并将其缩放至 [0, 1] 范围内: \(s = \frac{r - 1}{2}\),以获取最终评分。

结果

各指标得分如下:

指标 CIDER BLEU ANLS LAVE
得分 0.1411 0.0032 0.002 0.58

几个生成案例

VQA Evaluation

图 4: Docmatix 测试子集中的一个问题、参考答案、模型生成的答案以及 Llama 给出的评分及理由。

VQA Evaluation

图 5: Docmatix 测试子集中的一个问题、参考答案、模型生成的答案以及 Llama 给出的评分及理由。

现有的 VQA 系统评估标准是否过于僵化了?我们还需要微调吗?

当使用 LLM 来评估答案时,我们答案的准确率提高了大约 50%,这表明虽未遵循严格的格式,答案也可能是正确的。这表明我们目前的评估指标可能过于僵化。值得注意的是,本文并不是一篇全面的研究论文,因此需要更多的消融实验来充分了解不同指标对合成数据集零样本性能评估的有效性。我们希望社区能够以我们的工作为起点,继续深化拓展下去,从而改进合成数据集背景下的零样本视觉语言模型评估工作,并探索能够超越提示学习的其它更有效的方法。

参考文献

@inproceedings{cascante2022simvqa,
  title={Simvqa: Exploring simulated environments for visual question answering},
  author={Cascante-Bonilla, Paola and Wu, Hui and Wang, Letao and Feris, Rogerio S and Ordonez, Vicente},
  booktitle={Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition},
  pages={5056--5066},
  year={2022}
}

@article{hu2024mplug,
  title={mplug-docowl 1.5: Unified structure learning for ocr-free document understanding},
  author={Hu, Anwen and Xu, Haiyang and Ye, Jiabo and Yan, Ming and Zhang, Liang and Zhang, Bo and Li, Chen and Zhang, Ji and Jin, Qin and Huang, Fei and others},
  journal={arXiv preprint arXiv:2403.12895},
  year={2024}
}

@article{agrawal2022reassessing,
  title={Reassessing evaluation practices in visual question answering: A case study on out-of-distribution generalization},
  author={Agrawal, Aishwarya and Kaji{\'c}, Ivana and Bugliarello, Emanuele and Davoodi, Elnaz and Gergely, Anita and Blunsom, Phil and Nematzadeh, Aida},
  journal={arXiv preprint arXiv:2205.12191},
  year={2022}
}

@inproceedings{li2023blip,
  title={Blip-2: Bootstrapping language-image pre-training with frozen image encoders and large language models},
  author={Li, Junnan and Li, Dongxu and Savarese, Silvio and Hoi, Steven},
  booktitle={International conference on machine learning},
  pages={19730--19742},
  year={2023},
  organization={PMLR}
}
@inproceedings{manas2024improving,
  title={Improving automatic vqa evaluation using large language models},
  author={Ma{\~n}as, Oscar and Krojer, Benno and Agrawal, Aishwarya},
  booktitle={Proceedings of the AAAI Conference on Artificial Intelligence},
  volume={38},
  number={5},
  pages={4171--4179},
  year={2024}
}

@article{li2023scigraphqa,
  title={Scigraphqa: A large-scale synthetic multi-turn question-answering dataset for scientific graphs},
  author={Li, Shengzhi and Tajbakhsh, Nima},
  journal={arXiv preprint arXiv:2308.03349},
  year={2023}
}

英文原文: https://hf.co/blog/zero-shot-vqa-docmatix

原文作者: Dana Aubakirova,Andres Marafioti

译者: Matrix Yao (姚伟峰),英特尔深度学习工程师,工作方向为 transformer-family 模型在各模态数据上的应用及大规模模型的训练推理。

标签:www,1814343061205024769,pin,Docmatix,模型,答案,VQA,DocVQA,评估
From: https://www.cnblogs.com/huggingface/p/18397973

相关文章

  • 【Moveit2】MoveGroupInterface设置目标姿态,然后创建一个计划到该姿态的运动路径,stati
    PlanandExecuteusingMoveGroupInterface//CreatetheMoveItMoveGroupInterfaceusingmoveit::planning_interface::MoveGroupInterface;automove_group_interface=MoveGroupInterface(node,"panda_arm");//SetatargetPoseautoconsttarget_p......
  • SpinalHDL之BlackBox(下篇)
    本文作为SpinalHDL学习笔记第二篇,介绍SpinalHDL的BlackBox类的一些特性。目录:1.自动黑盒化1.自动黑盒化由于使用常规VHDL/Verilog不可能推断所有ram类型,因此SpinalHDL集成了可选的自动黑盒系统。该系统会查看RTL网表中存在的所有存储器,并用一个黑盒替换它们。然......
  • 2024-09-04:用go语言,给定一个长度为n的数组 happiness,表示每个孩子的幸福值,以及一个正
    2024-09-04:用go语言,给定一个长度为n的数组happiness,表示每个孩子的幸福值,以及一个正整数k,我们需要从这n个孩子中选出k个孩子。在筛选过程中,每轮选择一个孩子时,所有尚未选中的孩子的幸福值都会减少1。需要注意的是,幸福值不能降低到负数,只有在其为正数时才能减少。我们的目标是......
  • [英语单词]hairpin
    这个第一眼看了,以为是头发丝这么细的pin/大头针。但是hairpin,是用的pin的第二个意思:固定。意思是:发卡,固定头发的发卡。pinn.大头针,针,别针,栓,销子,图钉,插头,管脚,品(液量单位)vt.将…用针别住,钉住,压住,牵制,使不能动,归罪于a.针的,销子的,闩的......
  • 前端Pinia教程,Pinia+Vue3+Vite+TypeScript+腾讯IM聊天解决方案项目实战
    前端Pinia教程:‌Pinia+Vue3+Vite+TypeScript+腾讯IM聊天解决方案项目实战在前端开发中,‌随着Vue3的普及和Vite构建工具的兴起,‌结合TypeScript和Pinia进行状态管理成为了一个高效且受欢迎的选择。‌本文将详细介绍如何结合这些技术栈以及腾讯IM聊天解决方案,‌搭建一个高效的前端......
  • pinina使用
    定义pinia存储容器/stores/piniause-demo.js/***定义并导出容器*参数1:容器ID,必须唯一*参数2:配置对象*/exportconstuseDemoStore=defineStore('demo',{//state:类似组件data,用于存储数据供全局调用state:()=>({count:100,name:'Job',l......
  • Vue3 官方推荐状态管理库Pinia
    介绍Pinia是Vue官方团队推荐代替Vuex的一款轻量级状态管理库,允许跨组件/页面共享状态。Pinia旨在提供一种更简洁、更直观的方式来处理应用程序的状态。Pinia充分利用了Vue3的CompositionAPI。官网:Pinia符合直觉的Vue.js状态管理库Pinia的核心概念store......
  • 基因图谱(Genomic Mapping)分析与应用
    基因图谱(GenomicMapping)是基因组学研究中一项至关重要的技术,它为科学家提供了关于基因的位置和距离的详细信息。通过基因图谱的构建,研究人员可以揭示基因与性状之间的关系,探索疾病的遗传机制,并推动个性化医学的发展。本文将详细分析基因图谱的类型、构建方法、应用场景以及它......
  • Vue3+Vite+Vant-UI+Pinia+VueUse开发双端业务驱动技术栈商用项目
    前言:个人git仓库,全是干货一、本次搭建项目涉及到vue3、vite、pinia、vue-router、typescript、element-plus,下面先简单介绍一下大家比较陌生的框架或库1、vue3vue团队官宣:2022年2月7日,vue3作为vue的默认版本。现在打开vue官网,界面默认显示的是vue3版本的指导文档。vue团队在......
  • vue3中使用pinia报错
    问题:UncaughtError:[......