1. 通道注意力新突破!從頻域角度出發(fā),浙大提出FcaNet:僅需修改一行代碼,簡(jiǎn)潔又高效

        共 4516字,需瀏覽 10分鐘

         ·

        2021-01-04 15:32



        ??新智元推薦??

        來(lái)源:極市平臺(tái)

        作者:Happy

        【新智元導(dǎo)讀】本文介紹了一種非常巧妙的通道注意力機(jī)制,從頻域角度分析,采用DCT對(duì)SE進(jìn)行了擴(kuò)展,所提方法簡(jiǎn)單有效僅需更改一行代碼即可實(shí)現(xiàn)比SENet50提升1.8%的性能。


        該文是浙江大學(xué)提出一種的新穎的通道注意力機(jī)制,它將通道注意力機(jī)制與DCT進(jìn)行了巧妙的結(jié)合,并在常規(guī)的通道注意力機(jī)制上進(jìn)行了擴(kuò)展得到了本文所提出的多譜通道注意力機(jī)制:FcaLayer。作者在圖像分類、目標(biāo)檢測(cè)以及實(shí)例分割等任務(wù)上驗(yàn)證了所提方案的有效性:在ImageNet分類任務(wù)上,相比SENet50,所提方法可以取得1.8%的性能提升。


        從頻域角度進(jìn)行分析


        注意力機(jī)制(尤其是通道注意力)在CV領(lǐng)域取得了極大的成功,然這些工作往往聚焦于如何設(shè)計(jì)有效的通道注意力機(jī)制,同時(shí)采用GAP(全局均值池化)作為預(yù)處理方法。本文從另一個(gè)角度出發(fā):從頻域角度分析通道注意力機(jī)制。

        基于頻域分析,作者得出:
        GAP是頻域特征分解的一種特例。

        基于前述分析,作者對(duì)通道注意力機(jī)制的預(yù)處理部分進(jìn)行了擴(kuò)展并提出了帶多譜通道注意力的FcaNet,所提方法具有簡(jiǎn)單&有效性。在現(xiàn)有通道注意力機(jī)制的實(shí)現(xiàn)基礎(chǔ)上,僅需更改一行code即可實(shí)現(xiàn)所提的注意力機(jī)制。

        更進(jìn)一步,在圖像分類、目標(biāo)檢測(cè)以及實(shí)例分割任務(wù)上,相比其他注意力機(jī)制,所提方法取得了更好的性能。比如在ImageNet數(shù)據(jù)集上,所提方法比SE-ResNet50的Top1指標(biāo)高1.8%,且兩者具有相同的參數(shù)量與計(jì)算量。


        上圖給出了所提方法與ResNet、SE-ResNet在ImageNet數(shù)據(jù)集上的指標(biāo)對(duì)比。本文的主要貢獻(xiàn)包含以下幾點(diǎn):
        • 證實(shí)GAP是DCT的一種特例,基于該分析對(duì)通道注意力機(jī)制在頻域進(jìn)行了擴(kuò)展并提出了帶多譜通道注意力的FcaNet;

        • 通過(guò)探索不同數(shù)量頻域成分的有效性提出了一種“two-step”準(zhǔn)則選擇頻域成分;

        • 通過(guò)實(shí)驗(yàn)證實(shí)了所提方法的有效性,在ImageNet與COCO數(shù)據(jù)集上均取得了優(yōu)于SENet的性能;

        • 所提方法簡(jiǎn)潔有效,僅需在現(xiàn)有通道注意力機(jī)制的基礎(chǔ)上修改一行code即可實(shí)現(xiàn)。

        方法介紹

        接下來(lái),我們將重新研究一下通道注意力的架構(gòu)以及DCT頻域分析;基于前述分析推導(dǎo)多譜通道注意力網(wǎng)絡(luò);與此同時(shí),提出一種“two-step”準(zhǔn)則選擇頻域成分;最后給出了關(guān)于有效性、復(fù)雜度的討論與code實(shí)現(xiàn)。

        Revisiting Channels Attention and DCT


        我們先來(lái)看一下通道注意力與DCT的定義,然后在總結(jié)對(duì)比一下兩者的屬性。

        Channel Attention

        通道注意力機(jī)制已被廣泛應(yīng)用到CNN網(wǎng)絡(luò)架構(gòu)中,它采用一個(gè)可學(xué)習(xí)的網(wǎng)絡(luò)預(yù)測(cè)每個(gè)通道的重要。其定義如下:


        Discrete Cosine Transform


        DCT的定義如下:


        其中表示DCT的頻譜。2D-DCT的定義如下:


        其中,表示2D-DCT頻譜。對(duì)應(yīng)的2D-IDCT的定義如下:


        注:在上述兩個(gè)公式中常數(shù)項(xiàng)被移除掉了。
        基于上述通道注意力與DCT的定義,我們可以總結(jié)得到以下兩點(diǎn)關(guān)鍵屬性:
        (1) 現(xiàn)有的通道注意力方案采用GAP作為預(yù)處理;
        (2) DCT可以視作輸入與其cosine部分的加權(quán)。GAP可以視作輸入的最低頻信息,而在通道注意力中僅僅采用GAP是不夠充分的

        基于此,作者引入了本文的多譜通道注意力方案。

        Multi-Spectral Channel Attention


        在正式引出多譜通道注意力之前,作者首先給出了一個(gè)定理,如下所示。其中表示D2-DCT的最低頻成分。

        上述定理意味著:通道注意力機(jī)制中可以引入其他頻域成分。與此同時(shí),作者也解釋了為什么有必要引入其他頻率成分。

        為簡(jiǎn)單起見,我們采用B表示2D-DCT的基函數(shù):



        那么,2D-DCT可以重寫成如下形式:


        自然地,我們可以看到:圖像/特征可以表示為不同頻率成分的線性組合。再來(lái)看通道注意力的公式:

        ? ? ??


        即通道注意力僅僅依賴于GAP結(jié)果。而X的信息卻不僅僅由GAP構(gòu)成:

        從上述公式可以看到:僅有一小部分信息在通道注意力中得以應(yīng)用,而其他頻域成分則被忽略了。

        Multi-Spectral Attention Module

        基于上述分析,作者很自然的將GAP擴(kuò)展為2D-DCT的更多頻率成分的組合,即引入更多的信息解決通道注意力中的信息不充分問(wèn)題。
        首先,輸入X沿通道維劃分為多個(gè)部分;對(duì)于每個(gè)部分,計(jì)算其2D-DCT頻率成分并作為通道注意力的預(yù)處理結(jié)果。
        此時(shí)有:
        將上述頻域成分通過(guò)concat進(jìn)行組合,
        真?zhèn)€多譜通道注意力機(jī)制與描述如下:
        下圖給出了通道注意力與多譜通道注意力之間的網(wǎng)絡(luò)架構(gòu)對(duì)比示意圖。

        Criterion for choosing frequence components

        從前述定義可以看到:2D-DCT有多個(gè)頻率成分,那么如何選擇合適的頻率成分呢?作者提出一種“two-step”準(zhǔn)則選擇多譜注意力中的頻率成分。

        選擇的主旨在于:首先確定每個(gè)頻率成分的重要性,然后確定不同數(shù)量頻率成分的影響性。首先,獨(dú)立的確認(rèn)每個(gè)通道的不同頻率成分的結(jié)果,然后選擇Top-k高性能頻率成分。

        最后,作者提供了本文所提多譜通道注意力的實(shí)現(xiàn)code,如下所示??梢钥吹剑簝H需在forward部分修改一行code即可。


        實(shí)驗(yàn)


        ImageNet
        作者選用了四個(gè)廣泛采用的CNN作為骨干網(wǎng)絡(luò),即ResNet34,ResNet50,ResNet101,ResNet152。采用了類似ResNet的數(shù)據(jù)增強(qiáng)與超參配置:輸入分辨率為,SGD優(yōu)化器,Batch=128,合計(jì)訓(xùn)練100epoch,cosine學(xué)習(xí)率。注:采用Apex混合精度訓(xùn)練工具。

        COCO

        作者選用了Faster RNN與Mask RCNN作為基準(zhǔn),并采用了MMDetection工具進(jìn)行實(shí)現(xiàn)。SGD優(yōu)化器,每個(gè)GPU的batch=2。訓(xùn)練12個(gè)epoch,學(xué)習(xí)率為0.01,在第8和11epoch時(shí)學(xué)習(xí)率衰減。

        作者首先給出了不同頻率成分下的通道注意力的性能對(duì)比,見下圖。

        可以看到:
        (1)?多譜注意力以較大優(yōu)勢(shì)超越僅采用GAP的通道注意力;
        (2)?包含16個(gè)頻率成分的注意力取得最佳性能。
        下表給出了所提方法在ImageNet數(shù)據(jù)集上與其他方法的性能對(duì)比。可以看到:所提方案FcaNet取得了最佳的性能。

        在相同參數(shù)&計(jì)算量下,所提方法以較大優(yōu)化超過(guò)SENet,分別高出1.20%、1.81%、2.02%、1.65%;與此同時(shí),F(xiàn)caNet取得了超過(guò)GSoPNet的性能,而GSopNet的計(jì)算量比FcaNet更高。


        下圖給出了COCO目標(biāo)檢測(cè)任務(wù)上的性能對(duì)比,可以看到:所提方法取得了更佳的性能。FcaNet以較大的性能優(yōu)勢(shì)超過(guò)了SENet;相比ECANet,F(xiàn)caNet仍能以0.9-1.3%指標(biāo)勝出。

        下圖給出了COCO實(shí)例分割任務(wù)上的性能對(duì)比,可以看到:所提方法以較大優(yōu)勢(shì)勝出。比如,F(xiàn)caNet以0.5%AMP指標(biāo)優(yōu)于GCNet。
        最后附上多譜通道注意力code。注:get_dct_weights僅用于初始化dct權(quán)值,而不會(huì)參與訓(xùn)練和測(cè)試。

        很明顯,這里的多譜通道注意力是一種與特征寬高相關(guān)的通道注意力機(jī)制,這有可能導(dǎo)致其在尺寸可變?nèi)蝿?wù)(比如圖像復(fù)原中的訓(xùn)練數(shù)據(jù)-測(cè)試數(shù)據(jù)的尺寸不一致)上的不適用性。
        import mathimport torchimport torch.nn as nn

        def get_ld_dct(i, freq, L): result = math.cos(math.pi * freq * (i + 0.5) / L) if freq == 0: return result else: return result * math.sqrt(2)

        def get_dct_weights(width, height, channel, fidx_u, fidx_v): dct_weights = torch.zeros(1, channel, width, height)
        # split channel for multi-spectral attention c_part = channel // len(fidx_u)
        for i, (u_x, v_y) in enumerate(zip(fidx_u, fidx_v)): for t_x in range(width): for t_y in range(height): val = get_ld_dct(t_x, u_x, width) * get_ld_dct(t_y, v_y, height) dct_weights[:, i * c_part: (i+1) * c_part, t_x, t_y] = val
        return dct_weights

        class FcaLayer(nn.Module): def __init__(self, channels, reduction=16): super(FcaLayer, self).__init__() self.register_buffer("precomputed_dct_weights", get_dct_weights(...)) self.fc = nn.Sequential( nn.Linear(channels, channels//reduction, bias=False), nn.ReLU(inplace=True), nn.Linear(channels//reduction, channels, bias=False), nn.Sigmoid() )
        def forward(self, x): n,c,_,_ = x.size() y = torch.sum(x * self.pre_computed_dct_weights, dim=[2,3]) y = self.fc(y).view(n,c,1,1)????????return?x?*?y.expand_as(

        論文鏈接:

        https://arxiv.org/abs/2012.11879





        ?
        推薦閱讀:
        開源項(xiàng)目在GitHub上貢獻(xiàn)33.5W個(gè)Star!騰訊的十年「云」答卷,請(qǐng)收好!
        「2020中國(guó)AI算力報(bào)告」重磅出爐:中國(guó)怎么解決GPT-3的算力難題?




        瀏覽 54
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        評(píng)論
        圖片
        表情
        推薦
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
          
          

            1. 欧美极品另类 | 久久久久久久69 | 筱崎爱三级理论在线播放 | 色88久久久久高潮综合影院 | 性无码专区免费无码片 |