3.2 單層感知器
3.2.1 單層感知器介紹
受到生物神經網絡的啟發,計算機學家弗蘭克·羅森布拉特(Frank Rosenblatt)在20世紀60年代提出了一種模擬生物神經網絡的的人工神經網絡結構,稱為感知器(Perceptron)。圖3.2為單層感知器的結構。

圖3.2 單層感知器的結構
圖3.2中,x1、x2和x3為輸入信號,類似于生物神經網絡中的樹突;w1、w2和w3分別為x1、x2和x3的權值,它可以調節輸入信號的大小,讓輸入信號變大(w>0)、不變(w=0)或者減小(w<0)。可以理解為生物神經網絡中的信號作用,信號經過樹突傳遞到細胞核的過程中信號會發生變化。
公式表示細胞的輸入信號在細胞核的位置進行匯總
,然后再加上該細胞本身自帶的信號b。b一般稱為偏置值(Bias),相當于是神經元內部自帶的信號。
f(x)稱為激活函數,可以理解為信號在軸突上進行的線性或非線性變化。在單層感知器中最開始使用的激活函數是sign(x)激活函數。該函數的特點是當x>0時,輸出值為1;當x=0時,輸出值為0;當x<0時,輸出值為-1。sign(x)函數如圖3.3所示。

圖3.3 sign(x)函數
y就是,為單層感知器的輸出結果。
3.2.2 單層感知器計算舉例
假如一個單層感知器有3個輸入:x1、x2和x3,同時已知b=-0.6,w1=w2=w3=0.5,那么根據單層感知器的計算公式我們就可以得到如圖3.4所示的計算結果。

圖3.4 單層感知器的計算
x1=0,x2=0,x3=0:sign(0.5×0+0.5×0+0.5×0-0.6)=-1
x1=0,x2=0,x3=1:sign(0.5×0+0.5×0+0.5×1-0.6)=-1
x1=0,x2=1,x3=0:sign(0.5×0+0.5×1+0.5×0-0.6)=-1
x1=0,x2=1,x3=1:sign(0.5×0+0.5×1+0.5×1-0.6)=1
x1=1,x2=0,x3=0:sign(0.5×1+0.5×0+0.5×0-0.6)=-1
x1=1,x2=0,x3=1:sign(0.5×1+0.5×0+0.5×1-0.6)=1
x1=1,x2=1,x3=0:sign(0.5×1+0.5×1+0.5×0-0.6)=1
x1=1,x2=1,x3=1:sign(0.5×1+0.5×1+0.5×1-0.6)=1
3.2.3 單層感知器的另一種表達形式
單層感知器的另一種表達形式如圖3.5所示。
其實這種表達形式跟3.2.1小節中的單層感知器是一樣的,只不過是把偏置值b變成了輸入w0×x0,其中x0=1。所以w0×x0實際上就是w0,把公式展開得到w1×x1+w2×x2+w3×x3+w0。所以這兩個單層感知器的表達不一樣,但是計算結果是一樣的。圖3.5所示的表達形式更加簡潔,更適合使用矩陣來進行運算。

圖3.5 單層感知器的另一種表達形式