作者丨Ziyang Li
編輯丨極市平台
寫在前面的話
當以平衡網絡寬度與深度著稱的Inception與以建模遠程依賴關系著稱的Transformer相遇,會擦出怎樣的火花?本文針對Transformer捕獲高頻的局部信息時表現出的不足,提出Inception Transformer混合架構(iFormer)。靈活移植Inception的卷積與最大池化,並以通道拆分機制來提高效率和頻率斜坡結構來權衡高低頻分量。代碼將開源。
論文地址:https://arxiv.org/abs/2205.12956v2
代碼地址:https://github.com/sail-sg/iFormer
一、預備知識——什麽是圖像高低頻?
圖像中的低頻信息和高頻信息也叫做低頻分量和高頻分量。其中高頻信息包括圖像強度(亮度/灰度)變化劇烈的像素點,例如局部的邊緣和紋理。而低頻信息則包括圖像強度(亮度/灰度)變換平緩的像素點,例如場景或物體的全局形狀和結構。 如圖1所示,將原圖進行高低頻信號分離後,可以很明顯看出高頻信號相比低頻包含顯著的邊緣與輪廓信息。
圖1:圖像高低頻比較。(取自論文《Drop an Octave: Reducing Spatial Redundancy in Convolutional Neural Networks with Octave Convol》)
一般地,在圖像處理中,高頻特征圖更有利于顯著性檢測。然而如何區分圖像高低頻,則可以使用設置阈值的方法來劃分。
二、爲什麽要用Inception?
ViT系列架構在建模遠距離依賴關系時表現出強大的能力,這得益于self-attention的全局計算方式,然而在捕獲更多全局信息(低頻)的同時,卻忽略了局部信息(高頻)同樣重要。
作者等人對ViT進行傅裏葉頻譜和相對對數振幅可視化比對,證明了上述結論,即ViT擁有對低頻信號的偏好。
圖2:(a) ViT和iFormer的傅裏葉光譜。(b) 傅裏葉變換的特征圖的相對對數振幅。
顯然這種架構是不合理的,一味地捕獲低頻信息可能會惡化高頻成分從而削弱ViT系列架構的性能,同時如上所述,高頻信息在圖像處理中更有利于顯著性檢測、細粒度分類任務等等。
因此一種能合理捕獲並利用高低頻信息的架構值得被提出。而卷積因其局部計算的特點,可以有效的提取高頻信息,盡管目前已有不少工作將卷積神經網絡與Transformer相結合,但缺點十分明顯:
- 串聯的結合方式,將導致在一層僅對一個方面進行建模,如在卷積層對局部建模,在Transformer層對全局建模。這樣的結合方式並不能做到二者兼顧。
- 並行的結合方式,一般用一個分支處理局部信息,另一個分支用于處理全局信息。顯而易見這樣的方式如果對所有通道進行處理,將帶來信息冗余。
而Inception結構可以很好的處理並行結合帶來的問題,只需在進入分支前劃分合適的通道即可。同時對于不同深度的層對于高低頻信息的需求量不同,可以控制劃分不同的通道數來適應深度。作者等人將iFormer進行特征圖的傅裏葉譜可視化,其結構如下所示:
圖3:iFormer的特征圖傅裏葉譜可視化。
可以看到 iFormer 在第 6 層捕獲更多高頻分量,在第 18 層捕獲更多低頻信息。同時高頻信息從第 6 層逐漸減少到第 18 層,而低頻信息則相反。
三、Inception Transformer剖析
Inception token mixer
圖4:Inception token mixer的詳細結構。
如圖所示,輸入特征沿通道維度被切分爲和,分別被送入High-frequency mixer和Low-frequency mixer。
其中High-frequency mixer由兩個分支組成,如圖,第一個分支包含最大池化和一個線性層,第二個分支由串聯的線性層和深度卷積層組成。
特征通道爲在的特征圖輸入這兩個分支前,被均分爲二,即 -> + 。
爲什麽要分成兩個分支去學習高頻分量呢? 作者等人解釋爲“考慮到最大濾波器的敏感性和卷積運算的細節感知”。事實上,對于高頻分量的計算,如果僅使用一個簡單的卷積去提取,效果一定是大打折扣的。本文設計其爲分支結構,一個分支用以最大池化,計算局部最大值;一個分支用以深度卷積,在有效減輕參數量的情況下來提取局部特征,即高頻分量。最終將二者的計算結果相融合,得到的效果遠非一個簡單的局部卷積可比。
在Low-frequency mixer中,僅由一個單獨的分支所構成。平均池化的操作一方面是爲了減輕計算負擔,另一方面,“平均”後的特征圖可以爲接下來的全局學習帶來更好的表達。該分支最後的Upsample則用以恢複維度。
Inception Transformer
圖5:Inception Transformer的整體架構。
如圖所示,iFormer包含四個階段。在上文有提及,爲解決並行結合方式帶來的問題,需要在進行分支前劃分不同的通道數。而在網絡的不同深度,對高低頻信息的需求量也不同。因此本文的具體通道劃分如下表所示:
表1:不同版本iFormer的詳細配置對比。
每一個iFormer Blocks的結構如圖4最右側所示,除了上文介紹過的Inception Mixer外,增加了殘差連接與與前饋層來提升模型性能。
四、性能對比
下表展示了各模型在ImageNet-1K上的性能對比。除此之外,論文中還對COCO 2017以及ADE20K等數據集進行了性能對比。iFormer的不同容量版本均表現出優良的性能。
表2:各模型在ImageNet-1K上的性能對比。
一張效果明顯的CAM可視化結果對比:(在這張圖中,Swin捕獲了部分無關信息,而iFormer則准確定位對象)
圖6:CAM可視化結果對比。
五、思考與總結
本文重點關注以下兩個問題:
- ViT系列模型對局部信息(高頻)捕獲能力不足,因此有必要結合卷積來彌補性能損失。緊接著針對現有並行結合方式存在的計算冗余,提出通道劃分原則來緩解。
- 爲契合人類視覺系統,即高頻分量中的細節有助于較低層捕捉視覺基本特征,並逐漸收集局部信息以對輸入有全局理解,設計了頻率斜坡結構。當然缺點也是顯而易見的:需要手動設定通道比。這樣對于不同的任務,需要一定的經驗才可以很好的完成這項工作。
在本文之前,從頻率角度對網絡機制進行分析的文章並不少。如在當年引起轟動的八度卷積(ICCV 2019),盡管是純卷積的網絡,但將特征圖劃分爲高低頻並行的結構,同時進行高低頻並行的卷積,甚至還有高低頻信息交互操作。
這些都是充分考慮應用的視覺任務而提出的方法,如高頻特征圖更有利于顯著性檢測,低頻信息不可或缺等等。
本文爲未來Transformer與卷積相結合的架構設計提供了一種有效的思路,也希望在未來能將理論與實際相結合,看到這樣架構在現實場景中的部署~