FcaNet:從頻域角度重新思考注意力機制
點擊左上方藍字關(guān)注我們

作者 | 湃森
鏈接 | https://zhuanlan.zhihu.com/p/339215696
一、論文信息
標(biāo)題:《FcaNet: Frequency Channel Attention Networks》
作者:Zequn Qin et al.(浙江大學(xué) 李璽團隊)
文章:FcaNet: Frequency Channel Attention Networks
源碼:暫未開源
二、導(dǎo)讀
從網(wǎng)絡(luò)結(jié)構(gòu)本身的角度出發(fā),可以從以下四個維度來提升卷積神經(jīng)網(wǎng)絡(luò)的性能,分別是:深度(ResNet)、寬度(WideResNet)、基數(shù)(ResNeXt)和注意力(SENet)。一般來說,網(wǎng)絡(luò)越深,所提取到的特征就越抽象;網(wǎng)絡(luò)越寬,其特征就越豐富;基數(shù)越大,越能發(fā)揮每個卷積核獨特的作用;而注意力則是一種能夠強化重要信息抑制非重要信息的方法,也是本文重點闡述的對象。
本文先回顧并總結(jié)到目前為止比較有代表性的注意力機制方法,同時對FcaNet進行解讀。作者從頻域角度切入,彌補了現(xiàn)有通道注意力方法中特征信息不足的缺點,將GAP推廣到一種更為一般的表示形式,即2維的離散余弦變換DCT,通過引入更多的頻率分量來充分的利用信息。對于每個特征通道圖,本質(zhì)上我們可以將其視為輸入圖片在不同卷積核上所對應(yīng)的不同分量,類似于時頻變化,相對于我們用卷積操作對輸入信號(圖片)進行傅里葉變換,從而將原始的輸入分解為不同卷積核上的信號分量。
三、前情回顧
注意力機制,其本質(zhì)是一種通過網(wǎng)絡(luò)自主學(xué)習(xí)出的一組權(quán)重系數(shù),并以“動態(tài)加權(quán)”的方式來強調(diào)我們所感興趣的區(qū)域同時抑制不相關(guān)背景區(qū)域的機制。在計算機視覺領(lǐng)域中,注意力機制可以大致分為兩大類:強注意力和軟注意力。由于強注意力是一種隨機的預(yù)測,其強調(diào)的是動態(tài)變化,雖然效果不錯,但由于不可微的性質(zhì)導(dǎo)致其應(yīng)用很受限制。與之相反的是,軟注意力是處處可微的,即能夠通過基于梯度下降法的神經(jīng)網(wǎng)絡(luò)訓(xùn)練所獲得,因此其應(yīng)用相對來說也比較廣泛。軟注意力按照不同維度(如通道、空間、時間、類別等)出發(fā),目前主流的注意力機制可以分為以下三種:通道注意力、空間注意力以及自注意力(Self-attention)。

通道注意力
通道注意力旨在顯示的建模出不同通道(特征圖)之間的相關(guān)性,通過網(wǎng)絡(luò)學(xué)習(xí)的方式來自動獲取到每個特征通道的重要程度,最后再為每個通道賦予不同的權(quán)重系數(shù),從而來強化重要的特征抑制非重要的特征。這方面的代表作有SE-Net,通過特征重標(biāo)定的方式來自適應(yīng)地調(diào)整通道之間的特征響應(yīng)。此外,還有比較出名的SK-Net,則是受Inception-block和SE-block共同啟發(fā),從多尺度特征表征的角度考慮,通過引入多個卷積核分支來學(xué)習(xí)出不同尺度下的特征圖注意力,讓網(wǎng)絡(luò)能夠更加側(cè)重于重要的尺度特征。另外還有ECA-Net,利用1維的稀疏卷積操作來優(yōu)化SE模塊中涉及到的全連接層操作來大幅降低參數(shù)量并保持相當(dāng)?shù)男阅堋榱藟嚎s參數(shù)量和提高計算效率,SE-Net采用的是“先降維-再升維”的策略,利用兩個多層感知機來學(xué)習(xí)不同通道之間的相關(guān)性,即當(dāng)前的每一個特征圖都與其它特征圖進行交互,是一種密集型的連接。ECA-Net則簡化了這種連接方式,令當(dāng)前通道只與它的k個領(lǐng)域通道進行信息交互。

