跳轉到

1949 - Hebb 學習規則(fire together, wire together)#

案件摘要#

1949 年,加拿大心理學家 Donald Hebb(1904–1985) 在《行為的組織》(The Organization of Behavior)中提出學習的第一條數學規則:

\[ \boxed{\text{「同時激發的神經元,連結會加強」}} \]

Hebbian 規則只有一行:

\[ \Delta w_i = \eta \, x_i \, y \]
  • \(w_i\) :突觸權重(神經元 \(i\) 與輸出神經元的連結強度);
  • \(x_i\) :突觸前神經元的活動; \(y\) :突觸後神經元的活動;
  • \(\eta\) :學習率。 若兩端同時激發( \(x_i = 1, y = 1\) ),連結加強;若不同時,不變—— 「fire together, wire together」! 這是學習的「物理定律」:突觸可塑性(synaptic plasticity)的機制假說。 Hebb 規則讓 1943 年「只會算、不會學」的神經元終於學會了學習——
\[ \text{會計算(1943)} \xrightarrow{\text{會學習(1949)}} \text{感知機(1958)}. \]

前因 -- 為什麼會有這個案子#

  • McCulloch–Pitts 神經元的缺口(1943): 1943 年的神經元模型證明了神經元 = 邏輯閘 (見 1943-麥卡洛克皮茨神經元.md)—— 但權重是固定的:網路的「知識」必須由設計者手工安裝。
\[ \boxed{\text{「大腦的知識,是怎麼裝進去的?」}} \]

Hebb 的回答:不是裝進去的,是長出來的——經驗改變突觸。 - Cajal 的突觸學說(1890s): Cajal 早就提出「一起激發的神經元會建立連結」的猜想—— 但他只有顯微鏡,沒有數學——猜想需要形式化。 - Pavlov 的條件反射(1903–1927): Ivan Pavlov 的狗:鈴聲(中性刺激)反覆與食物(無條件刺激)配對後, 只響鈴也會分泌唾液——聯結心理學(associationism)的實證基礎:

\[ \text{鈴聲} + \text{食物(反覆配對)} \implies \text{鈴聲} \to \text{唾液}. \]

Hebb 給了這個現象一個突觸層次的機制。 - Lashley 的失敗(1929–1950): Karl Lashley 花了 30 年在老鼠腦中尋找「記憶痕跡」(engram)—— 切除了各種腦區,記憶總是分散存在,找不到單一位置—— Hebb 在 Lashley 實驗室做過博士後,深受啟發: 記憶不在特定位置,而在突觸的連結模式中。

線索與推理 -- 數學式、程式、理論#

第一條線索:Hebbian 規則的形式化#

Hebb 規則(1949):當突觸前後神經元同時激發時,突觸增強:

\[ \Delta w_i = \eta \, x_i \, y \]
  • 四種情況: \(x_i = 1, y = 1 \Rightarrow \Delta w_i = +\eta\) (同時激發,加強); \(x_i = 0 \Rightarrow \Delta w_i = 0\) (突觸前不活動,不變); \(y = 0 \Rightarrow \Delta w_i = 0\) (突觸後不活動,不變)。
  • 這是「局部」學習:突觸只需知道自己兩端的活動—— 不需要全域的誤差訊號(這是與後來 delta 規則的關鍵差別)。
\[ \boxed{\text{局部資訊} + \text{同時性} = \text{學習規則}} \]

第二條線索:模式關聯記憶(correlation matrix)#

用 Hebbian 規則建立「刺激 → 反應」的關聯記憶: - 學習 \(p\) 組模式對 \((x^{(k)}, y^{(k)})\) , \(k = 1, \ldots, p\) :

\[ w_{ij} = \sum_{k=1}^{p} x_i^{(k)} \, y_j^{(k)} \]
  • 回想時,輸入刺激 \(x\) ,計算加權和,再以符號函數二值化:
\[ r_j = \mathrm{sgn}\Big(\sum_i w_{ij} \, x_i\Big). \]

外積儲存:每個模式對以外積矩陣 \(x y^{\top}\) 的形式加入權重—— 輸入部分線索,就能聯想出完整模式—— 這是「內容定址記憶」(content-addressable memory)的雛形。

第三條線索:條件反射的 Hebbian 解釋#

