跳轉到

01.2 學習規則與權重更新#

本章導讀#

McCulloch–Pitts 的神經元是「固定的」——權重是設計出來的,不是學出來的。 1949 年,心理學家 Hebb 提出一個直覺到近乎顯然的規則: 「一起放電的神經元,連在一起。」這一行話,讓神經網路從「被建造」變成「會學習」。

淺顯說明#

Hebb 的想法:如果你的兩個朋友總是一起出現,你會自動把「他們倆」聯想在一起。 數學上:如果神經元 \(i\) 和 \(j\) 同時放電( \(x_i = x_j = 1\) ),就把連接它們的權重 \(w_{ij}\) 加大一點:

\[ w_{ij} \;\leftarrow\; w_{ij} + \eta\, x_i x_j \]

\(\eta\) 是「學習速率」。多次重複後,常一起出現的模式就被「烙印」在權重矩陣裡。

正規理論#

Hebb 學習規則#

給定訓練模式 \(\{\mathbf{x}^{(1)}, \dots, \mathbf{x}^{(M)}\}\) , \(\mathbf{x}^{(\mu)} \in \{-1, +1\}^n\) ,Hebb 律定義權重矩陣:

\[ W = \eta \sum_{\mu=1}^{M} \mathbf{x}^{(\mu)} \, \mathbf{x}^{(\mu)\top} \]

這是所有訓練模式的外積之和——每個模式貢獻一個秩一矩陣。

外積儲存的幾何#

外積 \(\mathbf{x}\mathbf{x}^\top\) 是一個秩一矩陣,把任何向量投影到 \(\mathbf{x}\) 方向後放大:

\[ (\mathbf{x}\mathbf{x}^\top)\mathbf{v} = \mathbf{x}\,(\mathbf{x}^\top \mathbf{v}) \]

當 \(W = \sum_\mu \mathbf{x}^{(\mu)}\mathbf{x}^{(\mu)\top}\) 且各模式近似正交時:

\[ W\mathbf{x}^{(\nu)} \approx \mathbf{x}^{(\nu)} + \sum_{\mu \ne \nu} \mathbf{x}^{(\mu)}(\mathbf{x}^{(\mu)\top}\mathbf{x}^{(\nu)}) \approx n\,\mathbf{x}^{(\nu)} \]

雜訊項因正交性( \(\mathbf{x}^{(\mu)\top}\mathbf{x}^{(\nu)} \approx 0\) )而消失。 輸入一個殘缺的模式,權重矩陣會把它「補全」成最像的已學模式——這就是聯想記憶。

儲存容量#

\(n\) 個神經元、隨機模式,Hebb 聯想記憶的容量約為:

\[ M_{\max} \approx \frac{n}{2\ln n} \]

超過容量,模式間的干涉(cross-talk)會讓回憶失敗。

簡易範例:儲存兩個模式#

儲存 \(\mathbf{x}^{(1)} = (1, 1, -1)^\top\) 與 \(\mathbf{x}^{(2)} = (-1, 1, 1)^\top\) , \(\eta = 1\) :

\[ \mathbf{x}^{(1)}\mathbf{x}^{(1)\top} = \begin{pmatrix} 1 & 1 & -1 \\ 1 & 1 & -1 \\ -1 & -1 & 1 \end{pmatrix}, \qquad \mathbf{x}^{(2)}\mathbf{x}^{(2)\top} = \begin{pmatrix} 1 & -1 & -1 \\ -1 & 1 & 1 \\ -1 & 1 & 1 \end{pmatrix} \]
\[ W = \begin{pmatrix} 2 & 0 & -2 \\ 0 & 2 & 0 \\ -2 & 0 & 2 \end{pmatrix} \]

現在輸入殘缺版 \(\mathbf{v} = (1, 0, -1)^\top\) (第二位遺失):

\[ W\mathbf{v} = (4, 0, -4)^\top \;\xrightarrow{\text{取符號}}\; (1, 1, -1)^\top = \mathbf{x}^{(1)} \]

遺失的位元被補回來了——網路「想起」了模式一。

歷史典故#

  • 1949 年 Hebb 學習規則:見卷宗 ../1949-Hebb學習規則.md——一句「cells that fire together, wire together」改寫了學習理論。
  • 1890 年 William James 的聯想主義:見 ../1890-WilliamJames聯想主義.md——Hebb 律的心理學前身,早了 59 年。
  • Hebb 律的成熟應用(Hopfield 網路)將在第 04.1 節正式登場。