空間注意力
空間注意力旨在提升關(guān)鍵區(qū)域的特征表達,本質(zhì)上是將原始圖片中的空間信息通過空間轉(zhuǎn)換模塊,變換到另一個空間中并保留關(guān)鍵信息,為每個位置生成權(quán)重掩膜(mask)并加權(quán)輸出,從而增強感興趣的特定目標(biāo)區(qū)域同時弱化不相關(guān)的背景區(qū)域。這方面比較出色的工作有CBAM,它是在原有通道注意力的基礎(chǔ)上,銜接了一個空間注意力模塊(SAM)。SAM是基于通道進行全局平均池化以及全局最大池化操作,產(chǎn)生兩個代表不同信息的特征圖,合并后再通過一個感受野較大的7×7卷積進行特征融合,最后再通過Sigmoid操作來生成權(quán)重圖疊加回原始的輸入特征圖,從而使得目標(biāo)區(qū)域得以增強??偟膩碚f,對于空間注意力來說,由于將每個通道中的特征都做同等處理,忽略了通道間的信息交互;而通道注意力則是將一個通道內(nèi)的信息直接進行全局處理,容易忽略空間內(nèi)的信息交互。作者最終通過實驗驗證先通道后空間的方式比先空間后通道或者通道空間并行的方式效果更佳。此外,類似的改進模塊還有A2-Net所提出的Double Attention模塊以及受SE-Net啟發(fā)而提出的變體注意力模塊scSE等等。

自注意力
自注意力是注意力機制的一種變體,其目的是為了減少對外部信息的依賴,盡可能地利用特征內(nèi)部固有的信息進行注意力的交互。早期出現(xiàn)于谷歌所提出的Transformer架構(gòu)當(dāng)中。后來,何凱明等人將其應(yīng)用到CV領(lǐng)域當(dāng)中并提出了Non-Local模塊,通過Self-Attention機制對全局上下午進行建模,有效地捕獲長距離的特征依賴。一般的自注意力流程都是通過將原始特征圖映射為三個向量分支,即Query、Key和Value。首先,計算Q和K的相關(guān)性權(quán)重矩陣系數(shù);其次,通過軟操作對權(quán)重矩陣進行歸一化;最后再將權(quán)重系數(shù)疊加到V上,以實現(xiàn)全局上下文信息的建模。自NL-block提出后,也有許多基于它的改進。比如DANet提出的雙重注意力機制是將NL思想同時應(yīng)用到空間域和通道域,分別將空間像素點以及通道特征作為查詢語句進行上下文建模。另一方面,雖然NL中利用了1×1卷積操作來壓縮特征圖的維度,但這種基于全局像素點(pixel-to-pixel)對的建模方式其計算量無疑是巨大的。因此,有許多工作也致力于解決這個問題,如CCNet開發(fā)并利用兩個十字交叉注意力模塊來等效的替代基于全局像素點對的建模;非對稱金字塔非局部塊體(Asymmetric Pyramid Non-local Block, APNB)以點對區(qū)域建模的方式來降低運算復(fù)雜度;GC-Net也結(jié)合了SE機制并提出使用簡化的空間注意模塊,取代原來的空間下采樣過程。除此之外我們也可以從區(qū)域?qū)^(qū)域建模的角度對其進行更進一步地優(yōu)化。除了從空間、通道維度進行優(yōu)化外,我們還可以從時間、類別角度進行改進,這方面的工作分別有IAU-Net和OCR-Net。
CNN中的注意力機制盤點

受機器翻譯中的Attention機制啟發(fā),Bengio等人于2015年在ICML上發(fā)表的一篇文章,首次將注意力機制應(yīng)用大圖像描述(Image Caption)領(lǐng)域,同時提出硬注意力和軟注意力兩種機制,并利用可視化的技術(shù)來直觀的表達了Attention機制的作用,為后續(xù)注意力機制在計算機視覺領(lǐng)域的發(fā)展開了先河。

商湯科技和港中文于2017年發(fā)表在CVPR上的一篇文章提出了一種利用下采樣和上采樣空間注意機制的殘差注意力網(wǎng)絡(luò)。在此之前, 以往的Attention模型大多應(yīng)用于圖像分割和顯著性檢測任務(wù),出發(fā)點在于將注意力集中在部分感興趣區(qū)域或顯著區(qū)域上。作者利用這種模式,在常規(guī)的分類網(wǎng)絡(luò)中,引入側(cè)邊分支,該分支同樣是由一系列卷積和池化操作來逐漸地提取高級語義特征并增大網(wǎng)絡(luò)的感受野,最后再將該分支直接上采樣為原始分辨率尺寸作為特征激活圖疊加回原始輸入。遺憾的是,該方法提升效果好像并不明顯,而且由于引入大量額外的參數(shù),導(dǎo)致計算開銷非常大。