Pavlov 的狗用 Hebb 規則模擬: - 輸入神經元:[鈴聲, 食物];輸出神經元:[唾液]; - 反覆配對(鈴聲 + 食物同時出現,唾液 = 1):

\[ \Delta w_{\text{鈴聲} \to \text{唾液}} = \eta \cdot 1 \cdot 1 = \eta \quad (\text{每次配對都加強}) \]
  • 配對 \(n\) 次後, \(w_{\text{鈴聲} \to \text{唾液}} = n\eta\) —— 只響鈴(鈴聲 = 1,食物 = 0):
\[ y_{\text{唾液}} = \mathrm{sgn}(n\eta) = 1 \quad \text{(條件反射成立!)} \]
\[ \boxed{\text{中性刺激} \xrightarrow{\text{Hebbian 配對}} \text{條件刺激}} \]

心理學的現象有了神經的機制——行為主義與神經科學的橋樑。

Python:Hebbian 學習與模式關聯記憶#

# 2) Hebbian 學習:3-bit 模式關聯記憶
patterns = [  # 學習的三組「刺激-反應」模式(刺激 → 應該聯想出的反應)
    ([1, 0, 0], [1, 1, 0]),
    ([0, 1, 0], [0, 1, 1]),
    ([0, 0, 1], [1, 0, 1]),
]

# 1) 權重矩陣:w_ij = x_i * y_j(Hebbian:同時激發就加強連結)
n_in, n_out = 3, 3
W = [[0.0] * n_out for _ in range(n_in)]
for x, y in patterns:
    for i in range(n_in):
        for j in range(n_out):
            W[i][j] += x[i] * y[j]   # Δw_i = η x_i y,取 η = 1

print("Hebbian 學習後的權重矩陣 W(3刺激 x 3反應):")
for row in W:
    print("  " + "  ".join(f"{v:+.0f}" for v in row))

# 2) 回想:輸入刺激 x,算出加權和,再以符號函數二值化
def recall(x):
    s = [sum(W[i][j] * x[i] for i in range(n_in)) for j in range(n_out)]
    return [1 if v >= 1 else 0 for v in s]

print("\n完整模式的回想(輸入 → 聯想出的反應):")
for x, y in patterns:
    r = recall(x)
    ok = "✓" if r == y else "✗"
    print(f"  x={x} → r={r}  (期望 {y})  {ok}")

# 3) 部分線索的回想:只給一個 bit,能聯想出完整模式嗎?
print("\n部分線索的聯想(僅給一個 bit 的提示):")
probes = [([1, 0, 0], patterns[0][1]),
          ([0, 1, 0], patterns[1][1]),
          ([0, 0, 1], patterns[2][1])]
for x, y in probes:
    r = recall(x)
    ok = "✓" if r == y else "✗"
    print(f"  提示 x={x} → r={r}  (期望 {y})  {ok}")

# 4) Pavlov 的狗:條件反射的 Hebbian 模擬
print("\nPavlov 條件反射(鈴聲 → 食物 → 分泌唾液):")
# 輸入:[鈴聲, 食物];輸出:[唾液]
# 反覆「鈴聲+食物同時出現」→ 鈴聲與唾液的連結被加強
W_pav = [[0.0], [0.0]]  # 權重 [鈴聲→唾液, 食物→唾液]
trials = 5
for t in range(1, trials + 1):
    x = [1, 1]           # 鈴聲與食物同時出現(條件刺激配對)
    W_pav[0][0] += x[0] * 1   # 唾液 = 1,Hebbian 加強
    W_pav[1][0] += x[1] * 1
    print(f"  配對 {t} 次:鈴聲權重={W_pav[0][0]:.0f}  食物權重={W_pav[1][0]:.0f}")
x = [1, 0]  # 只響鈴、不給食物
s = W_pav[0][0] * x[0]
print(f"  只響鈴(無食物):唾液 = {'分泌 ✓(條件反射成立)' if s >= 1 else '不分泌'}")
print("\n結論:fire together, wire together——學習就是連結的加強。")
輸出:
Hebbian 學習後的權重矩陣 W(3刺激 x 3反應):
  +1  +1  +0
  +0  +1  +1
  +1  +0  +1

完整模式的回想(輸入 → 聯想出的反應):
  x=[1, 0, 0] → r=[1, 1, 0]  (期望 [1, 1, 0])  ✓
  x=[0, 1, 0] → r=[0, 1, 1]  (期望 [0, 1, 1])  ✓
  x=[0, 0, 1] → r=[1, 0, 1]  (期望 [1, 0, 1])  ✓

