神經網路輸出層的設計

2021-10-09 21:44:04 字數 1812 閱讀 1199

輸出層所用的啟用函式,要根據求解問題的性質決定。一般地,回歸問題可以使用恒等函式,二元分類問題可以使用sigmoid函式,多元分類問題可以使用softmax函式。

1、恒等函式

回歸問題用恒等函式,恒等函式會將輸入按原樣輸出,對於輸入的資訊,不加以任何改動地直接輸出。

2、softmax函式

分類問題用softmax函式:

是表示exe^

ex的指數函式(e=2.7182…)。假設輸出層共有n個神經元,計算第k個神經元的輸出yky_

yk​。如式所示,softmax函式的分子是輸入訊號aka_

ak​,分母是所有輸入訊號的指數函式的和。輸出層的輸入訊號aka_

ak​是上一層隱藏層的輸出。

實現softmax函式時的注意事項

實現softmax函式的時候會有缺陷,這個缺陷就是溢位問題。因為softmax函式的實現中要進行指數運算,但是此時指數函式的值很容易變得非常大。比如e

1000

e^e1

000的值會返回乙個表示無窮的inf。

計算機處理 「數」 時, 數值必須在4位元組或8位元組的有限資料寬度內。這意味著數存在有效位數,也就是說,可以表示的數值範圍是有限的。因此,會出現超大值無法表示的問題。這個問題稱為溢位,在進行計算機的運算時必須 ( 常常 ) 注意。

softmax函式的實現可以像下面這樣進行改進:

c ′c^

c′可以選擇任何值,但是為了防止溢位,一般會使用輸入訊號中的最大值的相反數。

softmax函式的特徵

使用softmax()函式,可以按如下方式計算神經網路的輸出。

softmax的輸出都是處於[0,1]之間,加起來的和為1。正因為輸出為和為1,所以每個輸出為概率。如上圖,第乙個輸出概率為18.211%,第二個輸出的概率為24.51%,第三個輸出的概率為73.6%。從概率來看,第三個輸出的概率最高,所以將輸入判定為第三個種類。

值得注意的一點是,雖然經過softmax函式,輸出變成了概率的形式,但是數與數之間的大小並沒有改變。一般而言,在訓練過程中輸出會使用softmax函式,但是在測試階段,為了減少計算機運算量(softmax函式的指數運算),會省略softmax函式。

sigmoid函式

神經網路輸出層多個神經元

由於matlab公升級,已經不能想以前一樣直接在newff函式裡面規定好隱含層多少個,或者幾層,還可以有多個神經元的輸出層。改版後需要輸出層變成矩陣的形式,神經網路工具箱可以自動識別輸出層有幾個神經元。詳細 如何下 num xlsread data shengzheng.xlsx sheet1 a2...

卷積神經網路 卷積神經網路啟用層

在生物意義上的神經元中,只有前面的樹突傳遞的訊號的加權和值大於某乙個特定的閾值的時候,後面的神經元才會被啟用。簡單的說啟用函式的意義在於判定每個神經元的輸出 放在人臉識別卷積神經網路中來思考,卷積層的啟用函式的意義在於這一塊區域的特徵強度如果沒有達到一定的標準,就輸出0,表明這種特徵提取方式 卷積核...

神經網路的隱藏層

通常,卷積神經網路除了輸入和輸出層之外還有四個基本的神經元層,在三層神經網路中,這基層被稱為隱藏層 卷積層 convolution 啟用層 activation 池化層 pooling 完全連線層 fully connected 卷積層在最初的卷積層中,成千上萬的神經元充當第一組過濾器,搜尋影象中的...