習題#

  1. 用 Hebb 律儲存 \(\mathbf{x}^{(1)} = (1,-1,1)\) 與 \(\mathbf{x}^{(2)} = (1,1,-1)\) ,寫出 \(W\) ,並驗證輸入 \((0,-1,1)\) 能回憶出哪個模式。
  2. 證明:若所有模式兩兩正交( \(\mathbf{x}^{(\mu)\top}\mathbf{x}^{(\nu)} = 0\) ),則雜訊項恰為零。
  3. 討論:為什麼 Hebb 律「只會加強、不會減弱」在生物上與數學上各有什麼問題?(提示:權重會無界增長。)

補充#

1. 數學推導證明#

證明(習題 2):兩兩正交時雜訊項恰為零。

設 \(W = \sum_{\mu=1}^{M} \mathbf{x}^{(\mu)}\mathbf{x}^{(\mu)\top}\) ,對固定的 \(\nu\) :

\[ W\mathbf{x}^{(\nu)} = \sum_{\mu=1}^{M} \mathbf{x}^{(\mu)}\big(\mathbf{x}^{(\mu)\top}\mathbf{x}^{(\nu)}\big) = \mathbf{x}^{(\nu)}\underbrace{\big(\mathbf{x}^{(\nu)\top}\mathbf{x}^{(\nu)}\big)}_{=\,n} + \sum_{\mu \ne \nu} \mathbf{x}^{(\mu)}\underbrace{\big(\mathbf{x}^{(\mu)\top}\mathbf{x}^{(\nu)}\big)}_{=\,0 \text{(正交假設)}} = n\,\mathbf{x}^{(\nu)} \]

第二項(cross-talk 雜訊項)逐項為零,故取符號後 \(\mathrm{sgn}(W\mathbf{x}^{(\nu)}) = \mathbf{x}^{(\nu)}\) ——正交模式是 Hebb 儲存的不動點,回憶零誤差。 \(\blacksquare\)

證明(習題 1 的手算): 儲存 \(\mathbf{x}^{(1)} = (1,-1,1)^\top\) 、 \(\mathbf{x}^{(2)} = (1,1,-1)^\top\) :

\[ \mathbf{x}^{(1)}\mathbf{x}^{(1)\top} = \begin{pmatrix} 1 & -1 & 1 \\ -1 & 1 & -1 \\ 1 & -1 & 1 \end{pmatrix}, \quad \mathbf{x}^{(2)}\mathbf{x}^{(2)\top} = \begin{pmatrix} 1 & 1 & -1 \\ 1 & 1 & -1 \\ -1 & -1 & 1 \end{pmatrix} \]
\[ W = \begin{pmatrix} 2 & 0 & 0 \\ 0 & 2 & -2 \\ 0 & -2 & 2 \end{pmatrix} \]

輸入殘缺版 \(\mathbf{v} = (0,-1,1)^\top\) (第一位遺失,約定 \(0\) 表示未知):

\[ W\mathbf{v} = (0, -4, 4)^\top \;\xrightarrow{\text{取符號}}\; (1, -1, 1)^\top = \mathbf{x}^{(1)} \]

(第一位 \(0 \to +1\) :實作上把 \(0\) 判為 \(+1\) ,即「無意見時偏向正」。)網路補回遺失位元,想起模式一。 \(\blacksquare\)

說明(習題 3):無界增長。 每次共放電 \(W \leftarrow W + \eta\,\mathbf{x}\mathbf{x}^\top\) ,取 Frobenius 範數: \(\|W\|_F\) 每步至少增加約 \(\eta n\) (同向累加、無衰減項)。生物上突觸強度有飽和上限;數學上權重發散會讓動力學(如 04.1 節能量)數值不穩。解法是加衰減/正規化(如 Oja 律 \(w \leftarrow w + \eta y(x - yw)\) ),把增長箝住。

2. 簡易範例#

範例一:本章例子的程式重現。 _code/01.2-hebb-associative-memory.py 用 numpy 實現 hebb_store(外積和)與 recall(反覆 \(W\mathbf{v}\) 取符號)。輸出與手算一致: \(W = [[2,0,-2],[0,2,0],[-2,0,2]]\) ,輸入 \((1,0,-1)\) 回憶出 \((1,1,-1)\) ——遺失位元被補回。

範例二:正交模式零雜訊的數值驗證。 程式取 \(4 \times 4\) Hadamard 矩陣的四列(兩兩正交的 \(\pm 1\) 模式),印出 \(HH^\top/4 = I\) ,並逐個驗證 \(W\mathbf{x} = 4\mathbf{x}\) (斷言全過)——數值印證上面的證明:正交時交叉干涉恰為零。