博客專欄

EEPW首頁 > 博客 > ECCV 2022 | 清華&Meta提出HorNet,用遞歸門控卷積進行高階空間相互作用

ECCV 2022 | 清華&Meta提出HorNet,用遞歸門控卷積進行高階空間相互作用

發(fā)布人:計算機視覺工坊 時間:2022-09-17 來源:工程師 發(fā)布文章
來源丨機器之心

來自清華大學(xué)和 Meta AI 的研究者證明了視覺 Transformer 的關(guān)鍵,即輸入自適應(yīng)、長程和高階空間交互,也可以通過基于卷積的框架有效實現(xiàn)。


視覺 Transformer 的最新進展表明,在基于點積自注意力的新空間建模機制驅(qū)動的各種任務(wù)中取得了巨大成功。在本文中,來自清華大學(xué)和 Meta AI 的研究者證明了視覺 Transformer 背后的關(guān)鍵成分,即輸入自適應(yīng)、長程和高階空間交互,也可以通過基于卷積的框架有效實現(xiàn)。作者提出了遞歸門卷積(圖片),它用門卷積和遞歸設(shè)計進行高階空間交互。新操作具有高度靈活性和可定制性,與卷積的各種變體兼容,并將自注意力中的二階交互擴展到任意階,而不引入顯著的額外計算。
圖片可以作為一個即插即用模塊來改進各種視覺 Transformer 和基于卷積的模型?;谠摬僮?,作者構(gòu)建了一個新的通用視覺主干族,名為 HorNet。在 ImageNet 分類、COCO 對象檢測和 ADE20K 語義分割方面的大量實驗表明,HorNet 在總體架構(gòu)和訓(xùn)練配置相似的情況下,優(yōu)于 Swin Transformers 和 ConvNeXt。HorNet 還顯示出良好的可擴展性,以獲得更多的訓(xùn)練數(shù)據(jù)和更大的模型尺寸。除了在視覺編碼器中的有效性外,作者還表明圖片可以應(yīng)用于任務(wù)特定的****,并以較少的計算量持續(xù)提高密集預(yù)測性能。本文的結(jié)果表明,圖片可以作為一個新的視覺建模基本模塊,有效地結(jié)合了視覺 Transformer 和 CNN 的優(yōu)點。

圖片


  • 論文地址:https://arxiv.org/abs/2207.14284
  • 代碼地址:https://github.com/raoyongming/HorNet


