Iterative Answer Prediction with Pointer-Augmented Multimodal Transformers for TextVQA

1. Abstract

Visual Question Answering (VQA)任务,忽略一个重要的模态—图像中的文本,它承载着场景理解和推理的基本信息。例如,在图1中,标志上的深水警告人们现场存在危险,问题明确要求理解和推理图像中的文本,称为TextVQA任务。

TextVQA任务,该任务要求阅读和理解图像中的文本来回答问题,现有的方法,对于TextVQA,它们主要基于两种模式之间的自定义pairwise fusion(成对融合)机制,并且通过将TextVQA转换为分类任务,仅限于单个预测步骤。

提出了一个新模型用于解决TextVQA任务,它基于多模态的transformer架构和图像中文字的丰富特征

用一种更自然的方式融合多个模态的特征通过将不同模态的特征嵌入到共同的语义空间,再使用self-attention来对模态间和模态内的特征进行建模。此外,模型使用Dynamic Pointer Network迭代的解码得到答案,这允许模型可以进行多步的预测而不仅仅是一次预测

图一. 我们的模型具有丰富的图像文本特征,通过联合embedding space上的多模态变换器处理所有模态,而不是模态之间的成对融合机制。此外,通过使用指针的迭代解码(iterative answer decoding)来预测答案,而不是在固定词汇表上进行一步分类或从图像中复制单个文本标记
2. Introduction

The TextVQA task distinctively requires models to see, read and reason over three modalities:the input question,the visual contents in the image such as visual objects, and the text in the image.

这些方法在一定程度上可以读取图像中的文本,但它们通常依赖于两种模式之间的 custom pairwise multimodal fusion mechanisms between two modalities(自定义成对多模式融合机制)(such as single-hop attention over image regions and text tokens, conditioned on the input question),这限制了模式之间可能的交互类型

  1. 使用普通单词和特定图像文本标记进行回答,例如麦当劳汉堡,其中麦当劳来自图像中的文本,而汉堡来自模型自己的词汇
  2. 图像中的外观(例如字体和颜色)和文本标记的位置,具有不同字体且在空间上彼此分开的标记通常不属于同一街道标志

在本文中,使用基于transformer体系结构并通过动态指针进行迭代应答解码的Multimodal Multi-Copy Mesh (M4C) Model来解决上述限制,模型融合了三种输入模式,并在一个多模态转换器内均匀地捕获了模式内和模式间的交互,该转换器从每个模式中投影所有实体到一个 common semantic embedding space,并应用self-attention,用于收集每个实体的关系表示

没有将答案预测作为一项分类任务,而是分多个步骤执行迭代answer decoding,并使用dynamic pointers网络扩展答案解码器,该网络允许以置换不变的方式选择图像中的文本,而不依赖于之前工作中的任何特定位置索引,如LoRRA

模型能够在生成的答案中将自己的词汇表与图像中的文本相结合

最后介绍了一种基于多线索的图像中文本标记的丰富表示,包括其(word embedding, appearance, location, and character-level information)单词嵌入、外观、位置和字符级信息

综上

把三个模态的实体(问题单词,检测目标,OCR词)投影为一个公共嵌入空间的向量。然后,将所有投影特征的列表表输入到多层 transformer 中,以模态间和模态内上下文丰富它们的表示。 通过动态指针网络的迭代解码来学习预测答案。 在解码期间,它会以自动回归的方式输入前一个输出,以预测下一个答案分量。 在每个步骤中,它要么从图像中复制 OCR 词,要么从其固定答案词汇表中选择一个单词。

成果

1)通过多模态transformer架构,多个(两个以上)输入模式可以自然融合并联合建模。2) 与之前关于TextVQA的工作不同,我们的模型在单个分类步骤之外对答案进行推理,并通过指针增强的多步骤decoding进行预测。3) 我们采用了丰富的功能对图像中的文本标记进行表示,结果表明,该方法优于以往工作中仅基于word embedding的特征。


3. Related work

  1. 当建模多个(两个以上)输入模式时,embedding和self-attention是有效的。
  2. 使用permutation-invariant pointer置换不变指针进行动态复制。TextVQA任务答案很多来自图像中的文本标记,例如书名或路标。由于难以在答案词汇表中包含所有可能的文本标记,因此从图像中复制文本通常是答案预测的一个更容易的选择,之前的方法是采用OCR token,这些方法的一个缺点是它们需要预定义数量的OCR token(因为分类器具有固定的输出维度),并且它们的输出取决于token的顺序。 In this work, we overcome this drawback using a permutation-invariant pointer network(置换不变指针网络) together with our multimodal transformer.
3.1 Multimodal Multi-Copy Mesh(多模态多拷贝网格)(M4C)