部分線索的聯想(僅給一個 bit 的提示):
  提示 x=[1, 0, 0] → r=[1, 1, 0]  (期望 [1, 1, 0])  ✓
  提示 x=[0, 1, 0] → r=[0, 1, 1]  (期望 [0, 1, 1])  ✓
  提示 x=[0, 0, 1] → r=[1, 0, 1]  (期望 [1, 0, 1])  ✓

Pavlov 條件反射(鈴聲 → 食物 → 分泌唾液):
  配對 1 次:鈴聲權重=1  食物權重=1
  配對 2 次:鈴聲權重=2  食物權重=2
  配對 3 次:鈴聲權重=3  食物權重=3
  配對 4 次:鈴聲權重=4  食物權重=4
  配對 5 次:鈴聲權重=5  食物權重=5
  只響鈴(無食物):唾液 = 分泌 ✓(條件反射成立)

結論:fire together, wire together——學習就是連結的加強。

結案 -- 後果與影響#

  • 突觸可塑性的實證(1973): Hebb 的假說在 1973 年被 Bliss 與 Lømo 實證: 海馬體的長期增益效應(LTP, long-term potentiation)—— 高頻刺激後突觸傳遞效率長期增強——
\[ \text{Hebb 的假說(1949)} \xrightarrow{\text{LTP(1973)}} \text{實證的機制}. \]

2000 年 Kandel 獲諾貝爾獎(突觸可塑性的分子機制)—— Hebb 的直覺贏了。 - 神經網路學習的第一塊基石(1949 → 1958): Rosenblatt 的感知機直接引用 Hebb:

\[ \text{Hebbian}: \Delta w_i = \eta x_i y \xrightarrow{\text{Rosenblatt(1958)}} \Delta w = \eta (t - o) x. \]

Hebb 規則是「無教師」的(不需要目標); 感知機加入了誤差訊號(監督學習)—— 從局部同時性到監督學習的第一步(見 1958-羅森布拉特感知機.md)。 - 聯想記憶的譜系(1949 → 1982): Hebb 的關聯矩陣是 Hopfield 網路(1982)的直接前身—— 內容定址、分散式記憶、容錯回想:

\[ \text{Hebb(1949)} \xrightarrow{} \text{Hopfield(1982)} \xrightarrow{\text{2018 圖靈獎}} \text{能量模型與現代 AI}. \]
  • 認知科學的聖經(1949): 《行為的組織》被引用超過 5 萬次—— 它推翻了行為主義的「白板」假說:大腦不是等待刺激的空白機器, 而是自我組織的學習系統。
  • 無教師學習的源頭(1949 → 現代): Hebb 規則是自監督/自組織學習的祖先—— Oja 規則(1982,主成分分析)、自組織映射(Kohonen, 1982) 都是 Hebb 的變奏:
\[ \text{局部、無教師、同時性} \xrightarrow{} \text{現代自監督學習的思想種子}. \]
  • 歷史定位:Hebb 是「學習定律」的第一位立法者——
\[ \text{計算(1943)} \xrightarrow{\text{Hebb(1949)}} \text{學習(1958)} \xrightarrow{} \text{深度學習(2012)}. \]

一句「fire together, wire together」,界定了學習七十年。

關鍵人物與文獻#

  • D. O. Hebb:The Organization of Behavior(1949)——Hebbian 規則。
  • W. S. McCulloch 與 W. Pitts:神經元邏輯模型(1943)——計算的基礎(見 1943-麥卡洛克皮茨神經元.md)。
  • I. Pavlov:條件反射(1903–1927)——聯結心理學的實證(1904 諾貝爾獎,生理學)。
  • K. Lashley:記憶痕跡的搜尋(1929–1950)——分散式記憶的啟發。
  • T. Bliss 與 G. Lømo:長期增益效應 LTP(1973)——Hebb 假說的實證。
  • E. Kandel:突觸可塑性的分子機制(2000 諾貝爾獎)。
  • J. Hopfield:Hopfield 網路(1982)——Hebb 關聯記憶的物理化(2024 諾貝爾物理獎)。
  • 相關案件:1943-麥卡洛克皮茨神經元.md、1958-羅森布拉特感知機.md、1960-韋德羅ADALINE.md、資訊科學/1936-圖靈機.md。