1. Motivation
自 AlexNet 在過去十年中引入以來,卷積神經(jīng)網(wǎng)絡(luò)(CNN)在深度學(xué)習(xí)和計算視覺方面取得了顯著進展。CNN 有許多優(yōu)良的特性,使其自然適用于廣泛的視覺應(yīng)用。平移等變性為主要視覺任務(wù)引入了有用的歸納偏差,并實現(xiàn)了不同輸入分辨率之間的可傳遞性。高度優(yōu)化的實現(xiàn)使其在高性能 GPU 和邊緣設(shè)備上都非常有效。架構(gòu)的演變進一步增加了其在各種視覺任務(wù)中的受歡迎程度。
基于 Transformer 的架構(gòu)的出現(xiàn)極大地挑戰(zhàn)了 CNN 的主導(dǎo)地位。通過將 CNN 架構(gòu)中的一些成功設(shè)計與新的自注意力機制相結(jié)合,視覺 Transformer 在各種視覺任務(wù)上表現(xiàn)出領(lǐng)先的性能,如圖像分類、物體檢測、語義分割和視頻理解。是什么讓視覺 Transformer 比 CNN 更強大?通過學(xué)習(xí)視覺 Transformer 方面的新設(shè)計,已經(jīng)做出了一些努力來改進 CNN 架構(gòu)。然而,目前工作尚未從高階空間交互的角度分析點積自注意力在視覺任務(wù)中的有效性。
雖然由于非線性,深度模型中的兩個空間位置之間存在復(fù)雜且通常高階的交互,但自注意力和其他動態(tài)網(wǎng)絡(luò)的成功表明,結(jié)構(gòu)設(shè)計引入的顯式和高階空間交互有利于提高視覺模型的建模能力。如上圖所示,普通卷積運算沒有明確考慮空間位置(即紅色特征)及其相鄰區(qū)域(即淺灰色區(qū)域)之間的空間交互。增強卷積運算,如動態(tài)卷積,通過生成動態(tài)權(quán)重引入顯式空間交互。Transformers 中的點積自注意力操作由兩個連續(xù)的空間交互組成,通過在查詢、鍵和值之間執(zhí)行矩陣乘法。視覺建?;静僮鞯内厔荼砻鳎梢酝ㄟ^增加空間交互的順序來提高網(wǎng)絡(luò)容量。
在本文中,作者總結(jié)了視覺 Transformers 成功背后的關(guān)鍵因素是通過自注意力操作實現(xiàn)輸入自適應(yīng)、遠(yuǎn)程和高階空間交互的空間建模新方法。雖然之前的工作已經(jīng)成功地將元架構(gòu)、輸入自適應(yīng)權(quán)重生成策略和視覺 Transformers 的大范圍建模能力遷移到 CNN 模型,但尚未研究高階空間交互機制。作者表明,使用基于卷積的框架可以有效地實現(xiàn)所有三個關(guān)鍵要素。作者提出了遞歸門卷積(g nConv),它與門卷積和遞歸設(shè)計進行高階空間交互。與簡單地模仿自注意力中的成功設(shè)計不同,g n Conv 有幾個額外的優(yōu)點:1)效率?;诰矸e的實現(xiàn)避免了自注意力的二次復(fù)雜度。在執(zhí)行空間交互期間逐步增加通道寬度的設(shè)計也使能夠?qū)崿F(xiàn)具有有限復(fù)雜性的高階交互;2) 可擴展。將自注意力中的二階交互擴展到任意階,以進一步提高建模能力。由于沒有對空間卷積的類型進行假設(shè),圖片與各種核大小和空間混合策略兼容;3) 平移等變性。圖片完全繼承了標(biāo)準(zhǔn)卷積的平移等變性,這為主要視覺引入了有益的歸納偏置。
基于圖片,作者構(gòu)建了一個新的通用視覺主干族,名為 HorNet。作者在 ImageNet 分類、COCO 對象檢測和 ADE20K 語義分割上進行了大量實驗,以驗證本文模型的有效性。憑借相同的 7×7 卷積核 / 窗口和類似的整體架構(gòu)和訓(xùn)練配置,HorNet 優(yōu)于 Swin 和 ConvNeXt 在不同復(fù)雜度的所有任務(wù)上都有很大的優(yōu)勢。通過使用全局卷積核大小,可以進一步擴大差距。HorNet 還顯示出良好的可擴展性,可以擴展到更多的訓(xùn)練數(shù)據(jù)和更大的模型尺寸,在 ImageNet 上達到 87.7% 的 top-1 精度,在 ADE20K val 上達到 54.6% 的 mIoU,在 COCO val 上通過 ImageNet-22K 預(yù)訓(xùn)練達到 55.8% 的邊界框 AP。除了在視覺編碼器中應(yīng)用圖片外,作者還進一步測試了在任務(wù)特定****上設(shè)計的通用性。通過將圖片添加到廣泛使用的特征融合模型 FPN,作者開發(fā)了 HorFPN 來建模不同層次特征的高階空間關(guān)系。作者觀察到,HorFPN 還可以以較低的計算成本持續(xù)改進各種密集預(yù)測模型。結(jié)果表明,圖片是一種很有前景的視覺建模方法,可以有效地結(jié)合視覺 Transofrmer 和 CNN 的優(yōu)點。
2. 方法
2.1 gnConv: Recursive Gated Convolutions 在本節(jié)中,將介紹 g n Conv,這是一種實現(xiàn)長期和高階空間相互作用的有效操作。g n Conv 由標(biāo)準(zhǔn)卷積、線性投影和元素乘法構(gòu)建,但具有與自注意力類似的輸入自適應(yīng)空間混合功能。
Input-adaptive interactions with gated convolution
視覺 Transformer 最近的成功主要取決于視覺數(shù)據(jù)中空間交互的正確建模。與只需使用靜態(tài)卷積核來聚合相鄰特征的 CNN 不同,視覺 Transformer 應(yīng)用多頭自注意力動態(tài)生成權(quán)重以混合空間 token。然而,二次復(fù)雜度在很大程度上阻礙了視覺 Transformer 的應(yīng)用,尤其是在下游任務(wù)中,包括需要更高分辨率特征圖的分割和檢測。在這項工作中,作者沒有像以前的方法那樣降低自注意力的復(fù)雜性,而是尋求一種更有效的方法,通過卷積和完全連接層等簡單操作來執(zhí)行空間交互。
本文方法的基本操作是門卷積(gConv)。圖片是輸入特征,門卷積的輸出圖片可以寫成:

