為什麼神經網路需要非線性啟用函式

2021-10-01 08:40:59 字數 1823 閱讀 7810

生物神經網路啟發了人工神經網路的發展,在了解為什麼神經網路需要非線性啟用函式之前,理解生物神經網路的工作原理對我們是有幫助的。

乙個典型的生物神經元的物理結構包括細胞體、樹突、軸突。樹突具有接受刺激並將衝動傳入細胞體的功能,細胞體具有聯絡和整合輸入資訊並傳出資訊的作用,軸突的主要功能是將神經衝動由細胞體傳至其他神經元。神經元通過樹突接收來自其他神經元的訊號,來自樹突的訊號在細胞體中積累,如果產生的訊號強度超過一定的閾值,神經元就把資訊傳遞給軸突。否則,訊號會被神經元殺死,不再傳播。

在人工神經網路中,啟用函式決定是否需要傳遞訊號。上圖中第二層的神經單元可以看做是乙個細胞體,它接收來自其它神經元的訊號,然後整合資訊。在人工神經網路中計算如下,b代表偏置項(在上圖中代表乙個實數),g代表啟用函式。

如果神經網路中沒有啟用函式,或者說是線性啟用函式,那麼會發生什麼呢?

假設有乙個上圖所示的兩層的淺層神經網路(輸入層不算),如果每個神經元都採用線性啟用函式g(z)=z。

上面的神經網路正向傳播的過程就可以表示如下:

中括號表示第幾層,w是權重矩陣,

可以看到第二層的輸出值仍然是輸入特徵的線性組合,不難想象,如果在神經網路中使用線性啟用函式或者沒有啟用函式,那麼無論你的神經網路有多少層,一直在做的只是線性計算,最後的結果其實也只是乙個線性方程,這就使得我們無法計算更複雜的函式。神經網路是用來實現複雜函式的,使用非線性啟用函式使它能夠逼近任意複雜函式。如果沒有啟用函式引入的非線性,多層神經網路相當於單層神經網路。

下面舉個例子

這裡有兩個類別,x1和x2的取值只能是0或1,當x1=x2時,為x類別,否則就為⚪類別。直觀上來看,上圖中的資料點不是線性可分的,或者說我們無法使用一條直線來正確劃分開兩個類別,所以我們需要使用非線性的啟用函式,使我們得到非線性的決策邊界來分開它們。

再舉乙個例子,如果我們希望分開上圖中的藍色點和紅色點,很明顯無法使用一條直線來將它們分開,這就需要使用非線性啟用函式的神經網路才能實現,下圖為使用非線性啟用函式神經網路的決策邊界。

使用啟用函式還有乙個作用,它能將神經元的輸出對映在在一定範圍之內。如果單純是像這樣的線性組合

這個值可能會變得非常大,而這個數字如果不經過任何修改又傳給下一層的神經元,那就可能變成更大的數字,這會使得過程變得難以計算。

為什麼人工神經網路需要非線性啟用函式?

我們用人工神經網路來表述輸入x與輸出y之間複雜的關係,用數學語言來說,就是用人工神經網路來實現複雜的函式 如果使用線性啟用函式,那麼無論神經網路中有多少層,都只是在做線性運算,最後一層得到的結果是輸入層的線性組合,而輸入層的線性組合,用一層隱藏層就可以表示,也就是說,多層的隱藏層運算後的結果等同於一...

從線性到非線性 神經網路的啟用函式

鴿了許久,下面 一下神經網路的啟用函式。眾所周知,啟用函式可以使得神經網路從線性進化為到非線性,意思就是說。原本只能線性可分,現在可以分類非線性分布的資料了。為什麼?首先看一下沒有啟用函式的神經網路模型 那這能說明什麼呢?我們來看,假設有n個點呈非線性分布,將n個 x1,x2 輸入到這個神經網路中,...

如何畫神經網路 為什麼線性回歸也是神經網路

今天我們來講講線性回歸和神經網路的關係。首先說結論,線性回歸其實也是個神經網路,其實不光是線性回歸,多項式回歸,邏輯回歸等等也都可以看成是乙個神經網路。考慮到大家可能對線性回歸或者神經網路的概念有那麼點疑惑,這裡簡單的講講什麼是線性回歸和神經網路。如圖所示,我們可以很輕易的看出來,y軸上的變數正隨著...