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

2021-10-24 05:55:50 字數 365 閱讀 9849

如果沒有relu等啟用函式(也叫非線性),dense層將只包含兩個線性運算——點積和加法:

output = dot(w,input) + b
這樣dense層就只能學習輸入資料的線性變換(仿射變換):該層的假設空間是從輸入資料到16位空間所有可能的線性變換集合。這種假設空間非常有限,無法利用多個表示層的優勢,因為多個線性層堆疊實現的仍是線性運算,新增層數並不會擴充套件假設空間。

為了得到更豐富的假設空間,從而充分利用多層表示的優勢,你需要新增非線性或啟用函式。relu是深度學習中最常用的啟用函式,但還有許多其他函式可選,它們都有類似的奇怪名稱,比如prelu,elu等。

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

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

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

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

為什麼採用啟用函式

為什麼要使用sigmoid,tanh,relu等非線性函式?這個原因大家都知道,為了增加非線性唄!深度學習的目的是用一堆神經元堆出乙個函式大致的樣子,然後通過大量的資料去反向擬合出這個函式的各個引數,最終勾勒出函式的完整形狀。那如果啟用函式只是線性函式,那一層層的線性函式堆起來還是線性的,這年頭線性...