這是由南開大學(xué)程明明團隊發(fā)表于2020年CVPR上的一篇文章,像這種通過先下采樣來擴大感受野再上采樣回去充當(dāng)注意力圖的方式與上面這篇論文的思路有點重復(fù)了,只不過將其從網(wǎng)絡(luò)分支遷移到卷積分支,按理來說如果有引用下比較恰當(dāng)。不過熟悉程老師 【知乎ID:@程明明】的工作的可以發(fā)現(xiàn),他們大多數(shù)的工作都非常簡潔高效,而且大力提倡開源這一點很是佩服,大家有興趣的可以直接去官網(wǎng)的Publications訪問。
這篇文章是胡組長繼SE-Net后于2018年在NIPS上發(fā)表的一篇文章,本文從上下文角度出發(fā),提出了SE的更一般的形式GE,即Gather和Excite,并利用空間注意力來更好的挖掘特征之間的上下文信息。其中,Gather操作用于從局部的空間位置上提取特征,Excite操作則用于將其進行縮放還原回原始尺寸,是一種類似于編解碼即Encoder-Decoder模型,可以以很小的參數(shù)量和計算量來提升網(wǎng)絡(luò)的性能,不過知名度和影響力好像遠(yuǎn)不及SE。

GSoP-Net是發(fā)表于CVPR 2019年的一篇文章,作者認(rèn)為CNN的主要目標(biāo)是表征高維空間中數(shù)千個類別的復(fù)雜邊界,學(xué)習(xí)高階表示對于增強非線性建模能力至關(guān)重要。然而,傳統(tǒng)的一階網(wǎng)絡(luò)顯然不能夠有效的表征,因此作者從底層到高層逐步引入全局的二階池化模塊,通過對整體圖像信息的相關(guān)性建模,來捕獲長距離的統(tǒng)計信息,充分利用到了圖像的上下文信息。與SE等操作提倡的利用2維的GAP操作不同,GSoP通過引入?yún)f(xié)方差來計算通道之間的關(guān)系。具體來說,在利用卷積和池化進行非線性變換以后,該協(xié)方差矩陣不僅可以用于沿通道維度進行張量的縮放,也可以用于沿空間維度進行張量縮放。整體來說,通過應(yīng)用GSoP可以充分利用到圖像中的二階統(tǒng)計量,以高效的捕獲全局的上下文信息。

BAM是發(fā)表于BMVC 2018上的一篇文章,是由CBAM原班人馬打造的,作者提出了一個簡單可是有效的注意力模型,它能夠結(jié)合到任何前向傳播卷積神經(jīng)網(wǎng)絡(luò)中,同時經(jīng)過兩個分離的路徑,即空間和通道,去獲得注意力圖。有趣的是,作者將其放置到了主干網(wǎng)絡(luò)中每個Stage的中間,通過可視化的中間過程圖我們可以明顯的看出,BAM形成了一種分層的注意力機制,抑制背景特征,使模型能更加聚焦于前景特征,從而加強高級語義。BAM是通過將兩個注意力分支進行串聯(lián)求和,而CBAM則是一種并聯(lián)的形式。類似的雙重注意力模式還有DA-Net和scSE注意力,有興趣的可以自行查看。

這是由印度小哥最新提出來的一個工作,作者從維度交互的角度出發(fā),提出了一種三重注意力,即Triplet Attention。傳統(tǒng)的注意力方式是通過GAP操作計算出一個權(quán)值系數(shù),然后利用這個系數(shù)對原始的輸入特征圖進行統(tǒng)一縮放。其實這里也反復(fù)提到,GAP是在二維空間層面上對輸入張量進行分解,濃縮為一個系數(shù),不可避免的會導(dǎo)致空間細(xì)節(jié)信息的大量缺失。而且,單純的在通道上進行操作,也容易忽略掉空間上一些關(guān)鍵的信息。雖然后面BAM和CBAM的出現(xiàn)緩解了通道和空間的依賴關(guān)系,但本質(zhì)上這兩者還是獨立的,只不過是將其串聯(lián)或并聯(lián)起來。于是乎,印度小哥提倡要讓不同維度之間的信息互相交互起來,比如有三個維度,HWC,那就讓它們兩兩進行交互即可。不過說實話,個人感覺這工作有點雞肋,隨意的維度交互有時會破壞信息的空間一致性,結(jié)果反而得不償失,這工作還不如GC-Net來的實在,結(jié)合SE操作直接對Non-local進行簡化,通俗易懂,簡潔高效,歡迎打臉。