圖片


圖片


其中圖片圖片是執(zhí)行通道混合的線性投影層,f 是深度卷積。圖片,其中圖片是以 i 為中心的局部窗口,w 表示 f 的卷積權(quán)重。因此,上述公式通過元素乘法明確引入了相鄰特征圖片圖片之間的相互作用。作者將 gConv 中的相互作用視為一階相互作用,因為每個圖片僅與其相鄰特征圖片相互作用一次。
High-order interactions with recursive gating
在與 gConv 實現(xiàn)有效的 1 階空間相互作用后,作者設(shè)計了圖片,這是一種遞歸門卷積,通過引入高階相互作用來進一步增強模型容量。形式上,首先使用圖片獲得一組投影特征圖片圖片

圖片


然后,作者通過以下方式遞歸執(zhí)行 gating 卷積:


圖片


其中,將輸出縮放 1/α 以穩(wěn)定訓(xùn)練。圖片是一組深度卷積層,圖片用于按不同階匹配維數(shù)。

圖片


最后,作者將最后一個遞歸步驟圖片的輸出饋送到投影層圖片,以獲得圖片的結(jié)果。從遞歸公式方程可以很容易地看出,圖片的交互階在每一步后將增加 1。因此,可以看到,圖片實現(xiàn)了 n 階空間相互作用。還值得注意的是,只需要一個 f 來執(zhí)行深度卷積,以串聯(lián)特征圖片,而不是像上面等式中那樣計算每個遞歸步驟中的卷積,這可以進一步簡化實現(xiàn)并提高 GPU 的效率。為了確保高階交互不會引入太多計算開銷,作者將每個階中的通道維度設(shè)置為:


圖片


該設(shè)計表明,以從粗到細(xì)的方式執(zhí)行交互,其中較低的階數(shù)是用較少的通道計算的。此外,圖片的通道維數(shù)正好為 2C,即使 n 增加,總的浮點也可以嚴(yán)格有界。

圖片


其中 K 是深度卷積的核大小。因此,圖片以與卷積層類似的計算成本實現(xiàn)高階交互。
Long-term interactions with large kernel convolutions
視覺 Transformer 和傳統(tǒng) CNN 的另一個區(qū)別是感受野。傳統(tǒng)的 CNN 通常在整個網(wǎng)絡(luò)中使用 3×3 卷積,而視覺 Transformer 在整個特征圖上或在相對較大的局部窗口(例如 7×7)內(nèi)計算自注意力。視覺 Transformer 中的感受野可以更容易地捕捉長期依賴關(guān)系,這也是公認(rèn)的視覺 Transformer 的關(guān)鍵優(yōu)勢之一。受這種設(shè)計的啟發(fā),最近有一些努力將大型內(nèi)核卷積引入 CNN。為了使圖片能夠捕捉長期交互,作者采用了兩種深度卷積 f 實現(xiàn):
1)7×7 卷積。7×7 是 Swin Transformers 和 ConvNext 的默認(rèn)窗口 / 內(nèi)核大小。[研究表明,內(nèi)核大小在 ImageNet 分類和各種下游任務(wù)上具有良好的性能。作者遵循此配置,與視覺 Transformers 和現(xiàn)代 CNN 的代表性工作進行了公平比較。
2)全局濾波器(GF)。GF 層將頻域特征與可學(xué)習(xí)的全局濾波器相乘,這相當(dāng)于具有全局核大小和圓形填充的空域卷積。通過使用全局濾波器處理一半通道和使用 3×3 深度卷積處理另一半通道來使用 GF 層的修改版本,并且僅在后期使用 GF 層來保留更多的局部細(xì)節(jié)。
Spatial interactions in vision models
作者從空間交互的角度回顧了一些有代表性的視覺模型設(shè)計。具體地說,作者對特征 x_i 與其相鄰特征圖片之間的相互作用感興趣。視覺 Transformer 和以前架構(gòu)之間的關(guān)鍵區(qū)別,即視覺 Transformer 在每個基本塊中具有高階空間交互。這一結(jié)果啟發(fā)作者探索一種能夠以兩個以上階數(shù)實現(xiàn)更高效和有效空間交互的架構(gòu)。如上所述,作者提出的圖片可以實現(xiàn)復(fù)雜度有界的任意階交互。還值得注意的是,與深度模型(如寬度和深度)中的其他比例因子類似,在不考慮整體模型容量的情況下簡單地增加空間交互的順序?qū)⒉粫?dǎo)致良好的權(quán)衡。在本文中,作者致力于在分析精心設(shè)計的模型的空間交互階數(shù)的基礎(chǔ)上,開發(fā)一種更強大的視覺建模架構(gòu)。對高階空間相互作用進行更深入和正式的討論可能是未來的一個重要方向。


