DL CV 啟用函式及其選擇

2021-09-13 13:11:09 字數 1586 閱讀 4618

【dl-cv】反向傳播,(隨機)梯度下降

《前篇---後篇》【dl-cv】神經網路的補充

在介紹線性分類器的時候,提到了啟用函式,還提到線性分類器的輸出要經過啟用函式才能作為下一層網路的輸入。為什麼呢?本文將對這一問題進行解疑並介紹多種多種啟用函式。

假如神經網路只由多個線性分類組器合而成,那無論怎樣組合,他們對資料的操作永遠都是線性變換而已,複雜度有限,只能實現線性分類而不能實現非線性分類,但現實中的資料往往不是線性可分的。為了解決這個問題,就要給神經網路引入非線性因素,提高神經網路模型的表達能力(學習更複雜的對映)。啟用函式就是用來引入這個非線性因素的,下面介紹幾種常見的啟用函式及其優缺點(正負號表示)。

其數學公式及其影象如下

它把輸入壓縮到(0,1)區間內,有兩端飽和的特性,對於很大的正數它輸出趨近與1,對於絕對值很小的負數它輸出趨近於0。

這個函式曾經非常流行,但是由於其缺點(主要是兩邊飽和)飽受詬病,現在沒什麼人用了

其數學公式及其影象如下(雙曲正切)

形狀和sigmoid很像,也是兩端飽和,不同的是它把輸入壓縮到(-1,1)區間內。

比sigmoid好了一點,沒有非零中心的問題

其數學公式及其影象如下

就是個取最大值得函式,當輸入為負數,輸出為0;當輸入為正數,輸出還是這個數

雖然有「dead relu」的情況發生,但這並不阻礙它成為優秀的啟用函式,實際應用中其表現不錯,是非常常用的啟用函式

其數學公式及其影象如下

relu的變種,負區間不再是0,而是給它乙個很小的斜率(上圖是0.01,也可以是其他常數)

關於其效果沒有清晰的定論,有的實驗表現好,有些則不好

其實還可以把那個斜率當作可以反向傳播和學習的引數α,然後就變成了parametric relu(prelu)啟用函式

$$f(x)=max(\alpha x,x)$$

其數學公式及其影象如下

全名指數線性單元exponential linear units,α是乙個可調整的引數,它控制著elu負值部分在何時飽和

在同乙個模型中,啟用函式不會混搭使用,選定乙個就用乙個。一般最好的經驗法則是使用relu函式,但是要謹慎的調節學習率。像lrelu,prelu,elu,maxout這些函式則實驗性強一點(實用性弱一點),但也可以試下。tanh和sigmoid就em....,算了吧。

除了這裡介紹的6個外,還有一些其他的啟用函式(如有著喪心病狂證明的selu),感興趣的可以去查一下

Relu啟用函式及其變種

神經網路中使用啟用函式來加入非線性因素,提高模型的抽象表達能力。relu rectified linear unit,修正線性單元 relu公式近似推導 下面解釋上述公式中的softplus,noisy relu.softplus函式與relu函式接近,但比較平滑,同relu一樣是單邊抑制,有寬廣的...

RELU 啟用函式及其他相關的函式

本部落格僅為作者記錄筆記之用,不免有很多細節不對之處。還望各位看官能夠見諒,歡迎批評指正。更多相關部落格請猛戳 日常 coding 中,我們會很自然的使用一些啟用函式,比如 sigmoid relu等等。不過好像忘了問自己一 件事 為什麼需要啟用函式?啟用函式都有哪些?都長什麼樣?有哪些優缺點?怎麼...

啟用函式及其各自的優缺點

所謂啟用函式 activation function 就是在人工神經網路的神經元上執行的函式,負責將神經元的輸入對映到輸出端。啟用函式對於人工神經網路模型去學習 理解非常複雜和非線性的函式來說具有十分重要的作用。它們將非線性特性引入到我們的網路中。如圖,在神經元中,輸入 inputs 通過加權,求和...