深度學習中常見的啟用函式

2022-03-30 06:26:20 字數 1183 閱讀 5450

下面分別進行介紹。

1.sigmoid函式(s型增長函式)

sigmoid函式能夠將取值為$(-\infty,+\infty)$的數對映到$(0,1)$。公式和圖形如下:$$s(x)=\frac}$$

sigmoid函式作為非線性啟用函式卻不被經常使用,具有以下幾個缺點:

1.當x非常大或者非常小的時候,sigmoid函式的導數將接近0,這會導致權重的梯度接近於0,使得梯度更新非常緩慢,即梯度消失。

2.函式的輸出不是以0為均值,將不便於下層的計算。

總之:sigmoid函式可用在網路的最後一層,作為輸出層進行二分類,盡量不要使用在隱藏層。

2.tanh函式(雙曲正切函式)

比sigmoid函式常見,將取值為$(-\infty,+\infty)$的數對映到$(-1,1)$。公式和圖形如下:$$\tanh(x)=\frac}}$$

tanh函式在0附近很短一段區域可以看作是線性的。由於tanh函式均值為0,彌補了sigmoid函式的缺點。

tanh函式的缺點和sigmoid函式一樣,當x很大或者很小的時候,會導致梯度很小,權重更新緩慢,即梯度消失問題。

3.relu函式(修正線性單元)

relu是一種分段線性函式,彌補了sigmoid和tanh函式的梯度消失問題。公式和圖形如下:$$relu(x)=\begin 1, & \text \\ 0, & \text \end$$

relu函式的優點:

1.當輸入為正數的時候(大多數時候),不存在梯度消失的問題。

2.relu函式只有線性關係,不管是前向傳播還是反向傳播,都比sigmod和tanh要快很多。

relu函式的缺點:

當輸入為負時,梯度為0,會產生梯度消失的問題。

深度學習中常見的啟用函式總結

relu leaky relu 兩者的優點是 第一,在 z z 的區間變動很大的情況下,啟用函式的導數或者啟用函式的斜率都會遠大於0,在程式實現就是乙個 if else 語句,而 sigmoid 函式需要進行浮點四則運算,在實踐中,使用 relu 啟用函式神經網路通常會比使用 sigmoid 或者 ...

深度學習中常用的啟用函式

我們知道深度學習的理論基礎是神經網路,在單層神經網路中 感知機 輸入和輸出計算關係如下圖所示 可見,輸入與輸出是乙個線性關係,對於增加了多個神經元之後,計算公式也是類似,如下圖 這樣的模型就只能處理一些簡單的線性資料,而對於非線性資料則很難有效地處理 也可通過組合多個不同線性表示,但這樣更加複雜和不...

深度學習 啟用函式

如下圖,在神經元中,輸入的 inputs 通過加權,求和後,還被作用了乙個函式,這個函式就是啟用函式 activation function。啟用函式的這些特性可以很好地解釋我們為什麼要用啟用函式。函式公式和圖表如下圖 在sigmod函式中我們可以看到,其輸出是在 0,1 這個開區間內,這點很有意思...