Relation to dot-product self-attention
盡管本文的圖片的計算與點積自注意有很大差異,但作者將證明圖片也實現(xiàn)了輸入自適應(yīng)空間混合的目標(biāo)。假設(shè) M 是通過多頭自注意力(MHSA)獲得的注意力矩陣,將 M 寫為(圖片),因為混合權(quán)重可能在通道中變化。位置 i 處第 c 個通道的空間混合結(jié)果(在最終通道混合投影之前)為:

圖片


其中,w_V 是 V 投影層的權(quán)重。注意,通過點積運算獲得的m_ij包含一階相互作用。另一方面,圖片的輸出(在圖片之前)可以寫成:


下圖總結(jié)了圖片的細(xì)節(jié)實現(xiàn):

圖片


2.2 Model Architectures
HorNet
圖片可以替代視覺 Transformer 或現(xiàn)代 CNN 中的空間混合層。作者遵循與以前的元架構(gòu)來構(gòu)建 HorNet,其中基本塊包含空間混合層和前饋網(wǎng)絡(luò)(FFN)。根據(jù)模型大小和深度卷積 f_k 的實現(xiàn),有兩個模型變體系列,分別命名為 HorNet-T/S/B/L 7×7 和 HorNet-T/S/B/L GF。作者將流行的 Swin Transformer 和 ConvNeXt 視為視覺 Transformer 和 CNN 基線,因為本文的模型是基于卷積框架實現(xiàn)的,同時具有像視覺 Transformer 一樣的高階交互。為了與基線進行公平比較,作者直接遵循 Swin Transformers-S/B/L 的塊數(shù),但在第 2 階段插入一個額外的塊,以使整體復(fù)雜度接近,從而在所有模型變體的每個階段中產(chǎn)生 [2、3、18、2] 個塊。只需調(diào)整通道 C 的基本數(shù)量,以構(gòu)建不同大小的模型,并按照慣例將 4 個階段的通道數(shù)量設(shè)置為[C、2C、4C、8C]。對于 HorNet-T/S/B/L,分別使用 C=64、96、128、192。默認(rèn)情況下,將每個階段的交互順序(即圖片中的 n)設(shè)置為 2,3,4,5,這樣最粗階C_0的通道在不同階段中是相同的。
HorFPN
除了在視覺編碼器中使用圖片之外,作者發(fā)現(xiàn)本文的圖片可以是標(biāo)準(zhǔn)卷積的增強替代方案,該方案考慮了基于卷積的各種模型中的高階空間相互作用。因此,圖片替換 FPN 中用于特征融合的空間卷積,以改善下游任務(wù)的空間交互。具體來說,作者在融合不同金字塔級別的特征后添加了圖片。對于目標(biāo)檢測,作者在每個級別用 替換自頂向下路徑后的 3×3 卷積。對于語義分割,作者簡單地將多階特征映射串聯(lián)后的 3×3 卷積替換為圖片,因為最終結(jié)果直接從該串聯(lián)特征預(yù)測。作者同樣提供了兩個實現(xiàn),稱為 HorFPN 7×7 和 HorFPN GF,由f_k的選擇決定。
3. 實驗

圖片


