【Transformer】AdaViT: Adaptive Tokens for Efficient Vision Transformer
文章目錄
- 一、背景
- 二、方法
- 三、效果
一、背景
Transformer 在多個任務上都取得了亮眼的表現,在計算機視覺中,一般是對輸入圖像切分成多個 patch,然后計算 patch 之間的自注意力實現下游任務。
但由于自注意力機制的計算量是和輸入圖像大小呈平方關系的,所以,在邊端設備上使用 Transformer 成為了一個問題。
作者認為不同的輸入圖像對網絡來說,預測難度是不同的。如一個車和一個人在干凈的背景中,那么就很好識別。如果是多個不同的動物在復雜的背景中,那么就較難識別。
基于此,作者實現了一個網絡結構,根據輸入的難度,來動態的調節 token 的個數來控制 transformer 的計算復雜度。
二、方法
vision transformer 的過程如下:
- ?(.)\epsilon(.)?(.): encoding network,把輸入圖像編碼成 positioned token
- C(.)C(.)C(.):class token 的后處理
- LLL:transformer block
- F(.)F(.)F(.):self-attention
為了動態殺掉 tokens,作者為每個 token 引入了一個 input-dependent halting score:
- H(.)H(.)H(.) 是 halting module
- kkk 是 token 索引,lll 是層
- tk,elt_{k,e}^ltk,el? 是 tklt_k^ltkl? 的第 eee 維
- σ\sigmaσ 是 logistic sigmoid 函數
- β\betaβ 和 γ\gammaγ 是非線性操作之前使用的平移和縮放系數
為了根據 layer 來追蹤 halting probabilities,每個 token 會計算一個補充參數:
halting probabilities 如下:
ponder loss :每個 token 的 ponder loss 會平均。
分類任務的損失為:
halting score distribution 分布為:
所以使用 KL 散度來衡量真實和預測的分布偏差:
則總損失為:
三、效果
從圖 3 可以看出, adaptive 選擇 token 能夠對高度突出和巨變的區域產生強響應,通常和類別相關。
1、Token 顏色深度分布:
在圖中繪制 token 的顏色,如圖 4 所示,其實是一個以圖像中心為中心的 2D 類高斯分布,這也說明 ImageNet 的大多數樣本都是在中間的。很多計算量都來自于中間區域,邊緣參與計算的很少。
2、Halting score distribution:
如圖 5 繪制了每個圖像的每個 layer 的 halting score。
隨機采樣了 5k 驗證集,在前幾個 layer,halting score 隨著 layer 的加深而增大,后面慢慢減小。
3、難樣本和簡單樣本
圖 6 展示了難例和簡單例和其各自所需的計算量。
簡單的例子可以被正確分類,AdaViT 處理的也比難例快。
4、類別敏感性
起初非常確信或非常不確信的樣本被 adaptive 影響的很小,adaptive 推理能夠提升形狀明顯的類別,如獨立的家具或動物。
總結
以上是生活随笔為你收集整理的【Transformer】AdaViT: Adaptive Tokens for Efficient Vision Transformer的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 放心玩!一加中国区总裁:Ace2将全面普
- 下一篇: 【图像分类】如何使用 mmclassif