解鎖CNN和Transformer正確結合方法,位元組跳動提出有效的下一代視覺Transformer
機器之心發表於2022-07-22
由於複雜的注意力機制和模型設計,大多數現有的視覺 Transformer(ViT)在現實的工業部署場景中不能像卷積神經網路(CNN)那樣高效地執行。這就帶來了一個問題:視覺神經網路能否像 CNN 一樣快速推斷並像 ViT 一樣強大?近期一些工作試圖設計 CNN-Transformer 混合架構來解決這個問題,但這些工作的整體效能遠不能令人滿意。基於此,來自位元組跳動的研究者提出了一種能在現實工業場景中有效部署的下一代視覺 Transformer——Next-ViT。從延遲 / 準確性權衡的角度看,Next-ViT 的效能可以媲美優秀的 CNN 和 ViT。論文地址:https://arxiv.org/pdf/2207.05501.pdfNext-ViT 的研究團隊透過開發新型的卷積塊(NCB)和 Transformer 塊(NTB),部署了友好的機制來捕獲區域性和全域性資訊。然後,該研究提出了一種新型混合策略 NHS,旨在以高效的混合正規化堆疊 NCB 和 NTB,從而提高各種下游任務的效能。大量實驗表明,Next-ViT 在各種視覺任務的延遲 / 準確性權衡方面明顯優於現有的 CNN、ViT 和 CNN-Transformer 混合架構。在 TensorRT 上,Next-ViT 與 ResNet 相比,在 COCO 檢測任務上高出 5.4 mAP(40.4 VS 45.8),在 ADE20K 分割上高出 8.2% mIoU(38.8% VS 47.0%)。同時,Next-ViT 達到了與 CSWin 相當的效能,並且推理速度提高了 3.6 倍。在 CoreML 上,Next-ViT 在 COCO 檢測任務上比 EfficientFormer 高出 4.6 mAP(42.6 VS 47.2),在 ADE20K 分割上高出 3.5% mIoU(從 45.2% 到 48.7%)。Next-ViT 的整體架構如下圖 2 所示。Next-ViT 遵循分層金字塔架構,在每個階段配備一個 patch 嵌入層和一系列卷積或 Transformer 塊。空間解析度將逐步降低為原來的 1/32,而通道維度將按階段擴充套件。研究者首先深入設計了資訊互動的核心模組,並分別開發強大的 NCB 和 NTB 來模擬視覺資料中的短期和長期依賴關係。NTB 中還進行了區域性和全域性資訊的融合,進一步提高了建模能力。最後,為了克服現有方法的固有缺陷,該研究系統地研究了卷積和 Transformer 塊的整合方式,提出了 NHS 策略,來堆疊 NCB 和 NTB 構建新型 CNN-Transformer 混合架構。研究者分析了幾種經典結構設計,如下圖 3 所示。ResNet [9] 提出的 BottleNeck 塊由於其在大多數硬體平臺上固有的歸納偏置和易於部署的特性,長期以來一直在視覺神經網路中佔據主導地位。不幸的是,與 Transformer 塊相比,BottleNeck 塊的有效性欠佳。ConvNeXt 塊 [20] 透過模仿 Transformer 塊的設計,對 BottleNeck 塊進行了現代化改造。雖然 ConvNeXt 塊提高了網路效能,但它在 TensorRT/CoreML 上的推理速度受到低效元件的嚴重限制。Transformer 塊在各種視覺任務中取得了優異的成績,然而 Transformer 塊的推理速度比 TensorRT 和 CoreML 上的 BottleNeck 塊要慢得多,因為其注意力機制比較複雜,這在大多數現實工業場景中是難以承受的。為了克服上述幾種塊的問題,該研究提出了 Next Convolution Block (NCB),它在保持 BottleNeck 塊的部署優勢的同時獲得了 Transformer 塊的突出效能。如圖 3(f) 所示,NCB 遵循 MetaFormer (已被證實對 Transformer 塊至關重要) 的一般架構。此外,一個高效的基於注意力的 token 混合器同樣重要。該研究設計了一種多頭卷積注意力(MHCA)作為部署卷積操作的高效 token 混合器,並在 MetaFormer [40] 的正規化中使用 MHCA 和 MLP 層構建 NCB。NCB 已經有效地學習了區域性表徵,下一步需要捕獲全域性資訊。Transformer 架構具有很強的捕獲低頻訊號的能力,這些訊號能夠提供全域性資訊(例如全域性形狀和結構)。然而,相關研究已經發現,Transformer 塊可能會在一定程度上惡化高頻資訊,例如區域性紋理資訊。不同頻段的訊號在人類視覺系統中是必不可少的,它們以某種特定的方式融合,以提取更多本質和獨特的特徵。受這些已知結果的影響,該研究開發了 Next Transformer Block (NTB),以在輕量級機制中捕獲多頻訊號。此外,NTB 可用作有效的多頻訊號混頻器,進一步增強整體建模能力。近期一些工作努力將 CNN 和 Transformer 結合起來進行高效部署。如下圖 4(b)(c) 所示,它們幾乎都在淺層階段採用卷積塊,在最後一兩個階段僅堆疊 Transformer 塊,這種結合方式在分類任務上是有效的。但該研究發現這些混合策略很容易在下游任務(例如分割和檢測)上達到效能飽和。原因是,分類任務僅使用最後階段的輸出進行預測,而下游任務(例如分割和檢測)通常依賴每個階段的特徵來獲得更好的結果。這是因為傳統的混合策略只是在最後幾個階段堆疊 Transformer 塊,淺層無法捕獲全域性資訊。該研究提出了一種新的混合策略 (NHS),創造性地將卷積塊 (NCB) 和 Transformer 塊 (NTB) 與 (N + 1) * L 混合正規化結合在一起。NHS 在控制 Transformer 塊比例的情況下,顯著提升了模型在下游任務上的效能,並實現了高效部署。首先,為了賦予淺層捕獲全域性資訊的能力,該研究提出了一種(NCB×N+NTB×1)模式混合策略,在每個階段依次堆疊 N 個 NCB 和一個 NTB,如圖 4(d) 所示。具體來說,Transformer 塊 (NTB) 放置在每個階段的末尾,使得模型能夠學習淺層中的全域性表徵。該研究進行了一系列實驗來驗證所提出的混合策略的優越性,不同混合策略的效能如下表 1 所示。此外,如下表 2 所示,大模型的效能會逐漸達到飽和。這種現象表明,透過擴大 (NCB × N + NTB × 1) 模式的 N 來擴大模型大小,即簡單地新增更多的卷積塊並不是最佳選擇,(NCB × N + NTB × 1)模式中的 N 值可能會嚴重影響模型效能。因此,研究者開始透過廣泛的實驗探索 N 的值對模型效能的影響。如表 2(中)所示,該研究在第三階段構建了具有不同 N 值的模型。為了構建具有相似延遲的模型以進行公平比較,該研究在 N 值較小時堆疊 L 組 (NCB × N + NTB × 1) 模式。如表 2 所示,第三階段 N = 4 的模型實現了效能和延遲之間的最佳權衡。該研究透過在第三階段擴大 (NCB × 4 + NTB × 1) × L 模式的 L 來進一步構建更大的模型。如表 2(下)所示,Base(L = 4)和 Large(L = 6)模型的效能相對於小模型有顯著提升,驗證了所提出的(NCB × N + NTB × 1)× L 模式的一般有效性。最後,為了提供與現有 SOTA 網路的公平比較,研究者提出了三個典型的變體,即 Next-ViTS/B/L。與最新的 SOTA 方法(例如 CNN、ViT 和混合網路)相比,Next-ViT 在準確性和延遲之間實現了最佳權衡,結果如下表 4 所示。該研究將 Next-ViT 與 CNN、ViT 和最近一些混合架構針對語義分割任務進行了比較。如下表 5 所示,大量實驗表明,Next-ViT 在分割任務上具有出色的潛力。在目標檢測和例項分割任務上,該研究將 Next-ViT 與 SOTA 模型進行了比較,結果如下表 6 所示。為了更好地理解 Next-ViT,研究者透過評估其在 ImageNet-1K 分類和下游任務上的效能來分析每個關鍵設計的作用,並將輸出特徵的傅立葉譜和熱圖視覺化,以顯示 Next-ViT 的內在優勢。如下表 7 所示,NCB 在所有三個任務上實現了最佳延遲 / 準確性權衡。對於 NTB 塊,該研究探討了 NTB 的收縮率 r 對 Next-ViT 整體效能的影響,結果如下表 8 所示,減小收縮率 r 將減少模型延遲。此外,r = 0.75 和 r = 0.5 的模型比純 Transformer (r = 1) 的模型具有更好的效能。這表明以適當的方式融合多頻訊號將增強模型的表徵學習能力。特別是,r = 0.75 的模型實現了最佳的延遲 / 準確性權衡。這些結果說明了 NTB 塊的有效性。該研究進一步分析了 Next-ViT 中不同歸一化層和啟用函式的影響。如下表 9 所示,LN 和 GELU 雖然帶來一些效能提升,但在 TensorRT 上的推理延遲明顯更高。另一方面,BN 和 ReLU 在整體任務上實現了最佳的延遲 / 準確性權衡。因此,Next-ViT 統一使用 BN 和 ReLU,以便在現實工業場景中進行高效部署。最後,該研究視覺化了 ResNet、Swin Transformer 和 Next-ViT 的輸出特徵的傅立葉譜和熱圖,如下圖 5(a) 所示。ResNet 的頻譜分佈表明卷積塊傾向於捕獲高頻訊號、難以關注低頻訊號;ViT 擅長捕捉低頻訊號而忽略高頻訊號;而Next-ViT 能夠同時捕獲高質量的多頻訊號,這顯示了 NTB 的有效性。此外,如圖 5(b)所示,Next-ViT 能比 ResNet 和 Swin 捕獲更豐富的紋理資訊和更準確的全域性資訊,這說明 Next-ViT 的建模能力更強。