SMA :Structured Multimodal Attentions for TextVQA --- 论文阅读笔记

Paper : https://arxiv.org/abs/2006.00753

SMA 首先使用结构图表示去编码图像中的 object-object,object-text 和 text-text 之间的关系,然后使用一 个多模态图注意力网络去理解,最后,由全局-局部注意回答模块处理来自上述模块的输出,以迭代地产生包含OCR和固定词汇的答案。

在这里插入图片描述

Pipeline

SMA 模型对具有多种关系类型的图进行推理。

  1. Question Self-Attention Module 把问题分解为六个子组件,包括 objects, object-object relations, object-text relations, texts, text-text relations and text-object relations。
  2. 使用 objects/text 节点构建一个 role-aware graph。节点之间的连接由相对距离决定。使用 question-conditioned graph attention module 更新这个图。在 SMA 中,没有使用整个问题指导图更新,只是使用了确定类型的问题组件更新对应的图组件。例如,与问题相关的 object 只更新object 节点,与问题相关的 object-text 只更新 object-text 边。
  3. 使用 global-local attentional module 产生一个不定长的答案。

Question Self-Attention Module

在这里插入图片描述

使用问题序列生成自注意权重,用于生成以问题为条件的 object 和 text 特征;和 6 个分解后的问题特征,用来指导 question conditioned graph attention.

因为问题 Q Q 不仅包含 object 和 text 节点信息,也包含他们之间的 4 类关系 ( object-object, object-text, text-object, text-object ),此模块把问题分解为 6 个子组件。

给定 T T 个单词 q = { q t } t = 1 T q = \{ q_t\}_{t=1}^T 的问题 Q Q ,首先使用预训练的 BERT 把单词嵌入到特征序列 { e t } t = 1 T \{e_t\}_{t=1}^T 中获得 { x t b e r t } t = 1 T \{\mathbf{x}_t^{bert}\}_{t=1}^T 。然后使用 6 个单独的带有 softmax 层的双层 MLP 生成 6 组注意力权重,例如 { a t o } t = 1 T , { a t o o } t = 1 T , { a t o t } t = 1 T , { a t t } t = 1 T , { a t t t } t = 1 T , { a t t o } t = 1 T \{a_t^o\}_{t=1}^T,\{a_t^{oo}\}_{t=1}^T,\{a_t^{ot}\}_{t=1}^T,\{a_t^{t}\}_{t=1}^T,\{a_t^{tt}\}_{t=1}^T,\{a_t^{to}\}_{t=1}^T 。使用这些权重计算 6 个 { x t b e r t } t = 1 T \{\mathbf{x}_t^{bert}\}_{t=1}^T 的注意力权重和: s o , s o o , s o t , s t , s t t , s t o s^o, s^{oo}, s^{ot}, s^{t}, s^{tt}, s^{to} ,为分解后的问题表示 object 节点,object-object ( oo ) 边,object-text ( ot ) 边,text 节点,text-text ( tt ) 边缘和 text-object ( to ) 边缘。以 { a t o } t = 1 T \{a_t^o\}_{t=1}^T s o s^o 作为例子:
a t o = exp ( M L P o b j a ( x t b e r t ) ) i = 1 T exp ( M L P o b j a ( x t b e r t ) ) , t = 1 , . . . , T ;        s o = t = 1 T a t o x t b e r t (1) a_t^o = \frac{\exp(MLP_{obj}^a(\mathbf{x}_t^{bert}))}{\sum_{i=1}^T \exp(MLP_{obj}^a(\mathbf{x}_t^{bert}))}, t=1,...,T; \;\;\; s^o = \sum_{t=1}^T a_t^o \mathbf{x}_t^{bert} \tag{1}
使用分解后的问题特征指导 question conditioned graph attention 。

