神經網路

感知器(perceptron)

/ per-SEP-tron /

感知器是最簡單的人工神經元:一個微型的決策者。它看幾個輸入,給每個輸入配一個權重,表示這一項有多重要,再把它們全部加起來,然後根據總和有沒有越過一個門檻,扳動開關——「是」或「否」。可以把它想成一位決定要不要放你進門的門衛:身高算一點分,賓客名單算很多分,一旦總分超過界線,答案就只是進或不進。

1958 年它之所以令人振奮,是因為它會學習。給它看一批標著「是」和「否」的例子,每當它猜錯,就把權重朝正確方向挪動一格。這樣反覆多次,它便定下一組權重,在兩類之間畫出一條乾淨的分界線——手寫的蘋果在一邊,橘子在另一邊——而這條規則沒有任何人手工寫過。

但它有一個後來很出名的軟肋。單個感知器只能區分一條直線能切開的東西。讓它學互斥或(XOR)——「兩個開關恰好有一個打開時為是」——它就失敗了,因為沒有任何一條直線能劃出這種圖案。這個侷限讓整個領域沉寂了多年,直到人們把許多神經元疊成一層層,並找到訓練它們的辦法——這正是現代神經網路在做的事。

output = 1 if (w₁x₁ + w₂x₂ + ⋯ + wₙxₙ) ≥ threshold, else 0

給每個輸入加權,求和,只有當總和越過門檻時才輸出 1。

「感知器」由心理學家法蘭克·羅森布拉特(Frank Rosenblatt)提出,他在 1958 年造出了 Mark I 感知器——一台房間大小、接線後能從例子中學習的機器。1969 年,馬文·明斯基(Marvin Minsky)與西摩·派珀特(Seymour Papert)證明單層感知器學不會互斥或;這個結論被普遍認為讓神經網路的研究停滯了十多年。

又稱
single-layer perceptronlinear threshold unitartificial neuronMark I Perceptron感知机单层感知器線性閾值單元