神經網路 啟用函式的作用

2021-09-11 20:42:28 字數 1790 閱讀 3518

啟用函式是神經網路的乙個重要組成部分。如果不用啟用函式(即相當於啟用函式為f(x)=x),在這種情況下,網路的每一層的輸入都是上一層的線性輸出,因此,無論該神經網路有多少層,最終的輸出都是輸入的線性組合,與沒有隱藏層的效果相當,這種情況就是最原始的感知機。

例如,對於乙個二分類問題,如下圖:

利用單層的感知機, 用它可以劃出一條線, 把平面分割開:

上圖直線是由

很容易能夠看出,我給出的樣本點根本不是線性可分的,乙個感知器無論得到的直線怎麼動,都不可能完全正確的將三角形與圓形區分出來,那麼我們很容易想到用多個感知器來進行組合,以便獲得更大的分類問題,好的,下面我們上圖,看是否可行:

好的,我們已經得到了多感知器分類器了,那麼它的分類能力是否強大到能將非線性資料點正確分類開呢~我們來分析一下:

我們能夠得到

上面公式合併同類項後等價於下面公式:

不管它怎麼組合,最多就是線性方程的組合,最後得到的分類器本質還是乙個線性方程,該處理不了的非線性問題,它還是處理不了。

就好像下圖,直線無論在平面上如果旋轉,都不可能完全正確的分開三角形和圓形點:

既然是非線性問題,總有線性方程不能正確分類的地方~

那麼拋開神經網路中神經元需不需要啟用函式這點不說,如果沒有啟用函式,僅僅是線性函式的組合解決的問題太有限了,碰到非線性問題就束手無策了.那麼加入啟用函式是否可能能夠解決呢?

在上面線性方程的組合過程中,我們其實類似在做三條直線的組合,如下圖:

下面我們來講一下啟用函式,我們都知道,每一層疊加完了之後,我們需要加入乙個啟用函式(啟用函式的種類也很多,如sigmoid等等~)這裡就給出sigmoid例子,如下圖:

通過這個啟用函式對映之後,輸出很明顯就是乙個非線性函式!能不能解決一開始的非線性分類問題不清楚,但是至少說明有可能啊,上面不加入啟用函式神經網路壓根就不可能解決這個問題~

同理,擴充套件到多個神經元組合的情況時候,表達能力就會更強~對應的組合圖如下:(現在已經公升級為三個非線**知器在組合了)

跟上面線性組合相對應的非線性組合如下:

最後再通過最優化損失函式的做法,我們能夠學習到不斷學習靠近能夠正確分類三角形和圓形點的曲線。

那麼隨著不斷訓練優化,我們也就能夠解決非線性的問題了.

因此,加入啟用函式是用來加入非線性因素的,解決線性模型所不能解決的問題。

神經網路啟用函式的作用

神經網路激勵函式的作用是什麼?乙個單層的感知機,也是我們最常用的神經網路組成單元啦.用它可以劃出一條線,把平面分割開,那麼很容易地我們就會想用多個感知機來進行組合,獲得更強的分類能力,這是沒問題的。可以發現,這樣乙個神經網路組合起來,輸出的時候無論如何都還是乙個線性方程,說好的非線性分類呢 祭出主菜...

神經網路啟用函式

2018,jul 23 學了深度學習也快近一年了,在學deep learning的時候什麼教程都去看,起初學起來也特別的雜亂,前面的基礎沒弄懂還一直往下學,自然導致我學到後面的時候有點崩潰什麼都看不懂,並且因為自己還是一名在校生,平常課程也非常多,沒有乙個連續的學習時間也導致我的學習是斷斷續續,在學...

啟用函式 神經網路

andrew的 neural networks and deep learning 課程學習筆記 如圖所示,是乙個簡單的三層神經網路,如果只使用線性啟用函式或者恒等啟用函式 不使用啟用函式 那麼神經網路的輸出就只是輸入函式的線性變化,因為線性啟用函式的組合依然是線性啟用函式。這種情況下,不管使用多少...