提出了多模态多拷贝网格(M4C),这是一种基于指针增强多模态transformer结构和迭代答案预测的TextVQA任务的新方法。给出一个问题和答案作为输入,从三种模式中提取特征表示—1.问题 2.图像中的视觉对象 3.图像中的文本。这三种模式分别表示为问题词特征列表、现成对象检测器的视觉对象特征列表和基于外部OCR系统的OCR标记特征列表。我们的模型将来自这三种模式的实体(在我们的例子中是疑问词、检测到的对象和检测到的OCR标记)的特征表示作为向量投影到学习到的common embedding space中,然后在所有投影特征的列表上应用多层transformer丰富模态内和模态间的表述,我们的模型通过迭代解码+ 动态指针网络来预测Answer。在每个步骤中,它要么从图像中复制OCR token,要么从固定答案词汇表中选择一个单词

通过特定领域的embedding方法将所有实体(问题词、检测到的视觉对象和检测到的OCR标记)投影到公共d维语义空间,并在投影对象列表上应用multiple transformer layers,基于transformer outputs

3.2. A common embedding space for all modalities

模型接收来自三种模式的输入——疑问词、视觉对象和OCR标记。我们提取每个模态的特征表示,并通过特定领域的embed方法将其投影到公共的d维语义空间

3.2.1 Embedding of question words
将一个问题作为K个单词的序列,使用预训练的BERT模型将这些单词嵌入相应的d维特征向量序列

训练期间, BERT 参数are fine-tuned using the question answering loss

3.2.2 Embedding of detected objects

采用预训练检测器Faster-RCNN提取M个object,一个detector's的输出和四个位置描述

通过两个学习的线性变换投影到d维空间

3.2.3 Embedding of OCR tokens with rich representations

直观地说,要在图像中表示文本,不仅需要对其字符进行编码,还需要对其外观进行编码(例如,颜色、字体和背景)和图像中的空间位置(例如,出现在书皮顶部的单词更有可能是书名)

在模型中,遵循这一观点,使用由四种类型的特征组成的丰富OCR representation,优于先前工作中单独使用的word embedding(例如作为FastText)

得到N个OCR tokens集合,对于每一个OCR token,n=(1...N)

  1. 通过FastText的word embedding的子单词信息

  2. Faster-RCNN检测器的目标检测中,通过OCR标记边界框上的RoI-Pooling提取appearance feature

  3. 字符金字塔直方图(PHOC)向量,那些字符出现在token中

  4. 4维位置特征

3.2.4 Multimodal fusion and iterative answer prediction with pointer-augmented transformers(带有指针增广transformer的多模态融合和迭代answer预测)

将每个模态的所有实体(疑问词、可视对象和OCR token)作为向量joint到d维embedding space后,在所有实体(K+M+N)上应用一个hidden维数为d的L transformer layers堆栈[48]

通过transformers中的多头自注意机制,允许每个实体(无论是同一模态或者不是同一模态)自由关注所有其他实体,比如OCR token 可以关注 to another OCR token, a detected object, or a question word 。这使得能够通过相同的transformer参数集以均匀的方式对模态间和模态内的关系进行建模。多模态transformer的输出是每个模态中实体的d维特征向量列表,这可以看作是它们在 multimodal context中的丰富嵌入。

迭代decoding预测答案,使用与解码器完全相同的transformer层,自回归的方式逐字解码答案,一共T步,其中每个解码的单词可以是图像中的OCR token,也可以是固定的词汇表中的单词。在解码过程中的每一步,都嵌入先前预测的单词( previously predicted word ),并用动态指针网络基于transformer输出预测下一个答案单词

d-dimensional transformer outputs of the N OCR tokens in the image

假设有一个经常出现在训练集answer中的V字词汇表,如何获取answer vocabulary 或者 OCR token中的词汇

为了从图像中的N个OCR token中选择一个标记,使用动态指针网络扩充transformer模型

从V+N个候选中选择概率最大

在迭代自回归解码过程中,如果解码时间步长t处的预测是OCR token,t+1时刻将它的OCR表示作为transformer的输入;否则(前面的预测是固定答案词汇表中的一个单词),将其相应的权重向量w(i,voc)作为t+1时刻的输入

此外,我们添加两个额外的d维向量作为输入

  1. a positional embedding vector corresponding to step(对应于 step t 的位置嵌入向量)
  2. a type embedding vector corresponding to whether the previous prediction is a fixed vocabulary word or an OCR toke(对应于先前预测是固定词汇词还是OCR标记的类型嵌入向量)与机器翻译类似,使用两个特殊的标记,来增加answer词汇表。这里使用作为首次解码步骤的输入,并且在预测之后停止解码过程

为了确保answer decoding中的因果关系,在transformer架构的自注意层中mask掉注意力权重,使得question words, detected objects 和 OCR token不能参与任何解码步骤, 所有decoding steps 只能参与 previous decoding steps (除掉 question words, detected objects and OCR token)

你可能感兴趣的:(Iterative Answer Prediction with Pointer-Augmented Multimodal Transformers for TextVQA)