PreSTU:一个专门为场景文本理解而设计的简单预训练模型
本文分享自华为云社区《场景文本理解预训练PreSTU》,作者: Hint 。
【论文摘要】
在视觉与语言(V&L)模型中,阅读和推理图像中的文本的能力往往是缺乏的。我们如何才能学习出强大的场景文本理解(STU)的 V&L 模型呢?本文提出了 PreSTU,一个专门为场景文本理解而设计的简单预训练模型。PreSTU 将一个简单的 OCR 感知预训练目标与一个具有现成 OCR 信号的大规模图像-文本数据集相结合。我们在 TextVQA、TextCaps、ST-VQA 和 VizWiz-VQA 上经验性地证明了这个预训练目标的优越性。我们还研究了哪些因素会影响 STU 的性能,其中我们强调了图像分辨率和数据集规模在预训练中的重要性。
【出发点】
在真实世界中的视觉语言任务中,有大量的图像是包含场景文本的。理解图像中的文本对于视觉语言任务来说,往往是重要的,例如发票识别整理、机器人理解环境等。而现有模型经常忽略这一信息。通过对图像 OCR 信号引入,可以提升视觉语言模型对图像的理解能力。论文基于大规模的图像文本数据集,设计了进行场景文本理解的预训练模型 PreSTU。
【解决方案】
1. 引入一个 OCR 文本生成的预训练任务“SPLITOCR”:给定图像 patches,随机将 OCR 文本分为两个部分,给定第一部分,令模型预测第二部分的 OCR 文本。
2. 使用 Prompt learning 的方式,输入各个任务所对应的提示词,使得模型能够更好地适配下游任务。论文中使用 image captioning 和 VQA 两个任务。
【总体框架】
模型结构图
如图,模型整体是一个 Encoder-Decoder 结构,其中视觉 encoder 采用 ViT-B/16 (Dosovitskiy et al., 2021),语言 encoder-decoder 采用 mT5-Base (Xue et al., 2021)。ViT 是一个基于 Transformer encoder 的,在大规模图像分类数据集上预训练的模型。mT5 是 T5 模型(Raffel et al., 2020)的多语言版本,在大规模多语言数据集上预训练,它对 OCR 识别结果当中出现的识别错误比较健壮,因为使用了 wordpiece 的方法。
在预训练阶段,将图像中场景文本的 OCR 信息与图像特征一同输入 Encoder,可以使 OCR 文本与视觉环境更好的联系在一起。通过对余下的 OCR 文本的预测,模型能够学习出一定的场景文本识别能力,这使得模型同时对视觉和文本两种模态的建模能力得到提升。
【细节】
SPLITOCR 任务
1. 目标:在预训练阶段使模型学习如何从图像中识别场景文本。
2. 具体步骤:
1) 首先将 OCR 文本按照在图中出现的位置排序(从左到右,从上到下);
2) 将 OCR 文本随机切分为 2 部分,分别作为输入和预测目标。值得注意的是,如果切分出的第 1 部分的长度为 0,则 SPLITOCR 任务就退化为了一个传统的 OCR 任务。
3. 优势:
1) 令模型预测部分 OCR 文本,使得模型具备一定的完成 OCR 任务的能力,从而能够增强其阅读场景文本的能力;
2) 输入时引入部分 OCR 文本,使得输入的形式接近下游任务的形式(都是文本),更便于迁移学习;
3) 便于与其他训练目标相结合,例如 image captioning。
预训练数据集
CC15M:是 CC3M (Sharma et al., 2018)和 CC12M (Changpinyo et al., 2021)的并集。数据集的形式是<图像, 标题>对。进行 SPLITOCR 目标时,采用 Google Cloud OCR 系统获取 OCR 文本的信息。
Fine-tuning 阶段
所有下游任务都具有这样的形式:输入是图像+文本,输出只有文本。使用 Google OCR 获取图片中的场景文本。
进行 image captioning 任务时,输入为<图像,提示词,OCR token>,输出目标为图像标题;进行场景文本 VQA 任务时,输入为<图像,提示词,问题,OCR token>,输出为问题的回答。
【实验】
主要结果
实验采用 4 个 benchmarks:TextVQA (Singh et al., 2019) 、ST-VQA (Biten et al., 2019) 、VizWiz-VQA (Gurari et al., 2018) 、TextCaps (Sidorov et al., 2020) 。实验 Baseline 采用去掉 SPLITOCR 预训练的本模型 PreSTU,同时也对比了以下预训练方法:TAP (Yang et al., 2021) 、Flamingo (Alayrac et al., 2022) 、GIT (Wang et al., 2022a) 。实验结果如表所示。
主要结果
采用 SPLITOCR 预训练后,PreSTU 在所有指标上都相对 baseline 有提升,这证明了 SPLITOCR 的有效性,能够赋予模型场景文本阅读的能力。
对比其他模型:PreSTU 模型参数和数据量比 TAP 多,结果也更高一些,除了 TextVQA 略低;参数量和数据量与 GITL 基本一致,在所有指标高于 GITL;参数量和数据量比 Flamingo 和 GIT 小,但结果上没有显著地低。
消融实验
1. 对比 SPLITOCR 目标与传统 OCR 目标(TextCaps CIDEr 指标):如表,SPLITOCR 比 OCR 预训练的模型结果高,由 126.7 提升到 134.6;
OCR 与 SPLITOCR 对比
2. 在 Fine-tuning 阶段去掉输入的 OCR 文本:如表,去掉 OCR 文本后,各模型都有下降,但 baseline 模型结果下降更多。OCR/SPLITOCR 预训练的模型即便 Finetune 时不使用 OCR 文本,结果也比 baseline 高(116.6/110.4 > 99.6)。这说明 SPLITOCR 预训练目标能够很好的使模型获得场景文本的阅读能力。
Fine tuning 时去掉 OCR 输入的影响
3. 预训练时的图像分辨率:如表,高分辨率的图像会获得更好的结果。
图像分辨率的影响
4. 预训练的数据规模:如表,数据规模越大,结果越好。
预训练数据规模的影响
【结论】
1. SPLITOCR 预训练目标能够使模型的场景文本阅读能力得到提升,从而提高下游任务的结果
2. 对于 PreSTU 模型来说,预训练图像的分辨率以及数据量很重要。
• 论文地址:https://arxiv.org/abs/2209.05534
【参考文献】
1. Alexey Dosovitskiy, Lucas Beyer, Alexander Kolesnikov, Dirk Weissenborn, Xiaohua Zhai, Thomas Unterthiner, Mostafa Dehghani, Matthias Minderer, Georg Heigold, Sylvain Gelly, Jakob Uszkoreit, and Neil Houlsby. 2021. An image is worth 16x16 words: Transformers for image recognition at scale. In ICLR.
2. Linting Xue, Noah Constant, Adam Roberts, Mihir Kale, Rami Al-Rfou, Aditya Siddhant, Aditya Barua, and Colin Raffel. 2021. mT5: A massively multilingual pre-trained text-totext transformer. In NAACL.
3. Piyush Sharma, Nan Ding, Sebastian Goodman, and Radu Soricut. 2018. Conceptual Captions: A cleaned, hypernymed, image alt-text dataset for automatic image captioning. In ACL.
4. Soravit Changpinyo, Piyush Sharma, Nan Ding, and Radu Soricut. 2021. Conceptual 12M: Pushing web-scale imagetext pre-training to recognize long-tail visual concepts. In CVPR.
5. Amanpreet Singh, Vivek Natarajan, Meet Shah, Yu Jiang, Xinlei Chen, Dhruv Batra, Devi Parikh, and Marcus Rohrbach. 2019. Towards VQA models that can read. In CVPR.
6. Ali Furkan Biten, Ruben Tito, Andres Mafla, Lluis Gomez, Marçal Rusinol, Ernest Valveny, C.V. Jawahar, and Dimosthenis Karatzas. 2019. Scene text visual question answering. In ICCV.
7. Danna Gurari, Qing Li, Abigale J. Stangl, Anhong Guo, Chi Lin, Kristen Grauman, Jiebo Luo, and Jeffrey P. Bigham. 2018. VizWiz Grand Challenge: Answering visual questions from blind people. In CVPR.
8. Oleksii Sidorov, Ronghang Hu, Marcus Rohrbach, and Amanpreet Singh. 2020. TextCaps: a dataset for image captioning with reading comprehension. In ECCV.
9. Zhengyuan Yang, Yijuan Lu, Jianfeng Wang, Xi Yin, Dinei Florencio, Lijuan Wang, Cha Zhang, Lei Zhang, and Jiebo Luo. 2021. TAP: Text-aware pre-training for text-vqa and text-caption. In CVPR.
10. Jean-Baptiste Alayrac, Jeff Donahue, Pauline Luc, Antoine Miech, Iain Barr, Yana Hasson, Karel Lenc, Arthur Mensch, Katie Millican, Malcolm Reynolds, et al. 2022. Flamingo: a visual language model for few-shot learning. arXiv preprint arXiv:2204.14198.
11. Jianfeng Wang, Zhengyuan Yang, Xiaowei Hu, Linjie Li, Kevin Lin, Zhe Gan, Zicheng Liu, Ce Liu, and Lijuan Wang. 2022a. GIT: A generative image-to-text transformer for vision and language. arXiv preprint arXiv:2205.14100.
版权声明: 本文为 InfoQ 作者【华为云开发者联盟】的原创文章。
原文链接:【http://xie.infoq.cn/article/bf8eff10856aa9de2ef1116d9】。文章转载请联系作者。
评论