ImageNet 分類實驗結(jié)果總結(jié)在上表中。本文的模型通過最先進的視覺 Transformer 和 CNNs 實現(xiàn)了非常有競爭力的性能。值得注意的是,HorNet 超越了 Swin Transformers 和 ConvNeXt,它們在各種模型尺寸和設(shè)置上都具有相似的整體架構(gòu)和訓(xùn)練配置。

圖片


作者使用常用的 UperNet 框架評估了 ADE20K 數(shù)據(jù)集上的 HorNet 語義分割任務(wù)。所有模型都使用 AdamW 優(yōu)化器訓(xùn)練 160k 次迭代,全局 batch 處理大小為 16。訓(xùn)練期間的圖像大小對于 ImagNet-1k (HorNet-T/S/B) 預(yù)訓(xùn)練模型為 512 × 512,對于 ImageNet-22K 預(yù)訓(xùn)練模型 (HorNet-L) 為 640 × 640。結(jié)果總結(jié)在上表的左側(cè)部分,其中報告了驗證集上的單尺度 (SS) 和多尺度 (MS) mIoU。作者還在 COCO 數(shù)據(jù)集上評估了本文的模型。作者采用級聯(lián) Mask R-CNN 框架使用 HorNet-T/S/B/L 主干進行對象檢測和實例分割。繼 Swin 和 ConvNeXt 之后,作者使用了具有多尺度訓(xùn)練的 3× schedule。上表的右側(cè)部分比較了本文的 HorNet 模型和 Swin/ConvNeXt 模型的 box AP 和 mask AP。

圖片


作者現(xiàn)在展示了所提出的圖片的另一個應(yīng)用,即作為更好的融合模塊,可以更好地捕獲密集預(yù)測任務(wù)中不同級別特征之間的高階交互。具體而言,作者直接修改了分別用于語義分割和對象檢測的 FPN,如 SuperNet 和 Mask R-CNN。在上表中顯示了結(jié)果,其中作者比較了本文的 HorFPN 和標(biāo)準(zhǔn) FPN 在不同主干上的性能,包括 ResNet-50/101、Swin-S 和 HorNet-S 7×7。對于語義分割,作者發(fā)現(xiàn) HorFPN 可以顯著減少 FLOPs(~50%),同時實現(xiàn)更好的 mIoU。

圖片


上表展示了本文方法的消融實驗結(jié)果。

圖片


上圖展示了 Swin、ConvNeXt 和 HorNet 的權(quán)衡比較。
4. 總結(jié)
作者提出了遞歸門卷積(圖片),它與門卷積和遞歸設(shè)計進行有效、可擴展和平移等變的高階空間交互。在各種視覺 Transformer 和基于卷積的模型中,圖片可以作為空間混合層的替代品。在此基礎(chǔ)上,作者構(gòu)建了一個新的通用視覺骨干 HorNet 家族。大量實驗證明了圖片和 HorNet 在常用視覺識別基準(zhǔn)上的有效性。
最后筆者已經(jīng)將 HorNet 網(wǎng)絡(luò)代碼 匯總整理在以下 Github 庫中,地址為:https://github.com/xmu-xiaoma666/External-Attention-pytorch
該庫是一個面向小白的頂會論文核心代碼庫。里面匯總諸多頂會論文核心代碼,包括 Attention、Self-Attention、Backbone、MLP、Conv 等。
5. 將 HorNet 結(jié)合 YOLOv5 模型應(yīng)用
YOLOAir 庫中 已經(jīng)將 HorNet 網(wǎng)絡(luò)應(yīng)用在 YOLO 模型中,分別以下三種方式與 YOLOv5 模型 結(jié)合:

1. 在 YOLOv5 中 使用 gnconv 模塊示例2. 在 YOLOv5 中 使用 HorBlock 模塊示例3. 在 YOLOv5 中 使用 HorNet 主干網(wǎng)絡(luò)示例
由于篇幅有限,具體改進代碼及方式可以在以下 GitHub 庫中獲?。?/span>面向科研小白的 YOLO 目標(biāo)檢測庫:https://github.com/iscyy/yoloair
參考鏈接:https://arxiv.org/abs/2207.14284https://github.com/raoyongming/HorNethttps://github.com/xmu-xiaoma666/External-Attention-pytorchhttps://github.com/iscyy/yoloair


*博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點,如有侵權(quán)請聯(lián)系工作人員刪除。



關(guān)鍵詞: AI

相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