深度學習中的啟用函式

2021-09-24 07:37:30 字數 2245 閱讀 6427

如下圖,在神經元中,輸入的 inputs 通過加權,求和後,還被作用了乙個函式,這個函式就是啟用函式 activation function。

如果不使用啟用函式,這種情況下每一層輸出都是上一層輸入的線性函式。無論神經網路有多少層,輸出都是輸入的線性組合。如果使用的話,啟用函式給神經元引入了非線性因素,使得神經網路可以任意逼近任何非線性函式,這樣神經網路就可以應用到眾多的非線性模型中。

比如在如下問題中:

在最簡單的情況下,資料是線性可分的,只需要一條直線就已經能夠對樣本進行很好地分類。

但如果情況變得複雜了一點呢?

在上圖中,資料就變成了線性不可分的情況。在這種情況下,簡單的一條直線就已經不能夠對樣本進行很好地分類了。

於是我們嘗試引入非線性的因素,對樣本進行分類。

在神經網路中也類似,我們需要引入一些非線性的因素,來更好地解決複雜的問題。而啟用函式恰好能夠幫助我們引入非線性因素,它使得我們的神經網路能夠更好地解決較為複雜的問題。

sigmoid函式曾被廣泛地應用,但由於其自身的一些缺陷,現在很少被使用了。sigmoid函式被定義為:

其函式影象及導數影象如下:

優點:(1)sigmoid函式的輸出對映在(0,1)(0,1)之間,單調連續,輸出範圍有限,優化穩定,可以用作輸出層。可以用來做二分類,在特徵相差比較複雜或是相差不是特別大時效果比較好。

(2)求導容易。

缺點:(1)容易出現梯度消失(gradient  vanishing)的現象:當啟用函式接近飽和區時,變化太緩慢,導數接近0,根據後向傳遞的數學依據是微積分求導的鏈式法則,當前導數需要之前各層導數的乘積,幾個比較小的數相乘,導數結果很接近0,從而無法完成深層網路的訓練。

(2)其輸出並不是以0為中心的。

tann函式被定義為:

其函式影象和導數影象分別為:

優點:(1)比sigmoid函式收斂速度更快。

(2)相比sigmoid函式,其輸出以0為中心。

缺點:還是沒有改變sigmoid函式的最大問題——由於飽和性產生的梯度消失。

relu的定義為:

其函式影象和導數影象為:(relu在0點不可導)

優點:(1)相比起sigmoid和tanh,relu在sgd中能夠快速收斂。

(2)計算複雜度低,不需要進行指數運算。

(3)有效緩解了梯度消失的問題。

(4)提供了神經網路的稀疏表達能力。

缺點:(1)dead  relu  problem(神經元壞死現象):某些神經元可能永遠不會被啟用,導致相應引數永遠不會被更新(在負數部分,梯度為0)。如果發生這種情況,那麼流經神經元的梯度從這一點開始將永遠是0。也就是說,relu神經元在訓練中不可逆地死亡了。產生這種現象的兩個原因:引數初始化問題;learning  rate太高導致在訓練過程中引數更新太大。 

softmax用於多分類的神經網路中,它將多個神經元的輸出,對映到(0,1)區間內,可以看成概率來理解,從而來進行多分類。原理及推到參照大佬文章。

關於啟用函式的選取,目前還不存在定論,實踐過程中更多還是需要結合實際情況,考慮不同啟用函式的優缺點綜合使用。同時,也期待越來越多的新想法,改進目前存在的不足。

深度學習中的啟用函式

圈 摘要 正如我們的人腦一樣,在乙個層次上和神經元網路中有數百萬個神經元,這些神經元通過一種稱之為synapses 突觸 的結構彼此緊緊相連。它可以通過 axons 軸突 將電訊號從乙個層傳遞到另乙個層。這就是我們人類學習 技術什麼是人工 神經網路?現在,我相信我們大家都很熟悉什麼是a nn了,但接...

深度學習 啟用函式

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

深度學習 啟用函式

主要作用 加入非線性因素,彌補線性模型表達不足的缺陷 sigmoid函式 隨著 x xx 的趨近正 負無窮,y yy 對應的值越來越接近 1 1,趨近飽和 因此當 x xx 100 和 x xx 1000 的差別不大,這個特性丟掉了 x xx 1000 的資訊 tanh函式 對sigmoid函式的值...