當隨機採樣遇見插值,微軟亞研提出節省推理計算量的新範式

機器之心專欄

作者:張拯

同一張圖像的不同區域空間冗餘度是不一樣的,背景部分的冗餘度往往低於人物區域。如何利用這種特性來節省模型推理的計算量呢?在一篇 ECCV 2020 Oral 論文中,來自微軟亞洲研究院等機構的研究者提出了一種隨機採樣與插值相結合的新方法,可以有效降低節省推理的計算量。

當隨機採樣遇見插值,微軟亞研提出節省推理計算量的新範式

近年來,隨著深度學習的不斷髮展,視覺領域出現了越來越多的高精度模型,但這些模型所需的計算量也越來越大。因此,如何在推理階段避免冗餘的計算在近年來成為研究熱點。

為了解決這一問題,研究者提出了一系列相關算法,如模型剪枝(Model Pruning)、模型量化(Model Quantization)、提前終止(Early Stopping)和利用特徵響應稀疏性(Activation Sparsity)等方法。

在本文中,來自微軟亞洲研究院視覺計算組、清華大學以及中國科學技術大學的研究者們提出了一種利用圖像的空間冗餘特性來節省計算量的新範式——利用隨機採樣與插值來進行動態推理。在實驗部分,研究者在物體檢測(COCO2017)與語義分割(Cityscapes)兩種任務上驗證了該方法的有效性。

當隨機採樣遇見插值,微軟亞研提出節省推理計算量的新範式

論文地址:https://arxiv.org/abs/2003.08866

方法介紹

圖像的空間冗餘是指:在圖像中,空間上相鄰的的位置對應的特徵與內容通常也較為相似,因此,某一位置的特徵可以通過其臨近區域其他位置的特徵進行插值得到。這種特性在自然圖像裡十分常見,是自然圖像的一種內稟屬性。

利用這種特性降低計算量在計算機視覺領域並不罕見,如通過縮小輸入圖片的尺寸,或在主幹網絡中通過 Pooling 或 Stride Conv 來降低特徵圖的分辨率就是兩種常見的方法,而這兩種方法均可以被看作在空間上進行均勻採樣 (Uniform Sampling) 。

當隨機採樣遇見插值,微軟亞研提出節省推理計算量的新範式

但是,圖像冗餘在空間上並不是均勻分佈的,如 Fig. 1(a) 所示,人物、路燈等區域的冗餘度較低,而地面、背景牆等區域的冗餘度較高。因此,在空間中進行均勻採樣並不能充分利用空間的冗餘特性。更好的方式應當是自適應地決定採樣位置。

當隨機採樣遇見插值,微軟亞研提出節省推理計算量的新範式

提前中止法(Early Stopping)與利用特徵響應稀疏性(Activation Sparsity)的方法均可被視為實現自適應採樣的不同方式。在這些方法中,每個位置都對應一個分數,代表該位置的重要程度。如果分數大於一個閾值,該位置就會被採樣。我們稱這類採樣方法為確定性採樣(Deterministic Sampling),如 Fig. 2 (b) 左圖所示。然而,由於空間冗餘特性的存在,鄰近的位置得分往往接近,因此,在確定性採樣中,一片相鄰的區域經常同時被採樣到或者同時不被採樣到(如 Fig. 1 (b) 所示)。

本文提出使用隨機採樣(Stochastic Sampling)與插值相結合的方法來節省計算量。在隨機採樣中,每個位置的分數僅代表其被採樣到的概率。分數越高,其被採樣的概率越大,反之亦然。因此,對於一個擁有相同分數的區域,只要其概率不是 1,則僅會有一部分位置被採樣到(如 Fig. 2 (b) 右圖所示)。而未被採樣到的位置,其特徵可以藉助鄰近被採樣到的點通過插值來近似。通過這種方法,可以在獲得與確定性採樣相似精度的情況下,使用更少的採樣點進行計算(如 Fig. 1 (c) 所示),或使用一樣多的採樣點取得更高的精度(如 Fig. 1(d) 所示)。

按照上述分析,本文提出了隨機採樣 - 插值網絡(如 Fig. 2(a) 所示)。該網絡包含採樣模塊、稀疏卷積與插值模塊三個部分。

採樣模塊

本文使用二類的 Gumbel-Softmax 來模擬離散採樣的過程,其定義如下:

當隨機採樣遇見插值,微軟亞研提出節省推理計算量的新範式

其中π表示採樣概率,由一個3×3卷積和 Sigmoid 函數輸出,g表示噪音項,這是 Gumbel-Softmax 隨機性的根源。如果去掉噪音項g,則 Gumbel-Softmax 退化為一個確定性採樣方法。τ則是溫度項,當溫度較高時,M是一個可微的連續函數,而當溫度較低時,M退化為一個二值函數。溫度項的初始值在訓練開始時被設為 1,然後隨著訓練輪數的增加指數級下降,在訓練結束時,τ接近於 0。通過這種方式,掩模M既可以在訓練的中前期被充分訓練,又能在訓練後期使得M接近於一個二值化掩膜,從而保持與推理階段一致的行為。同時,為了激勵網絡產生稀疏的採樣掩膜,本文引入稀疏損失函數(Sparse Loss),其定義如下:

