Structured Multimodal Attentions for TextVQA
原文鏈接:https://arxiv.org/pdf/2006.00753
Motivation
對于TextVQA任務,作者提出了一種基于結構化的文本-物體圖的模型。圖中文本和物體作為節點,節點之間的聯系作為邊。
Pipeline
TextVQA任務需要三個步驟:reading,reasoning,answering,該模型專注于后兩個步驟。
1、Question self-attention module:問題拆解為物體、文本、物體-物體、物體-文本、文本-物體、文本-文本六種特征,用來在下一步對圖進行更新。
2、Question consitioned graph attention module建立和更新圖。以文本和物體作為節點建立網絡,節點之間連接由相對距離決定。利用上述問題特征在圖上進行推理,推斷節點的重要性和節點之間的關系。物體-文本的問題特征用來更新物體-文本邊,物體的問題特征用來更新物體節點。
3、Global-local attention answering module迭代生成變長答案。問題、物體、文本、局部OCR embedding一起輸入,從OCR和固定詞匯表中選取回答。
Question Self-Attention Module
如圖,該模塊用于將問題序列分解為六種問題特征,并生成自注意力權重,用于下一步運算。
圖中t, to, tt, o, ot, oo代表六種特征(節點/邊):
object nodes, text nodes;object-object edges, object-text edges, text-object edges, text-text edges
問題的單詞序列首先經過三層的BERT進行embedding得到xt序列,然后通過不同運算得到自注意力權重和分解的問題特征。其中自注意力權重由下式計算,僅由問題本身決定,用于下一步計算節點的注意力權重。
xt經過六個不同的MLP+softmax得到六種注意力權重(對應t, to, tt, o, ot, oo),對原先的xt做加權和,得到分解的問題特征s:
Question Conditioned Graph Attention Module
該模塊構建圖并進行更新,然后加權得到以問題作為條件的物體和文本特征。
Role-aware Heterogeneous Graph Construction
首先建立起異質圖,包含物體集O、文本集T、邊集E,以空間距離為基礎連接邊。邊eij由節點oi和oj的長寬、維度相關。
Question Conditioned Graph Attention
使用不同的問題特征來更新圖的對應部分(例如用Soo更新oo邊),六種注意力pm使用不同的方式計算,但整體上都是以物體特征、文本特征、邊的特征和上一步中的分解問題特征作為輸入進行計算。
物體節點注意力:對于物體i,使用Faster R-CNN的特征和邊界框的位置作為輸入,經過線性變換、layer norm、利用問題特征進行ReLU、點積、softmax,得到最終的poi。
文本節點注意力:類似于M4C,使用FastText、Faster R-CNN、PHOC、bounding box、RecogCNN的特征作為輸入,類似于上述方法得到pot。
邊注意力:對于節點oi的每一條鄰邊,使用eij和xiobj計算該邊的注意力權重qijoo;然后使用qijoo作為權重,xijoo作為輸入,經過類似上述方法得到pioo。
Weighting Module
使用第一步計算出的問題自注意力權重作為權重,對分解的注意力權重p進行加權求和,得到每個節點的注意力權重(物體節點使用po、poo、pot,文本節點使用pt、ptt、pto),然后對節點特征做加權和得到最終的圖片和文本特征gobj、gtext。
Global-Local Attentional Answering Module
答案預測模塊與M4C類似,上一步計算出的文本物體特征g、第一步計算出的分解問題特征s、OCR embedding作為輸入,通過transformers進行特征融合。g經過線性變換后通過fpred得到答案的第一個單詞,其中fpred是兩分支的打分函數(對于固定詞匯表使用線性變換層,對于OCR單詞使用點積)。
預測出第一個單詞后,此后的每個單詞僅由前一步的單詞作為輸入進行計算,即gdec,其值為OCR embedding(若前一個單詞來自OCR)或線性層的權重(若前一個單詞來自詞匯表)。gdec通過transformers后經過打分函數fpred得到這一步的預測單詞。
Experiments
通過ablation study,作者發現將classifier更換為decoder(支持生成多個單詞)后精度上升了4%,使用BERT進行embedding后上升了0.5%,增加RecogCNN特征后又上升了1%,最終超過了此前的SoTA M4C的精度。
去除Question Conditioned Graph Attention Module后得到baseline,然后在此基礎上分別添加oo、ot、tt、to四種關系,結果發現text-object的效果最好,符合對于該任務的直觀理解。
通過多數據集預訓練和其他優化,作者團隊在TextVQA競賽中取得冠軍。(值得一提的是,我們的隊伍取得了季軍)
AWT人工標注了所有OCR單詞,從而獲得了精度的上界,使得可以只研究模型的推理能力而不必考慮OCR識別能力帶來的差異。
Visualization
以上是一個可視化效果示例。問題中的物體包括player、right,文本為number。核心的ot關系為player whose number is 20,核心的to關系是last name of player。右圖中黃框代表物體節點,藍框代表文本節點,箭頭代表邊。實線代表與答案最相關的節點,虛線代表一般節點。
總結
以上是生活随笔為你收集整理的Structured Multimodal Attentions for TextVQA的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux公社 java算法_Java快
- 下一篇: 纯数字版MSN账号