Dynamic ReLU:微軟推出提點神器,可能是最好的ReLU改進 | ECCV 2020

論文提出了動態ReLU,能夠根據輸入動態地調整對應的分段激活函數,與ReLU及其變種對比,僅需額外的少量計算即可帶來大幅的性能提升,能無縫嵌入到當前的主流模型中

來源:曉飛的演算法工程筆記 公眾號

論文: Dynamic ReLU

Introduction


  ReLU是深度學習中很重要的里程碑,簡單但強大,能夠極大地提升神經網路的性能。目前也有很多ReLU的改進版,比如Leaky ReLU和 PReLU,而這些改進版和原版的最終參數都是固定的。所以論文自然而然地想到,如果能夠根據輸入特徵來調整ReLU的參數可能會更好。

  基於上面的想法,論文提出了動態ReLU(DY-ReLU)。如圖2所示,DY-ReLU是一個分段函數f_{\theta{(x)}}(x),參數由超函數\theta{(x)}根據輸入x得到。超函數\theta(x)綜合輸入的各維度上下文來自適應激活函數f_{\theta{(x)}}(x),能夠在帶來少量額外計算的情況下,顯著地提高網路的表達能力。另外,論文提供了三種形態的DY-ReLU,在空間位置和維度上有不同的共享機制。不同形態的DY-ReLU適用於不同的任務,論文也通過實驗驗證,DY-ReLU在關鍵點識別和影像分類上均有不錯的提升。

Definition and Implementation of Dynamic ReLU


Definition

  定義原版的ReLU為y=max\{x, 0\}x為輸入向量,對於輸入的c維特徵x_c,激活值計算為y_c=max\{x_c, 0\}。ReLU可統一表示為分段線性函數y_c=max_k\{a^k_c x_c+b^k_c\},論文基於這個分段函數擴展出動態ReLU,基於所有的輸入x=\{x_c\}自適應a^k_c,b^k_c

  因子(a^k_c, b^k_c)為超函數\theta(x)的輸出:

K為函數數量,C為維度數,激活參數(a^k_c, b^k_c)不僅與x_c相關,也與x_{j\ne c}相關。

Implementation of hyper function \theta(x)

  論文採用類似與SE模組的輕量級網路進行超函數的實現,對於大小為C\times H\times W的輸入x,首先使用全局平均池化進行壓縮,然後使用兩個全連接層(中間包含ReLU)進行處理,最後接一個歸一化層將結果約束在-1和1之間,歸一化層使用$2\sigma(x) – 1\sigma為Sigmoid函數。子網共輸出$2KC個元素,分別對應a^{1:K}_{1:C}b^{1:K}_{1:C}的殘差,最終的輸出為初始值和殘差之和:

\alpha^k\beta^ka^k_cb^k_c的初始值,\lambda_a\lambda_b是用來控制殘差大小的標量。對於K=2的情況,默認參數為\alpha^1=1\alpha^2=\beta^1=\beta^2=0,即為原版ReLU,標量默認為\lambda_a=1.0\lambda_b=0.5

Relation to Prior Work

  DY-ReLU的可能性很大,表1展示了DY-ReLU與原版ReLU以及其變種的關係。在學習到特定的參數後,DY-ReLU可等價於ReLU、LeakyReLU以及PReLU。而當K=1,偏置b^1_c=0時,則等價於SE模組。另外DY-ReLU也可以是一個動態且高效的Maxout運算元,相當於將Maxout的K個卷積轉換為K個動態的線性變化,然後同樣地輸出最大值。

Variations of Dynamic ReLU


  論文提供了三種形態的DY-ReLU,在空間位置和維度上有不同的共享機制:

DY-ReLU-A

  空間位置和維度均共享(spatial and channel-shared),計算如圖2a所示,僅需輸出$2K$個參數,計算最簡單,表達能力也最弱。

DY-ReLU-B

  僅空間位置共享(spatial-shared and channel-wise),計算如圖2b所示,輸出$2KC$個參數。

DY-ReLU-C

  空間位置和維度均不共享(spatial and channel-wise),每個維度的每個元素都有對應的激活函數max_k\{a^k_{c,h,w} x_{c, h, w} + b^k_{c,h,w} \}。雖然表達能力很強,但需要輸出的參數($2KCHW)太多了,像前面那要直接用全連接層輸出會帶來過多的額外計算。為此論文進行了改進,計算如圖2c所示,將空間位置分解到另一個attention分支,最後將維度參數[a^{1:K}{1:C}, b^{1:K}{1:C}]乘以空間位置attention[\pi_{1:HW}]。attention的計算簡單地使用$1\times 1卷積和歸一化方法,歸一化使用了帶約束的softmax函數:

\gamma用於將attention平均,論文設為\frac{HW}{3}\tau為溫度,訓練前期設較大的值(10)用於防止attention過於稀疏。

Experimental Results

  影像分類對比實驗。

  關鍵點識別對比實驗。

  與ReLU在ImageNet上進行多方面對比。

  與其它激活函數進行實驗對比。

  可視化DY-ReLU在不同block的輸入輸出以及斜率變化,可看出其動態性。

Conclustion


  論文提出了動態ReLU,能夠根據輸入動態地調整對應的分段激活函數,與ReLU及其變種對比,僅需額外的少量計算即可帶來巨大的性能提升,能無縫嵌入到當前的主流模型中。前面有提到一篇APReLU,也是做動態ReLU,子網結構十分相似,但DY-ReLU由於max_{1\le k \le K}的存在,可能性和效果比APReLU更大。



如果本文對你有幫助,麻煩點個贊或在看唄~
更多內容請關注 微信公眾號【曉飛的演算法工程筆記】

work-life balance.