ResNeSt,號稱ResNet的強化版,是由李沐團隊張航博士(知乎ID:@張航
)所提出來的一篇文章,作者從基數(shù)維度出發(fā),將注意力的思想融入到多分支卷積結(jié)構(gòu)當(dāng)中,來解決傳統(tǒng)CNN感受野受限以及卻反跨通道信息交互的問題,遺憾的是剛被ECCV 2020拒了。
ResNeSt整體延續(xù)了“Split-Transfore-Merge”結(jié)構(gòu),有點SK(知乎ID:
@李翔)的味道,綜合SENet、SKNet與ResNeXt三者的思想。
ResNeSt所呈現(xiàn)的效果確實非常驚艷的,在ADE20K、MS-COCO等數(shù)據(jù)集上屠榜,碾壓其他的手動網(wǎng)絡(luò)架構(gòu),沒有額外的計算開銷,代碼也不是很復(fù)雜。
盡管出來后許多人質(zhì)疑其性能的提升跟大量的trick有很大關(guān)系且一開始代碼實現(xiàn)有點問題,但不妨礙我們學(xué)習(xí)其思想,畢竟做科研不像搞開發(fā),工程側(cè)重的是talk is cheap, show me your code,而研究側(cè)重的是code is weak, show me your idea.

Relation-Aware Global Attention是中科大&微軟亞洲研究院發(fā)表于CVPR 2020上針對行人重識別任務(wù)所提出的一種注意力方法。本文提倡的觀點是,要直觀地判斷一個特征節(jié)點是否重要,就應(yīng)該知道全局范圍的特性,這樣便可以通過得到進行決策所需要的關(guān)系信息,來更好地探索每個特征節(jié)點各自的全局關(guān)系,從而更好地學(xué)習(xí)注意力。
四、論文解讀
4.1 動機
通常來說,由于有限的計算資源開銷,類似通道注意力機制這種通過網(wǎng)絡(luò)學(xué)習(xí)的方式來獲得權(quán)重函數(shù)需要對每個通道的標(biāo)量進行計算,而全卷平均池化操作由于其易用性和高效性無疑是最佳的選擇。盡管如此,但存在一個潛在的問題是GAP無法很好地捕獲豐富的輸入模式信息,因此在處理不同的輸入時缺乏特征多樣性。因此,也出現(xiàn)了一個自然而然的問題,即均值信息是否足以代表通道注意力中不同的特征通道。作者從三個角度進行分析:
首先,從特征通道本身的角度出發(fā),不同特征度表征不同的信息,而GAP操作,即“平均”操作會極大的抑制特征的這種多樣性;
其次,從頻率角度分析,GAP等價于離散余弦變換(DCT)的最低頻率分量。因此,如果僅使用GAP,顯然會忽略掉許多其它有用的頻率分量;
最后,以CBAM論文中所提出的觀點去支撐論證,即單純的使用GAP不足以表達特征原有的豐富信息。

4.2 貢獻
證明了GAP是DCT的特例。在此基礎(chǔ)上,將GAP推廣到頻域中,并提出了多光譜通道注意力框架——FcaNet;
通過探討使用不同數(shù)量的頻率分量及其不同組合的影響,提出了選擇頻率分量的兩步準(zhǔn)則;
廣泛的實驗表明,該方法在ImageNet和COCO數(shù)據(jù)集上均達到了最佳水平。在以ResNet-50為骨干網(wǎng)絡(luò)的基礎(chǔ)上,同時在相同參數(shù)量和計算量的情況下,所提出方法在ImageNet上的Top-1精度方面可以比SENet高出1.8%;
所提出方法不僅有效還非常簡單,只需在現(xiàn)有的通道注意力實現(xiàn)中修改一行代碼即可
4.3 方法
4.3.1 通道注意力和離散余弦變換回顧
通道注意力:

離散余弦變換:

這里
為DCT的頻譜,
表示輸入,L為輸入分量的長度。此外,二維的DCT可以表示為:

