本周記錄兩個論文,Visual saliency transformer 和 Dynamic grained encoder for VIT。
1、【ICCV2021】Vision saliency transformer
這個工作來自起源人工智能研究院和西北工業大學,是想用 Transformer 強大的長距離建模能力解決RGBD顯著性檢測問題。但是,VIT是在16x16的patch上提取特征,RGBD是逐像素的給出圖像中的標簽,如何解決這個問題尚不明確。
作者提出了如下圖所示的框架,結構我個人理解有些像UNET,只不過卷積部分是用 T2T (token-to-token)來替換了。
T2T來自於新加坡國立大學的 Tokens-to-Token VIT ,結構如下圖所示,比如說輸入9個token,首先reshape成一個3X3的矩陣,然后用2X2的窗口融合,然后形成4個新的token輸入到下一階段。個人感覺這個操作可以實現多個token間信息的融合,同時降低了特征的尺度,有些類似卷積,進行特征的加工同時會降低feature map的尺寸。
RGB圖像和D圖像間的融合使用的是簡單的“Scaled Dot-Product Attention”,具體如下:
特征融合以后重要的關鍵步驟就是如何由低分辨恢復到高分辨率了。這里作者提出了 reverse token-to-token方法,本質上就是把T2T反過來了,不再過多介紹。
2、【NeurIPS2021】Dynamic Grained Encoder for Vision Transformers
這個論文的思路非常有趣,將動態網絡的思路應用在了 VIT 中,作者宋林為西安交大博士生,一直從事動態網絡相關的研究,已經成體系了。作者指出 VIT 的一個痛點就是計算復雜度非常高,如果將動態網絡的思想融合進來,可以有效提高推理的速度。
總體框架如下圖所示,主要有改動在Q部分,通過分析不同區域的特征,動態自適應的按1X1,2X2,4X4的尺寸進行token建模,降低了Q里面 token的數量,K和V沒有變化。 其中,虛線部分只在訓練中會用到,推理時不會用到。
可以看出,論文的核心在於 Dynamic grained encoder (DGE)部分,如下圖所示,一個圖像首先分為四個region,每個region依次划分為1個、4個、9個多尺度的區域,然后上半部分用 pooling + MLP 的方法得到一組3維向量,分別代表三種划分的權重,選擇權重最大的作為依據進行 token 划分。本質上,就是在 token 建模時,建立了多種尺度划分方法,使用了動態路由機制來選擇一種划分進行 token 建模。作者去年的代表作也是 CVPR2020 上著名的把動態路由機制用於語義分割,這個工作是把動態路由機制應用於 Transformer 了。 因為 ArgMax 是不可以反向傳播的,這里使用了動態網絡里的神器 Gambel 方法來解決這個問題,這個方法在很多動態網絡里都有應用,不再多介紹了。
論文里的可視化分析結果非常有趣,如下圖所示,可以看出,平滑的背景往往選擇使用較大的尺度進行 token 建模,有細節紋理的區域會選擇較小的尺度進行 token 建模,這和人的感知是基本一致的,因為重要的目標區域需要提取更加豐富的特征,而平滑背景區域不需要提取豐富的特征。