1. 程式人生 > >CReLU啟用函式

CReLU啟用函式

一種改進ReLU啟用函式的文章,來自ICML2016.

1. 背景介紹

整個文章的出發點來自於下圖的統計現象:

這裡寫圖片描述

為了看懂上圖。

(1)首先介紹一下餘弦相似度(cos距離)的概念

cos距離的取值範圍是 [-1,+1],距離越接近-1,表示兩個向量的方向 越相反,即呈 負相關關係。

(2)再來介紹一下pair filter的定義

一個卷積層有 \(j=1,…,n\) 個卷積核(filter)。 一個卷積核 \(\phi_{i}\)
對應的pairing filter定義為 \(\overline{\phi_{i}} =
\mathop{\arg\min}_{\phi_j}cos<\phi_{i},\phi_{j}>\). 即從所有卷積核中選擇一個cos相似度最小的卷積核。

我們再回頭看上圖。 對所有卷積核尋找其pair filter,並計算cos相似度得到藍色的統計直方圖。 紅色的曲線,是假設隨機高斯分佈生成的卷積核得到的相似度統計。

現象:

網路的前部,引數的分佈有更強的負相關性(類似於正負對立)。隨著網路變深,這種負相關性逐步減弱。

結論:

網路的前部,網路傾向於同時捕獲正負相位的資訊,但ReLU會抹掉負響應。 這造成了卷積核會存在冗餘。

2. CReLU

CReLU的定義很簡單:

\(CReLU(x) = [ReLU(x),ReLU(-x)]\)

輸出維度會自動加倍。 比如 \(-3 \rightarrow [0,3]\) \(\quad3 \rightarrow [3,0]\)

在網路中的實現也很簡單,甚至不用修改程式碼(通過scale層取反再經過一次ReLU)

更多實驗結果和討論請參看原文。