同樣地,這里
和
分別表示輸入分量的高度和寬度,后面半部分為對應(yīng)的DCT權(quán)重。相應(yīng)地,我們可以寫出它的逆變換:
Inverse 2D-DCT
為簡化運算和便于敘述,作者后面移除了一些歸一化因子常量。從以上公式可以看出GAP是現(xiàn)有通道注意力方法的預(yù)處理方式;而DCT可以看作是輸入的加權(quán)和,其中余弦部分表示其對應(yīng)的權(quán)重。因此,我們可以將GAP這種均值運算當(dāng)做是輸入的最簡單頻譜,如上所述,僅使用單個GAP不足以表征所有的特征信息,作者下面便引入了多光譜通道注意力的方法。
DCT屬于Singal Porcessing領(lǐng)域的范疇,是JPEG圖像壓縮算法里的核心算法。沒學(xué)過信號處理的估計看起來有些吃力,建議可以簡單預(yù)習(xí)下這門課,了解一些基本概念,然后學(xué)習(xí)下傅里葉變換,而DCT實際上便是限定了輸入信號的DFT,或者說是DFT的一種特例。要還是對數(shù)學(xué)很抗拒的話可以簡單的認(rèn)為DCT實際上的作用便是獲得更好的頻域能量聚集度,說白了就是將圖像中相對重要的信息凝聚在一起,最簡單的理解就是可以聚焦。說到這里,相信各位童鞋都似懂非懂了吧,“聚焦”不就是注意力干的事情嗎?作者就是將這個思想用到了這里,Maths is important!
作者到這里就結(jié)束了,當(dāng)然根據(jù)求和的可分性準(zhǔn)則,我們也可以將2維DCT改寫成如下形式:

更一般我們還能寫成矩陣相乘形式:
,其中
為變換系數(shù)矩陣。
4.3.2 多光譜通道注意力框架的推導(dǎo)及頻率分量的選取準(zhǔn)則
作者首先拋出了一個定理:GAP是2維DCT的特例,其結(jié)果與2維DCT的最低頻率分量成比例。
假設(shè)2維DCT中的
和
為0,則可以推導(dǎo)出以下式子:

注:cos(0)=1. 上述左式為2維DCT的最低頻率分量,可以看出它與GAP是成正比關(guān)系的。證明了這點之后,接下來要考慮的事情便是如何將其他頻率分量整合到通道注意力機制當(dāng)中。根據(jù)上述公式,我們將2維DCT的逆變換重寫成以下形式:

這里
表示的是頻率分量,也可以理解為DCT的權(quán)重分量。根據(jù)上述公式,我們很自然地將圖像特征分解為不同頻率分量的組合。可以看出,GAP操作僅利用到了其中的一個頻率分量。

上圖為原始SE模塊與作者所提出的MCA模塊對比示意圖。上面提到,為了引入更多的信息,作者建議使用2維的DCT來融合多個頻率分量,包括最低的頻率分量,即GAP。具體操作流程為:首先,將輸入
按通道維度劃分為n部分,其中n必須能被通道數(shù)整除。對于每個部分,分配相應(yīng)的二維DCT頻率分量,其結(jié)果可作為通道注意力的預(yù)處理結(jié)果(類似于GAP):

緊接著,我們可以將各部分的頻率分量合并起來:

這里,
即為的多光譜向量。因此,整個MCA框架可以表示如下:

接下來闡述下頻率分量的選取標(biāo)準(zhǔn)。對于每一部分
,關(guān)鍵在于頻率分量指數(shù)[u,v]的選擇。對于空間尺寸為
的每個通道特征,我們可以利用2維的DCT將其分解為
個頻率分量,于是總的頻率分量應(yīng)該為
。舉個例子,以ResNet-50骨干網(wǎng)絡(luò)的輸出為例,
可以達到2048。因此,測試所有組合計算代價是非常昂貴的也沒有必要,作者在這里給出了一種兩步準(zhǔn)則來選擇MCA模塊中的頻率分量。其主要思想是為:
第一步先分別計算出通道注意力中每個頻率分量的結(jié)果;
第二步再根據(jù)所得結(jié)果篩選出Top-k個性能最佳的頻率分量。
至于如何衡量每個頻率分量的性能作者在這里并沒有闡述。雖然在后面4.2節(jié)中消融實驗部分有提及到,但作者在此處簡單
4.3.3 方法的有效性討論、復(fù)雜度分析以及代碼的實現(xiàn)
方法有效性討論
上述我們分析了現(xiàn)有的通道注意力方法使用GAP作為預(yù)處理方式實際上是丟棄掉了除最低的頻率分量的其他頻率分量信息。作者在頻域上推廣了此方法,在MAC框架中自然地嵌入了更多的頻率分量信息。之前有不少的工作也證明了CNN中存在著許多冗余的特征,比如Ghost-Net和OctaveConv等,所以當(dāng)兩個通道特征存在高度的相似性時,GAP操作會得到相似的結(jié)果。然而,在MCA框架中,由于不同的頻率分量包含不同的信息,因此可以從冗余通道中提取更多的信息。
復(fù)雜度分析
作者從參數(shù)量和計算量兩方面分析了所提出方法的復(fù)雜度。首先,由于2維DCT操作涉及到的權(quán)重是通過預(yù)先計算出來的一組常數(shù),因此相比于原始的通道注意力方法如SE而言,沒有引入額外的參數(shù)量。其次,計算量方面MCA僅僅比SE高出了略微的代價,可以忽略不計。

作者補充說“All other results are quoted from their original papers if available.”這樣子的話存在不少問題,就是算著現(xiàn)在硬件算力的提升,性能也會更好一點,而且作者在實驗過程也應(yīng)用了《Deep residual learning for image recognition》和《Bag of tricks for image classifification with convolutional neural networks》這兩篇文章所涉及的trick。嚴(yán)謹(jǐn)一點的話應(yīng)該基于同一實驗條件下進行公平的比較,所得到的結(jié)果會比較客觀一點,或許相對其他rival的提升就不是 large margin,而是trivial contributions。
代碼實現(xiàn)
2維DCT可以看作是輸入的加權(quán)和,因此,可以通過簡單地元素乘法以及求和運算來實現(xiàn):

4.4 實驗
4.4.1 消融實驗
單個頻率分量的有效性
為了研究不同頻率分量對信道注意的影響,每次只使用一個單獨的頻率分量??紤]到ImageNet上最小的特征圖大小為7×7,作者這里將整個2維的DCT頻率空間劃分為7×7部分,這樣的話共有49組實驗。為了加快實驗速度,首先訓(xùn)練了一個100個epoch的標(biāo)準(zhǔn)ResNet-50網(wǎng)絡(luò)作為基準(zhǔn)模型。然后再將通道注意力添加到具有不同頻率分量的基準(zhǔn)模型中,以驗證其效果。隨后,基于同樣的實驗設(shè)置,以0.02的學(xué)習(xí)率對添加后的模型進行20輪的訓(xùn)練微調(diào)。

實驗結(jié)果如上所述,可以看出,當(dāng) [u, v]分量為[0, 0]時,效果是最好的,對應(yīng)SE-Net的GAP操作,同時也驗證了DNN偏好低頻信息的結(jié)論。雖然如此,但結(jié)果也表明了其他頻率分量對網(wǎng)絡(luò)也是有貢獻的,這意味著我們可以將這些信息給嵌入進去。
頻率分量個數(shù)對性能的影響
在獲得每個頻率分量性能后,第二步是確定MCA模塊所選擇的最佳頻率分量數(shù)。為了簡單起見,作者選取了Top-k最高性能的頻率成分,其中k可以是1、2、4、8、16或32等2的倍數(shù)。

從實驗結(jié)果可以看出,所有應(yīng)用了多光譜的結(jié)果都要比單純的GAP(對應(yīng)Number=1)提高不少,實驗的最佳效果是N=16,即選擇16個頻率分量,不過其他整體相差也不大。
4.4.2 與其他SOTA模型對比
作者在分類、檢測和分割任務(wù)上與其他主流的通道注意力模型進行了比較:
在分類任務(wù)上分別以ResNet-34, ResNet-50, ResNet-101, and ResNet-152四個骨干分支進行測試,結(jié)果顯示Fca-Net在不同骨干網(wǎng)絡(luò)上的TOP-1精度分別優(yōu)于SE-NET 1.20%、1.81%、2.02%和1.65%。同時,在計算代價非常小的前提下,性能也優(yōu)于GSOPNET。
在檢測任務(wù)上以Faster-RCNN和Mask-RCNN作為檢測器的前提下也顯著的優(yōu)于其他方法。
除了目標(biāo)檢測外,作者還在實例分割任務(wù)上測試了所提方法,然而這部分差距不是很明顯。
附錄
不同頻率分量組合策略的研究