當隨機採樣遇見插值,微軟亞研提出節省推理計算量的新範式

將其與下游任務的損失函數結合,就可以得到最終的目標損失函數:

當隨機採樣遇見插值,微軟亞研提出節省推理計算量的新範式

其中,γ是稀疏損失的權重,通過調整γ我們可以獲得不同程度的稀疏性。

插值模塊

在使用採樣模塊生成採樣掩膜M後,我們可以利用稀疏卷積來得到稀疏的特徵圖Y_S,再通過插值模塊對Y_S進行補全,得到完整的特徵圖Y^*。然而,補全特徵所需要的最優插值形式是一個開放性問題。本文探索了三種不同的插值函數:RBF Kernel、Plain Convolution 以及 Average Pooling,並在實驗中發現 RBF Kernel 表現優於其他兩種函數,因此本文將其作為默認的插值方法。

同時,由於空間冗餘具有局部性,因此我們可以使用滑動窗來實現高效的插值。為了避免在滑動窗內沒有采樣點的情況,本文額外使用了一個等間距均勻採樣,但高度稀疏的掩膜M_grid與網絡學習到的掩膜M_sample通過如下方式結合,得到最終使用的掩膜M:

當隨機採樣遇見插值,微軟亞研提出節省推理計算量的新範式

利用這個技術,儘管最終性能並不受太多影響,但網絡的訓練過程可以變得更加穩定。

當隨機採樣遇見插值,微軟亞研提出節省推理計算量的新範式

與 Residual Block 進行集成

隨機採樣 - 插值網絡可以被很容易地集成到常見的網絡架構中,在此,本文以 Residual Block 作為例子進行介紹。如 Fig.3 所示,有三種不同的集成方法,作者通過實驗發現 Fig.3 (b) 的效果最好,因此使用其作為默認設定。

實驗與分析

消融實驗

本文在 COCO2017 物體檢測數據集上對其關鍵設計進行了驗證。不同插值函數對結果的影響如 Table.1 所示:在 mAP 相當的情況下,RBF Kernel 使用了更少的計算量。Table. 2 則比較了去掉插值模塊對結果的影響。其對應的兩個基線模型:對未採樣區域的特徵進行補零(Fill Zeros)或使用複用特徵(Reuse Feature)均明顯劣於本文所提出的插值方法。Table. 3 則研究了 Grid Prior 對結果的影響。

當隨機採樣遇見插值,微軟亞研提出節省推理計算量的新範式

在物體檢測與語義分割中與其他方法的比較

Fig.4 中展示了本文所提出的方法與其他方法在 Speed-accuracy trade-off 下的比較。相比於基於均勻採樣的方法(即縮小輸入圖片的尺寸),該方法效果提升十分顯著。而與其他確定性採樣方法相比,該方法也具有明顯的優勢。

當隨機採樣遇見插值,微軟亞研提出節省推理計算量的新範式

在圖像分類問題中與其他的方法進行比較

當隨機採樣遇見插值,微軟亞研提出節省推理計算量的新範式

Table. 4 展示了圖像分類中該方法與其他方法的比較。總的來說,本文所提出的方法在圖像分類中並無顯著優勢。作者猜測,這是因為圖像分類專注於獲取全局表示(Global Feature Representation),因此僅需保留一部分重要的區域就可以獲得良好的性能,重構整個特徵圖對分類任務並無必要。通過將插值模塊移除,作者發現性能的確沒有顯著的變化,也驗證了該猜想。

CPU 上的實際加速

作者還驗證了該方法在 CPU 上的實際加速比。為了展示在不同硬件條件下的情況,作者使用了 Workstation(E5-2650 v2) 以及 Laptop(I7-6650U) 兩種不同的測試環境,結果如 Table. 5 所示。可以看到,該方法的實際加速比與理論加速比仍然具有較大的差距,但是在 Laptop 下的加速比要好於 Workstation,這也說明該方法也許更適合在低資源情況下應用,如移動端以及邊緣計算設備。

當隨機採樣遇見插值,微軟亞研提出節省推理計算量的新範式

與 Model Pruning 的兼容性

當隨機採樣遇見插值,微軟亞研提出節省推理計算量的新範式

本文所提出的方法利用了圖像的空間冗餘特性,其機制與現有基於模型結構化的加速方法正交,因此兩類技術理論上應該相互兼容,作者也對此進行了驗證,結果如 Table 6 所示。可以看到,本文所提出的方法在不同的 Prune Ratio 上的表現均好於 Baseline,證明了該方法與 Model Pruning 技術的兼容性。


分享到:


相關文章: