解鎖CNN和Transformer正確結合方法,字節跳動提出有效的下一代視覺Transformer
來自字節跳動的研究者提出了一種能在現實工業場景中有效部署的下一代視覺 Transformer,即 Next-ViT。Next-ViT 能像 CNN 一樣快速推斷,并有 ViT 一樣強大的性能。
由于復雜的注意力機制和模型設計,大多數現有的視覺 Transformer(ViT)在現實的工業部署場景中不能像卷積神經網絡(CNN)那樣高效地執行。這就帶來了一個問題:視覺神經網絡能否像 CNN 一樣快速推斷并像 ViT 一樣強大?
近期一些工作試圖設計 CNN-Transformer 混合架構來解決這個問題,但這些工作的整體性能遠不能令人滿意。基于此,來自字節跳動的研究者提出了一種能在現實工業場景中有效部署的下一代視覺 Transformer——Next-ViT。從延遲 / 準確性權衡的角度看,Next-ViT 的性能可以媲美優秀的 CNN 和 ViT。
論文地址:https://arxiv.org/pdf/2207.05501.pdf
Next-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 混合架構。
NCB
研究者分析了幾種經典結構設計,如下圖 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。
NTB
NCB 已經有效地學習了局部表征,下一步需要捕獲全局信息。Transformer 架構具有很強的捕獲低頻信號的能力,這些信號能夠提供全局信息(例如全局形狀和結構)。
然而,相關研究已經發現,Transformer 塊可能會在一定程度上惡化高頻信息,例如局部紋理信息。不同頻段的信號在人類視覺系統中是必不可少的,它們以某種特定的方式融合,以提取更多本質和獨特的特征。
受這些已知結果的影響,該研究開發了 Next Transformer Block (NTB),以在輕量級機制中捕獲多頻信號。此外,NTB 可用作有效的多頻信號混頻器,進一步增強整體建模能力。
NHS
近期一些工作努力將 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。
實驗結果
ImageNet-1K 上的分類任務
與最新的 SOTA 方法(例如 CNN、ViT 和混合網絡)相比,Next-ViT 在準確性和延遲之間實現了最佳權衡,結果如下表 4 所示。
ADE20K 上的語義分割任務
該研究將 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 的建模能力更強。
*博客內容為網友個人發布,僅代表博主個人觀點,如有侵權請聯系工作人員刪除。