NIPS 2018 Compact Generalized Non-local Network

論文在:Compact Generalized Non-local Network

pytorch code: KaiyuYue/cgnl-network.pytorch

第一:背景

不論各種任務(圖像分類,視頻分類,物體檢測,分割等),如何獲取更強的底層表達是一個關鍵。神經網路大多數結構都是不斷重複相同的單元模塊,所以我將大多數工作分為:構建模塊間的關係(各種連接等,一般解釋都是scale,感受野等),還有一塊就是設計一些新的模塊從而增強表達(一般比如attention等)。

今天主要討論第二點,就是如何設計一個模塊增強現有的模塊表達能力。這方面有很多優秀的工作,如SEnet,抽取卷積的一些統計量(S)在作用回去(E);如non-local模塊,先模擬得到一個attention map, 在做特徵選擇; 如bilinear , 直接沿著特徵空間方向(channel方向)進行高階拓展; 從演算法角度來看,就是將CHW喂進這些模塊,輸出還是CHW。這些模塊成功之處就是高效的實現CHW不同角度的信息流動(我們可以稱為correlation)

那我們有木有更好的框架,能把這些模塊都歸納在一起呢?或者說他們都是某種情況下的特列?

第二:CGNL

建模: 實際要解決上面那個問題也比較簡單,所有的信息都在CHW上,我們演算法直接把CHW拉成一個向量,所以我們只要在這個向量中發生作用就行。

以non-local來說, 他沒有考慮到C維上的關係, 這個卻在SE中顯示的很重要。所以我們這個模塊也叫CGNL。實際這個表達和NL已經沒有關係了。

解模: 實現中有一個需要說一下, 那就是為啥有compact?因為計算量太大了,用了一些現成的演算法進行加速。具體這些演算法可以看我們的paper和code。

實驗和代碼等待大家去看吧,歡迎吐槽。

第三:總結

1, 簡單拓展了目前的一些模塊。

2,實現上,實現了存在一些技巧。

第四:不足或者不妥之處或未來工作:

1,可解釋: 這種操作本質上沒有一個很好的物理意義解釋

2,演算法: CHW維數太高,我們急需一個好的展開高階演算法。(降維,shuffle, group都不能解決本質問題)

3,優化:訓練上,發現必須得ft。說明這個模塊或者這種高階對優化演算法還不夠友好。

上一篇ECCV主要做一些where的嘗試,這篇主要在嘗試what的問題,實際還有很多問題沒有解決,期待你一塊來解決(比如優化的問題,可解釋問題,不平衡問題,小樣本問題等)。

大家有問題可以m_sunming@163.com , 常年收簡歷(實習,校招和社招)。


推薦閱讀:

TAG:物體檢測 | 注意力 |