1943 - 麥卡洛克皮茨邏輯神經元#
案件摘要#
1943 年,神經生理學家 Warren McCulloch 與邏輯學家 Walter Pitts 發表〈A Logical Calculus of the Ideas Immanent in Nervous Activity〉,提出史上第一個形式化神經元模型:M-P 神經元。核心公式只有一行:
其中 \(x_i \in \{0,1\}\) 是輸入脈衝, \(w_i\) 是連結強度, \(\theta\) 是閾值。他們證明:這樣的神經元網路可以計算任何邏輯命題函數——大腦第一次被證明是圖靈等價的候選計算機。本案的本質是:智能的候選模型從「心靈」降落到「可計算的電路」。
前因 -- 為什麼會有這個案子#
- 1936 年 Turing 提出通用計算模型(圖靈機),證明存在能計算一切可計算函數的機器——但圖靈機是紙帶上的抽象,與大腦無關。
- McCulloch 的問題:大腦是不是一台圖靈機? 他要找神經系統的「邏輯演算」,證明神經元夠格承載計算。
- Pitts 是自學的神童邏輯學家:15 歲離家跑到芝加哥,在 Carnegie 圖書館研讀 Russell 的《數學原理》,後來跟著 Carnap 學邏輯——他提供了「命題邏輯完備性」這個數學武器。
- 生理學線索:Cajal 的神經元學說確立了「神經元是基本單位」;「全有全無律」(all-or-none law,動作電位只有激發/不激發)說明神經元像二值開關。
- 前驅:1890 年 James 的聯想主義(見 1890-WilliamJames聯想主義.md)已猜想「連結的強度可塑」,但 M-P 模型先不談學習,只談計算——學習留給 1949 的 Hebb。
- 兩人的動機分工明確:McCulloch 出生理與哲學問題,Pitts 出邏輯與數學證明——史上第一樁「跨領域合謀」。
- 論文的發表管道也值得一提:它刊在 Bulletin of Mathematical Biophysics——不是心理學也不是神經科學期刊,而是數學生物物理。這個「夾縫期刊」預告了這門新學科的尷尬處境:接下來二十年,它都找不到自己的家。
線索與推理 -- 數學式、程式、理論#
第一條線索:M-P 神經元的數學結構#
單一 M-P 神經元:
其中 \(H\) 是階躍函數(激發則輸出 1,否則 0)。這個模型的三個要素: 1. 二值化:全有全無律的抽象——神經元不傳強度,只傳「有無脈衝」 2. 加權求和:興奮性 \(w_i > 0\) 、抑制性 \(w_i < 0\) 的連結,訊號在胞體整合 3. 閾值觸發:超過 \(\theta\) 才激發——這就是後來所有神經網路「激活函數」的祖先
第二條線索:用 M-P 神經元蓋出邏輯閘#
選定權重與閾值,單一 M-P 神經元即可實作基本邏輯閘。取 \(w_i = 1\) (興奮)、 \(w_{\text{NOT}} = -2\) (抑制):
| 閘 | 權重 \(w\) | 閾值 \(\theta\) | 真值表(輸入→輸出) |
|---|---|---|---|
| AND | \((1, 1)\) | \(1.5\) | \((0,0){\to}0,\ (0,1){\to}0,\ (1,0){\to}0,\ (1,1){\to}1\) |
| OR | \((1, 1)\) | \(0.5\) | \((0,0){\to}0,\ (0,1){\to}1,\ (1,0){\to}1,\ (1,1){\to}1\) |
| NOT | \((-2)\) | \(-1\) | \((0){\to}1,\ (1){\to}0\) |
驗證 AND: \((1,1)\) 時和為 \(2 > 1.5\) 觸發; \((1,0)\) 時和為 \(1 \le 1.5\) 不觸發。✓
第三條線索:網路級的完備性證明#
單一神經元只能算線性可分的函數(AND/OR 可以,XOR 不行——這正是 1969 年危機的種子)。但 McCulloch 與 Pitts 證明的是網路的威力:
- 命題邏輯中,任何真值函數都可由 AND、OR、NOT 組合表達(析取範式)
- 既然單一 M-P 神經元能做 AND/OR/NOT,那麼有限層的 M-P 網路就能表達任何命題邏輯函數
- 再加上帶延遲的迴路( \(x(t-\tau)\) 反饋),網路能表達含時態的命題——涵蓋有限狀態機
結論:M-P 網路 ⊇ 命題邏輯 ⊇ 圖靈機可計算的核心。大腦在數學上至少與計算機等價。這個「網路即計算」的論證,是智慧模型書系中第一個非符號的通用計算證明。
第四條線索:模型的缺陷與留白#
這個 1943 年的模型刻意留了三個洞: 1. 權重是寫死的: \(w_i\) 與 \(\theta\) 由設計者手工指定,網路不會學習——Hebb 1949 年填上這個洞 2. 二值階躍不可微:無法用梯度下降訓練——1960 年 ADALINE 改用線性激活填上 3. 單層線性可分的極限:XOR 這類函數單一神經元做不到——1969 年 Minsky 用這一點重創整個領域(見 1969-MinskyPapert批判.md)
第五條線索:抑制性連結與「意念內蘊」的標題#
論文標題本身就藏了一條線索:A Logical Calculus of the Ideas Immanent in Nervous Activity——「意念內蘊於神經活動」。兩人主張的不是「神經元像邏輯閘」的比喻,而是更強的命題:意念(ideas)與神經活動是同一件事的兩種描述。
- 抑制性連結的偵探意義:McCulloch 堅持神經元有抑制性輸入( \(w_i < 0\) ),這在 1943 年的生理學仍有爭議——後來抑制性中間神經元被確證存在,模型回頭預言了生理事實
- 「內蘊」的偵探意義:這個詞預告了計算主義的心靈哲學——心智是計算的「實現」(implementation),任何足夠的計算結構都能承載意念。Putnam 的機器功能主義(1960 年代)與 Searle 的中文房間反駁(1980)都在爭論這一個詞
- 哲學戰場的伏筆:若意念內蘊於神經活動,且神經活動可被計算機模擬,則「模擬的心智是否真有心智」成為七十年未解的問題——圖靈測試與中文房間都是這個問題的戰場
另一個常被忽略的事實:Pitts 的下場悲涼——他後來與 Wiener 決裂(Wiener 誤解了他與妻子的一段關係),抑鬱終老,1969 年去世時他的工作已被遺忘大半。直到 1980 年代連結主義復興,M-P 神經元才被追認為一切神經網路的祖先。
第六條線索:從 M-P 網路到「神經邏輯」的推廣#
McCulloch 後來的研究綱領可以概括為一句話:把邏輯學家請進神經實驗室。他在芝加哥組織了控制論早期的核心圈子(與 Pitts、Letvin、Maturana、Wiener 往來),推動了一系列後續研究:
- Letvin、Maturana、McCulloch、Pitts:〈What the Frog's Eye Tells the Frog's Brain〉(1959)——青蛙視網膜的神經元是「特徵偵測器」(蟲子偵測器、邊緣偵測器),M-P 的加權結構在生理上處處現形
- 這篇論文與同年 Hubel & Wiesel 的 V1 研究(見 1959-HubelWiesel視覺皮層.md)互相印證:神經元不是照相机,是特徵偵測器
- McCulloch 的哲學遺產:他主張「神經邏輯」(neural logic)——心智的邏輯結構就內蘊在神經連結的權重裡。這個主張在 2020 年代的大型語言模型中以最龐大的形式重現:權重裡是否內蘊著「語言的邏輯」?
結案 -- 後果與影響#
- 「神經網路」作為計算模型正式誕生:從 1943 年起,大腦可以被建模、被模擬、被工程化。
- 跨領域合謀的典範:生理學 + 邏輯學 = 計算神經科學,這個配方被重複使用了八十年。
- 伏筆一:M-P 神經元可以算邏輯 → 「機器能思考嗎」成為可操作問題 → 1950 圖靈測試直接引用這條線索。
- 伏筆二:M-P 網路的完備性 + Hebb 學習規則 → 「可學習的邏輯電路」→ 1956 Dartmouth 會議把「神經網路模擬」列為 AI 起跑項目之一。
- 伏筆三:1957 年 Rosenblatt 的感知器就是 M-P 神經元 + 可學習權重(見 1957-Perceptron感知器.md);1986 年反向傳播則是 M-P 網路 + 可微激活的終極合體(見 1986-反向傳播演算法.md)。
- 伏筆五:抑制性連結( \(w_i < 0\) )→ 1959 年 Hubel & Wiesel 發現視覺皮層的抑制性側向連結,神經科學回頭驗證了模型的生理直覺。
- 伏筆六:「意念內蘊於神經活動」→ 計算主義心靈哲學(Putnam 1960s)→ 中文房間反駁(Searle 1980)→ 2020 年代 LLM 的語法/語義之辯——論文標題裡的一個詞,辯了八十年。
- 伏筆七:帶延遲的迴路(時態命題)→ 有限狀態機 → RNN 與遞迴網路——1943 年的迴路是所有序列模型的時間軸起點。
關鍵人物與文獻#
- Warren McCulloch:神經生理學家,伊利諾大學芝加哥分校;提出「大腦是邏輯機器」的哲學綱領
- Walter Pitts:自學邏輯學家,19 歲合著本文;後進入 MIT,與 Wiener 合作控制論
- McCulloch & Pitts:〈A Logical Calculus of the Ideas Immanent in Nervous Activity〉, Bulletin of Mathematical Biophysics, 1943
- Letvin, Maturana, McCulloch & Pitts:〈What the Frog's Eye Tells the Frog's Brain〉(1959),特徵偵測器的生理驗證
- Alan Turing:〈On Computable Numbers〉(1936),通用計算的先驅
- Norbert Wiener:《Cybernetics》(1948),控制論提供了「回饋」的概念框架
- 相關案件:1890-WilliamJames聯想主義.md、1949-Hebb學習規則.md、1950-圖靈測試.md、1956-Dartmouth會議.md、1957-Perceptron感知器.md、1969-MinskyPapert批判(科學與歷史/人工智慧/1969-MinskyPapert批判.md)
補充 -- 程式實作(python + numpy)#
本案公式 y = H(Σ wᵢxᵢ − θ) 的最小可執行版本,見 _code/1943-MPNeuron.py(已實測可跑):
# 1943 - M-P 神經元 (McCulloch & Pitts)
# 公式: y = H(sum_i w_i x_i - theta), H 為階躍函數
import numpy as np
def mp_neuron(x, w, theta):
return 1 if np.dot(w, x) - theta > 0 else 0
def demo_gate(name, w, theta, cases):
print(f"--- {name}: w={w}, theta={theta} ---")
for x, expected in cases:
y = mp_neuron(np.array(x), np.array(w), theta)
ok = "OK" if y == expected else "FAIL"
print(f" in={x} -> {y} (expect {expected}) [{ok}]")
def main():
demo_gate("AND", [1, 1], 1.5,
[([0, 0], 0), ([0, 1], 0), ([1, 0], 0), ([1, 1], 1)])
demo_gate("OR", [1, 1], 0.5,
[([0, 0], 0), ([0, 1], 1), ([1, 0], 1), ([1, 1], 1)])
demo_gate("NOT", [-2], -1, [([0], 1), ([1], 0)])
# XOR: 暴力搜尋證明單一 M-P 神經元無解 (權重/閾值網格)
xor = [([0, 0], 0), ([0, 1], 1), ([1, 0], 1), ([1, 1], 0)]
found = False
for w1 in np.arange(-2, 2.5, 0.5):
for w2 in np.arange(-2, 2.5, 0.5):
for th in np.arange(-2, 2.5, 0.5):
if all(mp_neuron(np.array(x), np.array([w1, w2]), th) == t
for x, t in xor):
found = True
print("單層 M-P 神經元能否表達 XOR:", "能 (意外!)" if found else "不能 (符合 Minsky-Papert 論證, 需多層/隱藏層)")
if __name__ == "__main__":
main()
執行結果(python3 _code/1943-MPNeuron.py,numpy 2.4.5):
--- AND: w=[1, 1], theta=1.5 ---
in=[0, 0] -> 0 (expect 0) [OK]
in=[0, 1] -> 0 (expect 0) [OK]
in=[1, 0] -> 0 (expect 0) [OK]
in=[1, 1] -> 1 (expect 1) [OK]
--- OR: w=[1, 1], theta=0.5 ---
in=[0, 0] -> 0 (expect 0) [OK]
in=[0, 1] -> 1 (expect 1) [OK]
in=[1, 0] -> 1 (expect 1) [OK]
in=[1, 1] -> 1 (expect 1) [OK]
--- NOT: w=[-2], theta=-1 ---
in=[0] -> 1 (expect 1) [OK]
in=[1] -> 0 (expect 0) [OK]
單層 M-P 神經元能否表達 XOR: 不能 (符合 Minsky-Papert 論證, 需多層/隱藏層)
程式解說:前三段驗證本文第二條線索的真值表——同一行公式只換權重與閾值,就能分別長成 AND、OR、NOT。最後一段把「XOR 做不到」從紙上證明變成可執行的窮舉:在 w₁,w₂,θ ∈ [-2,2] 網格上沒有任何一組參數能同時滿足四個 XOR 樣本,這正是 1969 年 Minsky–Papert 批判的計算版,也為 1986 年「需要隱藏層+反向傳播」埋下伏筆。