SENet論文:https://arxiv.org/abs/1709.01507
SENet代碼:https://github.com/hujie-frank/SENet
SENet 是我讀的第一篇有關(guān)注意機(jī)制的文章拐袜,文章的想法非常前沿蹬铺,以往人們都是在空間維度上對(duì)網(wǎng)絡(luò)進(jìn)行改進(jìn),而本文作者則是另辟蹊徑秋泄,考慮特征通道之間的關(guān)系规阀,即對(duì)特征進(jìn)行重標(biāo)定。這篇文章最重要是提出了SE模塊歧胁,而SENet本質(zhì)上是帶有SE模塊的ResNeXt152。
一般CNN的每個(gè)通道學(xué)習(xí)到的濾波器都對(duì)局部感受野進(jìn)行操作屠缭,因此每個(gè)特征圖都無法利用其它特征圖的上下文信息玄糟,而且網(wǎng)絡(luò)較低的層次上其感受野尺寸都是很小的阵翎,這樣情況就會(huì)更嚴(yán)重。SENet通過學(xué)習(xí)的方式來自動(dòng)獲取到每個(gè)特征通道的重要程度郭卫,然后依照這個(gè)重要程度去提升有用的特征并抑制對(duì)當(dāng)前任務(wù)用處不大的特征背稼。
下圖1是帶有SE塊的Inception塊的具體結(jié)構(gòu)圖,右邊那一大串就是我們要說的SE模塊词疼。
文中說贰盗,全局平均池化層的使用是為了解決卷積核的局部感受野無法利用區(qū)域以外的上下文信息問題舵盈,它的輸出表征著在特征通道上響應(yīng)的全局分布球化,使得靠近輸入的層也可以獲得全局的感受野。第一個(gè)全連接層主要的目的是降維赴蝇,這可以極大地減少參數(shù)量和計(jì)算量巢掺,r是縮放因子址遇,文中取16。后面的ReLU是使模型具有更好的非線性秃殉,可以更好地?cái)M合通道間復(fù)雜的相關(guān)性。第二層的全連接層屬于擴(kuò)張層鳄袍,它的輸出通道又回到了原來的C吏恭,主要是為后面的權(quán)重歸一化做準(zhǔn)備樱哼。SE模塊中的兩層全連接層是通過參數(shù) w 來為每個(gè)特征通道生成權(quán)重,其中參數(shù) w 被學(xué)習(xí)用來顯式地建模特征通道間的相關(guān)性阅束。Sigmoid函數(shù)對(duì)上一步的通道進(jìn)行最后的篩選息裸,獲得0~1之間歸一化的權(quán)重沪编,即越是重要的通道,它的權(quán)重就越大访圃。最后的Scale就是特征重標(biāo)定了纳令,即將歸一化后的權(quán)重加權(quán)到之前Inception輸出的每個(gè)通道的特征上平绩。至此就完成了SE模塊對(duì)圖像特征的篩選工作捏雌。
文中在ResNet50+SE塊的這個(gè)例子說了跃赚,SE塊可以在輕微增加計(jì)算復(fù)雜度的情況下性湿,帶來大幅的性能增益肤频,并且在這個(gè)例子中宵荒,作者認(rèn)為計(jì)算復(fù)雜度的增加主要在最后階段的殘差塊中,所以后來作者去除了殘差塊的SE模塊侠讯,準(zhǔn)確率幾乎沒有下降,但是參數(shù)量得到了下降膜眠,因?yàn)楹竺娴臍埐顗K輸出通道比較多宵膨,一方面使得第一層的全連接層壓縮不到位柄驻,另一方面給第二層的全連接層帶來了過多的參數(shù)量焙压。