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

相關文章
相關標籤/搜索