在消融實驗部分,作者的two-step選擇準(zhǔn)則中的第二步是選擇Top-k個性能表現(xiàn)組好的頻率分量。在附錄部分,作者還做了兩組其他的組合策略,分別是選擇如上圖(b)左上角所示的所有頻率分量,即low-1,low-2,...,low-32;還有一組是選擇性能表現(xiàn)最差的Top-k個頻率分量:

從實驗結(jié)果可以看出,Top-k性能最差的頻率組合明顯低于選擇低頻頻率分量的組合策略,這也充分驗證了低頻分量是重要的,即DNN更加關(guān)注低頻分量。當(dāng)然,最佳的實驗效果還是選擇性能表現(xiàn)最好的Top-k個分量。
離散余弦變換的可視化

從上圖可以看出,2維DCT的基函數(shù)是由規(guī)整的水平和垂直余弦波所組成,這些基函數(shù)是彼此正交的,與數(shù)據(jù)無關(guān)。此外,根據(jù)兩步準(zhǔn)則所選定的頻率分量可以看到,所選擇的頻率分量通常是低頻的。
DCT的初始化代碼

總結(jié)
最近也有不少文章開始從頻域角度來切入大家有興趣可以去了解下,比如阿里在CVPR 2020所提出來的文章,好像用的也是DCT?雖然作者一直強調(diào)他們的方式效果非常顯著,代碼量僅需一行。但從其描述的實驗結(jié)果來看,作者似乎并沒有嚴(yán)格按照統(tǒng)一條件下去進行對照組實驗,而是直接摘抄其他方法原論文的結(jié)果報告出來。其次,一行代碼這個也有點牽強,真正起作用的核心代碼被封裝起來,只不過是簡單的使用了一個開關(guān)進行調(diào)用,嚴(yán)格意義上來說應(yīng)該不算。整體來說,這篇文章的思路還是挺不錯的,至于性能等后面源碼公開出來留待時間的檢驗,投個最近的ICCV應(yīng)該是穩(wěn)了。
總結(jié)下Attention機制的優(yōu)勢有如下三點:參數(shù)少 ● 速度快 ● 效果好。現(xiàn)如今發(fā)表的許多注意力機制相關(guān)的方法,很多都是基于原始方法進行改進,至于改進的力度和效果提升見仁見智。雖然這里面大部分的提升很可能來自于大量的trick沒報告出來,或者是由于數(shù)據(jù)泄露導(dǎo)致的unfair,又或者實驗比較對象的巧妙選取等,但是不得不佩服的是作者們八仙過海各顯神通講故事的邏輯,從中也受益良多。很有意思的是,為了克服現(xiàn)在越來越內(nèi)卷的頂會投稿量避免Reviewer看起來千篇一律直接給你Early Reject,很多論文都許多對一些常規(guī)的操作進行名詞渲染。好比1×1卷積應(yīng)該叫投影函數(shù)(Project function);兩個同階矩陣的相乘可以寫成哈達姆積(Hadamard product);求兩個矩陣的相似度計算稱為親和(Affinity)計算等等。另一方面,大多數(shù)改進的方向都不約而同,大體上都是從不同維度、復(fù)雜度、時頻域出發(fā)。比如維度方面有通道、空間、時間、類別等;復(fù)雜度方面主要是基于維度的基礎(chǔ)上,優(yōu)化其參數(shù)量和計算量;域方面主要就是從時域到頻域的變換;當(dāng)然,還有很多跨領(lǐng)域交叉的嘗試,比如最近才在計算機視覺領(lǐng)域中大火的Transformer機制;亦或者將2D的注意力擴展到3D去等。其實,細(xì)細(xì)品嘗其中的滋味,熟悉原理和了解整個CV發(fā)展的脈絡(luò)之后會發(fā)現(xiàn),處處皆idea,哪怕從原理上創(chuàng)新不來,隨便來個排列組合再配合上講story和寫paper的功力,一大把頂會頂刊在向我們招手——投稿就像海洋,只有鼓起勇氣投出去的人才有資格別接收。寫了整整一下午,生活艱難,創(chuàng)作不易,拒絕白嫖,從你我做起。覺得有幫助的也請歡迎關(guān)注、點贊、收藏、喜歡、轉(zhuǎn)發(fā)五連擊,謝謝。
END
整理不易,點贊三連↓
