來(lái)自清華大學(xué)和Meta AI 的研究者證明了視覺(jué) Transformer 的關(guān)鍵,即輸入自適應(yīng)、長(zhǎng)程和高階空間交互,也可以通過(guò)基于卷積的框架有效實(shí)現(xiàn)。
視覺(jué) Transformer 的最新進(jìn)展表明,在基于點(diǎn)積自注意力的新空間建模機(jī)制驅(qū)動(dòng)的各種任務(wù)中取得了巨大成功。在本文中,來(lái)自清華大學(xué)和 Meta AI 的研究者證明了視覺(jué) Transformer 背后的關(guān)鍵成分,即輸入自適應(yīng)、長(zhǎng)程和高階空間交互,也可以通過(guò)基于卷積的框架有效實(shí)現(xiàn)。作者提出了遞歸門(mén)卷積(),它用門(mén)卷積和遞歸設(shè)計(jì)進(jìn)行高階空間交互。新操作具有高度靈活性和可定制性,與卷積的各種變體兼容,并將自注意力中的二階交互擴(kuò)展到任意階,而不引入顯著的額外計(jì)算。 ? 可以作為一個(gè)即插即用模塊來(lái)改進(jìn)各種視覺(jué) Transformer 和基于卷積的模型?;谠摬僮?,作者構(gòu)建了一個(gè)新的通用視覺(jué)主干族,名為 HorNet。在 ImageNet 分類(lèi)、COCO 對(duì)象檢測(cè)和 ADE20K 語(yǔ)義分割方面的大量實(shí)驗(yàn)表明,HorNet 在總體架構(gòu)和訓(xùn)練配置相似的情況下,優(yōu)于 Swin Transformers 和 ConvNeXt。HorNet 還顯示出良好的可擴(kuò)展性,以獲得更多的訓(xùn)練數(shù)據(jù)和更大的模型尺寸。除了在視覺(jué)編碼器中的有效性外,作者還表明可以應(yīng)用于任務(wù)特定的解碼器,并以較少的計(jì)算量持續(xù)提高密集預(yù)測(cè)性能。本文的結(jié)果表明,可以作為一個(gè)新的視覺(jué)建?;灸K,有效地結(jié)合了視覺(jué) Transformer 和 CNN 的優(yōu)點(diǎn)。 ?
1. Motivation 自 AlexNet 在過(guò)去十年中引入以來(lái),卷積神經(jīng)網(wǎng)絡(luò)(CNN)在深度學(xué)習(xí)和計(jì)算視覺(jué)方面取得了顯著進(jìn)展。CNN 有許多優(yōu)良的特性,使其自然適用于廣泛的視覺(jué)應(yīng)用。平移等變性為主要視覺(jué)任務(wù)引入了有用的歸納偏差,并實(shí)現(xiàn)了不同輸入分辨率之間的可傳遞性。高度優(yōu)化的實(shí)現(xiàn)使其在高性能 GPU 和邊緣設(shè)備上都非常有效。架構(gòu)的演變進(jìn)一步增加了其在各種視覺(jué)任務(wù)中的受歡迎程度。 基于 Transformer 的架構(gòu)的出現(xiàn)極大地挑戰(zhàn)了 CNN 的主導(dǎo)地位。通過(guò)將 CNN 架構(gòu)中的一些成功設(shè)計(jì)與新的自注意力機(jī)制相結(jié)合,視覺(jué) Transformer 在各種視覺(jué)任務(wù)上表現(xiàn)出領(lǐng)先的性能,如圖像分類(lèi)、物體檢測(cè)、語(yǔ)義分割和視頻理解。是什么讓視覺(jué) Transformer 比 CNN 更強(qiáng)大?通過(guò)學(xué)習(xí)視覺(jué) Transformer 方面的新設(shè)計(jì),已經(jīng)做出了一些努力來(lái)改進(jìn) CNN 架構(gòu)。然而,目前工作尚未從高階空間交互的角度分析點(diǎn)積自注意力在視覺(jué)任務(wù)中的有效性。 雖然由于非線性,深度模型中的兩個(gè)空間位置之間存在復(fù)雜且通常高階的交互,但自注意力和其他動(dòng)態(tài)網(wǎng)絡(luò)的成功表明,結(jié)構(gòu)設(shè)計(jì)引入的顯式和高階空間交互有利于提高視覺(jué)模型的建模能力。如上圖所示,普通卷積運(yùn)算沒(méi)有明確考慮空間位置(即紅色特征)及其相鄰區(qū)域(即淺灰色區(qū)域)之間的空間交互。增強(qiáng)卷積運(yùn)算,如動(dòng)態(tài)卷積,通過(guò)生成動(dòng)態(tài)權(quán)重引入顯式空間交互。Transformers 中的點(diǎn)積自注意力操作由兩個(gè)連續(xù)的空間交互組成,通過(guò)在查詢(xún)、鍵和值之間執(zhí)行矩陣乘法。視覺(jué)建?;静僮鞯内厔?shì)表明,可以通過(guò)增加空間交互的順序來(lái)提高網(wǎng)絡(luò)容量。 在本文中,作者總結(jié)了視覺(jué) Transformers 成功背后的關(guān)鍵因素是通過(guò)自注意力操作實(shí)現(xiàn)輸入自適應(yīng)、遠(yuǎn)程和高階空間交互的空間建模新方法。雖然之前的工作已經(jīng)成功地將元架構(gòu)、輸入自適應(yīng)權(quán)重生成策略和視覺(jué) Transformers 的大范圍建模能力遷移到 CNN 模型,但尚未研究高階空間交互機(jī)制。作者表明,使用基于卷積的框架可以有效地實(shí)現(xiàn)所有三個(gè)關(guān)鍵要素。作者提出了遞歸門(mén)卷積(g nConv),它與門(mén)卷積和遞歸設(shè)計(jì)進(jìn)行高階空間交互。與簡(jiǎn)單地模仿自注意力中的成功設(shè)計(jì)不同,g n Conv 有幾個(gè)額外的優(yōu)點(diǎn):1)效率?;诰矸e的實(shí)現(xiàn)避免了自注意力的二次復(fù)雜度。在執(zhí)行空間交互期間逐步增加通道寬度的設(shè)計(jì)也使能夠?qū)崿F(xiàn)具有有限復(fù)雜性的高階交互;2) 可擴(kuò)展。將自注意力中的二階交互擴(kuò)展到任意階,以進(jìn)一步提高建模能力。由于沒(méi)有對(duì)空間卷積的類(lèi)型進(jìn)行假設(shè),與各種核大小和空間混合策略兼容;3) 平移等變性。完全繼承了標(biāo)準(zhǔn)卷積的平移等變性,這為主要視覺(jué)引入了有益的歸納偏置。 ? 基于,作者構(gòu)建了一個(gè)新的通用視覺(jué)主干族,名為 HorNet。作者在 ImageNet 分類(lèi)、COCO 對(duì)象檢測(cè)和 ADE20K 語(yǔ)義分割上進(jìn)行了大量實(shí)驗(yàn),以驗(yàn)證本文模型的有效性。憑借相同的 7×7 卷積核 / 窗口和類(lèi)似的整體架構(gòu)和訓(xùn)練配置,HorNet 優(yōu)于 Swin 和 ConvNeXt 在不同復(fù)雜度的所有任務(wù)上都有很大的優(yōu)勢(shì)。通過(guò)使用全局卷積核大小,可以進(jìn)一步擴(kuò)大差距。HorNet 還顯示出良好的可擴(kuò)展性,可以擴(kuò)展到更多的訓(xùn)練數(shù)據(jù)和更大的模型尺寸,在 ImageNet 上達(dá)到 87.7% 的 top-1 精度,在 ADE20K val 上達(dá)到 54.6% 的 mIoU,在 COCO val 上通過(guò) ImageNet-22K 預(yù)訓(xùn)練達(dá)到 55.8% 的邊界框 AP。除了在視覺(jué)編碼器中應(yīng)用外,作者還進(jìn)一步測(cè)試了在任務(wù)特定解碼器上設(shè)計(jì)的通用性。通過(guò)將添加到廣泛使用的特征融合模型 FPN,作者開(kāi)發(fā)了 HorFPN 來(lái)建模不同層次特征的高階空間關(guān)系。作者觀察到,HorFPN 還可以以較低的計(jì)算成本持續(xù)改進(jìn)各種密集預(yù)測(cè)模型。結(jié)果表明,是一種很有前景的視覺(jué)建模方法,可以有效地結(jié)合視覺(jué) Transofrmer 和 CNN 的優(yōu)點(diǎn)。 ? 2. 方法 2.1 gnConv: Recursive Gated Convolutions 在本節(jié)中,將介紹 g n Conv,這是一種實(shí)現(xiàn)長(zhǎng)期和高階空間相互作用的有效操作。g n Conv 由標(biāo)準(zhǔn)卷積、線性投影和元素乘法構(gòu)建,但具有與自注意力類(lèi)似的輸入自適應(yīng)空間混合功能。 Input-adaptive interactions with gated convolution 視覺(jué) Transformer 最近的成功主要取決于視覺(jué)數(shù)據(jù)中空間交互的正確建模。與只需使用靜態(tài)卷積核來(lái)聚合相鄰特征的 CNN 不同,視覺(jué) Transformer 應(yīng)用多頭自注意力動(dòng)態(tài)生成權(quán)重以混合空間 token。然而,二次復(fù)雜度在很大程度上阻礙了視覺(jué) Transformer 的應(yīng)用,尤其是在下游任務(wù)中,包括需要更高分辨率特征圖的分割和檢測(cè)。在這項(xiàng)工作中,作者沒(méi)有像以前的方法那樣降低自注意力的復(fù)雜性,而是尋求一種更有效的方法,通過(guò)卷積和完全連接層等簡(jiǎn)單操作來(lái)執(zhí)行空間交互。 本文方法的基本操作是門(mén)卷積(gConv)。是輸入特征,門(mén)卷積的輸出可以寫(xiě)成:??
其中,是執(zhí)行通道混合的線性投影層,f 是深度卷積。,其中是以 i 為中心的局部窗口,w 表示 f 的卷積權(quán)重。因此,上述公式通過(guò)元素乘法明確引入了相鄰特征和之間的相互作用。作者將 gConv 中的相互作用視為一階相互作用,因?yàn)槊總€(gè)僅與其相鄰特征相互作用一次。 ? High-order interactions with recursive gating ? 在與 gConv 實(shí)現(xiàn)有效的 1 階空間相互作用后,作者設(shè)計(jì)了,這是一種遞歸門(mén)卷積,通過(guò)引入高階相互作用來(lái)進(jìn)一步增強(qiáng)模型容量。形式上,首先使用獲得一組投影特征和: ?
然后,作者通過(guò)以下方式遞歸執(zhí)行 gating 卷積:
其中,將輸出縮放 1/α 以穩(wěn)定訓(xùn)練。是一組深度卷積層,用于按不同階匹配維數(shù)。 ?
最后,作者將最后一個(gè)遞歸步驟的輸出饋送到投影層,以獲得的結(jié)果。從遞歸公式方程可以很容易地看出,的交互階在每一步后將增加 1。因此,可以看到,實(shí)現(xiàn)了 n 階空間相互作用。還值得注意的是,只需要一個(gè) f 來(lái)執(zhí)行深度卷積,以串聯(lián)特征,而不是像上面等式中那樣計(jì)算每個(gè)遞歸步驟中的卷積,這可以進(jìn)一步簡(jiǎn)化實(shí)現(xiàn)并提高 GPU 的效率。為了確保高階交互不會(huì)引入太多計(jì)算開(kāi)銷(xiāo),作者將每個(gè)階中的通道維度設(shè)置為:
該設(shè)計(jì)表明,以從粗到細(xì)的方式執(zhí)行交互,其中較低的階數(shù)是用較少的通道計(jì)算的。此外,的通道維數(shù)正好為 2C,即使 n 增加,總的浮點(diǎn)也可以嚴(yán)格有界。 ?
其中 K 是深度卷積的核大小。因此,以與卷積層類(lèi)似的計(jì)算成本實(shí)現(xiàn)高階交互。 ? Long-term interactions with large kernel convolutions ? 視覺(jué) Transformer 和傳統(tǒng) CNN 的另一個(gè)區(qū)別是感受野。傳統(tǒng)的 CNN 通常在整個(gè)網(wǎng)絡(luò)中使用 3×3 卷積,而視覺(jué) Transformer 在整個(gè)特征圖上或在相對(duì)較大的局部窗口(例如 7×7)內(nèi)計(jì)算自注意力。視覺(jué) Transformer 中的感受野可以更容易地捕捉長(zhǎng)期依賴(lài)關(guān)系,這也是公認(rèn)的視覺(jué) Transformer 的關(guān)鍵優(yōu)勢(shì)之一。受這種設(shè)計(jì)的啟發(fā),最近有一些努力將大型內(nèi)核卷積引入 CNN。為了使能夠捕捉長(zhǎng)期交互,作者采用了兩種深度卷積 f 實(shí)現(xiàn): ? 1)7×7 卷積。7×7 是 Swin Transformers 和 ConvNext 的默認(rèn)窗口 / 內(nèi)核大小。[研究表明,內(nèi)核大小在 ImageNet 分類(lèi)和各種下游任務(wù)上具有良好的性能。作者遵循此配置,與視覺(jué) Transformers 和現(xiàn)代 CNN 的代表性工作進(jìn)行了公平比較。 ? 2)全局濾波器(GF)。GF 層將頻域特征與可學(xué)習(xí)的全局濾波器相乘,這相當(dāng)于具有全局核大小和圓形填充的空域卷積。通過(guò)使用全局濾波器處理一半通道和使用 3×3 深度卷積處理另一半通道來(lái)使用 GF 層的修改版本,并且僅在后期使用 GF 層來(lái)保留更多的局部細(xì)節(jié)。 ? Spatial interactions in vision models ? 作者從空間交互的角度回顧了一些有代表性的視覺(jué)模型設(shè)計(jì)。具體地說(shuō),作者對(duì)特征 x_i 與其相鄰特征之間的相互作用感興趣。視覺(jué) Transformer 和以前架構(gòu)之間的關(guān)鍵區(qū)別,即視覺(jué) Transformer 在每個(gè)基本塊中具有高階空間交互。這一結(jié)果啟發(fā)作者探索一種能夠以?xún)蓚€(gè)以上階數(shù)實(shí)現(xiàn)更高效和有效空間交互的架構(gòu)。如上所述,作者提出的可以實(shí)現(xiàn)復(fù)雜度有界的任意階交互。還值得注意的是,與深度模型(如寬度和深度)中的其他比例因子類(lèi)似,在不考慮整體模型容量的情況下簡(jiǎn)單地增加空間交互的順序?qū)⒉粫?huì)導(dǎo)致良好的權(quán)衡。在本文中,作者致力于在分析精心設(shè)計(jì)的模型的空間交互階數(shù)的基礎(chǔ)上,開(kāi)發(fā)一種更強(qiáng)大的視覺(jué)建模架構(gòu)。對(duì)高階空間相互作用進(jìn)行更深入和正式的討論可能是未來(lái)的一個(gè)重要方向。
Relation to dot-product self-attention 盡管本文的的計(jì)算與點(diǎn)積自注意有很大差異,但作者將證明也實(shí)現(xiàn)了輸入自適應(yīng)空間混合的目標(biāo)。假設(shè) M 是通過(guò)多頭自注意力(MHSA)獲得的注意力矩陣,將 M 寫(xiě)為(),因?yàn)榛旌蠙?quán)重可能在通道中變化。位置 i 處第 c 個(gè)通道的空間混合結(jié)果(在最終通道混合投影之前)為: ?
其中,w_V 是 V 投影層的權(quán)重。注意,通過(guò)點(diǎn)積運(yùn)算獲得的m_ij包含一階相互作用。另一方面,的輸出(在之前)可以寫(xiě)成:
下圖總結(jié)了的細(xì)節(jié)實(shí)現(xiàn): ?
2.2 Model Architectures HorNet 可以替代視覺(jué) Transformer 或現(xiàn)代 CNN 中的空間混合層。作者遵循與以前的元架構(gòu)來(lái)構(gòu)建 HorNet,其中基本塊包含空間混合層和前饋網(wǎng)絡(luò)(FFN)。根據(jù)模型大小和深度卷積 f_k 的實(shí)現(xiàn),有兩個(gè)模型變體系列,分別命名為 HorNet-T/S/B/L 7×7 和 HorNet-T/S/B/L GF。作者將流行的 Swin Transformer 和 ConvNeXt 視為視覺(jué) Transformer 和 CNN 基線,因?yàn)楸疚牡哪P褪腔诰矸e框架實(shí)現(xiàn)的,同時(shí)具有像視覺(jué) Transformer 一樣的高階交互。為了與基線進(jìn)行公平比較,作者直接遵循 Swin Transformers-S/B/L 的塊數(shù),但在第 2 階段插入一個(gè)額外的塊,以使整體復(fù)雜度接近,從而在所有模型變體的每個(gè)階段中產(chǎn)生 [2、3、18、2] 個(gè)塊。只需調(diào)整通道 C 的基本數(shù)量,以構(gòu)建不同大小的模型,并按照慣例將 4 個(gè)階段的通道數(shù)量設(shè)置為[C、2C、4C、8C]。對(duì)于 HorNet-T/S/B/L,分別使用 C=64、96、128、192。默認(rèn)情況下,將每個(gè)階段的交互順序(即中的 n)設(shè)置為 2,3,4,5,這樣最粗階C_0的通道在不同階段中是相同的。 ? HorFPN ? 除了在視覺(jué)編碼器中使用之外,作者發(fā)現(xiàn)本文的可以是標(biāo)準(zhǔn)卷積的增強(qiáng)替代方案,該方案考慮了基于卷積的各種模型中的高階空間相互作用。因此,替換 FPN 中用于特征融合的空間卷積,以改善下游任務(wù)的空間交互。具體來(lái)說(shuō),作者在融合不同金字塔級(jí)別的特征后添加了。對(duì)于目標(biāo)檢測(cè),作者在每個(gè)級(jí)別用 替換自頂向下路徑后的 3×3 卷積。對(duì)于語(yǔ)義分割,作者簡(jiǎn)單地將多階特征映射串聯(lián)后的 3×3 卷積替換為,因?yàn)樽罱K結(jié)果直接從該串聯(lián)特征預(yù)測(cè)。作者同樣提供了兩個(gè)實(shí)現(xiàn),稱(chēng)為 HorFPN 7×7 和 HorFPN GF,由f_k的選擇決定。 ? 3. 實(shí)驗(yàn)
ImageNet 分類(lèi)實(shí)驗(yàn)結(jié)果總結(jié)在上表中。本文的模型通過(guò)最先進(jìn)的視覺(jué) Transformer 和 CNNs 實(shí)現(xiàn)了非常有競(jìng)爭(zhēng)力的性能。值得注意的是,HorNet 超越了 Swin Transformers 和 ConvNeXt,它們?cè)诟鞣N模型尺寸和設(shè)置上都具有相似的整體架構(gòu)和訓(xùn)練配置。
作者使用常用的 UperNet 框架評(píng)估了 ADE20K 數(shù)據(jù)集上的 HorNet 語(yǔ)義分割任務(wù)。所有模型都使用 AdamW 優(yōu)化器訓(xùn)練 160k 次迭代,全局 batch 處理大小為 16。訓(xùn)練期間的圖像大小對(duì)于 ImagNet-1k (HorNet-T/S/B) 預(yù)訓(xùn)練模型為 512 × 512,對(duì)于 ImageNet-22K 預(yù)訓(xùn)練模型 (HorNet-L) 為 640 × 640。結(jié)果總結(jié)在上表的左側(cè)部分,其中報(bào)告了驗(yàn)證集上的單尺度 (SS) 和多尺度 (MS) mIoU。作者還在 COCO 數(shù)據(jù)集上評(píng)估了本文的模型。作者采用級(jí)聯(lián) Mask R-CNN 框架使用 HorNet-T/S/B/L 主干進(jìn)行對(duì)象檢測(cè)和實(shí)例分割。繼 Swin 和 ConvNeXt 之后,作者使用了具有多尺度訓(xùn)練的 3× schedule。上表的右側(cè)部分比較了本文的 HorNet 模型和 Swin/ConvNeXt 模型的 box AP 和 mask AP。
作者現(xiàn)在展示了所提出的的另一個(gè)應(yīng)用,即作為更好的融合模塊,可以更好地捕獲密集預(yù)測(cè)任務(wù)中不同級(jí)別特征之間的高階交互。具體而言,作者直接修改了分別用于語(yǔ)義分割和對(duì)象檢測(cè)的 FPN,如 SuperNet 和 Mask R-CNN。在上表中顯示了結(jié)果,其中作者比較了本文的 HorFPN 和標(biāo)準(zhǔn) FPN 在不同主干上的性能,包括 ResNet-50/101、Swin-S 和 HorNet-S 7×7。對(duì)于語(yǔ)義分割,作者發(fā)現(xiàn) HorFPN 可以顯著減少 FLOPs(~50%),同時(shí)實(shí)現(xiàn)更好的 mIoU。 ?
上表展示了本文方法的消融實(shí)驗(yàn)結(jié)果。
上圖展示了 Swin、ConvNeXt 和 HorNet 的權(quán)衡比較。 4. 總結(jié) 作者提出了遞歸門(mén)卷積(),它與門(mén)卷積和遞歸設(shè)計(jì)進(jìn)行有效、可擴(kuò)展和平移等變的高階空間交互。在各種視覺(jué) Transformer 和基于卷積的模型中,可以作為空間混合層的替代品。在此基礎(chǔ)上,作者構(gòu)建了一個(gè)新的通用視覺(jué)骨干 HorNet 家族。大量實(shí)驗(yàn)證明了和 HorNet 在常用視覺(jué)識(shí)別基準(zhǔn)上的有效性。 ? 最后筆者已經(jīng)將 HorNet 網(wǎng)絡(luò)代碼 匯總整理在以下 Github 庫(kù)中,地址為: https://github.com/xmu-xiaoma666/External-Attention-pytorch ? 該庫(kù)是一個(gè)面向小白的頂會(huì)論文核心代碼庫(kù)。里面匯總諸多頂會(huì)論文核心代碼,包括 Attention、Self-Attention、Backbone、MLP、Conv 等。 5. 將 HorNet 結(jié)合 YOLOv5 模型應(yīng)用 YOLOAir 庫(kù)中 已經(jīng)將 HorNet 網(wǎng)絡(luò)應(yīng)用在 YOLO 模型中,分別以下三種方式與 YOLOv5 模型 結(jié)合: 1. 在 YOLOv5 中 使用 gnconv 模塊示例 2. 在 YOLOv5 中 使用 HorBlock 模塊示例 3. 在 YOLOv5 中 使用 HorNet 主干網(wǎng)絡(luò)示例
-
神經(jīng)網(wǎng)絡(luò)
+關(guān)注
關(guān)注
42文章
4733瀏覽量
100417 -
深度學(xué)習(xí)
+關(guān)注
關(guān)注
73文章
5463瀏覽量
120890 -
Transformer
+關(guān)注
關(guān)注
0文章
139瀏覽量
5968
原文標(biāo)題:ECCV 2022 | 清華&Meta提出HorNet,用遞歸門(mén)控卷積進(jìn)行高階空間相互作用
文章出處:【微信號(hào):CVSCHOOL,微信公眾號(hào):OpenCV學(xué)堂】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論