抽象摘要—学术论文中的图表字幕的生成(CLIP-SciBERT-GPT2):Figuring out Figures: Using Textual References to Caption Scie

Figuring out Figures: Using Textual References to Caption Scientific Figures

弄清图表: 使用文字参考资料为科学图表添加标题

paper:https://arxiv.org/abs/2407.11008
github:

本文做的就是学术论文中的图像的字幕生成,构造很简单:使用VLM—CLIP+SciBert+GPT2的模型进行训练,CLIP作为图像encoder,scibert作为文本encoder,使用gpt2作为decoder去生成图像字幕文本。

输入:图像,标题,摘要,参考文献->输出:图像字幕

1.背景动机

图表标题的应用背景:

图表标题可以提高论文对视障人士的可及性;帮助作者撰写有意义和高质量的标题;

本文认为单看图表并不能为撰写标题提供足够的信息。本文使用文本信息(包括论文元数据和文中参考文献)来补充输入。

2.Model

model构造:

本文将图像字幕生成模拟为序列到序列问题,使用编码器-解码器架构,以 CLIP-ViT/B-32作为编码器,以 DistilGPT-2 或 GPT-2作为解码器

将 CLIP 的输出嵌入与 SciBERT 的输出嵌入进行串联。

GPT-2 是一个解码器模型,本文对其进行了增强,在编码器输出的最终隐藏状态中添加了编码器-解码器交叉注意。为了激励模型从图中学习更多内容,本文对 SciBERT 编码使用了 0.7 的dropout,这样模型就不会那么倾向于仅仅依赖文本元数据。

数据集:

使用 GitHub 上的 SciCap 数据集。这是一个 18GB 的大型图表标题数据集,基于 2010 年至 2020 年间发表的计算机科学 arXiv 论文。它包含从 29 万多篇研究论文中提取的 41.6 万个图表(最常见的图表类型)。

本文使用 SciCap-No-Subfig-Img 子集,并预测字幕的第一句话

本文将每幅图与目标文本数据(包括标题、摘要和参考文献)关联起来。给定输入(图、标题、摘要、参考文献)后,模型将预测图像字幕作为输出。请注意,在将文本特征输入模型时,由于 SciBERT 的上下文长度有限,本文使用了标题的前 100 个字符和摘要的 150 个字符,并将上下文窗口的其余部分分配给了参考文献。每个特征用 [SEP] 符号分隔。

3.原文阅读

Abstract

图表是科学论文中密集传达复杂观点的重要渠道。以往自动生成图表标题的工作基本上都不成功,而且默认使用的是单层 LSTM,而单层 LSTM 已不再能达到最先进的性能。在我们的工作中,我们使用了 Hsu 等人[1]策划的 SciCap 数据集,并使用带有交叉注意的 CLIP+GPT-2 编码器-解码器模型的变体来生成以图像为条件的标题。此外,我们还通过创建一个新的数据集 MetaScriptap 来增强我们的训练管道,该数据集包含了原始论文中与图相关的文本元数据,如标题、摘要和文中参考文献。我们使用 SciBERT 对文本元数据进行编码,并将该编码与图表嵌入一起使用。在对不同模型的实验中,我们发现 CLIP+GPT-2 模型在接收来自 SciBERT 编码器的所有文本元数据和图表时表现更好,但采用 SciBERT+GPT2 模型只使用文本元数据则能达到最佳性能。

1 Introduction

图像标题受到了计算机视觉和自然语言处理界的极大关注。然而,大多数研究工作都是针对自然图像的标题[2]。为计算机生成的图形添加标题则是一项截然不同的挑战:它需要精确且通常是数值化的数据提取,使用不同的特征(失去了通常用于区域检测的纹理和物体特征[2]),并且需要以科学写作的特定体裁生成。如第 2 节所述,很少有作品深入研究过这一任务,主要作品[1]的 BLEU 分数徘徊在 2 左右。

图表标题还有一些有用的应用:它可以提高论文对视障人士的可及性;帮助作者撰写有意义和高质量的标题;它可能是帮助基于文本的语言模型从图表中提取意义的有用组件。更广泛地说,随着语言模型开始处理越来越多需要深入领域理解的复杂任务(如数学奥林匹克竞赛[3]、编程竞赛题[4; 5]),科学图表说明可被视为理解学术研究这一更深层目标的代表。

为了完成这项任务,我们推测,仅仅观察图表并不能为撰写标题提供足够的信息。从直观上讲,标题的目的是为了_增强_图表并提供上下文信息,这与图像标题(通常类似于辅助说明)不同。有鉴于此,我们在输入时补充了文本信息,包括论文元数据和文中参考文献。使用这种方法后,我们发现文本参考信息可显著提高性能,但仍需努力确保图像特征也能被有效纳入。

