1. 程式人生 > >非區域性神經網路,打造未來神經網路基本元件

非區域性神經網路,打造未來神經網路基本元件

將非區域性計算作為獲取長時記憶的通用模組,提高神經網路效能在深度神經網路中,獲取長時記憶(long-range dependency)至關重要。對於序列資料(例如語音、語言),遞迴運算(recurrent operation)是長時記憶建模的主要解決方案。對於影象資料,長時記憶建模則依靠大型感受野,後者是多層卷積運算堆疊的結果。

 

卷積和遞迴運算處理的都是一個區域性鄰域,可以是空間區域性鄰域,也可以是時間區域性鄰域,因此只有不斷重複這些運算,逐步在資料中傳播訊號,才能獲取長時記憶。而不斷重複區域性計算有幾個限制。首先,計算效率低下。其次,會產生一些優化問題,需要仔細解決。最後,這些問題使

multihop dependency 建模十分困難,multihop dependency 建模就是在很長的時間/空間位置之間來回傳送資訊。

 

非區域性運算是計算機視覺中經典的非區域性均值運算的一種泛化結果。直觀地說,非區域性運算將某一處位置的響應作為輸入特徵對映中所有位置的特徵的加權和來進行計算。

我們將非區域性運算作為一個高效、簡單和通用的模組,用於獲取深度神經網路的長時記憶。我們提出的非區域性運算是計算機視覺中經典的非區域性均值運算的一種泛化結果。直觀地說,非區域性運算將某一處位置的響應作為輸入特徵對映中所有位置的特徵的加權和來進行計算。這些位置可以是空間位置,也可以是時間位置,還可以是時空位置,這意味著我們的計算適用於影象、序列和視訊問題。

使用非區域性運算有幾大好處:(a)與遞迴和卷積運算的漸進的操作相比,非本區域性運算直接通過計算任意兩個位置之間的互動來獲取長時記憶,可以不用管其間的距離;(b)正如他們在實驗中所顯示的那樣,非區域性運算效率很高,即使只有幾層(比如實驗中的5層)也能達到最好的效果;(c)最後,他們的非區域性運算能夠維持可變輸入的大小,並且能很方便地與其他運算(比如實驗中使用的卷積運算)相組合。

 

一個時空非區域性元件。特徵對映被表示為張量,⊗表示矩陣乘法,⊕表示單元和。每一行進行softmax。藍框表示1×1×1的卷積。圖中顯示的是嵌入式高斯版本,具有512個通道的瓶頸。

“我們展示了非區域性運算在視訊分類應用中的有效性。在視訊中,分隔開的畫素在空間和時間上都會發生長時互動(long-range interaction

)。我們的基本單元,也即單一的一個非區域性模組,可以以前向傳播的方式直接獲取這些時空記憶。增加了幾個非區域性模組後,我們的“非區域性神經網路”結構能比二維和三維卷積網路在視訊分類中取得更準確的結果。另外,非區域性神經網路在計算上也比三維卷積神經網路更加經濟。我們在 Kinetics Charades 資料集上做了全面的對比研究。我們的方法僅使用 RGB 資料,不使用任何高階處理(例如光流、多尺度測試),就取得了與這兩個資料集上競賽冠軍方法相當乃至更好的結果。”

為了證明非區域性運算的通用性,作者在 COCO 資料集上進行了物體檢測、例項分割和人體姿態關鍵點檢測的實驗。他們將非區域性運算模組與 Mask R-CNN 結合,新模型在計算成本稍有增加的情況下,在所有三個任務中都取得了最高的精度。由此表明非區域性模組可以作為一種比較通用的基本元件,在設計深度神經網路時使用。
實驗及結果

在這一節我們簡單介紹論文中描述的實驗及結果。

 

視訊的基線模型是 ResNet-50 C2D。三維輸出對映和濾波核的尺寸用T×H×W 表示(二維核則為 H×W),後面的數字代表通道數。輸入是32×224×224。方括號裡的是殘差模組。

 

c)展示了將非區域性模組加入 C2D 基線後的結果,實驗中用到了50層和101層的ResNet,可以看出,總體而言,增加的非區域性模組越多,最後的精度越高。

d)展示了時間、空間和時空同時非區域性的效果,時空一起的效果最好。

e)對比了非區域性模組和三維卷積神經網路,增加了非區域性模組(5個)的效果要好一點點。

 

f)將非區域性與三維卷積相結合的效果,結合了比單純的三維卷積更好。

g)檢驗了在128幀的視訊中(f)中的模型的效果,發現能夠保持比較穩定。

 

最後,下面這張圖展示了將非區域性模組與 Mask R-CNN 結合後,在 COCO 物體檢測、例項分割以及人體關鍵點檢測任務中效能均有所提升,使用了50100層的ResNet,以及152層的ResNeXt