Transformer會是最強的視覺辨識模型?要不要試試新設計的CNN模型

CNN是近年來圖像分類任務中大家的優先選項之一。從2012年的AlexNet開始至今,許多學者相繼針對CNN based模型進行改進。近年來除了大家耳熟能詳的ConvNet based模型外,包括GoogleNet、ResNet等,也開始引進在NLP任務中大獲成功的Transformer架構,如:Swin Transformer。

Transformer模型架構雖然在圖像分類中取得了非常好的成績,但其特點就是模型架構變得越來越複雜,且需要的計算要求也越來越高。2022年初,臉書AI Research團隊與UC Berkeley大學發表了一個基於ConvNeT based與Transformer based的綜合模型,ConvNeXT。此論文一推出馬上在網路上引發熱烈討論,因為其架構非常簡單且有一個非常好的結果,也在Imagenet-1k分類任務達到非常高的成績,甚至超越Swin Transformer。

ConvNeXT是基於ResNet架構進行改進,主要著重在幾個部分,第一個是訓練機制的調整,不再使用固定式learning rate的訓練方法,改採warm up learning rate with decay的方式不斷更新learning rate的數值,另外也增加資料擴增的方式等,這個方式能將準確度提升2.7%。第二個是stage ratio的改變,改採用Swin Transformer的stage比例,也就是(1:1:3:1),這可以提昇0.6%的準確度。第三個是將group convolution的機制引入且將卷積的kernel size放大至(7,7),由於group convolution可以有效的降低參數量,所以我們可以將filter數量大幅提升,並使用較大的kernel size使得單個卷積核的視野域更大,這樣的改動可以提昇1.1%的準確度。

第四個是引入mobile net的Inverted Bottleneck機制,此機制可以降低參數量,使運算資源不會消耗太多。第五個是超參數的小改動,如:激活函數的改變、使用更少的激活函數、Normalize的手段,也將CNN based長期使用的Batch Normalization改成Layer Normalization與最後每個stage的down sampling手段改為Non overlapping的卷積來去達成,這個小改動也能提升1.4%的準確度。這些簡單的改動比起Swin Transformer的sliding window機制或是self attention機制來的簡單且直觀很多,是一個大家未來可以優先考慮使用的架構。

而ConvNeXT也比先前的sota model - Swin Transformer有更高的準確度。這讓人重新審思,究竟ConvNet based的模型是不是還是比起Transformer based的模型有更好的探討及改進空間。對於這個模型架構還想要更深入了解的朋友們,可以參考原作者的論文及程式碼,或參考由AIF製作的ConvNeXT實作影片

原論文網址:https://arxiv.org/abs/2201.03545

原論文作者github:https://github.com/facebookresearch/ConvNeXt

AIF Youtube 實作影片:https://www.youtube.com/watch?v=vkUSNz9PIYA&t=5s

(撰稿工程師:廖柏瑜