2 Related Work

图像标题制作受到了研究界的极大关注。然而,尽管前沿模型在图像标题制作方面表现出色,但这些模型主要集中于自然图像的标题制作,如 MS-COCO 数据集[6]。因此,它们通常使用通过更快 R-CNN [7] 进行区域检测等技术来锁定有趣的对象区域进行描述(如 OSCAR [8], VIVO [9]),这种技术不适合非自然图像。值得注意的是,字幕变换器[10]避免了区域建议网络,而是采用了一种从像素到字幕的完全基于变换器的编码器-解码器架构;这种方法部分地启发了我们目前的工作。

一些研究还涉及图表解题。Kembhavi 等人[11] 将图表表示为解析图,并使用多阶段管道从科学教科书中的图表中提取知识,而 Kim 等人则使用统一网络[12]做了同样的工作。不过,这些方法一般都依赖于专门针对图表图像的对象定位和关系检测。

从图中学习的技术水平仍然很低[1]。Gomez-Perez 和 Ortega [13] 利用视觉和语言子网络学习数字与其标题之间的对应关系;然而,他们的工作并没有解决生成问题。以前的工作曾尝试根据合成生成的标题为图表添加标题,但这一做法因与真实科学文章中的标题不同而受到批评[1]。Hsu 等人[1]创建了 SciCap 数据集,这是一个大规模的 arXiv 论文图文数据集(详见第 4.1 节),并利用该数据集建立了一些基准模型。他们使用卷积神经网络 (CNN) 与 LSTM 架构相结合,使用预先训练好的 ResNet-101 作为 CNN,将图像编码为 2048 维向量。然后将图像编码投影到 LSTM 解码器中,LSTM 解码器使用 512 大小的隐藏层。作者设计了该基线模型的三种变体,使用 BLEU-4 评估字幕质量。当考虑到所有基线模型时,BLEU-4 分数都徘徊在 2 左右,这表明当前的性能状况亟待改善。作者还发现,与第一句标题和少于 100 个单词的标题相比,在仅包含单句标题的数据集子集上训练的模型表现最好。作者指出,这很可能是因为单句标题数据集的词汇量最小。

然而,CNN + LSTM 方法的得分却很低,这表明更现代的体系结构可能会在此基础上有很大改进。他们的模型的局限性之一是体积相对较小,而且 CNN 是在自然图像上进行训练的,这与科学论文中出现的图像分布并不匹配。SciCap 的作者也只测试了几种输入组合,因此测试更多的输入组合(即使不成功)将有助于了解哪些信息能真正预测标题。

在接下来的章节中,我们将介绍如何创建一个更具表现力的端到端模型,并利用额外的文本信息进行增强,从而超越当前的 CNN + LSTM 模型。

3 Approach

我们方法的核心是将图像感知与语言生成相结合。我们将图形字幕制作模拟为序列到序列问题,使用编码器-解码器架构,以 CLIP-ViT/B-32 [14] 作为编码器,以 DistilGPT-2 或 GPT-2 [15] 作为解码器。我们之所以选择 CLIP,是因为它是在多种视觉输入(包括可能是合成的网络图像)的基础上训练出来的,我们认为这比完全在自然图像(如 ImageNet)上训练出来的模型更适合进行微调。CLIP 采用视觉转换器架构,通过将 3×224×224 的图像张量分解为 32×32 的patch来处理图像。这些patch被线性嵌入到令牌嵌入中,并传递给标准的 Transformer 编码器。对于涉及文本特征(如标题、摘要和参考文献)的实验,我们将 CLIP 的输出嵌入与 SciBERT 的输出嵌入进行串联,SciBERT 是一种在科学文本上经过训练的 BERT 编码器 [16]。文本特征被标记化,并与图像编码器分开传入 SciBERT。

GPT-2 是一个纯解码器模型,我们对其进行了增强,在编码器输出的最终隐藏状态中添加了编码器-解码器交叉注意。我们之所以选择 GPT-2,是因为它是在多种网络文本上训练出来的;我们还用 BART 进行了实验,BART 是 BERT 的自动编码器版本,带有自回归解码器 [17],但它的性能明显更差,因此我们决定使用 GPT-2。(在某些训练运行中,内存限制要求我们使用 DistilGPT-2,这是 GPT-2 的精简版,参数为 82M,而 GPT-2 为 117M)。我们进行端到端训练,将图像和元数据传递给编码器,并在解码器的输出上使用师强迫。

