感知器 (perceptron)
神經網絡中一種模擬神經元(neuron)的結構,有輸入(input)、輸出(output)、權重(weight)、前饋運算(feed forward)、激活函數(activation function)等部分。單層感知器能模擬邏輯與、邏輯或、邏輯非和邏輯與非等操作,但不能實現邏輯異或!
激活函數可以表示為:
其中 x 作為輸入, w 是對應輸入 x 的權重向量,b 為偏置,y是預期計算結果;通常把偏置b作為 w 中一個值,增加一個對應的模擬輸入 x ,使 x 恆等於1來模擬該表達式,方便矩陣運算。
括號中的數值加和稱作感知器的前饋運算,即還沒有進入激活函數進行計算的結果,寫作logit或者logits。
一個簡單的單層感知器可以如下圖所示:
使用step-function, 感知器計算方法如下:
當前常用的部分的激活函數如下所示,其中階段函數(step-function)現在基本不用了,通常使用非線性函數(真實環境就是一個非線性的):
多層感知機(multi-layer perceptron)/神經網絡(neural network)
1. 相比於感知器,引入了隱層(hidden layer)概念;
隱層, 不包括輸入層和輸出層,在輸入層和輸出層中間的所有N層神經元就稱作隱層!通常輸入層不算作神經網絡的一部分,
對於有一層隱層的神經網絡,叫做單隱層神經網絡或二層感知機;對於第L個隱層,通常有以下一些特性:
a) L層的每一個神經元與 L-1 層的每一個神經元的輸出相連;
b) L層的每一個神經元互相沒有連接;
2. 引入了新的非線性激活函數(sigmoid/tanh等)
3. 反向傳播算法(back propagation)
4. 優化算法(梯度下降,隨機梯度下降,mini-batch)