這是我最近才看到的一篇論文,它提出了動態ReLU (Dynamic ReLU, DY-ReLU),可以將全局上下文編碼為超函數,并相應地調整分段線性激活函數。
與傳統的ReLU相比,DY-ReLU的額外計算成本可以忽略不計,但表示能力明顯增強,并且實現簡單,所以可以非常簡單的對我們現有的模型進行修改。
Dynamic ReLU (DY-ReLU)
對于給定的輸入向量(或張量)x,DY-ReLU被定義為具有可學習參數θ(x)的函數fθ(x)(x),該參數適應于輸入x,它包括兩個功能:
超函數θ(x):用于計算激活函數的參數。
激活函數fθ(x)(x):使用參數θ(x)生成所有通道的激活。
1、函數定義
設傳統的或靜態的ReLU為y = max(x, 0)。ReLU可以推廣為每個通道c的參數分段線性函數。
其中coeffcients ( akc , bkc )是超函數(x)的輸出,如下:
其中K是函數的個數,C是通道的個數。論文中K=2。
2、超函數θ(x)的實現
使用輕量級網絡對超函數進行建模,這個超函數類似于SENet中的SE模塊(稍后會介紹)。
輸出有2KC個元素,對應于a和b的殘差。2σ(x)-1用于對-1到1之間的殘差進行歸一化,其中σ(x)表示s型函數。最終輸出計算為初始化和殘差之和,如下所示:
其中λ是標量,這個公式也就是我們上面的圖
3、與先前研究的關系
可以看到DY-ReLU的三種特殊情況相當于ReLU、Leaky ReLU和PReLU。
4、DY-ReLU的變體
DY-ReLU-A:激活函數是空間和通道共享的。
DY-ReLU-B:激活函數是空間共享和通道相關的。
DY-ReLU-C:激活的是空間和通道分開的。
結果展示
1、消融研究
所有三種變化都比基線有所改善,但通道分開的DY-ReLU(變化B和C)明顯優于通道共享的DY-ReLU(變化A)。
所以根據上面結果,使用DY-ReLU-B進行ImageNet分類,使用DY-ReLU-C進行COCO關鍵點檢測。
2、ImageNet分類
使用MobileNetV2 (×0.35和×1.0), 用不同的激活函數代替ReLU。所提出的方法明顯優于所有先前的工作,包括具有更多計算成本的Maxout。這表明DY-ReLU不僅具有更強的表示能力,而且計算效率高。
上圖繪制了5萬張驗證圖像在不同區塊(從低到高)的DY-ReLU輸入輸出值。可以看到學習到的DY-ReLU在特征上是動態的,因為對于給定的輸入x,激活值(y)在一個范圍內(藍點覆蓋的范圍)變化。
下圖分析DY-ReLU中兩段之間的夾角(即斜率差|a1c-a2c|)。激活函數在較高水平上具有較低的彎曲。
3、COCO關鍵點估計
當使用MobileNetV3作為骨干時,刪除SENet模塊,使用DY-ReLU替代ReLU和h-Swish后,結果也有提高。
總結
可以看到,只是使用DY-ReLU替換現有的激活函數,模型的表現明顯優于基線模型。
-
編碼器
+關注
關注
45文章
3638瀏覽量
134427
發布評論請先 登錄
相關推薦
評論