还学习了分解后的子组件的两组自注意力权重,即 { w o , w o o , w o t } , { w t , w t t , w t o } \{w^o, w^{oo}, w^{ot}\}, \{w^t, w^{tt}, w^{to}\} ,其中每个 w w 是一个标量。 它们计算如下:
w o , o o , o t = 1 Z o b j exp ( W w o , o o , o t s ) , w t , t t , t o = 1 Z t e x t exp ( W w t , t t , t o s ) , (2) w^{o,oo,ot} = \frac{1}{Z^{obj}} \exp(\mathbf{W}_{w}^{o,oo,ot} \mathbf{s}), w^{t,tt,to} = \frac{1}{Z^{text}} \exp(\mathbf{W}_{w}^{t,tt,to} \mathbf{s}), \tag{2}
其中 s = 1 T t = 1 T x t b e r t , Z o b j = exp ( W w o s ) + exp ( W w o o s ) + exp ( W w o t s ) , Z t e x t = exp ( W w t s ) + exp ( W w t t s ) + exp ( W w t o s ) \mathbf{s} = \frac{1}{T}\sum_{t=1}^T \mathbf{x}_t^{bert}, Z^{obj} = \exp(\mathbf{W}_w^o \mathbf{s})+ \exp(\mathbf{W}_w^{oo} \mathbf{s})+\exp(\mathbf{W}_w^{ot} \mathbf{s}), Z^{text} = \exp(\mathbf{W}_w^t \mathbf{s})+ \exp(\mathbf{W}_w^{tt} \mathbf{s})+\exp(\mathbf{W}_w^{to} \mathbf{s}) 在某种程度上,这些权重扮演着先验概率的角色,因为它们只能通过问题来计算。 两组问题自注意力权重将分别用于生成以问题为条件的 object 和 text 特征 g o b j \mathbf{g}_{obj} g t e x t \mathbf{g}_{text}

Question Conditioned Graph Attention Module

生成并理解一个 objects 和 texts 的异构图

Role-aware Heterogeneous Graph Construction

‘Role’ 表示节点的类型。首先构建一个节点为 objects 和 texts 的异构图,边表示在两个特殊节点之间的关系,每一个节点可以连接 5 个 object 节点和 5 个 text 节点,边可以分为四种类型表示不同的 role : object-object, object-text, text-text, text-object 。以构建 object-object 边为例,对于 object 节点 o i o_i ,对剩下的 object 根据它们到 o i o_i 的空间距离排序,把排名前 5 的 object 节点作为邻居 N i o o \mathcal{N}_i^{oo} 。根据它们的相对位置关系建立两个节点的边的关系。 o i o_i 的位置表示为 [ x i c , y i c , w i , h i ] [x_i^c, y_i^c, w_i, h_i] (中心坐标,高,宽),另一个节点 o j o_j 的位置表示为 [ x i t l , y i t l , x j b r , y j b r , w j , h j ] [x_i^{tl}, y_i^{tl}, x_j^{br}, y_j^{br}, w_j, h_j] ( 左上角坐标,右下角坐标,宽,高 ),然后它们的边关系为 e i j = [ x j t l x i c w i , y j t l y i c h i , x j b r x i c w i , y j b r x i c h i , w j h j w i h i ] \mathbf{e}_{ij} = [\frac{x_j^{tl} - x_i^c}{w_i}, \frac{y_j^{tl} - y_i^c}{h_i}, \frac{x_j^{br} - x_i^c}{w_i}, \frac{y_j^{br} - x_i^c}{h_i}, \frac{w_j \cdot h_j}{w_i \cdot h_i}]

Question Conditioned Graph Attention

在这里插入图片描述

使用分解的问题特征 s \mathbf{s} 来理解 role-aware graph 。把当做一个注意力机制。用不同的问题特征根据它们的角色 ( role ) 更新图的不同部分。例如,使用与 object 相关的问题特征 s o \mathbf{s}^o ,hiyjbrxic,wihiwjhj]

Question Conditioned Graph Attention

在这里插入图片描述

使用分解的问题特征 s \mathbf{s} 来理解 role-aware graph 。把当做一个注意力机制。用不同的问题特征根据它们的角色 ( role ) 更新图的不同部分。例如,使用与 object 相关的问题特征 s o \mathbf{s}^o 指导 object 节点的注意力权重,使用 s t o \mathbf{s}^{to} 指导 text-object 边的注意力权重。分别计算图中 6 个角色的注意力权重:object 节点 ( p o \mathbf{p}^o ),text 节点 ( p t \mathbf{p}^t ),object-object 边 ( p o o \mathbf{p}^{oo} ),object-text 边 ( p o t \mathbf{p}^{ot}

Question Conditioned Graph Attention

在这里插入图片描述

使用分解的问题特征 s \mathbf{s} 来理解 role-aware graph 。把当做一个注意力机制。用不同的问题特征根据它们的角色 ( role ) 更新图的不同部分。例如,使用与 object 相关的问题特征 s o \mathbf{s}^o 指导 object 节点的注意力权重,使用 s t o \mathbf{s}^{to} 指导 text-object 边的注意力权重。分别计算图中 6 个角色的注意力权重:object 节点 ( p o \mathbf{p}^o ),text 节点 ( p t \mathbf{p}^t ),object-object 边 ( p o o \mathbf{p}^{oo} ),object-text 边 ( p o t \mathbf{p}^{ot} ),text-text 边 ( p t t hiw

相关文章
相关标签/搜索