为了实现和连接这些模型,我们移植了 Huggingface Transformers 库[18],在 Vision 编码器-解码器架构中添加了 CLIP 支持,并进行了修改,以支持向编码器传递任意元数据。此外,我们还在编码管道中加入了 SciBERT 编码器,该编码器可与 CLIP 协同工作,生成连接嵌入,然后将其提供给 GPT-2 或 DistilGPT-2。在后面的实验中(见第 4.4 节),为了激励我们的模型从图中学习更多内容,我们对 SciBERT 编码使用了 0.7 的滤除概率,这样模型就不会那么倾向于仅仅依赖文本元数据。[19].

作为基线,我们使用了 Hsu 等人[1]报告的结果(他们使用了具有全局注意力的 ResNet-101 CNN + 单层 LSTM),以及使用第一个参考文献(如果提供,则为空字符串)的第一句作为预测标题的基线。

注 1:我们最初使用的基线是预测第一个参考文献的全部内容(约 200 个字符),但我们发现这会人为夸大 BLEU 分数,因为生成的标题通常比参考文献要长得多。这一点得到了 ROUGE 分数明显偏低的支持,而 ROUGE 分数(与 BLEU 不同)是对召回率的加权。由于我们的参考标题都是一句话,因此我们决定将参考基线上限设定为一句话。

4 Experiments

4.1.Data

我们使用 GitHub 上的 SciCap 数据集 [1]。这是一个 18GB 的大型图表标题数据集,基于 2010 年至 2020 年间发表的计算机科学 arXiv 论文。它包含从 29 万多篇研究论文中提取的 41.6 万个图表(最常见的图表类型)。我们使用 SciCap-No-Subfig-Img 子集,表示所有不包含子图的图表,并预测标题的第一句话。预处理时,我们将每张图片的大小调整为 224× 224,并根据 CLIP 训练数据集的均值和 std.dev. 进行归一化处理。我们为该数据集编写了定制的数据加载器和预处理程序。

此外,Hsu 等人[1]认为,将图表所属的论文全文纳入模型可能会提高模型的性能。不过,我们认为,论文文本中可能只有某些特征是有用的,因此我们将每幅图与目标文本数据(包括标题、摘要和参考文献)关联起来。
为了将论文元数据(标题和摘要)与每幅图关联起来,我们将该数据集与公开的 arXiv 元数据转储[20]链接起来。为了关联文内参考文献,我们改编了 arxiv-public-datasets [21],从每个 PDF 中提取全文。然后,我们使用条纹史密斯-沃特曼算法(Striped Smith-Waterman algorithm)进行局部序列比对,屏蔽了原始标题,并使用正则表达式提取了每幅图两侧各 100 个字符的窗口。

我们称这种增强数据集(SCICAP、元数据和文中参考文献)为 METASCICAP。给定输入(图、标题、摘要、参考文献)后,模型将预测标题作为输出。请注意,在将文本特征输入模型时,由于 SciBERT 的上下文长度有限,我们使用了标题的前 100 个字符和摘要的 150 个字符,并将上下文窗口的其余部分分配给了参考文献。每个特征用 [SEP] 符号分隔。

4.2.Evaluation Method

在生成标题时,我们使用 top- p p p 取样,取值为 p = 0.9 p=0.9 p=0.9。我们使用标准化的 SacreBLEU [22],对照参考标题计算不区分大小写的 BLEU 分数。我们以 0-100 的标准报告所有 BLEU 分数。我们还计算了 ROUGE-L 分数,该分数由两部分组成:(1) 精确度,定义为参考文献 R R R 与生成的 C C C 之间最长公共子序列(LCS)的长度除以生成的单字符数;(2) 召回率,即 LCS 的长度除以参考文献中的单字符数。我们报告的是 F1 分数,这是一个平衡精确度和召回率的指标。我们使用 ROUGE 的动机是在评估中考虑召回率,因为我们的主要目标是生成能有效传递参考文献中信息的标题。所有结果都是根据 MetaSciCap 测试拆分报告的。

4.3.Experimental Details

我们在配备英伟达™(NVIDIA®)RTX 2080 Ti 的工作站和配备英伟达™(NVIDIA®)V100 的 Azure NC6s v3 虚拟机上训练模型。早期的部分模型是在谷歌 TPU 研究云上训练的,但在经历了 PyTorch 与 TPU 架构不兼容的问题后,我们改用了其他计算环境。我们训练了 15 个epoch,每次实验耗时约 12 个小时,并使用学习率为 5 × 1 0 − 5 5\times 10^{-5} 5×105 和线性递减计划的 AdamW。我们使用其他学习率计划进行了实验,例如固定学习率和单周期学习率策略,但性能并未超过线性调度器。

训练配置如表 1 所示。SciBERT 指的是 scibert_scivocab_uncased;GPT-2 指的是 GPT-2-base(1.17 亿个参数),DistilGPT-2 指的是 GPT-2-base 的预训练提炼版本(8700 万个参数)。

我们将每个模型架构封装在一个定制的 PyTorch Lightning 类中,允许在多个 GPU 之间进行协调,并支持多线程数据记录 [19]。

4.4.Results

在这里插入图片描述

我们的结果如表 1 所示。图 1 还显示了我们在验证集上的 BLEU 和 ROUGE 分数与训练步骤的函数关系。

在规范化字幕上,我们的 BLEU 得分与 CNN + LSTM 基线相当,而 BLEU 和 ROUGE 得分则超过了我们的第一参考句基线。这比预期的要稍差一些,可能是由于归一化字幕删除了第 5 节所述的特定领域知识。

不过,对于原始标题,我们发现其性能比基线有了显著提高。我们的图像 + 文本模型的 BLEU 为 4.92,ROUGE-L 为 0.36,优于已发布的 SciCap 结果、我们的基线以及 Hsu 等人在 GPT-2 架构上未发布的结果[23]。此外,纯文本消减(不使用 CLIP-ViT-B/32 或图像输入)只考虑标题、摘要和参考文献的 BLEU 为 6.71,ROUGE-L 为 0.30。这表明我们的模型可能偏向于文本特征(而图像特征似乎实际上会降低性能),我们将在第 5 节中对此进行深入讨论。我们采取了两种方法来改善这种不平衡现象:(1) 尝试使用 CLIP ViT-L/14 编码器,假设更大的编码器能够更好地泛化到数字(这并没有提高性能,得到的 BLEU 分数为 3.45,ROUGE 为 0.23);(2) 在运行 GPT-2 解码器之前,对 SciBERT 编码器的最终输出应用强滤除( p = 0.7 p=0.7 p=0.7)。这似乎提高了性能,但由于计算和训练时间的限制,我们无法获得确凿的结果。尽管如此,这仍是一条具有潜力的前进之路。

在这里插入图片描述

5 Analysis

我们的主要假设是,与 Hsu 等人[1]中描述的基线相比,代表特定论文最相关全文摘录的参考数据应能提高性能。我们的实验表明,使用参考文献和 Transformer 架构可以在规范化标题上获得相似的结果,但在原始标题上的结果要好得多(见表 1)。我们将在第 5.1 节中分析这一现象。此外,我们还将讨论纯文本的 SciBERT+GPT-2 编码器-解码器模型比 CLIP+SciBERT+GPT-2 模型表现更好的可能原因。

5.1.Normalized Captions vs. Original Captions

我们的模型在规范化字幕上的表现只能与 CNN + LSTM 模型相媲美,原因有几个,即使我们的模型提供了文本元数据。Hsu 等人使用的文本规范化过程主要包括两种策略。第一种方法是基本规范化,主要是用 [NUM][1] 替换所有数字实例。第二种方法是高级规范化,利用正则表达式用 [EQUATION] 替换所有等式,用 [BRACKET][1] 替换任何括号对所包围的文本跨度。这意味着许多可能包含在标题、摘要或图表参考文献中的标记实际上在规范化标题中被省略了。因此,我们的模型无法有效利用它可能从文本元数据中学到的领域知识,这意味着我们的转换器架构本质上仍然是从图像嵌入本身来为图表添加标题–额外的文本元数据证明对我们的模型毫无用处。这支持了 Hsu 等人的研究结果:作者之所以采用 CNN + LSTM 模型,是因为他们对转换器的实验没有带来任何明显的性能提升。

为了更详细地分析模型的内部工作原理,我们在 SCICAP 测试集中的几个数字上演示了我们的模型。从图 2 中可以看出,虽然我们的模型学习到了括号、等式和数字标记(即 BRACKET-TK、EQUAT-TK、NUM),但我们的模型并没有学习到如何放置这些标记。这很可能是因为这些标记并没有出现在文本元数据中,因此我们的模型在规范化字幕上表现不佳是合理的,因为它是在非规范化元数据上训练出来的。为了对我们的模型架构进行更准确的评估,需要对文本元数据进行规范化处理;这将产生适合预测_规范化_标题的训练数据,我们希望我们的模型能够成功地专门用于这项任务。

