【Transformer】HRFormer:High-Resolution Transformer for Dense Prediction
文章目錄
- 一、背景
- 二、動機
- 三、方法
- 四、效果
論文鏈接:https://arxiv.org/abs/2110.09408
代碼鏈接:https://github.com/HRNet/HRFormer
一、背景
ViT 的提出讓人們看到了 Transformer 在 圖像分類任務上的潛力,緊隨其后還有很多相關的改進,如知識蒸餾、更深的網絡結構、引入卷積等方法,但 ViT 及其類似的方法都缺失了局部空間的信息,難以用于密集預測。還有一些方法聚焦在了使用 Transformer 來實現分割、檢測等密集預測任務。
二、動機
由于 ViT 等方法使用 16x16 作為輸入 patch 的大小,且網絡是單個分辨率的,缺失了處理多尺度目標的能力,所以作者提出了一個 High-Resolution Transformer (HRFormer),來提出豐富的空間信息并且為密集預測提供多分辨率的特征表達。
三、方法
HRFormer 的結構類似于 HRNet,其結構如圖 1,圖 1 的左半部分表示了 local-window self-attention 如何更新 2D 輸入表達,每個 window 內部的 attention 是獨立進行的:
- 首先,在 stem 和第一個 stage 都使用了卷積,類似于 [11,49],它們也證明了在淺層使用卷積的效果是比較好的
- 接著,通過并行的使用 medium 和 low resolution 的 streams 來加強高分辨率 stream,從而提升高分辨率特征的表達。使用多分辨率特征后,HRFormer 能夠進行多尺度的建模。
- 最后,HRFormer 通過 multi-scale fusion module 進行了 multi-resolution feature 交換,同時實現了對短距離信息和長距離信息的 attention。
如何減少計算量:
- 在每個分辨率特征圖內部,作者都使用了 local-window self-attention 來減少計算量,作者將特征圖無重疊的劃分為小的 windows,然后在每個 window 內部分別使用 self-attention
- 并且,為了進行不同 window 間的信息交互,作者在 local-window self-attention 后面的前傳網絡 FFN 中引入了 3x3 的可分離卷積,有助于提高感受野
和不同方法的效果對比:
- DeiT:在 ImageNet 上,HRFormer-B 比 DeiT-B 的 top-1 acc 高了 1.0%,參數量下降了 40%,FLOPs 下降了 20%
- HRNet:在 COCO-val上, HRFormer-B 比 HRNet-W48 高了0.9% AP,參數量下降了 32%,FLOPs 下降了 19%
- HRNet-OCR:在 PASCAL-Context test 和 COCO-Stuff test 分別提高了 1.2% 和 2.0% 的 mIoU,參數量下降了 25%。
1、Multi-resolution parallel transformer
圖2展示了 HRFormer 的結構,每個 transformer block 的結構細節如圖 1。
2、Local-window self-attention
首先,將特征圖 X∈RN×DX \in R^{N \times D}X∈RN×D 切分為大小為 K×KK\times KK×K 的不重疊的 windows X→{X1,X2,...,XP}X \to \{X_1, X_2, ..., X_P\}X→{X1?,X2?,...,XP?}。
然后,作者在每個 window 內使用 multi-head self-attention (MHSA),假設在第 p 個 window 使用,方式如下:
- HHH 是 heads 的個數
- DDD 是 channel 的個數
- NNN 是輸入分辨率
- X^p\hat {X}_pX^p? 是 MHSA 的輸出特征
- 同時,在每個 window 內部,都使用了相對位置編碼(T5 model)
在獲得了每個 window 的特征之后,將所有的輸入 merge起來:
3、FFN with depth-wise convolution
由于所有的 self-attention 只在 window 內部做,所以 window 之間沒法進行信息交換。所以作者在 FFN 中的 MLP 之間加了 3x3 的可分離卷積,如圖1右邊所示。
4、Representation head designs
如圖 2 所示,HRFormer 的輸出包含了 4 種不同分辨率的特征圖,對于不同的任務,作者羅列了不同的 head 設計方法:
- 分類任務:把 4 個特征圖送入 bottleneck,輸出通道變化為 128、256、512、1024,然后使用卷積將它們聚合起來,輸出一個最低維的特征圖,最后使用avgpooling。
- 姿態估計任務:僅僅使用最高維度的特征圖
- 語義分割任務:將所有的特征圖上采樣到相同的大小,然后concat起來
5、Instantiation
HRFormer 的整體結構如表1所示:
- M:每個 stage 的modules 數量
- B :每個 stage 的 blocks 數量
- C:transformer block 中的 channel 個數
- H:transformer block 中的 heads 個數
- R:transformer block 中的 MLP expansion ratios (4,4,4,4 for all models)
- 第一個 stage 使用 HRNet 的結構
- 每個 transformer block 的組成:一個 local-window self-attention (7,7,7,7 for each resolution) + FFN (with 3x3 depth-wise conv)
6、分析
3x3 depth-wise convolution 的益處:
- 加強局部特征
- 在不同 window 間進行信息交換
四、效果
1、姿態識別
2、語義分割
3、圖像分類
總結
以上是生活随笔為你收集整理的【Transformer】HRFormer:High-Resolution Transformer for Dense Prediction的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Transformer】CrossFo
- 下一篇: 【Transformer】DPT: Vi