論文地址:http://arxiv.org/pdf/2303.16900v3
代碼地址:https://github.com/sail-sg/inceptionnext
關注UP CV縫合怪,分享最計算機視覺新即插即用模塊,并提供配套的論文資料與代碼。
https://space.bilibili.com/473764881
摘要
受ViT的遠程建模能力啟發,近來,人們對大核卷積進行了廣泛的研究和應用,以擴大感受野并提高模型性能,例如采用7×7深度卷積的出色工作ConvNeXt。雖然這種深度算子只消耗少量的FLOPs,但由于高內存訪問成本,它在強大的計算設備上大大損害了模型效率。例如,ConvNeXt-T與ResNet-50具有相似的FLOPs,但在A100 GPU上以全精度訓練時,吞吐量僅達到約60%。雖然減小ConvNeXt的內核大小可以提高速度,但會導致性能顯著下降,這就提出了一個具有挑戰性的問題:如何在保持基于大核的CNN模型性能的同時,提高其速度。
為了解決這個問題,受Inception的啟發,本研究提出將大核深度卷積分解為沿通道維度的四個并行分支,即小方形核、兩個正交帶核和一個恒等映射。利用這種新的Inception深度卷積,本研究構建了一系列網絡,即InceptionNeXt,它不僅具有高吞吐量,而且保持了競爭性的性能。例如,InceptionNeXt-T的訓練吞吐量比ConvNeX-T高1.6倍,并且在ImageNet-1K上獲得了0.2%的top-1準確率提升。本研究預計InceptionNeXt可以作為未來架構設計的經濟型基線,以減少碳足跡。
引言
本研究旨在提升卷積神經網絡(CNN)在計算機視覺領域的效率和性能。回顧深度學習發展歷程,CNN憑借其卓越的性能,在計算機視覺領域占據了核心地位。Transformer模型在自然語言處理領域的成功,激發了研究者將其引入視覺領域的熱情。Vision Transformer (ViT) 的出現,更是推動了Transformer在圖像識別領域的應用。然而,現代CNN模型,如ConvNeXt,通過引入GELU激活函數和大卷積核等模塊,在多種任務中超越了Swin Transformer等ViT模型。這些現代CNN模型通常采用深度可分離卷積和更大的卷積核,以獲得更大的感受野。
然而,盡管深度可分離卷積在理論上具有較低的計算復雜度,但由于其高內存訪問成本,在GPU等高性能計算設備上表現出較低的實際效率。增加卷積核尺寸會進一步降低模型速度。為了解決這個問題,本研究著眼于如何在保持大卷積核CNN模型性能的同時,提升其運算速度。
通過對ConvNeXt的初步實驗,本研究發現并非所有輸入通道都需要進行計算成本較高的深度可分離卷積操作。因此,本研究提出保留部分通道不進行處理,僅對一部分通道進行深度可分離卷積操作。此外,本研究還提出將大的深度可分離卷積核分解為多個小組的小卷積核,借鑒Inception的思想。具體來說,對于需要處理的通道,其中一部分采用3x3的卷積核,另外兩部分分別采用3x3的卷積核,另外兩部分分別采用1xk和kx1的卷積核。基于這種新的**“Inception深度可分離卷積”,構建了InceptionNeXt模型**,該模型在準確率和速度之間取得了更好的平衡。
論文創新點
本研究提出了一種名為InceptionNeXt的新型CNN架構,旨在提高深度學習模型在計算機視覺任務中的效率和性能。ConvNeXt通過采用大kernel卷積來擴大感受野并提高模型性能,但同時也帶來了高內存訪問成本的問題,影響了模型在強大計算設備上的效率。為了解決這個問題,本研究受到Inception的啟發,將大kernel深度卷積分解為四個并行分支,包括小kernel、兩個正交帶kernel和一個identity mapping。
InceptionNeXt的創新點主要體現在以下幾個方面:
-
💡 提出了Inception深度卷積:💡
- 本研究并沒有像其他工作一樣追求更大kernel,而是選擇分解大kernel。具體來說,將深度可分離卷積的大kernel分解為幾個小組的小kernel。
- 對于處理通道,一部分采用3×3的kernel,另外兩部分則分別采用1×k和k×1的kernel。
- 通過這種方式,Inception depthwise convolution在參數數量和計算復雜度上都比傳統的深度可分離卷積更高效。
-
🚀 解決了ConvNeXt的速度瓶頸:🚀
- 本研究指出ConvNeXt雖然FLOPs較小,但由于depthwise卷積帶來的高內存訪問成本,導致其在GPU等高性能計算設備上的速度較慢。
- InceptionNeXt通過分解depthwise卷積,顯著提高了模型的訓練和推理速度。
-
?? 實現了精度與速度的更好trade-off:??
- 實驗結果表明,InceptionNeXt在ImageNet-1K圖像分類任務上,相比ConvNeXt,不僅保持了甚至略微提升了精度,同時還實現了更高的訓練和推理吞吐量。
- 這意味著InceptionNeXt在保證性能的同時,更具實際應用價值。
-
🌐 模型具有良好的泛化能力:🌐
- 本研究通過實驗證明,InceptionNeXt不僅可以在傳統的四階段框架下表現良好,也可以在ViT風格的isotropic架構下取得有競爭力的結果,表明InceptionNeXt具有良好的泛化能力,可以適應不同的網絡架構。
-
🖼? 在語義分割任務上表現出色:🖼?
- 本研究將InceptionNeXt應用于語義分割任務,并使用UperNet和Semantic FPN進行評估。
- 實驗結果表明,InceptionNeXt在這些任務上顯著優于其他backbone,表明它在密集預測任務中具有很大的潛力。