首頁  >  文章  >  科技週邊  >  解鎖CNN和Transformer正確結合方法,位元組跳動提出有效的下一代視覺Transformer

解鎖CNN和Transformer正確結合方法,位元組跳動提出有效的下一代視覺Transformer

PHPz
PHPz轉載
2023-04-09 14:01:111589瀏覽

由於複雜的注意力機制和模型設計,大多數現有的視覺 Transformer(ViT)在現實的工業部署場景中不能像卷積神經網路(CNN)那樣有效率地執行。這就帶來了一個問題:視覺神經網路能否像 CNN 一樣快速推斷並像 ViT 一樣強大?

近期一些工作試圖設計 CNN-Transformer 混合架構來解決這個問題,但這些工作的整體效能遠遠不能令人滿意。基於此,來自位元組跳動的研究者提出了一種能在現實工業場景中有效部署的下一代視覺 Transformer——Next-ViT。從延遲 / 準確性權衡的角度看,Next-ViT 的性能可以媲美優秀的 CNN 和 ViT。

解鎖CNN和Transformer正確結合方法,位元組跳動提出有效的下一代視覺Transformer

#論文網址: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,而通道維度將按階段擴展。

解鎖CNN和Transformer正確結合方法,位元組跳動提出有效的下一代視覺Transformer

研究者首先深入設計了資訊互動的核心模組,並分別開發強大的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 區塊要慢得多,因為其註意力機制比較複雜,這在大多數現實工業場景中是難以承受的。

解鎖CNN和Transformer正確結合方法,位元組跳動提出有效的下一代視覺Transformer

為了克服上述幾種區塊的問題,該研究提出了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 區塊,淺層無法捕捉全域資訊。

解鎖CNN和Transformer正確結合方法,位元組跳動提出有效的下一代視覺Transformer解鎖CNN和Transformer正確結合方法,位元組跳動提出有效的下一代視覺Transformer

該研究提出了一種新的混合策略(NHS),創造性地將卷積塊(NCB) 和Transformer 區塊(NTB) 與(N 1) * L 混合範式結合在一起。 NHS 在控制 Transformer 區塊比例的情況下,顯著提升了模型在下游任務上的效能,並實現了高效部署。

首先,為了賦予淺層捕捉全域資訊的能力,研究提出了一種(NCB×N NTB×1)模式混合策略,在每個階段依序堆疊N 個NCB 和一個NTB,如圖4(d) 所示。具體來說,Transformer 區塊 (NTB) 放置在每個階段的末尾,使得模型能夠學習淺層中的全局表徵。該研究進行了一系列實驗來驗證所提出的混合策略的優越性,不同混合策略的表現如下表 1 所示。

解鎖CNN和Transformer正確結合方法,位元組跳動提出有效的下一代視覺Transformer

此外,如下表 2 所示,大模型的效能會逐漸達到飽和。這種現象表明,透過擴大(NCB × N NTB × 1) 模式的N 來擴大模型大小,即簡單地添加更多的捲積塊並不是最佳選擇,(NCB × N NTB × 1)模式中的N 值可能會嚴重影響模型效能。

解鎖CNN和Transformer正確結合方法,位元組跳動提出有效的下一代視覺Transformer

因此,研究者開始透過廣泛的實驗來探索 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。

解鎖CNN和Transformer正確結合方法,位元組跳動提出有效的下一代視覺Transformer

#

實驗結果

ImageNet-1K 上的分類任務

#與最新的SOTA 方法(例如CNN、ViT 和混合網路)相比,Next-ViT 在準確性和延遲之間實現了最佳權衡,結果如下表4 所示。

解鎖CNN和Transformer正確結合方法,位元組跳動提出有效的下一代視覺Transformer


ADE20K 上的語意分割任務

該研究將Next-ViT 與CNN 、ViT 和最近一些混合架構針對語意分割任務進行了比較。如下表 5 所示,大量實驗表明,Next-ViT 在分割任務上具有出色的潛力。

解鎖CNN和Transformer正確結合方法,位元組跳動提出有效的下一代視覺Transformer


目標偵測與實例分割

在目標偵測與實例分割任務上,該研究將Next-ViT 與SOTA 模型進行了比較,結果如下表6 所示。

解鎖CNN和Transformer正確結合方法,位元組跳動提出有效的下一代視覺Transformer

消融實驗和視覺化

為了更好地理解Next-ViT,研究者透過評估其在ImageNet-1K 分類和下游任務上的性能來分析每個關鍵設計的作用,並將輸出特徵的傅立葉譜和熱圖視覺化,以顯示Next-ViT 的內在優勢。

如下表 7 所示,NCB 在所有三個任務上實現了最佳延遲 / 準確度權衡。

解鎖CNN和Transformer正確結合方法,位元組跳動提出有效的下一代視覺Transformer

對於NTB 區塊,研究探討了NTB 的收縮率r 對Next-ViT 整體表現的影響,結果如下表8 所示,減小收縮率r 將減少模型延遲。

解鎖CNN和Transformer正確結合方法,位元組跳動提出有效的下一代視覺Transformer

此外,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,以便在現實工業場景中進行高效部署。

解鎖CNN和Transformer正確結合方法,位元組跳動提出有效的下一代視覺Transformer

最後,研究視覺化了ResNet、Swin Transformer 和Next-ViT 的輸出特徵的傅立葉譜和熱圖,如下圖5 (a) 所示。 ResNet 的頻譜分佈表明卷積塊傾向於捕獲高頻信號、難以關注低頻信號;ViT 擅長捕捉低頻信號而忽略高頻信號;而Next-ViT 能夠同時捕獲高品質的多頻信號,這顯示了NTB 的有效性。

解鎖CNN和Transformer正確結合方法,位元組跳動提出有效的下一代視覺Transformer

此外,如圖5(b)所示,Next-ViT 能比ResNet 和Swin 捕捉更豐富的紋理資訊和更準確的全域訊息,這說明Next-ViT 的建模能力更強。

以上是解鎖CNN和Transformer正確結合方法,位元組跳動提出有效的下一代視覺Transformer的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:51cto.com。如有侵權,請聯絡admin@php.cn刪除