此外,从图 2 中我们还观察到,我们的模型倾向于预测可能出现在文本元数据中的方程、变量和数字。然而,规范化金色标题的标题中并没有数学符号,因此即使我们的模型从文本元数据中获得了领域知识,它在生成标题时也不愿意使用这些知识。在图 2(a)中,我们预测出了正确的数字表达式 4 × 2 4\times 2 4×2,这表明我们的模型在原始标题上接受训练时已经使用了领域知识(可能来自图中的参考文献);补充试验(如图 5)也得出了类似的结论、3 因此,我们的模型与 CNN + LSTM 模型在归一化标题上的表现大致相同是意料之中的,因为我们的模型准确预测原始标题元素的能力并不会获得更高的 BLEU/ROUGE 分数。

在这里插入图片描述

我们并不关注模型在规范化字幕上的表现,主要有两个原因。首先,Hsu 等人发现他们的 CNN + LSTM 模型在规范化文本上的训练效果没有明显改善,这表明文本规范化并不能有效简化语言模型的任务。其次,在原始标题上建立最先进的性能可以为未来的工作奠定基础,因为让模型预测规范化标题会省略对理解图表非常重要的公式和数字–这项任务的目标是生成准确、真实的标题,而不是预处理过的标题。

5.2.Performance Disparities from Modal Ablations

总的来说,如表 1 所示,添加文本元数据对性能的提升最大,而纯图像模型通常无法超越基线。因此,我们的模型在文本模式上出人意料的强劲表现值得研究。图 4 显示了一种退化情况,即标题可以仅从文本信息中推导出来。从本质上讲,虽然我们在预处理中屏蔽了原始的准确标题,但我们并没有对与标题相似的文本采取任何措施。因此,如果参考文献与标题文本非常相似(这在论文中可能经常出现),那么图片就完全没有必要作为图表的标题。这究竟是一种数据 "中毒 "还是一种合法的文本特征,还值得商榷;毕竟,在自动标题生成器这样的使用案例中,模型很可能已经有了作者撰写的参考文献,因此剽窃(如果做得好的话)是可以接受的。

与 SciBERT+GPT-2 模型相比,CLIP+SciBERT+GPT-2 模型的性能较差,原因之一可能是干扰变量。由于计算能力有限,在 CLIP+SciBERT+GPT-2 模型中,我们不得不使用 DisiGPT-2 模型作为解码器。然而,在 SciBERT+GPT-2 模型中,由于省略了 CLIP,我们可以使用完整的 GPT-2 模型。这可能造成了性能上的比较差距,而使用图像文本和 GPT-2 进行的初始训练运行(仅在 5/15 个历时中就获得了 4.54 的 BLEU 分值)的良好数据也证明了这一点;然而,计算能力的限制再次阻碍了我们完成这次运行。不过,这表明扩大解码器规模可能是提高 BLEU 性能的一个简单方法。

性能上的差异还表明,图像数据没有得到充分利用。造成这种情况的一个可能原因是在图像预处理过程中进行了大小调整和归一化处理:我们数据集中的数字通常大于 224 美元乘以 224 美元,因此缩小这些数字可能会妨碍模型隐式 OCR 文字或检测线条的能力。虽然我们验证了人类仍可阅读文本,但这并不一定适用于当前的模型。另外,从自然图像先验(CLIP 大部分都是这样做的)开始解析图形的难度可能会非常大,以至于最小阻力的方法就是忽略图像,转而使用图形元数据。如果图像编码器因此失效,那么包含图像编码器可能只会削弱模型,因为它提供了一个解码器必须解决的噪声信号通道。进一步的工作可以研究更适合大多数数字矢量性质的图像编码替代方法,例如自动矢量化图像并将其作为 SVG 输入到文本模型中。

6 Conclusion

总之,我们发现将参考文献作为输入添加到数字字幕模型中具有提高性能的潜力。我们发现,在给定文本元数据的情况下,变换器模型架构的性能也优于 CNN + LSTM 模型。不过,由于我们的模型更多地从文本引用中学习,因此应使用更具表现力的图像编码器或改进图像编码器架构进行进一步实验。此外,还应该对图像进行预处理–例如,对每张图像进行矢量化或提取 LaTeX/PostScript 源–进行研究,因为视觉编码器可以利用通过图像预处理从一致输入中发现的模式。

此外,我们的实验仍然局限于图形图像,而在现实中,模型可能需要标注许多不同类型的图形。更深入地分析跨领域、跨时间段和跨图形类型的图形标题迁移学习的难度,可能是进一步实验的有趣任务。其他可能的实验包括:扩大解码器以获得更准确的字幕、使用更有表现力的图表图像中间表示法(如 [11] 中的图表),或进行更好的数据处理以移除非常相似的参考文本。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值