電子郵箱注冊專業(yè)seo網(wǎng)站
論文鏈接:https://arxiv.org/abs/2105.03889
代碼鏈接:https://github.com/pengzhiliang/Conformer
參考博文:Conformer論文以及代碼解析(上)_conformer代碼_從現(xiàn)在開始壹并超的博客-CSDN博客
摘要
在卷積神經(jīng)網(wǎng)絡(luò)(CNN)中,卷積運算擅長提取局部特征,但難以捕獲全局表征。在visual transformer中,級聯(lián)的自注意模塊可以捕獲遠(yuǎn)距離的特征依賴,但不幸的是會破壞局部特征細(xì)節(jié)。在本文中,我們提出了一種稱為Conformer的混合網(wǎng)絡(luò)結(jié)構(gòu),以利用卷積運算和自注意機(jī)制來增強(qiáng)表征學(xué)習(xí)。一致性源于特征耦合單元(Feature Coupling Unit, FCU),它以交互的方式融合了不同分辨率下的局部特征和全局表征。Conformer采用并行結(jié)構(gòu),最大限度地保留局部特征和全局表示。實驗表明,在參數(shù)復(fù)雜度相當(dāng)?shù)那闆r下,Conformer在ImageNet上的性能比ViT(DeiT-B)高出2.3%。在MSCOCO上,它在目標(biāo)檢測和實例分割方面的性能分別比ResNet-101高出3.7%和3.6%,顯示出作為通用骨干網(wǎng)的巨大潛力。
背景
考慮到CNN與變壓器特征之間的特征偏差,設(shè)計了特征耦合單元(FCU)作為橋接。一方面,為了融合兩種風(fēng)格的特征,FCU利用11卷積來對齊通道尺寸,向下/向上采樣策略來對齊特征分辨率,LayerNorm[2]和BatchNorm[24]來對齊特征值。另一方面,由于CNN和變壓器分支傾向于捕獲不同級別的特征(例如,局部與全局),因此在每個塊中插入FCU,以交互方式連續(xù)消除它們之間的語義分歧。這種融合過程可以極大地增強(qiáng)局部特征的全局感知能力和全局表示的局部細(xì)節(jié)。
Conformer耦合局部特征和全局表示的能力如圖1所示。傳統(tǒng)的CNN (e:g:, ResNet-101)傾向于保留判別性的局部區(qū)域(如:g:,孔雀的頭或尾巴),Conformer的CNN分支可以激活完整的對象范圍,如圖1(b)和(f)。當(dāng)單獨使用視覺變形器時,對于弱的局部特征(如:g:,模糊的對象邊界),很難將對象與背景區(qū)分開來。圖1(c)和(g).局部特征和全局表征的耦合顯著增強(qiáng)了基于變壓器的特征的可分辨性,圖1(d)和(h)。
貢獻(xiàn)
1)我們提出了一種稱為Conformer的雙重網(wǎng)絡(luò)結(jié)構(gòu),它最大程度地保留了局部特征和全局表征。
2)我們提出了特征耦合單元(FCU),以交互方式融合卷積局部特征與基于變壓器的全局表示。
3)在參數(shù)復(fù)雜度相當(dāng)?shù)那闆r下,Conformer的性能明顯優(yōu)于cnn和visual transformer。Conformer繼承了cnn和visual transformer的結(jié)構(gòu)和泛化優(yōu)勢,具有成為通用骨干網(wǎng)的巨大潛力。
相關(guān)工作
1)CNNs with Global Cues
2)Visual Transformers
方法
為了利用局部特征和全局表示,我們設(shè)計了一個并發(fā)網(wǎng)絡(luò)結(jié)構(gòu),如圖2(c)所示,稱為Conformer
在Conformer中,我們連續(xù)地將Transformer分支的全局上下文饋送到特征圖中,以增強(qiáng)CNN分支的全局感知能力。同樣,CNN支路的局部特征被逐步反饋到patch embedding中,以豐富Transformer支路的局部細(xì)節(jié)。這樣一個過程構(gòu)成了相互作用。
具體來說,Conformer由主干模塊(stem module)、雙支路(dual branches)、橋接雙支路的fcu、雙支路的兩個分類器(fc層)組成。
主干模塊是一個7X7卷積與步幅2,然后是3X3最大池與步幅2,用于提取初始的局部特征(如:g:,邊緣和紋理信息),然后被饋送到雙分支。CNN支路和Transformer支路分別由N (eg, 12)個重復(fù)卷積和Transformer塊組成,如表1所示。這種并行結(jié)構(gòu)意味著CNN和變壓器分支可以最大程度地分別保留局部特征和全局表征。FCU被提出作為橋接模塊,將CNN支路中的局部特征與變壓器支路中的全局表示融合在一起,如圖2(b)。FCU從第二個塊應(yīng)用,因為兩個分支的初始化特征是相同的。沿著分支,FCU以交互方式逐步融合特征圖和patch embedding。
最后,對于CNN分支,所有的特征被匯集并饋送到一個分類器。對于Transformer分支,取出類令牌并饋送到另一個分類器。在訓(xùn)練過程中,我們使用兩個交叉熵?fù)p失分別監(jiān)督兩個分類器。損失函數(shù)的重要性被經(jīng)驗地設(shè)定為相同。在推理過程中,兩個分類器的輸出簡單地匯總為預(yù)測結(jié)果。
網(wǎng)絡(luò)結(jié)構(gòu)
CNN Branch
如圖2(b)所示,CNN分支隨著通道數(shù)的增加,特征圖的分辨率隨著網(wǎng)絡(luò)深度的增加而降低。
我們將整個分支分為4個階段,如表1(CNN分支)所示。每個階段由多個卷積塊組成,每個卷積塊包含nc瓶頸。根據(jù)ResNet中的定義[18],瓶頸包含一個1X1向下投影卷積、一個3X3空間卷積、一個1X1向上投影卷積,以及瓶頸輸入和輸出之間的殘差連接。在實驗中,nc在第一個卷積塊中設(shè)為1,在隨后的N-1個卷積塊中滿足≥ 2。
視覺轉(zhuǎn)換器[16,41]通過單步將圖像塊投影到矢量中,導(dǎo)致局部細(xì)節(jié)丟失。而在cnn中,卷積核在重疊的特征映射上滑動,這提供了保留精細(xì)的局部特征的可能性。因此,CNN分支能夠連續(xù)地為變壓器分支提供本地特征細(xì)節(jié)。
Transformer Branch
在ViT[16]之后,該支路包含N個重復(fù)Transformer塊。如圖2(b)所示,每個變壓器塊由一個多頭自關(guān)注模塊和一個MLP塊(包含一個向上投影的fc層和一個向下投影的fc層)組成。layernorm[2]在每一層和自關(guān)注層和MLP塊的剩余連接前應(yīng)用。對于標(biāo)記化,我們將詞干模塊生成的特征映射壓縮為14X14個補(bǔ)丁嵌入沒有重疊,通過一個線性投影層,這是一個4X4卷積,步幅為4。然后對補(bǔ)丁嵌入偽類標(biāo)記進(jìn)行分類??紤]到CNN分支(3X3卷積)既編碼局部特征又編碼空間位置信息[25],因此不再需要位置嵌入。這有助于提高下游視覺任務(wù)的圖像分辨率。
Feature Coupling Unit (FCU)
考慮到CNN支路中的特征映射和變壓器支路中的patch embedding,如何消除它們之間的不對齊是一個重要的問題。為了解決這個問題,我們提出FCU以交互的方式將局部特征與全局表示連續(xù)耦合。
1) 1x1 convolution用來調(diào)整channel的維度也就是C;
2) down/up sampling用來調(diào)整feature的分辨率也就是H和W;3) Batch Norm和Layer Norm用來調(diào)整feature values。
并且,FCU模塊被嵌入到網(wǎng)絡(luò)的每個block中,更好的消除兩種機(jī)制提取到的feature的語義差異.
一方面,我們必須認(rèn)識到CNN和變壓器的特征維數(shù)是不一致的。CNN特征圖的維數(shù)為C H W (C、H、W分別為通道、高度和寬度),patch embedding的形狀為(K + 1) E,其中K、1、E分別表示圖像patch的個數(shù)、類標(biāo)記和嵌入維數(shù)。當(dāng)饋送到Transformer支路時,特征映射首先需要經(jīng)過11次卷積來對齊貼片嵌入的通道號。然后使用下采樣模塊(圖2(A))完成空間維度對齊。最后,對特征映射進(jìn)行補(bǔ)丁嵌入,如圖2(b)所示。當(dāng)從變壓器支路反饋到CNN支路時,需要對貼片嵌入進(jìn)行上采樣(圖2(a))以對齊空間尺度。
一方面,我們必須認(rèn)識到CNN和變壓器的特征維數(shù)是不一致的。CNN特征圖的維數(shù)為CX H XW (C、H、W分別為通道、高度和寬度),patch embedding的形狀為(K + 1)X E,其中K、1、E分別表示圖像patch的個數(shù)、class token和嵌入維數(shù)。
當(dāng)饋送到變壓器支路時,特征映射首先需要經(jīng)過1X1卷積來對齊貼片嵌入的通道號。
然后使用下采樣模塊(圖2(A))完成空間維度對齊。
最后,對特征映射進(jìn)行補(bǔ)丁嵌入,如圖2(b)所示。當(dāng)從變壓器支路反饋到CNN支路時,需要對貼片嵌入進(jìn)行上采樣(圖2(a))以對齊空間尺度。
然后通過1X1卷積將通道維度與CNN特征圖的維度對齊,并添加到特征圖中.
同時,使用LayerNorm和BatchNorm模塊對特征進(jìn)行正則化。
另一方面,特征映射和patch embedding之間存在明顯的語義差距,即特征映射是從局部卷積算子中收集的,而補(bǔ)丁嵌入是通過全局自關(guān)注機(jī)制進(jìn)行聚合的。因此,FCU應(yīng)用于每個塊(除了第一個塊),以逐步填補(bǔ)語義空白。
討論和分析
結(jié)構(gòu)分析
將FCU作為一個短連接,我們可以將所提出的對偶結(jié)構(gòu)抽象為特殊的串行殘差結(jié)構(gòu),如圖3(a)所示。在不同的剩余連接單元下,Conformer可以實現(xiàn)不同深度的bottleneck(如ResNet,圖3(b))和變壓器塊(如ViT,圖3(d))組合,這意味著Conformer繼承了cnn和視覺變壓器的結(jié)構(gòu)優(yōu)勢。此外,它還實現(xiàn)了不同深度的bottleneck和變壓器塊的不同排列,包括但不限于圖3(c)和(e),這大大增強(qiáng)了網(wǎng)絡(luò)的表示能力。
特征分析
我們在圖1中可視化特征圖,在圖4中可視化類激活圖和注意圖。與ResNet[18]相比,Conformer的CNN分支在耦合全局表示的情況下,更傾向于激活更大的區(qū)域,而不是局部區(qū)域,這表明長距離特征依賴性增強(qiáng),這在圖1(f)和4(a)中得到了顯著的證明。由于CNN支路逐步提供了精細(xì)的局部特征,變壓器支路在Conformer中的貼片嵌入保留了重要的詳細(xì)的局部特征(圖1(d)和(h)),這些特征被視覺變壓器[16,41](圖1(c)和(g))破壞了。此外,圖4(b)中的注意區(qū)域更加完整,背景被明顯抑制,這意味著Conformer學(xué)習(xí)到的特征表征具有更高的判別能力。
實驗
模型變量
通過調(diào)整CNN和變壓器支路的參數(shù),我們得到了模型變體,分別稱為- Ti, - s和- b。Conformer-S的詳細(xì)情況見表1,Conformer-Ti/B的詳細(xì)情況見附錄。Conformer-S/32將特征映射分割為7X7個patch, i:e:,在變壓器支路中patch的大小為32X32。
圖像分類
實驗設(shè)置
Conformer在具有1.3M張圖像的ImageNet-1k[14]訓(xùn)練集上進(jìn)行訓(xùn)練,并在驗證集上進(jìn)行測試。Top-1的精度如表2所示。為了使變壓器收斂到合理的性能,我們采用了DeiT[41]中的數(shù)據(jù)增強(qiáng)和正則化技術(shù)。這些技術(shù)包括Mixup[52]、CutMix[51]、erase[54]、Rand- Augment[12]和Stochastic Depth[23])。模型使用AdamW優(yōu)化器[32]訓(xùn)練300 epoch, batchsize 1024, weight decay 0.05。初始學(xué)習(xí)率設(shè)置為0.001,并在余弦調(diào)度中衰減。
表現(xiàn)
在相似的參數(shù)和計算預(yù)算下,表2中,Conformers的表現(xiàn)優(yōu)于CNN和visual transformer。例如,Conformer-S(參數(shù)為3770萬,mac為10.6G)分別比ResNet-152(參數(shù)為6020萬,mac為11.6G)和DeiT-B(參數(shù)為860萬,mac為17.6G)分別高出4.1%(83.4%比78.3%)和1.6%(83.4%比81.8%)。參數(shù)相似且MAC成本適中的Conformer-B優(yōu)于DeiT-B 2.3%(84.1%對81.8%)。除了其優(yōu)越的性能,Conformer收斂速度比視覺變壓器快。、
目標(biāo)檢測和實例分割
為了驗證Conformer的多功能性,我們在MSCOCO數(shù)據(jù)上對其在實例級任務(wù)(例如:g:,對象檢測)和像素級任務(wù)(例如:g:,實例分割)上進(jìn)行了測試[30]。共形器作為主干,無需額外設(shè)計進(jìn)行遷移,相對精度及參數(shù)比較見表2。對于CNN分支,我們可以使用[c2;c3;c4;C5]作為側(cè)輸出,構(gòu)建特征金字塔[29]。
實驗設(shè)置
按照慣例,模型在MSCOCO訓(xùn)練集上進(jìn)行訓(xùn)練,并在MSCOCO最小集上進(jìn)行測試。在表3中,我們分別報告了APbbox (APsegm)、APbbox S (APsegm S)、APbbox M (APsegm M)和APbbox L (APsegm L)的平均超過IoU閾值、box (mask)的小、中、大對象。除非明確指定,否則我們使用批大小為32,學(xué)習(xí)率為0.0002,優(yōu)化器AdamW[32],權(quán)重衰減為0.0001,最大epoch為12。學(xué)習(xí)率在第8和第11歷元時衰減一個數(shù)量級。
表現(xiàn)
如表3所示,Conformer顯著提高APbbox和APsegm。對于目標(biāo)檢測,Conformer-S/32的mAP (55.4 M & 288.4 GFLOPs)比FPN基線(ResNet-101, 60.5 M & 295.7 GFLOPs)高3.7%。以分割為例,Conformer-S/32的mAP (58.1M & 341.4 GFLOPs)比Mask R-CNN基線(ResNet-101, 63.2 M & 348.8 GFLOPs)高3.6%。這證明了全局表示對于高級任務(wù)和建議的重要性
實驗結(jié)果
?
消融實驗
?