SIMPLOT: Enhancing Chart Question Answering by Distilling Essentials
源码链接:https://github.com/sangwu99/Simplot
启发:
1、如何提升chart-to-table的准确率的?
思路是增强模型从图表图像中提取关键信息的能力。为了达到这个目标,采用了两个做法:
(1)简单图表生成:根据数据集提供的表格来生成一个简单图表,简单图表相对原始图表减少了许多不重要的信息,然后借助知识蒸馏技术,先使用简单图表训练一个教师模型,再使用教师模型的输出和原始图表训练学生模型。通过这种方式,学生模型将具有更强的表格提取能力。
(2)行列渲染:把行列信息添加到图表图像中
2、在ChartQA的human测试集上取得很大提升,原因是什么?
(1)Human-oriented chart instruction:通过认为定义的复杂提示词,让LLM更容易理解图表。
(2)表格提取能力更强,而且把原始图像也一并传入LLM。
Abstract
研究问题:图表转表格存在困难
研究方法:介绍了 SIMPLOT,这是一种旨在仅提取图表推理所需的元素的方法。所提出的方法包括两个步骤:1) 训练模拟一个简单的图表,该图表仅包含来自复杂图表的重要信息,以进行表格提取,然后 2) 根据表格进行推理。我们的模型无需额外的注释或数据集即可实现准确的图表推理,其有效性通过各种实验得到了证明。此外,我们提出了一种新的提示,模仿人类如何解释图表以实现更准确的推理。
1 Introduction
- 目标:开发一个能够理解和回答关于复杂图表的自然语言问题的框架。
- 挑战:图表中的复杂颜色模式、结构复杂性和隐含的数值数据。
- 方法:结合大型语言模型(LLMs)的高级语言处理能力和最先进的表格到文本引擎
我们的贡献总结如下:
1. 我们提供了利用图表中的文本信息进行推理,这些信息以前被忽视了。
2. SIMPLOT 从复杂的图表中只提取必要的信息,防止不相关的信息进入模型,从而进行详细的推理。
3. 我们提供了一个专为图表推理设计的提示。通过此提示,LMM 通过模仿人类解释图表的方式来执行更准确的推理。
4. 大量实验验证了 SIMPLOT 成功解决了 Deplot 的局限性。SIMPLOT 的另一个吸引力在于它与模型无关,即它可以应用于任何涉及图表到表格提取的现有模型,以便在 Deplot 之外进行图表推理。
2 Proposed Method: SIMPLOT
2.1 Preprocessing Stage
在训练阶段之前,执行两个预处理步骤:(1)简单图表生成;(2)行列渲染。
2.1.1 Simple Chart Generation
我们通过从原始图表中排除不相关的信息来生成一个简单的图表,只保留推理所需的基本元素。具体来说,由于数据集中的每个原始图表都用 CSV 格式的表格进行了注释,因此我们使用 Python 库(即 Matplotlib)根据表格绘制图表。以这种方式生成的图表被视为原始图表的简化版本,即简单图表。此过程不需要单独的培训或额外费用,并且可以通过运行简单的代码片段来离线执行。
2.1.2 Row-Column Rendering
目标是通过将表格中包含的行和列的信息渲染到图像上来提高表格提取的准确性,使模型能够在将图表转换为表格时利用这些信息提取更准确的表格。请注意,在训练阶段,由于我们获得了真实图表对,因此我们只需将每个表的行和列呈现到包含图表的配对图像上即可。但是,这在推理阶段是不可行的,因为我们只得到没有表格的图表。因此,在推理阶段,我们利用 LMM 从图表中提取行和列,并将它们渲染到图像上。尽管 GPT-4 等 LMM (Achiam et al., 2023) 在图表推理方面的性能相对较低,但我们发现它们可以准确地从图表中提取行和列信息,因为这些信息以文本形式给出,并且结构相对简单。
(行列信息包括标题、行列数,row-column rendering会将这些信息以文本形式添加到图表图像中,之后进行表格提取时就可以利用这些信息提高准确率)
2.2 Training Stage: Chart-to-Table Extraction
我们提出的图表到表格提取方法包括两个阶段:
阶段(1) 通过执行图表到表格提取来训练教师编码器和表格解码器,给定简单的图表,仅包含推理的基本信息,而不是复杂的原始图表。
阶段(2) 通过对比学习来训练学生编码器,方法是提取给定原始图表的表格,同时提炼知识以将原始图表嵌入到简单图表的嵌入空间中。
2.2.1 Phase 1: Learning with Essential Part from Simple Chart
以Deplot作为基线模型,在简单图表-表格对上对其图像编码器和文本解码器进行训练,增强图像编码器从图表中获取基本图表信息的能力。实验证明使用简单图表进行训练能够增强模型准确获取关键信息的能力,提高chart2table准确率。
此阶段训练的图像编码器是作为教师编码器,其输出将会指导下一阶段训练学生编码器。
2.2.2 Phase 2: Encoding Original Chart into Representation Space of Simple Chart
此阶段训练目标是训练学生编码器 ,使学生编码器从原始图表图像中获取的表示与教师编码器从相应简化图表中获取的表示紧密匹配。这是为了使 Estudent 图表能够将任何原始图表编码到简化图表图像的表示空间中,从而提高表格生成的准确性。 文本解码器直接使用Phase1训练好的。
我们将原始图表A和对应简化图表P作为正样本,还另外通过随机打乱表格数据单元格的形式生成一个错误的简化图表N作为负样本。训练损失定义如下:
(E代表图像编码器,D代表文本解码器,d表示向量欧式距离的平方,m可能是一个超参数,它代表的是我们希望离正样本比离负样本近多少)
此外,还使用了表格的交叉熵损失
(T代表经过FC层后生成的表格文本序列,n是T的长度,C是表格中条目的数目,是真实值,是预测值)
最终训练损失函数为:
2.3 Inference Stage: Reasoning with Extracted Table
除了将转换后的表格传入LLM,还将原始图表图像一并传入LLM来辅助问答,实验表明,这种方式能够在表格转化出错时,增加问题回答正确的概率。
此外,我们提出了一个专为图表推理设计的新型提示,名为 Human-oriented chart instruction。
3 Experiments
实验结果
消融实验
(1)证明将原始图像传入LLM和Human-oriented chart instruction的有效性