Paper : https://arxiv.org/abs/2006.00753
SMA 首先使用结构图表示去编码图像中的 object-object,object-text 和 text-text 之间的关系,然后使用一 个多模态图注意力网络去理解,最后,由全局-局部注意回答模块处理来自上述模块的输出,以迭代地产生包含OCR和固定词汇的答案。
SMA 模型对具有多种关系类型的图进行推理。
使用问题序列生成自注意权重,用于生成以问题为条件的 object 和 text 特征;和 6 个分解后的问题特征,用来指导 question conditioned graph attention.
因为问题 Q Q Q 不仅包含 object 和 text 节点信息,也包含他们之间的 4 类关系 ( object-object, object-text, text-object, text-object ),此模块把问题分解为 6 个子组件。
给定 T T T 个单词 q = { q t } t = 1 T q = \{ q_t\}_{t=1}^T q={qt}t=1T 的问题 Q Q Q ,首先使用预训练的 BERT 把单词嵌入到特征序列 { e t } t = 1 T \{e_t\}_{t=1}^T {et}t=1T 中获得 { x t b e r t } t = 1 T \{\mathbf{x}_t^{bert}\}_{t=1}^T {xtbert}t=1T。然后使用 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 {ato}t=1T,{atoo}t=1T,{atot}t=1T,{att}t=1T,{attt}t=1T,{atto}t=1T 。使用这些权重计算 6 个 { x t b e r t } t = 1 T \{\mathbf{x}_t^{bert}\}_{t=1}^T {xtbert}t=1T 的注意力权重和: 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} so,soo,sot,st,stt,sto,为分解后的问题表示 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 {ato}t=1T 和 s o s^o so 作为例子:
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} ato=∑i=1Texp(MLPobja(xtbert))exp(MLPobja(xtbert)),t=1,...,T;so=t=1∑Tatoxtbert(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}\} {wo,woo,wot},{wt,wtt,wto},其中每个 w 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} wo,oo,ot=Zobj1exp(Wwo,oo,ots),wt,tt,to=Ztext1exp(Wwt,tt,tos),(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}) s=T1∑t=1Txtbert,Zobj=exp(Wwos)+exp(Wwoos)+exp(Wwots),Ztext=exp(Wwts)+exp(Wwtts)+exp(Wwtos) 在某种程度上,这些权重扮演着先验概率的角色,因为它们只能通过问题来计算。 两组问题自注意力权重将分别用于生成以问题为条件的 object 和 text 特征 g o b j \mathbf{g}_{obj} gobj 和 g t e x t \mathbf{g}_{text} gtext
生成并理解一个 objects 和 texts 的异构图
‘Role’ 表示节点的类型。首先构建一个节点为 objects 和 texts 的异构图,边表示在两个特殊节点之间的关系,每一个节点可以连接 5 个 object 节点和 5 个 text 节点,边可以分为四种类型表示不同的 role : object-object, object-text, text-text, text-object 。以构建 object-object 边为例,对于 object 节点 o i o_i oi ,对剩下的 object 根据它们到 o i o_i oi 的空间距离排序,把排名前 5 的 object 节点作为邻居 N i o o \mathcal{N}_i^{oo} Nioo。根据它们的相对位置关系建立两个节点的边的关系。 o i o_i oi 的位置表示为 [ x i c , y i c , w i , h i ] [x_i^c, y_i^c, w_i, h_i] [xic,yic,wi,hi] (中心坐标,高,宽),另一个节点 o j o_j oj 的位置表示为 [ 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] [xitl,yitl,xjbr,yjbr,wj,hj] ( 左上角坐标,右下角坐标,宽,高 ),然后它们的边关系为 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}] eij=[wixjtl−xic,hiyjtl−yic,wixjbr−xic,hiyjbr−xic,wi⋅hiwj⋅hj]
使用分解的问题特征 s \mathbf{s} s 来理解 role-aware graph 。把当做一个注意力机制。用不同的问题特征根据它们的角色 ( role ) 更新图的不同部分。例如,使用与 object 相关的问题特征 s o \mathbf{s}^o so 指导 object 节点的注意力权重,使用 s t o \mathbf{s}^{to} sto 指导 text-object 边的注意力权重。分别计算图中 6 个角色的注意力权重:object 节点 ( p o \mathbf{p}^o po ),text 节点 ( p t \mathbf{p}^t pt ),object-object 边 ( p o o \mathbf{p}^{oo} poo ),object-text 边 ( p o t \mathbf{p}^{ot} pot ),text-text 边 ( p t t \mathbf{p}^{tt} ptt ),text-object 边 ( p t o \mathbf{p}^{to} pto ),可以写成
p m = Att m ( { x o b j } , { x t e x t } , { e i j } , s m ) (3) \mathbf{p}^m = \text{Att}_m (\{\mathbf{x}^{obj}\}, \{\mathbf{x}^{text}\}, \{\mathbf{e}^{ij}\}, \mathbf{s}^m) \tag{3} pm=Attm({xobj},{xtext},{eij},sm)(3)
Att m \text{Att}_m Attm 是使用问题特征和图中特殊的节点/边计算注意力权重的注意力机制, m = { o , o o , o t , t , t t , t o } m = \{o,oo,ot,t,tt,to\} m={o,oo,ot,t,tt,to}。
object 节点注意力权重 object 表示为 2048 维的外形特征 { x f r , i o } i = 1 N \{\mathbf{x}_{fr,i}^o\}_{i=1}^N {xfr,io}i=1N 和相对位置坐标 { x b b o x , i o } i = 1 N \{\mathbf{x}_{bbox,i}^o\}_{i=1}^N {xbbox,io}i=1N ,在 s o \mathbf{s}^o so 的指导下计算 object 节点的注意力权重 :
{ x ^ i o b j = LN ( W f r o x f r , i o ) + LN ( W b o x b b o x , i o ) , p i o ′ = w o ⊤ [ ReLU ( W s o s o ) ∘ ReLU ( W x o x ^ i o b j ) ] , p i o = exp ( p i o ′ ) / ∑ j = 1 N exp ( p j o ′ ) , i = 1 , . . . , N , (4) \begin{cases} & \hat{\mathbf{x}}_i^{obj} = \text{LN}(\mathbf{W}_{fr}^o \mathbf{x}_{fr,i}^o) + \text{LN}(\mathbf{W}_{b}^o \mathbf{x}_{bbox,i}^o), \\ & p_i^{o'} = \mathbf{w}_o^{\top}[\text{ReLU}(\mathbf{W}_s^o \mathbf{s}^o) \circ \text{ReLU}(\mathbf{W}_x^o \hat{\mathbf{x}}^{obj}_i)], \\ & p_i^o = \exp(p_i^{o'}) / \sum_{j=1}^N \exp(p_j^{o'}), i =1,...,N, \end{cases} \tag{4} ⎩⎪⎨⎪⎧x^iobj=LN(Wfroxfr,io)+LN(Wboxbbox,io),pio′=wo⊤[ReLU(Wsoso)∘ReLU(Wxox^iobj)],pio=exp(pio′)/∑j=1Nexp(pjo′),i=1,...,N,(4)
其中 LN ( ⋅ ) \text{LN}(\cdot) LN(⋅) 是层正则化, W ∗ ∗ , w ∗ \mathbf{W}_*^*, \mathbf{w}_* W∗∗,w∗ 是要学习的线性转换参数。最后,获得 object 节点的注意力权重 p o = { p i o } i = 1 N \mathbf{p}^o = \{p_i^o\}_{i=1}^N po={pio}i=1N
text 节点注意力权重 与 M4C 相似,使用多个特征的结合丰富 OCR 的表示。300 维的 FastText 特征 { x f t , i t } i = N + 1 N + M \{\mathbf{x}_{ft,i}^t\}_{i=N+1}^{N+M} {xft,it}i=N+1N+M,2048 维的外形特征 { x f r , i t } i = N + 1 N + M \{\mathbf{x}_{fr,i}^t\}_{i=N+1}^{N+M} {xfr,it}i=N+1N+M ,604 维的 PHOC 特征 { x p , i t } i = N + 1 N + M \{\mathbf{x}_{p,i}^t\}_{i=N+1}^{N+M} {xp,it}i=N+1N+M ,4 维的边框特征 { x b b o x , i t } i = N + 1 N + M \{\mathbf{x}_{bbox,i}^t\}_{i=N+1}^{N+M} {xbbox,it}i=N+1N+M ,除此之外还有 512 维的 CNN 特征 { x t r , i t } i = N + 1 N + M \{\mathbf{x}_{tr,i}^t\}_{i=N+1}^{N+M} {xtr,it}i=N+1N+M ( 来自于 RecogCNN ) 。 在 s t \mathbf{s}^t st 的指导下计算 text 节点的注意力权重 :
{ x ^ i t e x t = LN ( W f t t x f t , i t + W f r t x f r , i t + W p t x p , i t + W t r t x t r , i t ) + LN ( W b t x b b o x , i t ) , p i t ′ = w t ⊤ [ ReLU ( W s t s t ) ∘ ReLU ( W x t x ^ i t e x t ) ] , p i t = exp ( p i t ′ ) / ∑ j = N + 1 N + M exp ( p j t ′ ) , i = N + 1 , . . . , N + M , (5) \begin{cases}& \hat{\mathbf{x}}_i^{text} = \text{LN}(\mathbf{W}_{ft}^t \mathbf{x}_{ft,i}^t + \mathbf{W}_{fr}^t \mathbf{x}_{fr,i}^t + \mathbf{W}_{p}^t \mathbf{x}_{p,i}^t + \mathbf{W}_{tr}^t \mathbf{x}_{tr,i}^t) + \text{LN}(\mathbf{W}_{b}^t \mathbf{x}_{bbox,i}^t), \\& p_i^{t'} = \mathbf{w}_t^{\top}[\text{ReLU}(\mathbf{W}_s^t \mathbf{s}^t) \circ \text{ReLU}(\mathbf{W}_x^t \hat{\mathbf{x}}^{text}_i)], \\& p_i^t = \exp(p_i^{t'}) / \sum_{j=N+1}^{N+M} \exp(p_j^{t'}), i =N+1,...,N+M,\end{cases} \tag{5} ⎩⎪⎨⎪⎧x^itext=LN(Wfttxft,it+Wfrtxfr,it+Wptxp,it+Wtrtxtr,it)+LN(Wbtxbbox,it),pit′=wt⊤[ReLU(Wstst)∘ReLU(Wxtx^itext)],pit=exp(pit′)/∑j=N+1N+Mexp(pjt′),i=N+1,...,N+M,(5)
最后,获得 text 节点的注意力权重 p t = { p i t } i = N = 1 N + M \mathbf{p}^t = \{p_i^t\}_{i=N=1}^{N+M} pt={pit}i=N=1N+M
边的注意力权重 边的注意力权重需要考虑两个节点之间的关系,以计算 object-object 的注意力权重 p o o \mathbf{p}^{oo} poo 为例,其他的类似。主要有两步,首先,计算所有连接节点 o i o_i oi 的边的注意力权重 q i o o = { q i j o o } j ∈ N i o o \mathbf{q}_i^{oo} = \{q_{ij}^{oo}\}_{j \in \mathcal{N}_i^{oo}} qioo={qijoo}j∈Nioo
{ x ^ i j o o = f o o ( [ e i j ; x ^ i o b j ] ) , q i j o o ′ = w o o ⊤ [ ReLU ( W s o o s o o ) ∘ ReLU ( W x o o x ^ i j o o ) ] , q i j o o = exp ( q i j o o ′ ) / ∑ k ∈ N i o o exp ( q i k o o ′ ) , j ∈ N i o o , (6) \begin{cases}& \hat{\mathbf{x}}_{ij}^{oo} = \text{f}^{oo} ([\mathbf{e}_{ij} ; \hat{\mathbf{x}}_i^{obj}]), \\& q_{ij}^{oo'} = \mathbf{w}_{oo}^{\top}[\text{ReLU}(\mathbf{W}_s^{oo} \mathbf{s}^{oo}) \circ \text{ReLU}(\mathbf{W}_x^{oo} \hat{\mathbf{x}}^{oo}_{ij})], \\& q_{ij}^{oo} = \exp(q_{ij}^{oo'}) / \sum_{k \in \mathcal{N}_i^{oo}} \exp(q_{ik}^{oo'}), j \in \mathcal{N}_i^{oo},\end{cases} \tag{6} ⎩⎪⎨⎪⎧x^ijoo=foo([eij;x^iobj]),qijoo′=woo⊤[ReLU(Wsoosoo)∘ReLU(Wxoox^ijoo)],qijoo=exp(qijoo′)/∑k∈Niooexp(qikoo′),j∈Nioo,(6)
f o o \text{f}^{oo} foo 是一个 MLP,编码初始化 o o oo oo 边特征 ( 由关系特征 e i j \mathbf{e}_{ij} eij 和连接节点特征 x ^ i o b j \hat{\mathbf{x}}_i^{obj} x^iobj 拼接 ),边的注意力权重 q i o o \mathbf{q}_{i}^{oo} qioo 。然后,计算所有 object 节点的 o o oo oo 边的注意力权重
{ x ~ i o o = ∑ j ∈ N i o o q i j o o x ^ i j o o , p i o o ′ = w o o ′ ⊤ [ ReLU ( W s o o ′ s o o ) ∘ ReLU ( W x o o ′ x ~ i o o ) ] , p i o o = exp ( p i o o ′ ) / ∑ j = 1 N exp ( p j o o ′ ) , i = 1 , . . . , N , (7) \begin{cases}& \tilde{\mathbf{x}}_{i}^{oo} = \sum_{j \in \mathcal{N}_{i}^{oo}} q_{ij}^{oo} \hat{\mathbf{x}}_{ij}^{oo}, \\& p_{i}^{oo'} = \mathbf{w}_{oo'}^{\top}[\text{ReLU}(\mathbf{W}_s^{oo'} \mathbf{s}^{oo}) \circ \text{ReLU}(\mathbf{W}_x^{oo'} \tilde{\mathbf{x}}^{oo}_{i})], \\& p_{i}^{oo} = \exp(p_{i}^{oo'}) / \sum_{j=1}^N \exp(p_{j}^{oo'}), i = 1, ...,N,\end{cases} \tag{7} ⎩⎪⎨⎪⎧x~ioo=∑j∈Niooqijoox^ijoo,pioo′=woo′⊤[ReLU(Wsoo′soo)∘ReLU(Wxoo′x~ioo)],pioo=exp(pioo′)/∑j=1Nexp(pjoo′),i=1,...,N,(7)
x ~ i j o o \tilde{\mathbf{x}}_{ij}^{oo} x~ijoo 是以问题为条件的节点 o i o_i oi 的 o o oo oo 边的特征。使用相同的方法计算 p o t , p t t , p t o \mathbf{p}^{ot}, \mathbf{p}^{tt}, \mathbf{p}^{to} pot,ptt,pto 。
每个 object 和 text 节点通过图注意力模块输出三个注意力权重。每个 object 节点 o i o_i oi ,都有 p i o , p i o o , p i t o p_i^o, p_i^{oo}, p_i^{to} pio,pioo,pito ;每个 text 节点 t i t_i ti ,都有 p i t , p i t t , p i t o p_i^t, p_i^{tt}, p_i^{to} pit,pitt,pito 。使用问题自注意力权重和它们结合,每一个 object 节点,最终的权重分数通过三部分的权重和计算:
α i o = w o p i o + w o o o i o o + w o t p i o t , i = 1 , . . . , N , (8) \alpha_i^o = w^o p_i^o + w^{oo} o_i^{oo} + w^{ot} p_i^{ot} , i=1,...,N, \tag{8} αio=wopio+woooioo+wotpiot,i=1,...,N,(8)
每一个 text 节点最终的权重:
α i t = w t p i t + w t t o i t t + w t o p i t o , i = 1 , . . . , N , (9) \alpha_i^t = w^t p_i^t + w^{tt} o_i^{tt} + w^{to} p_i^{to} , i=1,...,N, \tag{9} αit=wtpit+wttoitt+wtopito,i=1,...,N,(9)
注意 ∑ i = 1 N α i o = 1 \sum_{i=1}^N \alpha_i^o = 1 ∑i=1Nαio=1,因为 w o + w o o + w o t = 1 , ∑ i = 1 N p i o = 1 , ∑ i = 1 N p i o o = 1 , ∑ i = 1 N p i o t = 1 w^o + w^{oo} + w^{ot} = 1, \sum_{i=1}^N p_i^o =1, \sum_{i=1}^N p_i^{oo} =1, \sum_{i=1}^N p_i^{ot} =1 wo+woo+wot=1,∑i=1Npio=1,∑i=1Npioo=1,∑i=1Npiot=1 。也有 ∑ i = N + 1 N + M α i t = 1 \sum_{i=N+1}^{N+M} \alpha_i^t = 1 ∑i=N+1N+Mαit=1 。权重 { α i o } i = 1 N \{\alpha_i^o\}_{i=1}^N {αio}i=1N 和 { α i t } i = N + 1 N + 1 \{\alpha_i^t\}_{i=N+1}^{N+1} {αit}i=N+1N+1 计算了 object/text 节点和问题的相关性,用来生成以问题为条件的 object 和 text 特征:
g o b j = ∑ i = 1 N α i o ⋅ x ^ i o b j , g t e x t = ∑ i = N + 1 N + M α i t ⋅ x ^ i t e x t (10) \mathbf{g}_{obj} = \sum_{i=1}^N \alpha_i^o \cdot \hat{\mathbf{x}}_i^{obj}, \;\;\;\;\ \mathbf{g}_{text} = \sum_{i=N+1}^{N+M} \alpha_i^t \cdot \hat{\mathbf{x}}_i^{text} \tag{10} gobj=i=1∑Nαio⋅x^iobj, gtext=i=N+1∑N+Mαit⋅x^itext(10)
全局图特征 g o b j \mathbf{g}_{obj} gobj 和 g t e x t \mathbf{g}_{text} gtext 不是直接和全局问题特征 s o , s o o , s o t , s t , s t t , s t o \mathbf{s}^{o}, \mathbf{s}^{oo}, \mathbf{s}^{ot}, \mathbf{s}^{t}, \mathbf{s}^{tt}, \mathbf{s}^{to} so,soo,sot,st,stt,sto 融合,而是通过和局部的 OCR 节点嵌入输入到 transformer 的答案模块中进行更新。与 object 相关的和与 text 相关的问题特征拼接在一起:
s ‾ o = [ s o ; s o o , s o t ] , s ‾ t = [ s t , s t t , s t o ] (11) \overline{\mathbf{s}}^o = [s^o; s^{oo}, s^{ot}], \;\; \overline{\mathbf{s}}^t = [s^t,s^{tt}, s^{to}] \tag{11} so=[so;soo,sot],st=[st,stt,sto](11)
s ‾ o , s ‾ t , g o b j , g t e x t \overline{\mathbf{s}}^o, \overline{\mathbf{s}}^t, \mathbf{g}_{obj}, \mathbf{g}_{text} so,st,gobj,gtext 是一起输入到 transformer 层,更新为 s ~ o , s ~ t , g ~ o b j , g ~ t e x t \tilde{\mathbf{s}}^o, \tilde{\mathbf{s}}^t, \tilde{\mathbf{g}}_{obj}, \tilde{\mathbf{g}}_{text} s~o,s~t,g~obj,g~text 。
然后,我们将更新的特征 g ~ o b j \tilde{\mathbf{g}}_{obj} g~obj 和 g ~ t e x t \tilde{\mathbf{g}}_{text} g~text 与它们各自的问题表示形式融合在一起,如下所示
g O B J = g ~ o b j ∘ s ~ o , g T E X T = g ~ t e x t ∘ s ~ t (12) \mathbf{g}_{OBJ} = \tilde{\mathbf{g}}_{obj} \circ \tilde{\mathbf{s}}^o, \;\;\; \mathbf{g}_{TEXT} = \tilde{\mathbf{g}}_{text} \circ \tilde{\mathbf{s}}^t \tag{12} gOBJ=g~obj∘s~o,gTEXT=g~text∘s~t(12)
在第一步预测答案概率 p a n s 1 \mathbf{p}_{ans}^1 pans1
p a n s 1 = f p r e d ( W g [ g O B J ; g T E X T ] ) , (13) \mathbf{p}_{ans}^1 = \text{f}_{pred} (\mathbf{W}_g[\mathbf{g}_{OBJ}; \mathbf{g}_{TEXT}]), \tag{13} pans1=fpred(Wg[gOBJ;gTEXT]),(13)
f p r e d \text{f}_{pred} fpred 是一个两分支分数函数,它解决了 TextVQA 任务中答案可能是动态文本在不同问题中发生变化的难题。答案空间是两部分的结合:一个包含 5000 个词的固定词典和从每个特定的图像中提取的动态 OOV OCR tokens。两个分支计算各自的分数。一个分支是一个简单的线性层,把输入映射到 5000 维的分数向量,另一个分支计算输入和每一个更新的 OCR 嵌入的点积。然后两个分支的分数拼接在一起,选择最高的分数作为结果。
在第一步,融合特征的拼接作为输入,在剩下的步骤,使用前一个更新的输出作为输入迭代解码:
p a n s t = f p r e d ( g d e c ) , t = 2 , . . . , T , (14) \mathbf{p}_{ans}^t = \text{f}_{pred} (\mathbf{g}_{dec}), t=2,...,T, \tag{14} panst=fpred(gdec),t=2,...,T,(14)
其中 g d e c \mathbf{g}_{dec} gdec 是以前一个输出 g d e c \mathbf{g}^{dec} gdec 作为输入的答案模块的输出。如果前一个输出来自于 OCR,则 g d e c \mathbf{g}^{dec} gdec 是 OCR 嵌入,然后输入到答案模块。否则,通用词汇表的相应线性层权重将变为 g d e c \mathbf{g}^{dec} gdec 。我们还将位置嵌入和类型嵌入添加到解码输入中,其中类型嵌入表示此输入是固定词汇还是OCR token。
在 TextVQA 上的结果
使用 GT OCR 在 TextVQA 上的结果
在 ST-VQA 上的结果