神經(jīng)網(wǎng)絡(luò)
人工神經(jīng)網(wǎng)絡(luò)(ANN),也可以簡稱為神經(jīng)網(wǎng)絡(luò)(NN),是由相互連接的小單元層組成,這些小單元被稱為節(jié)點,它們執(zhí)行數(shù)學(xué)運算以檢測數(shù)據(jù)中的模式。
NN算法是以模仿人類神經(jīng)元的工作方式構(gòu)建的。
定義
在我們深入討論之前,以下是我們在討論神經(jīng)網(wǎng)絡(luò)(NNs)時將使用的一些關(guān)鍵術(shù)語。
神經(jīng)元——這是NN的基本構(gòu)件。它接收加權(quán)值,執(zhí)行數(shù)學(xué)計算并輸出結(jié)果。它也被稱為單元、節(jié)點或感知器。
輸入——這是傳遞給神經(jīng)元的數(shù)據(jù)/值。
深度神經(jīng)網(wǎng)絡(luò)(DNN)——這是一種具有多個隱藏層(輸入(第一層)和輸出(最后一層)之間的層)的人工智能神經(jīng)網(wǎng)絡(luò)。
權(quán)重——這些值解釋了任何兩個神經(jīng)元之間連接的強度(重要程度)。
偏置——這是一個常數(shù)值,它會被加到輸入值和相應(yīng)權(quán)重的乘積之和上。它用于加速或延遲給定節(jié)點的激活。
激活函數(shù)——這是一個用于在NN系統(tǒng)中引入非線性現(xiàn)象的函數(shù)。這一屬性將允許網(wǎng)絡(luò)學(xué)習(xí)更復(fù)雜的模式。
注:權(quán)重和偏置是NN中可訓(xùn)練的參數(shù),即網(wǎng)絡(luò)通過調(diào)整這些參數(shù)來學(xué)習(xí)模式,以獲得最佳預(yù)測。
人工神經(jīng)元——單個神經(jīng)元的數(shù)學(xué)運算
人工神經(jīng)元接收帶有權(quán)重的輸入值(可以有多個)。
在節(jié)點內(nèi)部,加權(quán)輸入被加總,并應(yīng)用激活函數(shù)以獲得結(jié)果。
節(jié)點的輸出被傳遞到其他節(jié)點,或者在網(wǎng)絡(luò)最后一層的情況下,該輸出就是網(wǎng)絡(luò)的總體輸出。
具有 n 個輸入值的人工神經(jīng)元
如上所示的單個神經(jīng)元執(zhí)行以下數(shù)學(xué)運算:
公式 1
在這個等式中,發(fā)生了四件事——輸入與相應(yīng)的權(quán)重相乘并相加,將偏置加到結(jié)果中,然后應(yīng)用激活函數(shù)g,以便神經(jīng)元的輸出為g(w·x+b)。
神經(jīng)網(wǎng)絡(luò)設(shè)計
神經(jīng)網(wǎng)絡(luò)(NN)由多層堆疊的神經(jīng)元組成。
對于n維輸入,第一層(也稱為輸入層)將有n個節(jié)點,而t維的最終/輸出層將有t個神經(jīng)單元。
所有中間層都被稱為隱藏層,而網(wǎng)絡(luò)中的層數(shù)決定了模型的深度。
下圖顯示了一個3–4–4–1的神經(jīng)網(wǎng)絡(luò)。
一個具有 3 個輸入特征的神經(jīng)網(wǎng)絡(luò),兩個各有 4 個節(jié)點的隱藏層和一值輸出。節(jié)點之間是密集連接的--每個節(jié)點都與上一層的所有神經(jīng)元相連。每個連接都有權(quán)重,權(quán)重表示任意兩個節(jié)點之間的連接強度。除輸入層的節(jié)點外,每個節(jié)點都執(zhí)行等式 1 所描述的計算。
簡化示例
讓我們用一個簡單的例子來說明單個神經(jīng)元是如何工作的。
在這個例子中,我們假設(shè)有3個輸入值和一個為0的偏置。
人工神經(jīng)網(wǎng)絡(luò)的 3 個輸入值分別為 2、1、-4,權(quán)重分別為 0.8、0.12 和 0.3。在這個例子中的偏差設(shè)置為 0。
在這個例子中,我們將考慮一個常用的激活函數(shù),稱為sigmoid函數(shù)(我們將在系列的后續(xù)部分中全面討論激活函數(shù))。
Sigmoid函數(shù)(f(x))及其導(dǎo)數(shù)(f’(x))。Sigmoid函數(shù)f(x)可以將任何實數(shù)x壓縮到(0,1)的范圍內(nèi)。
這是sigmoid函數(shù)的圖像。請注意,當(dāng)x的值小于-5或大于5時,f(x)分別趨近于0和1。
如前所述,神經(jīng)元內(nèi)部發(fā)生了四件事。
首先,通過將輸入值與相應(yīng)的權(quán)重相乘來對輸入值進(jìn)行加權(quán)。
第一步:對輸入值進(jìn)行加權(quán)。
接下來,將加權(quán)輸入求和,然后加上偏置,
第二步:對加權(quán)輸入求和并計算偏差
最后,在上述結(jié)果上應(yīng)用sigmoid激活函數(shù)。
第三步:應(yīng)用sigmoid函數(shù)。
神經(jīng)元的輸出是0.627,如果給定的神經(jīng)元位于隱藏層,則該輸出成為下一個神經(jīng)元(們)的輸入。
另一方面,如果這個值是最后一層的輸出,那么它可以被解釋為模型的最終預(yù)測(它可以被視為給定類的概率)。
重要提示:為了簡化與神經(jīng)元進(jìn)行的數(shù)學(xué)運算,我們可以使用更緊湊的矩陣形式來表示前兩個操作。
在這種情況下,輸入值向量和權(quán)重向量之間的點積運算將非常有用。
如前所述,人工神經(jīng)元的操作,即神經(jīng)網(wǎng)絡(luò)的基本構(gòu)建塊,是受到人類大腦工作方式的啟發(fā)。
生物神經(jīng)元和人工神經(jīng)元之間的聯(lián)系
生物大腦中的神經(jīng)系統(tǒng)由兩類細(xì)胞組成:神經(jīng)元和膠質(zhì)細(xì)胞。
膠質(zhì)細(xì)胞為神經(jīng)系統(tǒng)提供支持功能。
具體來說,這些細(xì)胞的任務(wù)是維持體內(nèi)平衡,形成隔絕神經(jīng)的髓鞘,并參與信號傳輸。
神經(jīng)元由細(xì)胞體、軸突和樹突組成。樹突是作為神經(jīng)元的輸入部分的突起。
它接收來自其他神經(jīng)元的電化學(xué)信息,并將這些信息傳播到細(xì)胞體。
另一方面,軸突是神經(jīng)元的延長部分,將信息從細(xì)胞體傳輸?shù)狡渌窠?jīng)元、腺體和肌肉。
軸突在稱為軸突丘的錐形突起處連接到細(xì)胞體。軸突丘負(fù)責(zé)匯總抑制和興奮信號,如果總和超過某個閾值,神經(jīng)元就會發(fā)出信號(稱為動作電位)。
兩個神經(jīng)元在突觸處連接。突觸位于第一個神經(jīng)元的軸突終末和第二個神經(jīng)元的樹突上。
生物神經(jīng)元(左)和人工神經(jīng)元(右)。
人工神經(jīng)元
人工神經(jīng)元(也稱為單元或節(jié)點)在結(jié)構(gòu)和功能上模仿生物神經(jīng)元(在寬泛的意義上——見下一條注釋)。
人工神經(jīng)元接收幾個輸入值(類似于生物神經(jīng)元中的樹突),并為它們分配權(quán)重(類似于突觸的作用)。
在節(jié)點內(nèi)部,對加權(quán)輸入進(jìn)行求和,并應(yīng)用激活函數(shù)來獲得結(jié)果。
此操作與生物神經(jīng)元中細(xì)胞體和軸突丘的作用相匹配。
節(jié)點的輸出被傳遞到其他單元——這一操作模仿了電化學(xué)信息從一個神經(jīng)元傳遞到另一個神經(jīng)元或神經(jīng)系統(tǒng)的其他部分的過程。