啟用函式的主要作用是提供網路的非線性建模能力。如果沒有啟用函式,那麼該網路僅能夠表達線性對映,此時即便有再多的隱藏層,其整個網路跟單層神經網路也是等價的。因此也可以認為,只有加入了啟用函式之後,深度神經網路才具備了分層的非線性對映學習能力。 那麼啟用函式應該具有什麼樣的性質呢?
可微性: 當優化方法是基於梯度的時候,這個性質是必須的。
單調性: 當啟用函式是單調的時候,單層網路能夠保證是凸函式。
輸出值的範圍: 當啟用函式輸出值是 有限 的時候,基於梯度的優化方法會更加 穩定,因為特徵的表示受有限權值的影響更顯著;當啟用函式的輸出是 無限 的時候,模型的訓練會更加高效,不過在這種情況小,一般需要更小的learning rate
引入非線性因素。
在我們面對線性可分的資料集的時候,簡單的用線性分類器即可解決分類問題。但是現實生活中的資料往往不是線性可分的,面對這樣的資料,一般有兩個方法:引入非線性函式、線性變換。
線性變換
就是把當前特徵空間通過一定的線性對映轉換到另乙個空間,讓資料能夠更好的被分類。
啟用函式
啟用函式是如何引入非線性因素的呢?在神經網路中,為了避免單純的線性組合,我們在每一層的輸出後面都新增乙個啟用函式(sigmoid、tanh、relu、elu、gelu等等),這樣的函式長這樣:
tanh也是一種非常常見的啟用函式。與sigmoid相比,它的輸出均值是0,使得其收斂速度要比sigmoid快,減少迭代次數。然而,從途中可以看出,tanh一樣具有軟飽和性,從而造成梯度消失。
深度學習 啟用函式
如下圖,在神經元中,輸入的 inputs 通過加權,求和後,還被作用了乙個函式,這個函式就是啟用函式 activation function。啟用函式的這些特性可以很好地解釋我們為什麼要用啟用函式。函式公式和圖表如下圖 在sigmod函式中我們可以看到,其輸出是在 0,1 這個開區間內,這點很有意思...
深度學習 啟用函式
主要作用 加入非線性因素,彌補線性模型表達不足的缺陷 sigmoid函式 隨著 x xx 的趨近正 負無窮,y yy 對應的值越來越接近 1 1,趨近飽和 因此當 x xx 100 和 x xx 1000 的差別不大,這個特性丟掉了 x xx 1000 的資訊 tanh函式 對sigmoid函式的值...
深度學習 啟用函式
啟用函式又稱 非線性對映函式 是深度卷積神經網路中不可或缺的模組。可以說,深度網路模型強大的表示能力大部分便是由啟用函式的非線性單元帶來的。這部分共介紹7個啟用函式 sigmoid函式,tanh函式,relu函式,leaky relu函式,引數化relu,隨機化relu和指數化線性單元 elu si...