為什麼要使用非線性啟用函式

2021-10-21 18:15:56 字數 746 閱讀 8888

線性可分的情況下:邏輯回歸和線性回歸,無論是閉解形式還是凸優化都能高度擬合,但是線性不可分的情況下 (xor異或函式),需要非線性對換資料的分布進行重新對映。對神經網路我們在神經網路中,對每一層線性變換後疊加乙個非線性啟用函式,以避免多層網路等效於單層線性函式,從而獲得更大的學習與擬合能力。

使用啟用函式的目的是為了向網路中加入非線性因素;加強網路的表示能力,解決線性模型無法解決的問題

(1)非線性。線性啟用層對於深層神經網路沒有作用,因為其作用以後仍然是輸入的各種線性變換。。

(2)連續可微。梯度下降法的要求。

(3)範圍最好不飽和,當有飽和的區間段時,若系統優化進入到該段,梯度近似為0,網路的學習就會停止。

(4)單調性,當啟用函式是單調時,單層神經網路的誤差函式是凸的,好優化。

(5)在原點處近似線性,這樣當權值初始化為接近0的隨機值時,網路可以學習的較快,不用可以調節網路的初始值。

神經網路的萬能近似定理認為主要神經網路具有至少乙個非線性隱藏層,那麼只要給予網路足夠數量的隱藏單元,它就可以以任意的精度來近似任何從乙個有限維空間到另乙個有限維空間的函式。

如果不使用非線性啟用函式,那麼每一層輸出都是上層輸入的線性組合

此時無論網路有多少層,其整體也將是線性的,這會導致失去萬能近似的性質

但僅部分層是純線性是可以接受的,這有助於減少網路中的引數。

什麼是啟用函式?為什麼要使用啟用函式?

如果沒有relu等啟用函式 也叫非線性 dense層將只包含兩個線性運算 點積和加法 output dot w,input b這樣dense層就只能學習輸入資料的線性變換 仿射變換 該層的假設空間是從輸入資料到16位空間所有可能的線性變換集合。這種假設空間非常有限,無法利用多個表示層的優勢,因為多個...

為什麼要使用relu ReLu 啟用函式

引入relu的原因 第一,採用sigmoid等函式,算啟用函式時 指數運算 計算量大,反向傳播求誤差梯度時,求導涉及除法,計算量相對大,而採用relu啟用函式,整個過程的計算量節省很多。第二,對於深層網路,sigmoid函式反向傳播時,很容易就會出現 梯度消失 的情況 在sigmoid接近飽和區時,...

非線性啟用函式

神經網路中,正向計算時,激勵函式對輸入資料進行調整,反向梯度損失。梯度消失需要很多方式去進行規避。表示式為 y x s igmo id x 11 e x y x in 0,1 y x y x 1 y x y in 14 該函式將輸入對映到 0,1 能否取到0和1,取決於計算機的精度 由導數可看出,最...