啟用函式的使用

2021-10-21 18:34:59 字數 2578 閱讀 1080

簡單的二分類問題

1.網路結構的設計

2.分類結果

輸出為 y=w

1x1+

w2x2

+by =w_1x_1+w_2x_2+b

y=w1​x

1​+w

2​x2

​+b ,此為 x1x1

x1和 x2x2

x2的線性組合,線性組合只能是直線,這樣就擬合處一條直線,將圓形和正方形進行分類,分類後的結果如下圖

複雜的二分類問題

解決這類問題,如果我們還是用線性的方式解決這類問題,可以把圓形和正方形分類成如下結果,可以看到分類效果並不好,並且加再多的隱藏層,結果依然是線性組合,線性組合只能是直線。

1、加上啟用函式網路結果的設計

其中σ表示啟用函式

2、每個神經元的輸入和輸出

h 1=

w1x1

+w2x

2+b1

h1 = w_1x_1 + w_2x_2 +b1

h1=w1​

x1​+

w2​x

2​+b1h1

=w3x

1+w4

x2+b

1h1 = w_3x_1 + w_4x_2 +b1

h1=w3​

x1​+

w4​x

2​+b1y=

σ(h1

)w5+

σ(h2

)w6+

b2y = σ(h1)w_5 + σ(h2)w_6 +b2

y=σ(h1

)w5​

+σ(h

2)w6

​+b2

這時我們在得到輸出的時候增加了非線性啟用函式,使原來只能是線性組合的輸出也增加了非線性的表達方式

3、加上啟用函式的分類結果

加上非線性的表達方式後,擬合的結果就可以如下圖,這樣就可以很完美的完成分類

幾種常見的啟用函式有:sigmoid函式、tanh函式、relu函式等

功能將變數對映到(0,1)之間,如果變數非常大的負數,則會被對映成0,如果是非常大的正數,會被對映為1。sigmoid函式可以用來計算實數、向量和矩陣。

數學形式

f (x

)=1e

x+1}

f(x)=e

x+11

​ 函式影象與導數影象

缺點數學形式

t an

h(x)

=ex−

e−xe

x+e−

x}}}

tanh(x

)=ex

+e−x

ex−e

−x​

函式影象與導數影象

缺點數學形式

r el

u(x)

=max

(0,x

)relu(x

)=ma

x(0,

x)函式影象及導數影象

缺點最好不要用sigmoid,tanh也是不適用的,其會導致梯度消失問題。使用relu函式,要小心設定learning rate。還有其他的啟用函式,如leaky relu、prelu和maxout等等,可以優先選擇relu,如果出現dead relu problem,應該使用leaky relu、prelu和maxout。

【知識拾遺】 1、為什麼0均值可以0均值可以在傳播中加快網路中每一層權重引數的收斂? 由反向傳播的推導過程可以得知,當前一層的output是正的,那麼梯度(對函式

f =w

tx+b

f = w^tx+b

f=wtx+

b 求 w

w 的偏導數)就是正的,那麼在反向傳播時,梯度會一直沿著乙個方向發生變化,權重的收斂效率會低。0均值可以使輸入是正負數量差不多的,那麼梯度的變化方向是不確定的,就可以從各個方向來優化權重。

keras中啟用函式的使用

兩種方式 一 通過keras封裝的網路層中的activation引數指定 例如,下面的卷積層中的指定的啟用函式為relu函式 from keras.model import sequential from keras.layers import conv2d from keras.layers im...

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

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

什麼是啟用函式?常用的啟用函式

啟用函式是神經網路中的重要一環,也是神經網路之所以能叫 神經網路 的原因。初中應該就學過關於神經元的知識了。神經系統的結構和功能的基本單位是神經元,神經元的基本結構包括細胞體和突起兩部分神經元的功能是神經元接受刺激並能產生興奮 神經衝動 並能把興奮傳導到其它的神經元。也就是說其作用主要有三個 接受刺...