【何凱明】非區域性連線網路 Non-local Neural Network
《Non-local Neural Network》
一、 主要貢獻
1.提出了一種非區域性連線(Non-local operations)的計算塊 (building block),用於處理視訊和影象的長程依賴關係(long-range dependency);
2.在視訊資料集Kinetics and Charades datasets,目前最優(對比2D或3D卷積網路);
3.影象分類資料集COCO,能夠提升精度。
二、 非區域性連線操作
1. 啟發性方法:非區域性均值方法(non-local means methods)
非區域性均值濾波是Buades等
在2005年提出的一種濾波方法。其基本思想是根據影象的自相似性來計算鄰域畫素的權重。NML
總結一下方法:
a) 假設影象的噪聲是高斯噪聲,高斯噪聲的求和趨向於0;
b) 在影象的不同區域或者不同時域,存在一定的區域是相似的,把這些相似區域不斷相加(具有一定權重,權值與相似度有關),則累加的越多,高斯噪聲的影響就趨向於0,則影象通過這樣的演算法越來越清晰。
2. 這樣做的動機:
在卷積網路中,卷積層之前新增這些非區域性操作,相當於在這些層之前進行降噪操作,消除feature
map
同時應該也有獲取非區域性區域的資訊相關性的考慮,即比如卷積是通過不斷進行區域性資訊聚合(卷積)的操作來獲取更大範圍的相關性資訊,而新增這種操作可以讓卷積只關注區域性資訊,應該能起到減少層數的作用。
3. 非區域性連線的數學公式:
i代表輸出的位置(時間點、空間點、時空點),j代表遍歷全部可能點,f代表相似度的函式,g是輸入縮放函式,c(x)是歸一化因子。
4. f函式和g函式的選擇(結論是對精度影響不大,可以選擇硬體友好的,所以文中說不討論L1 L2歐式距離)。
a) Gaussian
b) Embedded Gaussian
c)
Self-attention
module
d) Dot product
e) Concatenation
5. Non-local Block用於神經網路的一個基本塊
Y是非區域性操作,+X是殘差連線(好處是這個結構可以插入到已經預訓練的模型)。
示意圖如下:
Implement中減少引數量和計算量的trick:
① Wg, Wθ, and Wφ to be half of the number of channels in x;
② 下采樣:公式中的Xj通過下采樣進行遍歷。
三、 實驗結果
對比的是ResNet-50,使用2維卷積,資料集是Kinetics和Charades視訊。在視訊分類上,精度提升明顯。
在影象分類方面,使用的是資料集COCO,精度一般提升1~2%。