最近關注到了這篇論文,發現這篇論文挺有意思的。因此在這裏按我的理解說說這篇論文。這裏不做論文完整的翻譯。
GCNet 網絡結構結構了non-local network和Squeeze-excitation networks.我們知道non-local network(NLNet)可以捕獲長距離依賴關係。可以發現NLnet的網絡結構採用的是自注意力機制來建模像素對關係。在這篇文章中non-local network的全局上下文在不同位置幾乎是相同的,這表明學習到了無位置依賴的全局上下文,因此這樣導致了大量的計算量的浪費。作者在這裏提出了一種簡化版的模型去獲得全局上下文信息。使用的是query-independent(可以理解爲無query依賴)的建模方式。同時更可以共享這個簡化的結構和SENet網絡結構。因此作者在這裏聯合了這三種方法產生了一個global context(GC) block
在這裏我們可以可以看到一個個簡化版的NL block 和完整的NLblock
NL block 可以表述爲 爲位置的索引, 枚舉所有可能的位置。 表示位置 和 的關係, 爲歸一化因子。 和 表示線性轉換矩陣(例如1x1卷積)。爲了簡單起見,定義 爲位置 和 的歸一化關係。本文中將 表示爲Embedded Gaussian的形式,定義爲
作者從COCO數據集中隨機選擇6幅圖,分別可視化3個不同位置和它們的attention maps。作者發現對於不同位置來說,它們的attention maps幾乎是相同的。作者通過分析不同位置全局上下文的距離,進一步證明了這一點。換句話說,雖然non-local block想要計算出每一個位置特定的全局上下文,但是經過訓練之後,全局上下文是不受位置依賴的。
同時作者也利用了SENet網絡
最後得到了一個全新的GCnet 模塊
最後這個新的block 可以更好的分析模型的上下文信息。
最近我在進行語義分割時 準備把non-lock 網絡也加入到分割中,發現我兩個12G的顯卡都爆了。由於我進行分割的圖片大小爲512*512.當進行分割時最後一步按照non-lock的操作。最後得到的矩陣大小是512*512 * 512*512 還要加上batchsize 最後導致內存爆了。當時我就對non_lock 網絡進行了簡單的更改。最後得到的分割結果也是比較理想的。當時我就想着對於non_lock 網絡進行一些簡化操作。沒想到看到這個論文,發現作者比我更狠,簡化了這麼多。這樣也同時給我了一個思路。又重新對於網絡進行了更改。