IDPT技術前沿 |Transformer iN Transformer(TNT)
簡介
傳統的Vision Transformer(ViT)作為特征提取backbone時是將圖像劃分為若干個局部patches,然后利用multi-head自注意力機制計算它們各自的包含各個局部patches之間的關系的representation。但因為自然圖像的復雜度相較于自然文本更高,細節和顏色信息更豐富,以及ViT劃分的粒度不夠細,無法挖掘不同的尺度和位置的物體特征。因此,在本文中,作者指出了這些局部patches內部的自注意力也至關重要,并基于此提出了一種新的架構,即
Transformer iN Transformer(TNT)。具體來說,作者將局部patches(如:16×16)作為
visual sentence,并將其進一步劃分為更小的patch(如:4×4 )作為
visual word。每個單詞的attention會與給定的visual sentence中其他的word一起計算,計算成本可忽略不計。最后
將單詞和句子的特征結合起來,提高表征能力。
更具體地,不同visual words的feature以及attention的計算分別依賴于共享的network以減少
參數量和
浮點數計算量。visual words的features將會聚合成相應的visual sentence。對于識別任務而言,作者依舊使用了MLP來做class token。
老三樣
1. Multi-head Self-Attention
給定輸入 X∈R
n×d ,通過三個變換矩陣 W
Q , W
K , W
V 得到

n為圖片特征序列的長度,d,d
q,d
k,d
v 分別為輸入、query、key和value的維 度,那么自注意力機制可表示為:

最后,一個linear層被用來產生輸出。多頭自注意力將query、key和value拆分為h個部分,并行執行attention功能,然后將每個頭的輸出值串聯并線性投影形成最終輸出。
2. MLP
MLP多層感知機用于在自注意力層之間進行特征轉換和非線性化處理:

在這里 W 和 b 表示全連接層的權重和bias偏置, 表示GELU一類的激活函數。
3. LNLayer normalization是transformer能夠stable training和更快收斂的關鍵部分,對于每個樣本 X∈R
d ,有

在這里

表示這一層每個單元的均值和方差,o 表示 element-wise dot 逐元素點積,至于

這兩個是可以學習的仿射變換參數。
Transformer iN Transformer(TNT)
